2013-04-23 2 views
3

나는 다음과 같이 SAP ABAP OLE 개체를 사용하여 엑셀 파일을 암호로 보호를 엽니 다하기 위해 노력하고있어 :ABAP OLE - 오픈 엑셀 암호로 보호 된 통합 문서

DATA: lt_excel_line(4096) OCCURS 10 WITH HEADER LINE. 
DATA: app  TYPE ole2_object, 
     workbook TYPE ole2_object, 
     worksheet TYPE ole2_object. 

CREATE OBJECT app 'EXCEL.APPLICATION'. 
SET PROPERTY OF app 'VISIBLE' = 0. 

CALL METHOD OF app 'WORKBOOKS' = workbook. 

CALL METHOD OF workbook 'OPEN' 
    EXPORTING 
    #1 = '<filename>' 
    #5 = '<password>'.   

파일 이름 및 암호가 확실히 올바른지 다음 VBA 코드가 열립니다 필요 없음 문제로 파일 :

Dim wb1 As Workbook 
Set wb1 = Workbooks.Open Filename:="<filename>", Password:="<password>") 

그러나 ABAP 코드는 항상 SY-subrc = 2. 다른 사람이 갈 수있는 것을 알고 반환? 아니면 내가 뭘해볼 수 있니? 어떤 도움에 감사드립니다.

답변

2

SAP GUI 자동화가 매개 변수 이름을 지원하지 않으므로 매개 변수가 위치 만 (단지 추측)으로 문제가 있다고 생각합니다. FilenamePassword 사이에 3 개의 매개 변수가 있으므로 올바르게 번호를 매겼으나 SAP GUI 자동화 컨트롤러에서 그런 식으로 표시되지는 않습니다.

나는 문제를 복제 다음과 같이 작업을 가지고 : 여기

CALL METHOD OF workbook 'OPEN' = document 
    EXPORTING 
    #1 = '<filename>' 
    #2 = 0    "UpdateLinks 
    #3 = 0    "ReadOnly 
    #4 = 1    "Format 
    #5 = '<password>'. 

내가 명시 적으로 매개 변수 UpdateLinks, ReadOnlyFormat을 전달하고있다.

VBA에서 먼저 테스트했습니다. Format (# 4)을 true로 설정해야합니다. 나는 그것이 무엇을하는지 모른다.

여기에서 설명한대로이 핸들에서 반환하는 것으로 문서 핸들을 설정해야합니다. 그렇지 않으면 문서 핸들을 참조 할 필요가 없습니다.

+0

숫자로 위치를 인식하지 못하는 것 같은 기발한 것 같지만 작동합니다. 대단히 감사합니다! 해결 된 것으로 표시했습니다. – db579

관련 문제