| Mon Site SAP | Accueil | Forum | ABAP Weblog | Liens | ABAPs | Livres | Humour | A propos... |
1. ABAP:
REPORT ZCALLWIN MESSAGE-ID 00.
INCLUDE OLE2INCL.
CONSTANTS:
C_BOOKFILE(255) TYPE C VALUE 'D:\TEMP\TEST.XLS'.
DATA:
M_APP TYPE OLE2_OBJECT,
M_BOOK TYPE OLE2_OBJECT,
M_SHEET TYPE OLE2_OBJECT,
M_RES TYPE OLE2_OBJECT,
M_PATH(255) TYPE C.
CREATE OBJECT M_APP 'EXCEL.APPLICATION'.
IF SY-SUBRC NE 0.
MESSAGE E368 WITH 'Create object failed'.
ENDIF.
CALL METHOD OF M_APP 'WORKBOOKS' = M_BOOK .
CALL METHOD OF M_BOOK 'OPEN'
EXPORTING #1 = C_BOOKFILE.
CALL METHOD OF M_APP 'RUN'
EXPORTING #1 = 'test.xls!Macro2'.
CALL METHOD OF M_APP 'RANGE' = M_RES
EXPORTING #1 = 'A1'.
GET PROPERTY OF M_RES 'VALUE' = M_PATH.
WRITE: / 'Windows Dir:', M_PATH.
CALL METHOD OF M_APP 'SAVE'.
CALL METHOD OF M_APP 'QUIT'.
FREE OBJECT M_RES.
FREE OBJECT M_BOOK.
FREE OBJECT M_APP.
2. Un fichier Excel d:\temp\test.xls contient le
macro Visual Basic:
Declare Function GetWinDir Lib "kernel32" _
Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, _
ByVal nSize As Long) As Long
Sub Macro2()
Dim Path As String * 255
Dim Res As Integer
Res = GetWinDir(Path, Len(Path))
Range("A1").Value = Path
End Sub
Pour plus d'infos sur utilisation de Win32 dans VB,
allez a http://msdn.microsoft.com