最初的问题位于底部
更新:
以上是我目前使用的内容,但它给出了错误619,因为在找不到通知编号时SAP不会返回数据。
Sub QM03()
Set SapGuiAuto = GetObject("SAPGUI") 'Get the SAP GUI Scripting object
Set SAPApp = SapGuiAuto.GetScriptingEngine 'Get the currently running SAP GUI
Set SAPCon = SAPApp.Children(0) 'Get the first system that is currently connected
Set session = SAPCon.Children(0) 'Get the first session (window) on that connection
'启动交易以查看表格 session.StartTransaction" QM03"
Dim rngNotificationNumbers As Range
Set rngNotificationNumbers = Range("A4:A704")
Dim arrNotificationNumbers(700) As String
Dim cell As Range
Dim i As Long
i = 0
For i = 0 To UBound(arrNotificationNumbers) - 1
session.FindById("wnd[0]/usr/ctxtRIWO00-QM03").Text = arrNotificationNumbers(i)
session.FindById("wnd[0]").SendVKey 0
StatusBarText = session.FindById("wnd[0]/sbar/pane[0]").Text
If InStr(StatusBarText, " does not exist") Then
GoTo NextIteration
End If
NextIteration:
Next
End Sub
`
***我是SAP和VBA的新手,但我真的需要一些帮助!
我试图从Excel工作表中获取通知编号,将其输入到QM03,然后从那里转到' Items'输出“缺陷类型”'要优秀,然后转到带有任务代码P020的行中的“项目任务”,并输出“任务文本”'优秀。
如果找不到通知编号,我想跳过它并转到下一个。
我正在使用SAP GUI for Windows。
我真的很感激任何帮助!谢谢!***
答案 0 :(得分:1)
而不是
If InStr(StatusBarText, " does not exist") Then
GoTo NextIteration
End If
NextIteration:
做那样的事
If InStr(StatusBarText, " does not exist") Then
' Do nothing
else
' Do your stuff here
End If
并删除标签NextIteration:
PS您似乎错过了基本的编程知识,因此您可以查看here或其他适合初学者的网站