【问题标题】:EXCEL VBA with VBS SAP session.findById variable not working带有 VBS SAP session.findById 变量的 EXCEL VBA 不起作用
【发布时间】:2016-08-25 21:35:55
【问题描述】:

我需要循环这个部分并用我的变量x 值覆盖x 标记的位置,但是如果我按照图片上显示的那样使用它,什么都不会发生。如果我输入任何值,例如 1 或 2 而不是 x,它会起作用。如何在这些地方使用变量而不是值?

这里也是代码:

For j = 1 To SumPositionen
If Sheets("Datenverarbeitung").Cells(Z, 4) = tempCommodityForm Then
session.findById("wnd[0]/usr/tabsTAB_DETAILS/tabpTAB_MF/ssubTABMF:/HERA/TRDMF10:2023/tbl/HERA/TRDMF10TC_2023/ctxt/HERA/TRDINOUT_S-MATNR[1,x]").Text = Sheets("Datenverarbeitung").Cells(a, 5) 'Eingabe Materialnummer in 1. Position
session.findById("wnd[0]/usr/tabsTAB_DETAILS/tabpTAB_MF/ssubTABMF:/HERA/TRDMF10:2023/tbl/HERA/TRDMF10TC_2023/txt/HERA/TRDINOUT_S-MFQUAN[2,x]").Text = Sheets("Datenverarbeitung").Cells(a, 6) 'Eingabe Menge in 1. Position
session.findById("wnd[0]/usr/tabsTAB_DETAILS/tabpTAB_MF/ssubTABMF:/HERA/TRDMF10:2023/tbl/HERA/TRDMF10TC_2023/ctxt/HERA/TRDINOUT_S-MFU[3,x]").Text = Sheets("Datenverarbeitung").Cells(a, 7) 'Eingabe UoM
x = x + 1
End If
a = a + 1
Next j

【问题讨论】:

    标签: excel vba vbscript sap


    【解决方案1】:
    session.findById("wnd[0]/usr/tabsTAB_DETAILS/tabpTAB_MF/ssubTABMF:/HERA/" & _
      "TRDMF10:2023/tbl/HERA/TRDMF10TC_2023/ctxt/HERA/TRDINOUT_S-MATNR[1,x]").Text
    

    这里您的字符串包含文字值“x”。你真正想要的可能更像是:

    session.findById("wnd[0]/usr/tabsTAB_DETAILS/tabpTAB_MF/ssubTABMF:/HERA/" & _
      "TRDMF10:2023/tbl/HERA/TRDMF10TC_2023/ctxt/HERA/TRDINOUT_S-MATNR[1," & x & "]").Text
    

    比如:

    Dim s As String, sht As Worksheet
    '....
    '....
    
    Set sht = Sheets("Datenverarbeitung")
    
    s = "wnd[0]/usr/tabsTAB_DETAILS/tabpTAB_MF/ssubTABMF:/HERA/" & _
        "TRDMF10:2023/tbl/HERA/TRDMF10TC_2023/ctxt/HERA/"
    
    For j = 1 To SumPositionen
        If sht.Cells(Z, 4) = tempCommodityForm Then
            session.findById(s & "TRDINOUT_S-MATNR[1," & x & "]").Text = sht.Cells(a, 5)  'Eingabe Materialnummer in 1. Position
            session.findById(s & "TRDINOUT_S-MFQUAN[2," & x & "]").Text = sht.Cells(a, 6) 'Eingabe Menge in 1. Position
            session.findById(s & "TRDINOUT_S-MFU[3," & x & "]").Text = sht.Cells(a, 7)    'Eingabe UoM
            x = x + 1
        End If
        a = a + 1
    Next j
    

    【讨论】:

      【解决方案2】:

      将数据类型定义为变量链接字符串和整数

      【讨论】:

        猜你喜欢
        • 2016-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        • 1970-01-01
        • 2016-08-22
        • 1970-01-01
        相关资源
        最近更新 更多