1. 程式人生 > >如何在Excel中使用VB巨集連線SAP系統

如何在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檔案。

Untitled.jpg

Untitled2.jpg

然後使用如下程式碼連線到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檔案。