2010-10-13 29 views
5

Uzun süredir çalışan bir makronun var. Çıktısını iletmek için düzenli aralıklarla mesaj yazdığımda, kullanıcının bir şeyler olduğunu bilmesini sağlayın. Sorun, çıktının makro bitene kadar gösterilmemesidir (Devam Bekletme iletişim kutusu açık değilse, garip bir şekilde yeterlidir).Visual Studio makrolarında DoEvents eşdeğeri var mı?

Etkinlik kuyruğunu 'silmek' var mı? Windows Forms'a başvurursanız, Application.DoEvents öğesine normal şekilde erişebilirsiniz.

+0

Bu VB, DoEvent'leri çalışmıyor mu? –

+0

@Preet, bu VBA (sanırım) ve her durumda intellisense'de 'Application' nesnesini göremiyorum, ama belki bazı referansları kaçırıyorum? – Benjol

+0

Sadece DoEvents kullanın, bu VBA'da bir ifadedir. –

cevap

0

ben makro hala sadece Gibi

DTE.SuppressUI = False 
    Threading.Thread.Sleep(5000) 

yüzden 250 milisaniye veya standart bir DoEvents & Sleep(55) döngü kullanmanızı öneririz ile çalışırken ana IDE windows güncellemeleri yanıt ve gerçek zamanlı olarak kapatır var UI güncellendiğinden emin olmak istediğinizde, SuppressUI=False ile birlikte hile yapmalısınız.

+0

Bunun dışında iyi bir fikir ... farketmez gibi görünüyor :) – Benjol

İlgili konular