VBA书签中的MS Word文件名



假设我有:

  • 一个包含宏的单词模板:custom_template.dotm
  • 该模板中的两个书签:">first_name";以及">last_name">

我想在";保存";事件,在对话框中,应用程序向用户建议,而不是";文档1";,并且仅当存在相对书签时第一个名称第二个名称.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文件>保存在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命令时自动运行的宏,请执行以下步骤:

  1. 选择Developer>宏
  2. 将下拉菜单中的宏更改为Word命令
  3. 选择要重新使用的命令名称
  4. 将下拉菜单中的宏更改回您正在开发的启用宏的文档或模板
  5. 单击创建按钮。将在VBE中使用正确的命令名创建一个新的宏。在宏中填充您希望宏执行的任何操作

相关内容

最新更新