Çözüldü Macro Çalışırken ESC Tuşuna Basınca Makroyu Duraklatmak

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Sezerkaratas

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Uzun süren bir makrom var ve bu makro işlemleri internet explorerda yapıyor yani ekranda internet explorer açık ve send keyslerle işlem yapıyor.
Bu macro çalışırken esc tuşuna bastığımda macroyu durdurabilmek istiyorum yardım eder misiniz
 
Uzun süren işleminiz döngülerden kaynaklanıyor ise bu döngülerin içine mutlaka DoEvents fonksiyonunu yerleştiriniz. Çalışma sırasında her DoEvents fonksiyonuna gelindiğinde sisteminiz bir nefes alacak ve kuyrukta bekleyen mouse click, key press gibi olaylar windows tarafından işlenebilecektir. Böylece Ctrl+C gibi tuş kombinasyonları çalıştırılabilecektir.

Bir de explorera sendkeys yöntemi ile komut göndermek yerine DOM nesnesi üzerinden işlemlerinizi gerçekleştiriyor olabilirsiniz. Bununla ilgili sorularınız varsa yeni bir konu başlatabilirsiniz.
 
Uzun süren işleminiz döngülerden kaynaklanıyor ise bu döngülerin içine mutlaka DoEvents fonksiyonunu yerleştiriniz. Çalışma sırasında her DoEvents fonksiyonuna gelindiğinde sisteminiz bir nefes alacak ve kuyrukta bekleyen mouse click, key press gibi olaylar windows tarafından işlenebilecektir. Böylece Ctrl+C gibi tuş kombinasyonları çalıştırılabilecektir.

Bir de explorera sendkeys yöntemi ile komut göndermek yerine DOM nesnesi üzerinden işlemlerinizi gerçekleştiriyor olabilirsiniz. Bununla ilgili sorularınız varsa yeni bir konu başlatabilirsiniz.
selman bey tam olarak bahsettiğiniz sorunları yaşıyorum dosyamı yükledim rica etsem kodlarımı düzenlememe yardım eder misiniz lütfen. gerçekten çok sevinirim gerçekten
 
Uzun süren işleminiz döngülerden kaynaklanıyor ise bu döngülerin içine mutlaka DoEvents fonksiyonunu yerleştiriniz. Çalışma sırasında her DoEvents fonksiyonuna gelindiğinde sisteminiz bir nefes alacak ve kuyrukta bekleyen mouse click, key press gibi olaylar windows tarafından işlenebilecektir. Böylece Ctrl+C gibi tuş kombinasyonları çalıştırılabilecektir.

Bir de explorera sendkeys yöntemi ile komut göndermek yerine DOM nesnesi üzerinden işlemlerinizi gerçekleştiriyor olabilirsiniz. Bununla ilgili sorularınız varsa yeni bir konu başlatabilirsiniz.
bide dom nesnesi hakında bilgi verebilir misiniz
 
Sezer bey, merhaba..

Dosyanızda adres bilgileri olduğu için forumdan sildim.

Size problem olan nokta kullandığınız "zaman(acau)" fonksiyonu. Öncelikle bu fonksiyonu aşağıdaki şekilde değiştirin. Zaman(10000) dediğiniz zaman excel 10 saniye boyunca bekleyecek ama bu arada makronuzu durdurmak isterseniz de ESC yada CTRL+C gibi klavyeden gönderilen komutlara tepki verebilecek.

Zaman fonksiyonu Zaman(30000) yada Zaman(10000) şeklinde kullanmışsınız. Yani 30 sn ve 10 sn beklemeler yapacak şekilde. Bu süreleri belki biraz aşağı çekip programınızı hızlandırmayı deneyebilirsiniz. Bu şekliyle 1 mesaj için min 40 sn süre gerekiyor. Yani 90 mesaj göndermek için en az 1 saat süre gerekiyor.

DOM olayına hiç girmiyorum çünkü VBA ile sadece internet explorer üzerinde bir kontrol kurabilirsiniz; oysa ki "whatsapp web" internet explorer' da çalışmaz. Bu yüzden işinize yaramaz.


Kod:
İçeriği görüntülemek için giriş yapmalısınız
(6 satır)
 
Sezer bey, merhaba..

Dosyanızda adres bilgileri olduğu için forumdan sildim.

Size problem olan nokta kullandığınız "zaman(acau)" fonksiyonu. Öncelikle bu fonksiyonu aşağıdaki şekilde değiştirin. Zaman(10000) dediğiniz zaman excel 10 saniye boyunca bekleyecek ama bu arada makronuzu durdurmak isterseniz de ESC yada CTRL+C gibi klavyeden gönderilen komutlara tepki verebilecek.

Zaman fonksiyonu Zaman(30000) yada Zaman(10000) şeklinde kullanmışsınız. Yani 30 sn ve 10 sn beklemeler yapacak şekilde. Bu süreleri belki biraz aşağı çekip programınızı hızlandırmayı deneyebilirsiniz. Bu şekliyle 1 mesaj için min 40 sn süre gerekiyor. Yani 90 mesaj göndermek için en az 1 saat süre gerekiyor.

DOM olayına hiç girmiyorum çünkü VBA ile sadece internet explorer üzerinde bir kontrol kurabilirsiniz; oysa ki "whatsapp web" internet explorer' da çalışmaz. Bu yüzden işinize yaramaz.


Kod:
İçeriği görüntülemek için giriş yapmalısınız
(6 satır)
Çok teşekür ediyorum . Kodu deneyip döneceğim ilginiz için teşekürler
 
Sezer bey, merhaba..

Dosyanızda adres bilgileri olduğu için forumdan sildim.

Size problem olan nokta kullandığınız "zaman(acau)" fonksiyonu. Öncelikle bu fonksiyonu aşağıdaki şekilde değiştirin. Zaman(10000) dediğiniz zaman excel 10 saniye boyunca bekleyecek ama bu arada makronuzu durdurmak isterseniz de ESC yada CTRL+C gibi klavyeden gönderilen komutlara tepki verebilecek.

Zaman fonksiyonu Zaman(30000) yada Zaman(10000) şeklinde kullanmışsınız. Yani 30 sn ve 10 sn beklemeler yapacak şekilde. Bu süreleri belki biraz aşağı çekip programınızı hızlandırmayı deneyebilirsiniz. Bu şekliyle 1 mesaj için min 40 sn süre gerekiyor. Yani 90 mesaj göndermek için en az 1 saat süre gerekiyor.

DOM olayına hiç girmiyorum çünkü VBA ile sadece internet explorer üzerinde bir kontrol kurabilirsiniz; oysa ki "whatsapp web" internet explorer' da çalışmaz. Bu yüzden işinize yaramaz.


Kod:
İçeriği görüntülemek için giriş yapmalısınız
(6 satır)
Selman bey do events la ilgili biraz bilgi vermeniz mümkün mü benim kodumda tam olarak nasıl çalışıcak işlem sırası içinde . Zaman fonksiyonu çalıştığında mı görev yapıcak acaba . İnternetten biraz baktım tam olarak anlayamadım . Yani vba doevents ın üzerine geldiğinde nasıl bir işlem yapıcak
 
Basitçe anlatmak gerekirse tüm klavye girişlerinin, mouse tıklamalarının, programlardan gönderilen işlerin windows tarafından bir kuyruğa alındığını düşünün. Bu kuyruktaki bir iş bitmeden diğeri başlamıyor. Diyelim ki kuyruğa 30 saniye süren bir iş koydunuz( buna A işi diyelim) sonrada 5. sn' de ESC'e basarak A işini durdurmak istediniz. Bu durumda Windows kuyruktaki A işini bitirmeden ESC tuşunu işlemeyecek. Eğer ki A işinin içinde DoEvents kullanıyor olsanız bu kuyruğun arkasında bekleyen diğer işlerinde çalıştırılması için Windows' a izin verecek ve ESC tuşu 5.1. saniyede işlenip A işinin bitirecek.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
12
Üst