如何在Excel中使用VB巨集連線SAP系統
- 準備工作
Excel連線SAP的時候需要使用RFC library, 首先從Service Marketing Place下載RFC SDK.
具體路徑如下:
SAP Software Download Center
Support Packages and Patches
Browse our Download Catalog
Additional Components
Additional Components
SAP RFC SDK
SAP RFC SDK 7.20
下載之後解壓縮SAR檔案。本例中解壓縮到了C:\RFCSDK
- 建立Excel檔案編寫巨集程式碼
開啟Excel新建一個Workbook,然後開啟VB編輯器(Alt+F11),在引用中新增RFC library檔案。
然後使用如下程式碼連線到SAP系統:
Set myConnction = R3.Connection
myConnction.ApplicationServer = <HostName>
myConnction.SystemNumber = <InstanceNumber>
myConnction.Client = "<Client>"
myConnction.user = "<Username>"
myConnction.Password = "<Password>"
myConnction.Logon(0, True)
進行Funtion module呼叫:
Dim callFunctionModule As Object
Set callFunctionModule = R3.Add("<FunctionModule>")
callFunctionModule.Call
獲取返回結果:
Set result = callFunctionModule.imports("<Parameter>")
處理結束之後登出登入:
myConnction.logoff
如果需要SNC連線的話,可以通過下面程式碼進行設定:
myConnction.SNC = True
myConnction.SNCName = "<SNCNameOfSAPSystem>"
myConnction.SNCQuality = 3
通過以上程式碼就可以實現VB巨集呼叫SAP系統的Function module,進行資料處理了。
附件是一個簡單例子,呼叫TH_USER_LIST取得當前登入到SAP系統的使用者輸出到Excel檔案。