- Katılım
- 24 Nisan 2005
- Mesajlar
- 3,683
- Excel Vers. ve Dili
- Office 2016 EN 64 Bit
activesheets i sayfa1 olarak değiştirdim.
Her yapştırma işleminden sonra hafızayı boşalttım.
Bu şekilde deneyiniz.
Her yapştırma işleminden sonra hafızayı boşalttım.
Bu şekilde deneyiniz.
Kod:
#include <AutoItConstants.au3>
Func _WinWaitActivate($title,$text,$timeout=0)
WinWait($title,$text,$timeout)
If Not WinActive($title,$text) Then WinActivate($title,$text)
WinWaitActive($title,$text,$timeout)
EndFunc
$oExcel = ObjCreate("Excel.Application")
$oExcel.Workbooks.Open (@ScriptDir & "\teklif.xlsx").Sheets (1).Select ()
$oExcel.Visible = True
;Excel dosyası açıldıktan 10 sn sonra bilgi girişine başlanacaktır.
Sleep(5000)
Local $satir=0
;5 kayıt için 5 daha fazlası için bu rakam arttırılabilir
For $i = 1 To 3
;Açılan excel dosyasından 1,3,4 kolonlarından veriler okunuyor.
Local $stok=$oExcel.Sheets("Sayfa1").cells($i, 1).value
;Okunan veri boş ise döngü bitiriliyor.
if $stok="" then ExitLoop
Opt('TrayIconDebug', 1)
Opt("WinTitleMatchMode", 2)
_WinWaitActivate("SA Malzemesi Tedarikçisi -","")
Local $sText = WinGetTitle("[ACTIVE]")
$sText=StringMid($sText,17,9)
;f3 basılıyor
send("{F3}")
;Stokkodu gönderiliyor
Sleep(1000)
send($stok)
;entere basılıyor
send("{ENTER}")
Sleep(1000)
MouseClick($MOUSE_CLICK_LEFT,247 , 122, 2)
;ilk veri kopyalanıyor
Send("^C")
;Hafızaya alınmış kopyalanan değer Sayfa2 deki satir ve sutuna yapıştırılır.
;Değerler excel de sağa doğru yapıştırılacak ise $satir, 1 deki değer 2,3,4 olarak değiştirilir.
sleep(2000)
$satir=$satir+1
$oExcel.Sheets("Sayfa2").cells($satir, 1).value=ClipGet()
ClipPut("")
;satın alma ekranına gıdıyor stok kodu alıyor
Opt('TrayIconDebug', 1)
Opt("WinTitleMatchMode", 2)
_WinWaitActivate("SA Malzemesi Tedarikçisi","")
;Sorgulama ekranı getiriliyor.
sleep(2000)
send("{TAB 2}")
;2 veri kopyalanıyor
Send("^C")
sleep(2000)
$oExcel.Sheets("Sayfa2").cells($satir, 2).value=ClipGet()
ClipPut("")
;satın alma ekranına gıdıyor fiyatı alıyor
Opt('TrayIconDebug', 1)
Opt("WinTitleMatchMode", 2)
_WinWaitActivate("SA Malzemesi Tedarikçisi","")
;Sorgulama ekranı getiriliyor.
sleep(2000)
send("{TAB 22}")
;2 veri kopyalanıyor
Send("^C")
sleep(2000)
$oExcel.Sheets("Sayfa2").cells($satir, 3).value=ClipGet()
ClipPut("")
;satın alma ekranına gıdıyor fiyat tipini alıyor
Opt('TrayIconDebug', 1)
Opt("WinTitleMatchMode", 2)
_WinWaitActivate("SA Malzemesi Tedarikçisi","")
;Sorgulama ekranı getiriliyor.
sleep(2000)
send("{TAB}")
;2 veri kopyalanıyor
Send("^C")
sleep(2000)
$oExcel.Sheets("Sayfa2").cells($satir, 4).value=ClipGet()
ClipPut("")
;buraya ekledik hata olursa yan sutuna 2 yazdıracak
If winexists('IFS Uygulamaları', '') Then
sleep(2000)
send("{TAB}")
send("{ENTER}")
sleep(2000)
$oExcel.Sheets("Sayfa1").cells($i, 9).value="2"
ClipPut("")
Endif
Next
;$oExcel.Workbooks.close
