[英]MS Word filename from bookmarks with VBA
假设我有:
我希望在“保存”事件中,在对话框中,应用程序向用户建议,而不是“document1”,并且仅当存在相关书签时,文件名“ Document of first_name second_name.docx ”。
谁能解释一下如何使用 VBA 实现这一目标?
谢谢。
===更新===
现在我有了这段代码,当我执行它时运行良好。 我希望它在用户单击“保存文档”时自动运行。
Sub Demo()
Dim sFlNm As String
With ActiveDocument
sFlNm = "Document of " & .Bookmarks("first_name").Range.Text & " " & .Bookmarks("last_name").Range.Text
End With
With Dialogs(wdDialogFileSaveAs)
.Name = sFlNm
.Show
End With
End Sub
要在客户端运行宏,您必须发送启用宏的模板或文档。 许多运行防病毒软件的人会收到可能存在 Word 病毒的警告。 然后用户将不得不手动启用宏。 他们会打扰吗?
使用保存命令使其自动运行可能会产生意想不到的后果。 您必须检查书签是否已实际填写,并且在修改文档时使用“保存”命令可以使用新文件名保存它。 但是您问了,所以方法如下:将宏重命名为FileSave 。 然后当你选择Ctrl + S或File>Save in Word 时,会自动弹出对话框:
Sub FileSave()
Dim sFlNm As String
With ActiveDocument
sFlNm = "Document of " & .Bookmarks("first_name").Range.Text & " " & .Bookmarks("last_name").Range.Text
End With
With Dialogs(wdDialogFileSaveAs)
.Name = sFlNm
.Show
End With
End Sub
在 Word 中,若要创建在您选择 Word 命令时自动运行的宏,请执行以下步骤:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.