EXCEL技术VBA一键获取SAP系统数据

1.第一步 在SAP系统建立一个可远程调用的函数RFC EXCEL技术VBA一键获取SAP系统数据_第1张图片

2.第二步 就是在EXCEL里面的操作了 找到开发工具 点击Visual Basic (切记EXCEL要启用宏 在信任中心里面)
EXCEL技术VBA一键获取SAP系统数据_第2张图片
3.第三步 在EXCEL里面写代码 格式差不多大同小异

Sub 点击刷新()
'设置登录信息
Set R3 = CreateObject("SAP.Functions")
R3.Connection.System = "DEV"
R3.Connection.ApplicationServer = "172.16.1.24"
R3.Connection.Client = "330"
R3.Connection.SystemNumber = "10"
R3.Connection.User = "XIAOT"
R3.Connection.Password = "xiao435435"
R3.Connection.Language = "ZH"
'有中文汉字或中文字符的话,需要设置代码页,否则可能出现乱码
R3.Connection.Codepage = "8400"
If R3.Connection.logon(0, False) <> True Then
Exit Sub
Else
'调用RFC,处理输入、表、输出等参数
'添加RFC名称
Set MyFunc = R3.Add("ZFMPP_PENDING")
'设置输入参数
Set oParam1 = MyFunc.exports("WERKS")
'oParam1.Value = "1001"
'执行远程调用
Result = MyFunc.CALL
If Result = True Then
'设置table参数
Set pending = MyFunc.Tables("IT_RETURN")
'设置返回参数
Set oParam2 = MyFunc.exports("IT_RETURN")
Else
MsgBox MyFunc.EXCEPTION
R3.Connection.LOGOFF
Exit Sub
End If
'注销登录
R3.Connection.LOGOFF
'固定列名称
Cells(2, 3) = "工厂"
。。。。
'使用循环处理table参数
For i = 3 To pending.RowCount
Set Row = pending.Rows(i)
Cells(i, 3) = Row.Value("WERKS")
。。。。
Next
End If
End Sub
 

这里注意一下 :本人在研究过程中,发现64位EXCEL与SAP系统不兼容。还未找到解决方案,望能得到有志之士的帮助!
————————————————
版权声明:本文为CSDN博主「Qunending」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Qunending/article/details/104480990

你可能感兴趣的:(vba,sap,abap)