我正在尝试使用PowerBuilder中的某些参数调用宏,但它无效。
这是我正在使用的代码:
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)
答案 0 :(得分:1)
执行强制文本时Excel可能出错 - >布尔?
我在这里有一些代码,我们在不使用Object
btw的情况下执行以下操作:
OLEObject iole_xlapp
iole_xlapp = CREATE OLEObject
li_rtn = iole_xlapp.ConnectToNewObject( "excel.application" )
//...
iole_xlapp.Application.DisplayAlerts = True
答案 1 :(得分:1)
而不是"ole_object.Object.Application.Run (ls_macroname)",
使用
ole_object.Application.Run (ls_macroname)
它会起作用。
答案 2 :(得分:0)
这是一个黑暗中的镜头,但我会在“对象”中小写O.
祝你好运,特里。