打开Excel文件并从PowerBuilder调用macros

我试图用PowerBuilder的某些参数来调用一个macros,但它不工作。

这是我使用的代码:

OLEObject ole_object ole_object = CREATE OLEObject string ls_reportInPath = "C:\Prevalidador_DIAN_Tributario_2011_v1.4\Prevalidador.xls" string ls_macroname = "Prevalidador.xls!modXML.cargarXML_General" string ls_xml = "C:\Users\...\Desktop\010100107201100000001.xml" string ls_file = "C:\Users\...\Desktop\excel_file.xls" IF ole_object.ConnectToNewObject("excel.application") = 0 THEN ole_object.Object.Application.DisplayAlerts = "False" ole_object.workbooks.Open(ls_reportInPath) //Open the .xls file Else MessageBox('OLE Error','Unable to start an OLE server process!',Exclamation!) END IF ole_object.Object.Application.Run (ls_macroname) ole_object.Application.Quit() ole_object.DisconnectObject() DESTROY ole_object 

另外,我想显示Excel表格的用户。

这是我得到的错误:

在这里输入图像说明

该错误是两行共同的:

 ole_object.Object.Application.DisplayAlerts = "False" ole_object.Object.Application.Run (ls_macroname) 

在执行强制性文本时,Excel可能是错误的 – > bool?

我在这里有一些代码,我们做了以下,没有使用Object BTW:

 OLEObject iole_xlapp iole_xlapp = CREATE OLEObject li_rtn = iole_xlapp.ConnectToNewObject( "excel.application" ) //... iole_xlapp.Application.DisplayAlerts = True 

而不是"ole_object.Object.Application.Run (ls_macroname)",

使用

 ole_object.Application.Run (ls_macroname) 

它会工作。

这是黑暗中的一个镜头,但是我会低估“对象”中的O.

祝你好运,

特里。