Perl 的 OLE 自动化基础知识
Posted
技术标签:
【中文标题】Perl 的 OLE 自动化基础知识【英文标题】:OLE Automation basics with Perl 【发布时间】:2009-06-30 02:42:45 【问题描述】:我是这个 Perl Win32::OLE 自动化的新手。我一直在阅读并尝试一些例子。我有几个问题(如果我使用了不正确的术语,请原谅 - 请纠正我):
可以使用 OLE 来自动化 Visual 工作室 2005?我只找到了例子 使用 Word、Excel 和 IE。怎么做 你知道哪个应用可以用吗?
如何获取程序 ID 的名称 要使用的。例如,“Excel”在 Win32::OLE->new('Excel.Application')
如何获取可用功能 对于每个程序。例如, 工作簿,只能与 Excel,而不是 Word。
感谢您的宝贵时间 :)
【问题讨论】:
【参考方案1】:Win32::OLE 文档提供了一个基本的起点。
至于你的问题:
我认为 VS 2005 不提供 OLE 自动化接口。
见this post on PerlMonks。
Microsoft Office 应用程序的一个极好的信息来源是对象浏览器。您可以通过工具 -> 宏 -> Visual Basic 编辑器访问它。进入编辑器后,按 F2 浏览 Microsoft Office 应用程序提供的接口、方法和属性。
【讨论】:
如果这里不能使用VS 2005,你有什么自动化的替代方案吗?我仍然需要自动化 VS2005。 VS2005有一个使用.Net的宏编辑器,也许你可以用它?【参考方案2】:通常,OLE 自动化模型取决于您尝试自动化的软件。您通常可以通过查看文档来弄清楚,例如 MSDN 中的 Microsoft 产品。对于 Visual Studio 和 Office 工具,您还可以使用宏录制器来帮助找出语法,因为您可以录制一个执行您想要的模糊操作的脚本,然后对其进行修改。
另外,Visual Studio 附带一个名为“OLE/COM 对象查看器”(Oleview.exe) 的工具,可用于打开和读取某些目标软件的类型库。类型库通常包含在 .tlb 或 .dll 文件中,并且包含为应用程序定义的 OLE 自动化类型的或多或少的完整描述。您可以查看 .idl 进行逆向工程,并尝试找出可能的情况。
【讨论】:
【参考方案3】:要获得简要概述和介绍,我建议查看此The Perl Journal #10。由 Jan Dubois 创建。
这里还有一些例子,如果你还没有偶然发现它Examples
希望对你有帮助
【讨论】:
以上是关于Perl 的 OLE 自动化基础知识的主要内容,如果未能解决你的问题,请参考以下文章
Perl OLE32 MSSQL dateadd 函数结果上的“光标类型已更改”错误
perl tk将界面输入的汉字不能输出到读取的EXCEL表格
win32client dispatch在python中失败,而win32 :: ole new在perl中成功运行for com dll