• DİKKAT

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

Makro ile pc den bulunan programa teklif oluşturtma.

şahane bir sanat eseri oldu elinize sağlık ,bazı kodları değiştirdim epeyde bir selep ekledim ,

konu hakkında bir sorum olacak sağ klik yaptığımız pencereler de Siparişde olsun sevkiyatta olsun gelmesini nasıl bekletiriz ,bu bir (pencere değil) yarın deneyeceğim sağ klikde bulunan yazılardan okuma yaptırıp bekletmeyi ,birde bu yazılımı çalıştırmak için sürekli scripti mi açmak lazım kısa bir yol tuşu ile olabilir mi ? tekrar tekrar teşekkür ederim .
 
Editorun icinde tools da compiler var. Oradan exe ye cevirebilirsiniz. Exe olunca bagimsiz olacaktir.

Sag klik olayina bakmam lazin
 
merhabalar asri Bey,

takıldığım bir nokta var ,başka hazırladığımız bir scripti kopyalayıp paket hazırlama sistemine uyarladım çalışıyor fakat bazı eksiklikler var yardımcı olabilir misiniz ,teşekkürler.

paket hazırlama scripti kodu ,

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(4000)

For $i = 2 To 1000


   ;Açılan excel dosyasından 1,3,4 kolonlarından veriler okunuyor.
   Local $stok=$oExcel.activesheet.cells($i, 1).value
   Local $adet=$oExcel.activesheet.cells($i, 3).value
   Local $fiyat=$oExcel.activesheet.cells($i, 4).value

   ;Okunan veri boş ise döngü bitiriliyor.
   if $stok="" then ExitLoop




    Opt('TrayIconDebug', 1)
   Opt("WinTitleMatchMode", 2)
  _WinWaitActivate("Paket Malzemesi -","")
   Local $sText = WinGetTitle("[ACTIVE]")
   $sText=StringMid($sText,17,9)

   ;+ ya basılıyor
   send("{F5}")



   Sleep(1000)
   ;Stokkodu gönderiliyor
   send($stok)
   ;TAB tuşu gönderiliyor
   send("{TAB}")
   ;1 sn bekleniyor

   Sleep(1000)
   ;adet gönderiliyor
   send($adet)
   ;1 sn bekleniyor
   Sleep(2000)
   ;TAB tuşu gönderiliyor

   ;Teklif programı açık iken kullanılacak ise ";" bunu kaldırın.
   send("{F12}")
   ;2 sn bekleniyor
   Sleep(2000)


   next



$oExcel.Workbooks.close

işlemler yapılır iken 2 türlü hata olabiliyor ,

http://i.hizliresim.com/2ZBR3j.jpg
http://i.hizliresim.com/2ZBRzj.jpg

1 paket altına aynı kodlu malzeme girildiğin de resim de görüldüğü gibi
2 paket altına satış tanımlı malzeme girilmeye çalışıldığında hata resimde görüldüğü gibi ,

talebim bu 2 hata karşına çıkar ise enter delete tuşlarına basıp excel içinde o satırı boyaması yada satırın yan sütununa 1 yada 2 gibi yazıp görevine devam etmesini sağlayabilmek mümkün müdür ?
 
......
işlemler yapılır iken 2 türlü hata olabiliyor ,

http://i.hizliresim.com/2ZBR3j.jpg
http://i.hizliresim.com/2ZBRzj.jpg

1 paket altına aynı kodlu malzeme girildiğin de resim de görüldüğü gibi
2 paket altına satış tanımlı malzeme girilmeye çalışıldığında hata resimde görüldüğü gibi ,

talebim bu 2 hata karşına çıkar ise enter delete tuşlarına basıp excel içinde o satırı boyaması yada satırın yan sütununa 1 yada 2 gibi yazıp görevine devam etmesini sağlayabilmek mümkün müdür ?

Hata ekranın çıktığı yerden sonra bu kodu ekleyip, dener mi siniz.

Kod:
If winexists('Sunucu Hatası - IFS Uygulamaları', '') Then
  send("{ENTER}")
  sleep(2000)
  send("{DEL}")
  sleep(2000)
  $oExcel.activesheet.cells($i, 5).value="2"
Endif
 
Asri bey merhaba nasılsınız ,

benim takıldığım bir konu var bu sefer ıfs veri çekmek istiyorum ,
ilk aşamada exceli actırıp ıfs de sorgulama yapıyorum fakat verilerin akatarılacağı exceli açtırıp yazdıramıyorum çok zamanınızı almaz ise yardımcı olabilmeniz mümkün müdür , yıl sonu geliyor maliyet raporu hazırlayacağım da ,


bu arada önceki konu okadar işime yarıyorki resmen işler otomatikleşti.


örnek dosyamızda anlatmaya çalıştım yardımınız rica sı ile.

http://s4.dosya.tc/server3/y4xg6t/anlatim.rar.html
 
Yazdığınız autoit kodunuda buraya ekler misiniz?

İkinci bir excel açmayın. Açık olan excel in ikinci sayfasına verileri yazın.
 
Çok haklısınız akıl akıldan üstün fakat axtif olan exceli açtıramadım kodların içerisine ekledim takıldığım ve handikap olan bölgeleri yazmaya çalıştım yardımcı olabilir misiniz.

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(4000)

For $i = 2 To 1000

   ;Açılan excel dosyasından 1,3,4 kolonları45015	4ndan veriler okunuyor.
   Local $stok=$oExcel.activesheet.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)

   ;+ ya basılıyor
   send("{F3}")

   Sleep(1000)
   ;Stokkodu gönderiliyor
   send($stok)

;entere basılıyor
   send("{ENTER}")

   ; çıkan ilk alan kopyalanıyor

   Send("^C")


   ; iki yönlüde dededim olmadı açık olan exceli açamadım 
     Opt('TrayIconDebug', 1)
  Opt("WinTitleMatchMode", 2)
  _WinWaitActivate("teklif -Microsoft Excel- ","")
sleep(2000)



;exceli acıyor  tekrar exceli açtıramadım bu kodlada 

 Opt('TrayIconDebug', 1)
   Opt("WinTitleMatchMode", 2)
  _WinWaitActivate("teklif - Microsoft Excel- ","")
   Local $sText = WinGetTitle("[ACTIVE]")








   ;sayfa 2 ye basıyor


   sleep(1000)
   MouseClick($MOUSE_CLICK_LEFT,1005 , 201, 1)
   sleep(1000)

;kopyalanan ilk veriyi yapıştırıyor  burası biraz karışık ilk sutun satırını nasıl sectırebılırız

  Send("^V")

  ;b sutununa geçiyor
    sleep(1000)
  send("{TAB}")

  ;sayfa 1e geçiyor
 sleep(1000)
   MouseClick($MOUSE_CLICK_LEFT,1298 , 126, 1)
   sleep(1000)

   ;a3 sutunu nasıl sectirebilirim
   
   
   
   
   
 send("{TAB 2}")

 Send("^C")
 
 
 ;excel açılıp sayfa 2 gelip b1 e yapıştıracak takrar gelip ıfs ye tab 10 ctr c tektrar excel e yapıştıracak 
 ;sonra sayfa 1 a4 gelecek aynı döngüleri yapacak taki a sutununda boş satır gelene kadar bir 












;buraya ekledik hata olursa yan sutuna 7 yazdıracak
If winexists('Sunucu Hatası - IFS Uygulamaları', '') Then
  send("{ENTER}")
  sleep(2000)
  send("{DEL}")
  sleep(2000)
  $oExcel.activesheet.cells($i, 7).value="2"
Endif


;buraya ekledik

   next




$oExcel.Workbooks.close
 
Tüm kopyalama ve Excel e yapıştırma işlemlerini aşağıdaki örnek ile yapabilirsiniz.

Deneyiniz.


Kod:
   ; IFS de alan seçilip ctrl+c ile kopyalanır.
   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
   
   ilk satırlarda belirtilen excel dosyasına direkt değerler yazılır.
   $oExcel.Sheets("Sayfa2").cells($satir, 1).value=ClipGet()
 
Asri bey ,

şuan evdeyim deneme için bir word açtım ,
önce excel açılıyor sonra word ,worda yazı yazılıyor sonra tab ve kopyala ,

asıl durum açık excelin sayfa 2 sine geçemiyorum ,verdiğiniz kodları denedim ama hata çıktı ,zahmet olmaz ise koda devam edebilir misiniz ,,



önce excel açılıyor sonra word ,worda yazı yazılıyor sonra tab ve kopyala ,excel sayfa 2 ctr v sonra word tab ctrl c excel sayfa 2 $satir=$satir+2 ye sonra tekrar worde tab ctrl c gibi devam edeceğim .

kod olarak burda kaldım ,

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(6000)

For $i = 2 To 1000

   ;Açılan excel dosyasından 1,3,4 kolonları45015	4ndan veriler okunuyor.
   Local $stok=$oExcel.activesheet.cells($i, 1).value

   ;Okunan veri boş ise döngü bitiriliyor.
   if $stok="" then ExitLoop


    Opt('TrayIconDebug', 1)
   Opt("WinTitleMatchMode", 2)
  _WinWaitActivate("Belge1 - Microsoft Word","")
   Local $sText = WinGetTitle("[ACTIVE]")
   $sText=StringMid($sText,17,9)


 send("{TAB}")
 Send("^C")
 
Word dosyası ile deneme kodları aşağıdaki şekildedir.

Excel den stok kodunu okur, word e yapıştırır. (Program çalışmaya başladıktan sonra açık word dosyasını seçmeniz gerekiyor)

Word e yapıştırılan kodu ctrl+a yaparak kopyalar ve Excel deki Sayfa2 ye yapıştırır.

4 kod için aynı işlemi tekrarlar. Sayfa2 ye alt alta kaydeder.


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
For $i = 2 To 4

   ;Açılan excel dosyasından 1,3,4 kolonları45015    4ndan veriler okunuyor.
   Local $stok=$oExcel.activesheet.cells($i, 1).value

   ;Okunan veri boise döngü bitiriliyor.
   if $stok="" then ExitLoop

   Opt('TrayIconDebug', 1)
   Opt("WinTitleMatchMode", 2)
   _WinWaitActivate("Belge1 - Microsoft Word","")
   Local $sText = WinGetTitle("[ACTIVE]")
   $sText=StringMid($sText,17,9)

   ;Stokkodu gönderiliyor
   Sleep(1000)
   send($stok)

   ; alan seçilip ctrl+c ile kopyalanır.
   Sleep(1000)
   Send("^{HOME}+^{END}")
   Sleep(1000)
   Send("{CTRLDOWN}c{CTRLUP}")

   ;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()

   next

;$oExcel.Workbooks.close
 
evet oldu winactiviteyi bende yazmıştım sanırım ,wordu açar gibi yapacak sandım ondan fark edemedim sayfa 2 ye yapıştırdıklarını ,ilk sorguyu sutun a ,b,gibi saralıyor ,

tek sorunum ıfs ilk excelde 1 ci stoğu sorguladı verileri aldık ok,

2 stoğu nasıl sorgulayacak ,son durum aşağıdaki gibi.

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
For $i = 1 To 1

   ;Açılan excel dosyasından 1,3,4 kolonları45015    4ndan veriler okunuyor.
   Local $stok=$oExcel.activesheet.cells($i, 1).value

   ;Okunan veri boise döngü bitiriliyor.
   if $stok="" then ExitLoop

   Opt('TrayIconDebug', 1)
   Opt("WinTitleMatchMode", 2)
   _WinWaitActivate("Belge1 - Microsoft Word","")
   Local $sText = WinGetTitle("[ACTIVE]")
   $sText=StringMid($sText,17,9)

   ;Stokkodu gönderiliyor
   Sleep(1000)
   send($stok)

   ; alan seçilip ctrl+c ile kopyalanır.
   Sleep(1000)
   Send("^{HOME}+^{END}")
   Sleep(1000)
   Send("{CTRLDOWN}c{CTRLUP}")

   ;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()


Opt('TrayIconDebug', 1)
   Opt("WinTitleMatchMode", 2)
   _WinWaitActivate("Belge1 - Microsoft Word","")
   Local $sText = WinGetTitle("[ACTIVE]")
   $sText=StringMid($sText,17,9)

   ;Stokkodu gönderiliyor
   Sleep(1000)
   send($stok)

 ;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)

   $oExcel.Sheets("Sayfa2").cells($satir, 2).value=ClipGet()



   next

;$oExcel.Workbooks.close
 
Son problemi anlamadım.
For $i = 1 To 1 buradaki to 1 i stok sayısı kadar arttırmak yeterli olmalı.

Sonuçta tüm olay bu döngü içinde tekrarlanıyor.

Burada atladığınız nokta sanırım buradaki $i döngü her tekrar başladığında bu kod ile excel deki sıradaki stok kodunu almakta ve işlemlere devam etmektedir.

Local $stok=$oExcel.activesheet.cells($i, 1).value
 
evet aynen bahsettiğiniz gibi next ten sonra ekledim fakat hata veriyor ,

error: missing Next. diye,



Kod:
next

For $i = 2 To 2

   ;Açılan excel dosyasından 1,3,4 kolonları45015    4ndan veriler okunuyor.
   Local $stok=$oExcel.activesheet.cells($i, 2).value



   ;Okunan veri boise döngü bitiriliyor.
   if $stok="" then ExitLoop

   Opt('TrayIconDebug', 1)
   Opt("WinTitleMatchMode", 2)
   _WinWaitActivate("Belge1 - Microsoft Word","")
   Local $sText = WinGetTitle("[ACTIVE]")
   $sText=StringMid($sText,17,9)

   ;Stokkodu gönderiliyor
   Sleep(1000)
   send($stok)

   ; alan seçilip ctrl+c ile kopyalanır.
   Sleep(1000)
   Send("^{HOME}+^{END}")
   Sleep(1000)
   Send("{CTRLDOWN}c{CTRLUP}")

   ;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()


Opt('TrayIconDebug', 1)
   Opt("WinTitleMatchMode", 2)
   _WinWaitActivate("Belge1 - Microsoft Word","")
   Local $sText = WinGetTitle("[ACTIVE]")
   $sText=StringMid($sText,17,9)

   ;Stokkodu gönderiliyor
   Sleep(1000)
   send($stok)

 ;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)

   $oExcel.Sheets("Sayfa2").cells($satir, 2).value=ClipGet()






;$oExcel.Workbooks.close
 
Next de sonra eklemiyeceksiniz.
Sadece for i=2 to 2 i for i=2 to 5 gibi değiştirip dener misiniz.

buradaki 5 ka adet kod olacağını belirtiyor.
 
denedim hata veriyor aşağıdaki gibi,
kod için de.



ilk döngüde bunu silip For $i = 2 To 2 yerine aşağıdakileri ekledim.

Kod:
for i=2 to 2 i for i=2 to 5
   ;Açılan excel dosyasından 1,3,4 kolonları45015    4ndan veriler okunuyor.
   Local $stok=$oExcel.activesheet.cells($i, 1).value



   ;Okunan veri boise döngü bitiriliyor.
   if $stok="" then ExitLoop
 
Yerine değil, yanına eklemişsiniz. : )
Bu şekilde dener misiniz?

Bu kodlar excel den 5 defa kod okuyacak, word e yapıştıracak ve oradan kopyalayıp excel sayfa2 ye yapıştıracaktır.

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 5     
   ;Açılan excel dosyasından 1,3,4 kolonları45015    4ndan veriler okunuyor.    
   Local $stok=$oExcel.activesheet.cells($i, 1).value     
   ;Okunan veri boş ise döngü bitiriliyor.    
   if $stok="" then ExitLoop     
   Opt('TrayIconDebug', 1)    
   Opt("WinTitleMatchMode", 2)    
   _WinWaitActivate("Belge1 - Microsoft Word","")    
   Local $sText = WinGetTitle("[ACTIVE]")    
   $sText=StringMid($sText,17,9)    
   ;Stokkodu gönderiliyor    
   Sleep(1000)    
   send($stok)     
   ; alan seçilip ctrl+c ile kopyalanır.    
   Sleep(1000)    
   Send("^{HOME}+^{END}")   
   Sleep(1000)    
   Send("{CTRLDOWN}c{CTRLUP}")     
   ;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()  
 Next 

 ;$oExcel.Workbooks.close
 
Şimdi oldu emeğiniz ve ilginiz için allah razı olsun hayırlı geceler pazartesi ilk iş şirkette ıfs için uygulayacağım.

bi an çok korktum döngülerin hepsini kopyalayıp düzenleyeceğiz diye :) hayırlı geceler .
 
Asri bey ,

size sormamak için dünden bu yana deneme yapıyorum fakat takıldım kaldım,word dsoaysında atladığımız bir durum var sanırım ,

şöyleki durum ilk stok kodunu yolluyorum ok, ve sayfa 2 satır 1 kopyalanıyor ok ,daha sonra aynı stok kodu için ekrana geri gelip tab 2 ile 2 veriyi kopyalayıp sayfa 2 ye aktaramıyorum ,1 sorun bu duru ,

2 sorun 2 stok kodunu gönderemiyorum 1 2 verileri aynı şekilde aldıramadım yardımcı olabilmeniz mümkün müdür.

kodların için dede bahsettim son hali aşağıdaki gibidir.

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 1
   ;Açılan excel dosyasından 1,3,4 kolonları45015    4ndan veriler okunuyor.
   Local $stok=$oExcel.activesheet.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()


;aynı stok kodundaki kopyalanacak diğer alana gitmesi gerekiyor fakat gitmiyor .
   Sleep(1000)
   send("{TAB2}")

   ;1. stok kodu 2 alan kopyalanıyor
   Send("^C")


;2 alanı sayfa 2 satır 2 ye yapıştırmak lazım 
sleep(2000)
   $satir=$satir+1
   $oExcel.Sheets("Sayfa2").cells($satir, 2).value=ClipGet()


;3 veriye gidiyor aynı stok kodun daki 
Sleep(1000)
   send("{TAB2}")


;1 stok kodu 3 alan  sorgu kopyalanıyor
   Send("^C")
   
   
   ;3 alanı sayfa 2 satır 3 ye yapıştırmak lazım 
sleep(2000)
   $satir=$satir+1
   $oExcel.Sheets("Sayfa2").cells($satir, 3).value=ClipGet()
   
   
   
   ;2 stok kodunu göndereceğiz 
   
   
   ;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()


;aynı stok kodundaki kopyalanacak diğer alana gitmesi gerekiyor fakat gitmiyor .
   Sleep(1000)
   send("{TAB2}")

   ;1. stok kodu 2 alan kopyalanıyor
   Send("^C")


;2 alanı sayfa 2 satır 2 ye yapıştırmak lazım 
sleep(2000)
   $satir=$satir+1
   $oExcel.Sheets("Sayfa2").cells($satir, 2).value=ClipGet()


;3 veriye gidiyor aynı stok kodun daki 
Sleep(1000)
   send("{TAB2}")


;1 stok kodu 3 alan  sorgu kopyalanıyor
   Send("^C")
   
   
   ;3 alanı sayfa 2 satır 3 ye yapıştırmak lazım 
sleep(2000)
   $satir=$satir+1
   $oExcel.Sheets("Sayfa2").cells($satir, 3).value=ClipGet()
   
   

 Next

 ;$oExcel.Workbooks.close
 
Asri bey ,

konu çözülmüştür ,10000 yakın veri çektim kısmi olarak ,

tek bir nokta kaldı ıfs hata verdiğinde excel sayfa 1 9 sutuna 2 yazdırıyorduk aşağıdaki kodlar ile,
yazıyor fakat aynı zamanda sayfa 2 yede yazıyor ama oraya ıfs uygulamaları ----------- gibi formullü bir yazı yapıştırıyor sonra excel donup kalıyor çıkmadım işin içinden yardımcı olabilmeniz mümkün müdür .


örnek dosya son hali,

http://s5.dosya.tc/server3/ahdirj/Yeni_klasor__1_.rar.html

Kod:
If winexists('IFS Uygulamaları', '') Then
   sleep(2000)
   send("{TAB}")
	send("{ENTER}")
    sleep(2000)
  $oExcel.activesheet.cells($i, 9).value="2"

Endif

 Next

 ;$oExcel.Workbooks.close
 
Geri
Üst