• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

excel sayfasından SAP proğramına malzeme sarf çıkışlarını yazdırmak

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,180
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Kod:
Option Explicit
Public SapGuiAuto
Public objGui As GuiApplication
Public objConn As GuiConnection
Public session As GuiSession
Public objSheet As Worksheet


Sub SapMalzeme_cikis()

Set SapGuiAuto = GetObject("SAPGUI")
Set objGui = SapGuiAuto.GetScriptingEngine
Set objConn = objGui.Children(0)
Set session = objConn.Children(0)
Dim selectedCountry As String
Dim folderPath As String
Dim i As Integer
Dim ara As String

session.FindById("wnd[0]").Maximize
session.FindById("wnd[0]/usr/cntlIMAGE_CONTAINER/shellcont/shell/shellcont[0]/shell").selectedNode = "0000000046"
session.FindById("wnd[0]/usr/cntlIMAGE_CONTAINER/shellcont/shell/shellcont[0]/shell").doubleClickNode "0000000046"
session.FindById("wnd[0]/usr/subGC_HEAD_SCA:ZMMIGA_P006:0301/ctxtGS_HEADER-BUKRS").text = "1000"
session.FindById("wnd[0]/usr/subGC_HEAD_SCA:ZMMIGA_P006:0301/ctxtGS_HEADER-REQUESTING").text = "7556"
session.FindById("wnd[0]/usr/subGC_HEAD_SCA:ZMMIGA_P006:0301/ctxtGS_HEADER-FLDOFCR").text = "103"
session.FindById("wnd[0]/usr/subGC_HEAD_SCA:ZMMIGA_P006:0301/ctxtGS_HEADER-DISCPLN").text = "2000000100"
session.FindById("wnd[0]/usr/subGC_HEAD_SCA:ZMMIGA_P006:0301/ctxtGS_HEADER-DISCPLN").SetFocus
session.FindById("wnd[0]/usr/subGC_HEAD_SCA:ZMMIGA_P006:0301/ctxtGS_HEADER-DISCPLN").caretPosition = 10
session.FindById("wnd[0]").sendVKey 0
session.FindById("wnd[0]/usr/subGC_HEAD_SCA:ZMMIGA_P006:0301/ctxtGS_HEADER-RECTYP").SetFocus
session.FindById("wnd[0]/usr/subGC_HEAD_SCA:ZMMIGA_P006:0301/ctxtGS_HEADER-RECTYP").caretPosition = 0
session.FindById("wnd[0]").sendVKey 4
session.FindById("wnd[1]/usr/lbl[1,5]").SetFocus
session.FindById("wnd[1]/usr/lbl[1,5]").caretPosition = 8
session.FindById("wnd[1]").sendVKey 2
session.FindById("wnd[0]/usr/subGC_HEAD_SCA:ZMMIGA_P006:0301/ctxtGS_HEADER-MATNRCODE").SetFocus
session.FindById("wnd[0]/usr/subGC_HEAD_SCA:ZMMIGA_P006:0301/ctxtGS_HEADER-MATNRCODE").caretPosition = 0
session.FindById("wnd[0]").sendVKey 4
session.FindById("wnd[1]/usr/lbl[12,5]").SetFocus
session.FindById("wnd[1]/usr/lbl[12,5]").caretPosition = 5
session.FindById("wnd[1]").sendVKey 2
session.FindById("wnd[0]/usr/subGC_HEAD_SCA:ZMMIGA_P006:0301/cmbGS_HEADER-URGENT").SetFocus
session.FindById("wnd[0]/usr/subGC_HEAD_SCA:ZMMIGA_P006:0301/cmbGS_HEADER-URGENT").Key = "N"
session.FindById("wnd[0]/usr/subGC_DETAIL_SCA:ZMMIGA_P006:0302/cntlCONTAINER/shellcont/shell").PressToolbarButton "XSTOCK"
session.FindById("wnd[1]/usr/sub:SAPLSPO4:0300/ctxtSVALD-VALUE[0,21]").text = "2015"
session.FindById("wnd[1]/usr/sub:SAPLSPO4:0300/ctxtSVALD-VALUE[0,21]").caretPosition = 4
session.FindById("wnd[1]").sendVKey 0
session.FindById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").CurrentCellRow = -1
session.FindById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").SelectColumn "MATNR"
session.FindById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").PressToolbarButton "&SORT_ASC"


'ayrı pencerede açılan stoklu malzeme listesinin 1.sunununu küçükten büyüğe doğru sıralama yaptırdım
'bundan sonrasını döngüye alarak sayfamın a sutunundaki kodları stoklu malzeme listesinden aratıp 7.sunununa sayfamın H sutunundaki adet kısmını giriyorum
'döngü ile nasıl yaptırabilirim.

session.FindById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").PressToolbarButton "&FIND"
session.FindById("wnd[2]/usr/txtGS_SEARCH-VALUE").text = "1000018"
session.FindById("wnd[2]/usr/txtGS_SEARCH-VALUE").caretPosition = 7
session.FindById("wnd[2]/tbar[0]/btn[0]").press
session.FindById("wnd[2]/tbar[0]/btn[12]").press
session.FindById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").ModifyCell 4, "TLP_LABST", "25"
session.FindById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").CurrentCellColumn = "TLP_LABST"
session.FindById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").TriggerModified


session.FindById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").PressToolbarButton "&FIND"
session.FindById("wnd[2]/usr/txtGS_SEARCH-VALUE").text = "1000034"
session.FindById("wnd[2]/usr/txtGS_SEARCH-VALUE").caretPosition = 7
session.FindById("wnd[2]/tbar[0]/btn[0]").press
session.FindById("wnd[2]/tbar[0]/btn[12]").press
session.FindById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").ModifyCell 12, "TLP_LABST", "35"
session.FindById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").CurrentCellColumn = "TLP_LABST"
session.FindById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").TriggerModified
session.FindById("wnd[1]/tbar[0]/btn[0]").press
session.FindById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").TriggerModified

End Sub
Yukarıdaki kod ile SPA Proğramı açıkken kod içerisinde örnek olarak belirttiğim iki kodu açılan stoklu malzeme listesinden kodlarımı bulup hizalarına 7.sunuta H sutunumdaki miktarları girebiliyorum.

Ben bunu açık olan excel sayfamdan döngüye bağlayıp a sutununda yazılı kodların hepsini buldurup H sutunundaki miktarlarını SAP ın açık olan sayfasının 7.sutununa girmek istiyorum, bu konuda bilgisi olan arkadaşlarımdan, hocalarımdan destek bekliyorum. Teşekkürler
 
Üst