在VBA中调用RFC_READ_表时出错61704

在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

我正在尝试通过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)为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
;请注意,布尔值表示静默异常)您的屏幕截图不包含代码中的任何变量!怎么会这样?