重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

包含VBA和SAP系统交互的词条

怎样通过VBA连接SAP

因为很多非basis想做这方面的接口调用,根据我自己的经验提示一下,也许不适合所有的人。只要你有可以登录SAP的权限,应该就可以连接。技巧是先不要用静连接,也就是把连接语句的TRUE,改成0,这样连接时会调出连接设置界面,里面很多信息都有默认值。特别是楼主说的number问题,你点不同的服务器名,就看到不同的number了。另外,开始我不知道IP地址,服务器在国外,我用这个办法,故意在vba里写一个错误命令,搞到IP地址的。

创新互联主营双江网站建设的网络公司,主营网站建设方案,app软件开发公司,双江h5微信平台小程序开发搭建,双江网站营销推广欢迎双江等地区企业咨询

VBA 引用 SAP RFC SDK

那是因为你没有正常联上SAP,所以后面就不能用CreateObject("SAP.FUNCTIONS").你需要在VBA中先引用SAP Remote control的控件(也就是WDTFUNCS.OCX),这个文件可以在SAP的按装目录下找下,大约是在control的那个子目录下.然后在VBA的菜单-工具-引用中引用这个控件,就可以正常联接到SAP了.顺便讲一句,如果你不想将自己的用户信息暴露给别人(比如密码之类),前面的oConnection.一大堆信息都不用写的,只要写result = oConnection.Logon(0, false)就行了,系统自会让你在执行时输入用户名密码等信息

通过EXCEL VBA 连接SAP系统后,导出打开的电子表格文件另存(不是系统自带的导出EXCEL表)

没太看明白你的需求,是不是说,vba已经控制sap界面表单,提交后,导数数据为excel,然后你想打开那个excle,录制的时候无法办到是吗?

那确实是无法操控的,因为超过sap录制的范围了,sap只录制sap里面的操作。如果要操作接下来导出的excel文件,很简单,因为导入文件的路径和地址都是已知的,直接在vba中 Set ak = Workbooks.Open(wb, UpdateLinks:=0)打开这个导出的excel不就行了。

VBA 调用 SAP RFC 报错

使用VBA调用SAP RFC和JCO 常用的方法基本一致,大致分为三步:登录系统,执行RFC函数,注销

示例代码

Sub Macro1()

Set R3 = CreateObject("SAP.Functions")

R3.Connection.System = "DEV"

R3.Connection.ApplicationServer = "172.18.28.5"

R3.Connection.Client = "700"

R3.Connection.SystemNumber = "00"

R3.Connection.User = "ZHANGXB"

R3.Connection.Password = "密码"

R3.Connection.Language = "ZH"

R3.Connection.Codepage = "8400"

If R3.Connection.logon(0, True) = True Then

MsgBox "连接成功"

Else

MsgBox "连接不成功"

End If

Set MyFunc = R3.Add("ZGET_KPI")

Set zmonth = MyFunc.Tables("T_ZYRMONTH")

zmonth.AppendRow

zmonth(1, "SIGN") = "I"

zmonth(1, "OPTION") = "EQ"

zmonth(1, "LOW") = "200910"

Result = MyFunc.CALL

Set T_KPI = MyFunc.Tables("T_KPI")

For i = 1 To zmonth.Rows.Count

MsgBox T_KPI(1, "KPI_VALUE")

Next i

End Sub

R3.Connection.LOGOFF


文章名称:包含VBA和SAP系统交互的词条
URL链接:http://cqcxhl.com/article/doehsdc.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP