如何在Excel中使用VB宏连接SAP系统
2015-06-04 13:58
477 查看
准备工作
Excel连接SAP的时候需要使用RFC library, 首先从Service Marketing Place下载RFC SDK.
具体路径如下:
http://service.sap.com/swdc
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文件。
Excel连接SAP的时候需要使用RFC library, 首先从Service Marketing Place下载RFC SDK.
具体路径如下:
http://service.sap.com/swdc
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文件。
相关文章推荐
- 【VB.NET机房重构】ADO.NET
- vb里面图片怎么使按钮上面图片交替显示的代码
- 下了个蓝屏代码查看工具,就中病毒了。。。什么鬼病毒,竟然还是用的VBS
- ubuntu rmvb
- 安装VirtualBox出错提示Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790
- CvHaarTrainingData和CvBackgroundData的区别
- win7下面安装One lingo.msi出现Error:2738 Could not access VBScript run time for custom action
- 利用vbs 运行程序 并使窗口隐藏
- 在VB.net 2010 中怎样使用Halcon
- VB.NET vs. C#, round 2: Pounding on performance--VB.NET vs C#, 第二波:效率碰撞
- 如何在Vblock里配置Boot from SAN
- 演练:Office 编程(C# 和 Visual Basic)
- VB.net进阶培训及阶段总结
- VB.NET 创建打印机选择列表
- vb.net版机房收费系统重构的成长历程(功能实现篇)
- 【opencv】visualstudio实现opencvblobslib编译
- EXCEL VBA中写了个宏把本EXCEL中的表数据批量导出为csv格式的文件
- VB实现向指定窗口发送组合键
- Modern OpenGL用Shader拾取VBO内单一图元的思路和实现(3)
- 给VB.NET开发者的46个忠告(转)