如何在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文件。