通过 VBA 以编程方式配置 Office 2010 Word 功能区
是否可以通过 VBA 以编程方式在 Office 2010 中配置功能区(例如添加选项卡等)?即通过在宏中编写 VBScript 代码。
Br。莫滕
Is it possible to configure a Ribbon (e.g. adding a tab etc.) in Office 2010 programatically via VBA? I.e. by writing VBScript code in a macro.
Br. Morten
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 VBA 操作功能区选项卡及其控件,但无法创建功能区选项卡及其控件。无论如何,不是使用对象模型。您能做的最好的事情 - 不知何故 - 就是获取某种 OPC dll (如 ActiveX 组件)来处理 OPC 文档(如 .docx 文档)的打开/关系/关闭,以及用于创建功能区定义并添加它的老式 MSXML到包裹。
You can manipulate a Ribbon tab and its controls using VBA, but you cannot create one. Not with the Object Model anyway. The best you could do - somehow - is to get some kind of OPC dll (like an ActiveX component) that handles opening/relationships/closing of OPC documents (like .docx documents) and old school MSXML for creating a ribbon definition and adding it to the package.
查看这篇 Excel 博客文章
http://www.xtremevbtalk.com/showthread。 php?t=265636
以及 Word
http://www.wordarticles .com/Shorts/RibbonVBA/RibbonVBADemo.htm
Have a look at this blog post for Excel
http://www.xtremevbtalk.com/showthread.php?t=265636
and this one for Word
http://www.wordarticles.com/Shorts/RibbonVBA/RibbonVBADemo.htm
如果您的 UI 是静态的,即您不需要以编程方式更改行为,或动态添加/删除 UI 元素,则可以在启用宏的模板中定义自定义 UI。您可以使用 VBA 函数作为 XML 中定义的 UI 元素的回调。
请查看本指南。简而言之,您在 .dotm 存档中定义一个
customUI\customUI14.xml
文件。此 XML 使用 此架构。这绝对适用于 Word 模板(.dotm 文件)。我认为类似的方法适用于任何 OOXML 格式。
If your UI is static, i.e. you don't need to programatically change the behavior of, or add/remove UI elements on the fly, you can define a customUI within a macro-enabled template. You can use your VBA functions as call-backs for the UI elements defined in the XML.
Have a look at this guide. In a nutshell, you define a
customUI\customUI14.xml
file within the .dotm archive. This XML describes your custom ribbon elements using this schema.This definitely works for Word templates (.dotm files). I think a similar approach works for any OOXML format.