我正在使用TOleContainer从应用程序访问Excel。在Olecontainer对象中,我们有MS Excel 2003工作表,但我需要打开Excel Workbook 2010版本。谁能帮我。 感谢。
答案 0 :(得分:1)
使用TOleContainer.CreateObjectFromFile
。从documentation(链接到当前文档,但TOleContainer
未发生年龄变化,因此它与您正在使用的Delphi版本相关):
从文件内容创建嵌入的OLE对象。
调用CreateObjectFromFile以从FileName参数指定的文件创建OLE对象。 Iconic参数指示对象是显示为图标(true)还是显示为服务器应用程序中的图标(false)。如果容器中已经存在OLE对象,则它将被销毁,并且用户对其所做的任何更改都将被丢弃。
使用样本如下:
OleContainer1.CreateObjectFromFile('C:\temp\test.xlsx', False);
如果您知道OLE类的类名,也可以使用TOleContainer.CreateObject
。您可以使用CreateObjectFromFile
找到,因为我已经显示加载现有的Excel文件并阅读TOleContainer.OleClassName
。 (这也可以在documentation中找到。)使用与上述相同版本的Excel的示例:
OleContainer1.CreateObject('Excel.Sheet.12', False);