在VBA中调用RFC_READ_表时出错61704
我正在尝试通过RFC对象连接到SAP:在VBA中调用RFC_READ_表时出错61704,vba,sap,ole,saprfc,Vba,Sap,Ole,Saprfc,我正在尝试通过RFC对象连接到SAP: Dim sap作为对象 设置sap=CreateObject(“sap.Functions.unicode”) sap.connection.system=“xxxxxxxx” sap.connection.Client=“700” sap.connection.User=“用户” sap.connection.Password=“通过” sap.connection.Language=“EN” 如果sap.connection.Logon(1,False
Dim sap作为对象
设置sap=CreateObject(“sap.Functions.unicode”)
sap.connection.system=“xxxxxxxx”
sap.connection.Client=“700”
sap.connection.User=“用户”
sap.connection.Password=“通过”
sap.connection.Language=“EN”
如果sap.connection.Logon(1,False)为True,则“尝试登录”
MsgBox“无法登录到SAP”
如果结束
'*************************************************************
'定义表格细节
'************************************************************
作为对象的Dim objRfcFunc
设置objRfcFunc=sap.Add(“RFC\u READ\u TABLE”)。在此行中,我的错误发生
内部应用程序错误-运行时错误:61704
有什么解决办法吗
看来我的连接还可以。你能检查一下我的连接变量吗?下面的代码是我从中提取并调整的,它对我有用。当然,您还必须更改连接参数(用户名等)。我猜你的问题是你一开始就没有关系
Sub Test_RFC()
' Connect to SAP
Dim oSAP As Object
Set oSAP = CreateObject("SAP.Functions.unicode")
' Connection parameters - to be adjusted
oSAP.Connection.ApplicationServer = "1.1.1.1" ' IP des Appl-Servers (SM51->Details)
oSAP.Connection.SystemNumber = "01" ' Systemnummer, meißt im Namen des Appl-Servers enthalten
oSAP.Connection.System = "XD1" ' Entwicklungs-, Test-, Produktivsystem
oSAP.Connection.Client = "100" ' Mandant
oSAP.Connection.Language = "DE" ' Sprache "EN", "DE" ...
' RFC-Login: Show logon popup
If oSAP.Connection.Logon(0, False) = True Then
'You can only add a function module in case you have a connection
Dim oFuBa As Object
Set oFuBa = oSAP.Add("RFC_READ_TABLE")
End If
End Sub
当您运行它时,我想您不会收到“无法登录到SAP”的消息,对吗?您是否有任何理由使用
…Logon(1,False)
而不是…Logon(0,False)
?(这是一个hWND参数,指的是Windows对话框窗口,但我总是看到人们使用0
;请注意,布尔值表示静默异常)您的屏幕截图不包含代码中的任何变量!怎么会这样?