SAP ile excel arası geçiş yapmak

  • Konuyu başlatan Konuyu başlatan selis
  • Başlangıç tarihi Başlangıç tarihi

selis

Kullanıcı
Katılım
17 Mar 2021
Mesajlar
721
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba arkadaşlar,
Ben SAP ile scripte kayıt alarak işlemleri yaptırıyorum. Ancak excelden veri kopyalayıp ilgili hücreye yazmasını istiyorum. Kod çalışmadı, acaba böyle bir şey mümkün mü? Kodu aşağıdaki gibi yazdım.
Şimdiden teşekkürler..

ThisWorkbook.Activate

Sheet2.Cells(1, 1).Copy
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,4]").Paste
 
Bunun için SAP'de Makro Kaydet yaparak oluşan kodları buraya atmalısınız. Yazdığınız şekilde kod çalışmaz.

Aşağıdaki gibi bir deneyin eğer olmazsa makro kaydet yöntemi ile oluşturduğunuz kodları burada paylaşın ona göre yardımcı olalım.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
 
Çok teşekkürler, denedim malesef olmadı hata verdi. Dediğiniz gibi kayıt alıp yaptığımda da kopyala yapıştırı almadı ben yazmaışım gibi kod çıktı aşağıda kodu paylaşıyorum. Şimdiden teşekkür ederiim.
If Not IsObject(application) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set application = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(connection) Then
Set connection = application.Children(0)
End If
If Not IsObject(session) Then
Set session = connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject application, "on"
End If
session.findById("wnd[0]").resizeWorkingPane 101,18,false
session.findById("wnd[0]/usr/btn%_S_LGORT_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,0]").text = "100"

(Burda "100" yazdığım aslında excelden kopyaladığım değer)
 
Sayfa2 A1 hücresinde ver olduğunundan emin olduktan sonra aşağıdaki kodu deneyin.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(2 satır)
 
Çok teşekkür ederiim. Değişken değerler için böyle bir şey yazdım. A2 hücresinden dolu hücreye kadar seçsin diye ama hata veriyor. Neden oluyor acaba aralık tanımlayamıyor muyum? Şimdiden teşekkürler.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(3 satır)
 
Çok teşekkür ederiim. Değişken değerler için böyle bir şey yazdım. A2 hücresinden dolu hücreye kadar seçsin diye ama hata veriyor. Neden oluyor acaba aralık tanımlayamıyor muyum? Şimdiden teşekkürler.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(3 satır)
Bu şekilde olmaz,
Aşağıdaki gibi deneyin bakalım olacak mı?

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(4 satır)
 
Hocam hata verdi, bence [" & ii - 1 & ",0]").Text bu kısımdan dolayı çünkü tek tek yazacaksa forla aşağı inmesi gerekiyor. O yüzden aralığı direk alıp kopyalasa ne iyi olurdu..
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
 
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(8 satır)


Hocam tek tek yazdım o yüzden değer olarak gösterdi bu şekilde. Daha fazla veri var ama örnek olarak bu kadar doldurdum. Teşekkürler..
 
Yok hocam çok fazla, ama belki kodumuz 8 tane mi alıyor sadece acaba? Yani 8 satıra kadar mı iniyor sadece [ 0] [ 1] ... olarak gösterilen yer
 
Bunu denemeden bilemeyiz. Manuel 8'den fazla giriş yapın makro kaydet ile sonra anlaşılır kod yapısındaki değişiklik.
 
Hocam söylediğiniz gibi yaptım, 8 de durmasının sebebi kendisi aşağı inemiyor 8 satır dolduktan sonra. Kod bu şekilde, her 8 den sonra böyle bir şey yazmamız gerekiyorsa bunu yapmak mümkün olur mu hocam?
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(57 satır)
 
Oldu hocam çok çok teşekkür ederiiim. Böylece ne kadar fazla olursa olsun verim kopyalayıp yapıştırıyor :) Çok harika oldu elinize sağlık..
 
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst Alt