|
Hallo Zusammen,
Hat jemand eine Idee was bei dem Makro angepasst werden kann damit nicht jedes mal ein "OLE Fehler" angezeigt wird.
_______________________________
Sub Artikelkategorie()
Dim SapGuiAuto As Object
Dim SapApplication As Object
Dim Connection As Object
Dim session As Object
Dim i As Integer
Dim lastRow As Integer
Dim wsMakro As Worksheet
Set wsMakro = ActiveWorkbook.Worksheets("Makro")
Set SapGuiAuto = GetObject("SAPGUI")
Set SapApplication = SapGuiAuto.GetScriptingEngine
Set Connection = SapApplication.Children(0)
Set session = Connection.Children(0)
Dim LGNUM As String
Dim Werk As String
Dim Lagerort As String
Dim LgTyp_von As String
Dim LgTyp_bis As String
LGNUM = wsMakro.Range("A3").Value
Werk = wsMakro.Range("B3").Value
Lagerort = wsMakro.Range("C3").Value
LgTyp_von = wsMakro.Range("D3").Value
LgTyp_bis = wsMakro.Range("E3").Value
session.findById("wnd[0]").resizeWorkingPane 195, 53, False
session.findById("wnd[0]/tbar[0]/okcd").Text = "/nsq00"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[19]").press
session.findById("wnd[1]/usr/cntlGRID1/shellcont/shell").firstVisibleRow = 2558
session.findById("wnd[1]/usr/cntlGRID1/shellcont/shell").currentCellRow = 2560
session.findById("wnd[1]/usr/cntlGRID1/shellcont/shell").selectedRows = "2560"
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/usr/cntlGRID_CONT0050/shellcont/shell").currentCellRow = 59
session.findById("wnd[0]/usr/cntlGRID_CONT0050/shellcont/shell").firstVisibleRow = 17
session.findById("wnd[0]/usr/cntlGRID_CONT0050/shellcont/shell").selectedRows = "59"
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/usr/ctxtSP$00001-LOW").Text = LGNUM
session.findById("wnd[0]/usr/ctxtSP$00002-LOW").Text = Werk
session.findById("wnd[0]/usr/ctxtSP$00003-LOW").Text = Lagerort
session.findById("wnd[0]/usr/ctxtSP$00016-HIGH").SetFocus
session.findById("wnd[0]/usr/ctxtSP$00006-LOW").Text = LgTyp_von
session.findById("wnd[0]/usr/ctxtSP$00006-HIGH").Text = LgTyp_bis
session.findById("wnd[0]/usr/ctxtSP$00016-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00016-HIGH").Text = ""
session.findById("wnd[0]/usr/ctxtSP$00006-HIGH").SetFocus
session.findById("wnd[0]/usr/ctxtSP$00006-HIGH").caretPosition = 3
session.findById("wnd[0]/tbar[1]/btn[8]").press
'--- EXPORT WITHOUT OLE (NO POPUP) ---
session.findById("wnd[0]").maximize
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressToolbarContextButton "&MB_EXPORT"
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "&PC"
session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").Select
session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").SetFocus
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").SetFocus
session.findById("wnd[1]/usr/ctxtDY_PATH").caretPosition = 0
session.findById("wnd[1]").sendVKey 4
session.findById("wnd[2]/usr/ctxtDY_PATH").Text = "C:\Data"
session.findById("wnd[2]/usr/ctxtDY_FILENAME").Text = "LVS_Lagerbestand.txt"
session.findById("wnd[2]/usr/ctxtDY_FILENAME").caretPosition = 21
session.findById("wnd[2]/tbar[0]/btn[0]").press
session.findById("wnd[1]/tbar[0]/btn[0]").press
Set wbImport = ActiveWorkbook
wbImport.Sheets(1).Range("A1").CurrentRegion.Copy
wsBestandsreport.Range("A6").PasteSpecial xlPasteValues
MsgBox "Script Abgeschlossen"
End Sub
|