【问题标题】:MS Office 2010 - Last used template directory (VBA)MS Office 2010 - 上次使用的模板目录 (VBA)
【发布时间】:2016-01-27 09:11:51
【问题描述】:

我有一个关于 MS Office 2010 的脚本宏的问题,更具体的是 Word。 我正在寻找一种方法来保存从模板创建的文档,就在保存模板的目录中(不是标准模板目录)。

例如,您有一个保存信件模板的信件目录和一个保存传单模板的传单目录。您从模板创建了一个新的传单并想要保存它。如果它位于许多子目录中,则需要点击太多才能到达那里,所以我正在寻找一种方法来自动获取模板(从当前文件创建的目录)保存的目录,或者可能是模板的最后使用目录.

我既没有使用 VBA 也没有使用任何 Office 宏,也没有找到任何解决方案。

如果有任何想法可以帮助我和其他有同样问题的人,我将不胜感激。

编辑:

正如 Cindy 建议说我想如何执行宏,我想补充一点,如果文件尚不存在,我想使用内置的保存功能打开一个对话框。

但今天我意外地找到了我正在寻找的答案。很抱歉我为此创建了一个新问题,虽然我在一天后找到了它,但我不知道我会这样做。 :P

无论如何,这是我找到的代码(不是我的):

Sub FileSave()

    If ActiveDocument.Path = "" Then    'If document was never saved yet
        FileSaveAs
        Exit Sub
    End If
    ActiveDocument.Save

End Sub
Sub FileSaveAs()

    Dim DocName As String

    With ActiveDocument
       DocName = "/path
    End With

    With Dialogs(wdDialogFileSaveAs)
        .Name = DocName
        .Show
    End With

End Sub

【问题讨论】:

  • 就编写代码而言,您提出的建议并不是很难。但不清楚的是您希望代码何时/如何执行。例如,您是否想要功能区中的按钮(对您来说很容易)?您是否希望“保存”命令自动执行此操作,而不显示对话框(更难)?当您使用内置文件/另存为时,您是否希望对话框建议该目录?仔细考虑一下,然后点击您的问题下方的 EDIT 以将该信息添加到您的问题中。

标签: templates ms-word automation directory


【解决方案1】:

您可以使用 System.IO.Path.GetDirectoryName() 来获取模板文件的目录名称,并使用该目录来保存您的新文件。

【讨论】:

  • 您的建议不适用于 VBA。您建议的是 .NET Framework。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-23
  • 1970-01-01
  • 2012-05-31
  • 2016-06-22
  • 1970-01-01
相关资源
最近更新 更多