2012-01-12 1 views
0

PowerBuilder에서 특정 매개 변수가있는 매크로를 호출하려고하지만 작동하지 않습니다. 내가 엑셀 ​​시트를 사용자에게 보여주고 싶은, 또한Excel 파일을 열고 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 

:

내가 사용하고 코드입니다.

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

답변

1

강제 변환 텍스트 -> bool 일 때 Excel이 잘못 될 수 있습니까?

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

이것이 올바르게 작동합니다. 감사합니다. :) –

0

이것은 어둠 속에서 기회입니다,하지만 난 낮출 것 :

enter image description here

오류가 두 줄에 공통적 인 :

내가지고있어 오류입니다 - "Object"에 O가있는 경우.

행운을 빕니다,

테리.

+0

여전히 같은 문제가 발생합니다. –

1

대신

ole_object.Application.Run (ls_macroname) 

가 작동합니다 사용

"ole_object.Object.Application.Run (ls_macroname)",의 : 우리가 BTW Object를 사용하지 않고, 다음을 수행 곳

나는 여기에 몇 가지 코드가 있습니다.