“Microsoft Excel başka bir uygulamanın bir OLE işlemini tamamlamasını bekliyor” VBA kodunu kesintiye uğratıyor


1

Her gün kullandığım bazı VBA kodlarını çalıştıran bir Excel çalışma kitabım var. Yürütme sırasında, "Microsoft Excel başka bir uygulamanın bir OLE işlemi gerçekleştirmesini bekliyor" diyen bir iletişim kutusunda durmaya devam ediyor. "Tamam" ı tıklamak kodun devam etmesini sağlar, ancak çoğu zaman iletişim birkaç saniye sonra tekrar belirir ve bunu 15 dakika ila 2 saat arasında (her zaman pes ettim) tekrarlamaya devam eder. İletişim kutusu göründüğünde, kod WMI kullanarak ve bir sorgu çalıştıran uzak bir bilgisayara bağlanıyor:

If xlSheet.Cells(intRow, xlSheet.Range("Ping").Column).Value = "Yes" Then On Error Resume Next Set objWMI = GetObject("winmgmts:\\" & xlSheet.Cells(intRow, xlSheet.Range("Name").Column).Value & "\root\cimv2") If Err.Number = 0 Then Set colWin32OperatingSystem = objWMI.ExecQuery("SELECT Version, ServicePackMajorVersion, ServicePackMinorVersion FROM Win32_OperatingSystem")

Her seferinde takılan aynı bilgisayar (satır) gibi görünüyor, bu yüzden şu anki teorim, söz konusu bilgisayardaki WMI'ye bağlanmakta güçlük çekiyor ve yalnızca zaman aşımına uğramak ve devam etmek yerine, takılıyor. Herhangi bir sınama başarısız olursa, geçerli bilgisayarı atlayacak şekilde ayarlamalar yapılır. DNS adını çözümlemeye çalışır, sonra pinglemeye çalışır, sonra WMI ile bağlanmaya çalışır ve sorguyu çalıştırır.

Başarı olmadan bir cevap aradım. OLE'ye tam olarak aşina değilim, (Excel için) elektronik tablo dışı içeriği elektronik tabloya koymanın bir yolu olduğunu bilmek dışında. Ancak bunun, WMI sorgularını VBA üzerinden çalıştırmakla bir ilgisi olduğunu düşünmedim? Biri beni doğru yönde itebilir mi?


Belki de kodunuzun tamamını sağlamak hata ayıklamaya yardımcı olabilir.
Raystafarian
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.