【问题标题】:Word 2010 automation with templates带有模板的 Word 2010 自动化
【发布时间】:2010-11-23 11:36:02
【问题描述】:

我在 Delphi 中编写了几个使用 Word 自动化的应用程序。这些程序都使用存储在目录中的模板。在 Word 2010 之前的版本中,可以在工具|选项|文件位置中定义模板的位置;程序会传递模板的名称,Word 会知道在哪里可以找到它。

我的客户现在已移至 Office 2010,因此当我的程序启动 Word 时找不到模板。我无法在 Word 中找到类似的对话框,我可以在其中定义模板的默认目录。如何定义这样一个目录?

【问题讨论】:

  • 我应该添加一个事实,即多台计算机必须访问模板,因此它们存储在共享网络驱动器上。如果我必须更新模板,则不能将模板存储在每个用户的计算机上。

标签: delphi ms-word automation office-2010


【解决方案1】:

单击文件 |选项 |高级 |文件位置,您会看到与旧版本中相同的对话框

【讨论】:

  • 我会在晚上可以访问客户的计算机时检查一下。
  • 这很好用,谢谢。 Methinks Microsoft 正试图通过隐藏一个非常长的对话框底部的激活对话框的按钮来告诉我们一些事情,我确信 Alan Cooper(“关于脸”)非常适合。
  • 他们告诉你的是你不应该经常改变它。无论如何,我一直在做噩梦,在使用功能区几年后回到 Office 2003!
【解决方案2】:

您可能更愿意使用 /t 开关调用 word,而不是强制您的用户配置 Word 来定义模板的位置。

/ttemplatename 使用基于除 Normal 模板之外的模板的新文档启动 Word。

>"%programfiles%\Microsoft Office\Office14\winword.exe" /t"c:\MYTEMPLATES\mytemplate.dotx"

【讨论】:

  • 这不是一个选项,因为 Word 是通过自动化调用的。
【解决方案3】:

创建新文档时不能指定完整路径吗?为什么要依赖用户甚至可以更改的设置?将您的模板放在您自己的文件夹中并指定完整路径。

【讨论】:

  • 这些模板在我的客户计算机上的位置与它们在我的位置不同。我正在考虑将位置保存在注册表中,但希望使用不同的解决方案。
【解决方案4】:

存储Word的路径配置

您可以通过

获取USER模板文件夹

Word.Application.Options.DefaultFilePath(WdDefaultFilePath.wdUserTemplatesPath)

(该属性还有其他选项)。

据我所知,从 2007 年到 2010 年,模板加载规则没有改变。

一般来说,如果你的插件需要加载一个模板,你应该指定模板的完整路径和文件名,但是你可以通过上面得到典型的用户路径。

另一方面,如果您将模板安装到 WORD\STARTUP,word 会自动加载它。不过,这可能不是您需要/想要的。

最后,如果您的模板没有/不应该更改,最好将其留在您的 PROGRAM FILES\appname 文件夹中并从那里加载。

一般来说,+要求+用户在 word 中更改 FILE LOCATIONS(或以编程方式更改)是一个坏主意,因为很多人不知道,而那些确实不希望插件更改那些自动设置!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多