我在 Delphi 中编写了几个使用 Word 自动化的应用程序。这些程序都使用存储在目录中的模板。在 Word 2010 之前的版本中,可以在工具|选项|文件位置中定义模板的位置;程序会传递模板的名称,Word 会知道在哪里可以找到它。
我的客户现在已移至 Office 2010,因此 Word 在我的程序启动时找不到模板。我无法在 Word 中找到类似的对话框,我可以在其中定义模板的默认目录。如何定义这样一个目录?
我在 Delphi 中编写了几个使用 Word 自动化的应用程序。这些程序都使用存储在目录中的模板。在 Word 2010 之前的版本中,可以在工具|选项|文件位置中定义模板的位置;程序会传递模板的名称,Word 会知道在哪里可以找到它。
我的客户现在已移至 Office 2010,因此 Word 在我的程序启动时找不到模板。我无法在 Word 中找到类似的对话框,我可以在其中定义模板的默认目录。如何定义这样一个目录?
单击文件 | 选项 | 高级 | 文件位置,您将获得与旧版本相同的对话框
存储 Word 的路径配置
您可以通过以下方式获取 USER 模板文件夹
Word.Application.Options.DefaultFilePath(WdDefaultFilePath.wdUserTemplatesPath)
(该属性还有其他选项)。
据我所知,模板加载规则从 2007 年到 2010 年没有改变。
一般来说,如果你的插件需要加载一个模板,你应该指定模板的完整路径和文件名,但是你可以通过上面得到典型的用户路径。
另一方面,如果您将模板安装到 WORD\STARTUP 中,word 会自动加载它。不过,这可能不是您需要/想要的。
最后,如果您的模板没有/不应该更改,最好将其留在您的 PROGRAM FILES\appname 文件夹中并从那里加载它。
一般来说,+要求+用户在word中更改文件位置(或以编程方式更改)是一个坏主意,因为很多人都不知道,而那些确实不希望插件自动更改这些设置的人!
您可能更愿意使用 /t 开关调用 word,而不是强制您的用户配置 Word 来定义模板的位置。
/ttemplatename使用基于除 Normal 模板之外的模板的新文档启动 Word。
>"%programfiles%\Microsoft Office\Office14\winword.exe" /t"c:\MYTEMPLATES\mytemplate.dotx"
创建新文档时不能只指定完整路径吗?为什么要依赖用户甚至可以更改的设置?将您的模板放在您自己的文件夹中并指定完整路径。