如何将shell脚本添加到word功能区栏?

时间:2012-08-24 19:42:45

标签: python ms-office ribbon

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

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

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

    脚本是python,单词是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

    接下来:把所有的东西放在一起,写下答案......

    相关内容:

1 个答案:

答案 0 :(得分:1)

以下是大纲:

  1. 创建com-service
  2. 注册com-service(仅限第一次)
  3. 手动将com-service添加到功能区栏
  4. 第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步 - 添加到ribbonbar:

    • 字 - >选项/偏好 - >功能区 - > com-objects - >为myService