VBA到SAP // RFCfunction模块,以表格作为input参数

我想通过RFC连接器将数据从Excel发送到SAP。 对于RFCfunction模块,我必须填写一个表作为input参数。 STFC_DEEP_TABLE RFCfunction模块STFC_DEEP_TABLE 。 不幸的是,我的VBA代码在带有错误的with语句处停止:

“对象variables或块variables未设置”。

见下文。

请,有人可以帮我吗? 哪里不对?

 Sub RFC_DEEP_TABLE() Dim sapConn As Object Set sapConn = CreateObject("SAP.Functions") If sapConn.Connection.Logon(0, False) <> True Then MsgBox "Cannot Log on to SAP" End If Dim objRfcFunc As Object Set objRfcFunc = sapConn.Add("STFC_DEEP_TABLE") With objRfcFunc .Exports.Item("IMPORT_TAB").value("STR") = "X" 'Objectvariable oder With-Blockvariable nicht festgelegt End With If objRfcFunc.Call = False Then MsgBox objRfcFunc.Exception End If End Sub 

我不能testing这个,但是从VBA / SAP Net连接器读起来,看起来像你类似于C#的.Net连接器语法,必须在设置字段值之前在导入表中添加一行。

 Sub RFC_DEEP_TABLE() Dim sapConn As Object Set sapConn = CreateObject("SAP.Functions") If sapConn.Connection.Logon(0, False) <> True Then MsgBox "Cannot Log on to SAP" End If Dim objRfcFunc As Object Set objRfcFunc = sapConn.Add("STFC_DEEP_TABLE") Set import_tab = objRfcFunc.Tables("IMPORT_TAB") import_tab.freetable import_tab.appendrow import_tab.cell("STR", 1) = "X" If objRfcFunc.Call = False Then MsgBox objRfcFunc.Exception End If End Sub 

我不完全确定分配值的行, cell方法的参数应该是正确的,但我只发现了一些稍微矛盾的博客和论坛post,我不是绝对肯定参数的顺序是正确的。