打开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.
祝你好运,
特里。