【问题标题】:How to add shell script to word ribbon bar?如何将 shell 脚本添加到 word 功能区栏?
【发布时间】:2012-08-24 19:42:45
【问题描述】:

我有一个 shell 脚本,它接受一个文本参数并从中返回一个图像。我想将此作为按钮添加到文字功能区栏,并将所选文本替换为脚本生成的图像(基本上是复制粘贴)。最好的方法是什么?

  1. 创建 c# word 插件并手动将其添加到插件功能区
  2. 创建 vba 插件并创建 word.ribbonui xml
  3. 创建宏和...
  4. 使用windows com作为传递消息并创建客户端-服务器系统
  5. 使用activeX
  6. 别的东西
  7. 以上几种不同的组合

此外,如果您有一些教程或伪代码如何在实践中做到这一点,那将会很有帮助。我不是在寻找一个完整的答案,只是一些我应该从哪里开始的提示。

脚本是 python,word 是 2010。额外的好处是,如果可以打包分发(一些 GPL 风格的许可证)。

编辑:

我学到的一些东西......

  • ActiveX 属于 COM(组件对象模型)组
  • 您需要 Visual Studio 2010 Pro 才能拥有 c#/vba 办公开发工具
  • 存在使用 win32com 的“excelAddin.py”google,经过一些调整后即可工作
  • 存在 win32con.WM_GETTEXT 和 WM_GETSEL 消息:请参阅How to retrieve the selected text from the active window

下一步:把所有东西放在一起,写下答案……

相关的东西:

【问题讨论】:

    标签: python ms-office ribbon


    【解决方案1】:

    这是大纲:

    1. 创建com服务
    2. 注册com-service(仅限第一次)
    3. 手动将 com-service 添加到功能区栏

    第 1 步 - 创建 com 服务:

    class myService:
       def mandatoryInitFunction1(self,arg1,arg2,arg3): 
    
       def mandatoryKillFunction1(self,arg1,arg2,arg3): 
    
       def mandatoryXFunction1(self,arg1,arg2,arg3): 
    
       def mandatoryCallbackFunction(self,arg1,arg2,arg3):     
           selection = wincom.WM_GETTEXT(argX)
           popen(selection, shell=True)
    

    第 2 步 - 注册服务:

    • 参见 excelAddin.py

    第 3 步 - 添加到功能区:

    • word -> 选项/首选项 -> 功能区 -> com-objects -> myService

    【讨论】:

      猜你喜欢
      • 2021-05-24
      • 1970-01-01
      • 2019-09-20
      • 1970-01-01
      • 2011-10-31
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多