Belirtiler
Microsoft Excel hücre düzenleme modunda otomasyon eklentisi yüklediğinde, Excel başarısız olur. Bu sorun yalnızca Excel'e Yüklenen İsteğe Bağlı Otomasyon eklentileriyle oluşur.
Neden
Eklenti bir form veya iletişim kutusu görüntülerse veya eklenti Excel'in durumunu değiştirmeye çalışan bir Otomasyon isteğinde bulunursa, eklenti yüklendiğinde bu sorun oluşabilir. Aşağıdaki listede, hücre düzenleme modu sırasında Otomasyon eklentisi yüklenirken Excel çağrıldığında Excel'in başarısız olmasına neden olabilecek Otomasyon istekleri örnekleri yer alır:
-
Program aracılığıyla geçerli seçimi değiştirin. Örneğin:
Application.ActiveSheet.Range("A1").Select -
Windows koleksiyonundaki bir öğenin özelliğini veya yöntemini çağırın. Örneğin:
Application.ActiveWindow.Zoom = 200
-
Hesaplama modu gibi bir Excel ayarını değiştirin. Örneğin:
Application.CalculationMode = xlManual
Bu öğelerin tümü Excel ortamını, çalışma kitabını veya çalışma sayfasını değiştirmeye yönelik kod girişimlerine örnektir; düzenleme modundayken bu tür eylemlere izin verilmez.
Çözüm
Eklentiniz yüklenirken yukarıda belirtilen eylemleri denemeyin. Yükleme sırasında çağrılan eklenti yöntemleri Initialize yöntemini içerir ve Otomasyon eklentiniz IDTExtensibility2 arabirimini, OnConnection ve OnStartupComplete yöntemlerini de uygularsa.
Durum
Microsoft, bu makalenin başında listelenen Microsoft ürünlerinde bunun bir hata olduğunu onayladı.
Ek Bilgi
Sorunu Yeniden Oluşturma Adımları
-
Visual Basic'te yeni bir ActiveX DLL projesi başlatın.
-
Proje menüsünde Project1 Özellikleri'ne tıklayın. Proje Adı'nı TestAddIn olarak değiştirin ve tamam'a tıklayın.
-
Sınıf1 için kod modülüne aşağıdaki kodu ekleyin:
Private Sub Class_Initialize() MsgBox "Class_Initialize"End Sub
-
derleme TestAddIn.dll.
-
Excel'de yeni bir çalışma kitabı başlatın.
-
Microsoft Office Excel 2003 veya Microsoft Excel 2002'de şu adımları izleyin:
-
Araçlar menüsünde Eklentiler'in üzerine gelin ve Otomasyon'a tıklayın.
-
Listede TestAddIn.Class1'e ve ardından Tamam'a tıklayın.
-
Eklentiler iletişim kutusunda Tamam'a tıklayın.
Microsoft Office Excel 2007'de şu adımları izleyin:
-
Microsoft Office Düğmesi'ne ve ardındanExcel Seçenekleri'ne tıklayın.
-
Eklentiler sekmesine tıklayın.
-
Yönet listesinde Excel Eklentileri'ne ve ardından Git'e tıklayın.
-
Eklentiler iletişim kutusunda Otomasyon'a tıklayın.
-
Listede TestAddin.Class1'e ve ardından Tamam'a tıklayın.
-
Tamam'a tıklayın.
-
-
Herhangi bir hücreye =a yazın. "Class_Initialize" metnini içeren bir ileti kutusu görüntülenir.
-
İleti kutusunu kapatmak için Tamam'a tıklayın. Birkaç saniye sonra Excel başarısız olur.
Başvurular
Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
291392 BİlGİ: Excel COM Eklentileri ve Otomasyon Eklentileri