Microsoft Word Runtime Hatası 91: Neden Çıkar ve Nasıl Çözülür?

Microsoft Word‘de Runtime Hatası 91, bir nesne değişkeninin ayarlanmaması durumunda ortaya çıkar ve makroların veya belge işlemlerinin düzgün çalışmasını engeller. Bu hata genellikle Word’ün VBA (Visual Basic for Applications) ortamındaki sorunlardan kaynaklanır. VBA, Microsoft Office uygulamalarına özel komut dosyaları ve otomasyonlar eklemek için kullanılan bir programlama dilidir. Bu tür hatalar, özellikle karmaşık makrolar, özel veri giriş formları veya genişletilmiş belge işlevselliği içeren belgelerde daha sık görülebilir.
Bu hatanın temel nedeni, bir makro, form, eklenti veya belge düzeyindeki olayın, ayarlanmamış, serbest bırakılmış veya artık kod tarafından çağrılmayan bir nesne kullanmaya çalışmasıdır. Word’de bu, bir belgenin temiz bir şekilde açılmasına, düzenleme otomasyonunun bozulmasına veya özel bir komuta bağlı bir işlemin kesilmesine neden olabilir. Basitçe ifade etmek gerekirse, kodun “bu nesneyi kullan” dediği, ancak Word’ün o anda o nesnenin nerede olduğunu veya ne olduğunu bilmediği bir durum söz konusudur. Bu, bir tablonun doldurulması, bir metin parçasının biçimlendirilmesi veya bir veri kaynağına bağlanılması gibi işlemleri etkileyebilir.
Neden Ortaya Çıkar?
Runtime Hatası 91, klasik bir nesne referans hatasıdır ve VBA ortamında ortaya çıkar. Word, VBA’yı makroları, belge olaylarını ve düzenleyiciyi normal yazı tipi ve formatsızlık ötesinde genişleten eklentileri çalıştırmak için kullanır. Bir kod, bir belge, aralık, seçim, kontrol veya diğer bir nesne beklediğinde ve referans boş veya geçersiz ise, Word bu rutini devam ettiremez. Bu, kodun bir değişkeni tanımlamış ancak ona bir değer atamamış olması, bir nesnenin bellekten silinmiş olması ancak kodun hala onu kullanmaya çalışması veya bir nesnenin yanlış türe ayarlanmış olması gibi birçok senaryodan kaynaklanabilir. Özellikle, bir makro bir belgeyi otomatik olarak işlerken, eğer o belge daha önce kapatılmışsa veya adı değiştirilmişse, kodun belge nesnesine erişmeye çalışması bu hataya yol açabilir.
Bu hata, bir şablon değişikliği sonrası, bir eklenti güncellemesi sonrası veya bir otomasyon içeren bir belge açıldığında ortaya çıkabilir. Örneğin, bir şirket içi belge yönetim sistemi için geliştirilmiş bir VBA makrosu, yeni bir Office sürümüne geçildiğinde uyumsuz hale gelebilir ve bu hataya neden olabilir. Ayrıca, Word başlangıç uzantılarını yüklediğinde ve bu uzantılar, ana pencere hazır olmadan önce düzenleyiciye bağlandığında da ortaya çıkabilir. Bu, özellikle başlangıçta otomatik olarak çalışan ve belge nesnelerine erken erişmeye çalışan eklentilerle ilgili sorunlarda görülebilir. Bu tür durumlarda, başlangıç sırasında bir gecikme eklemek veya eklentinin Word’ün tam olarak yüklenmesini beklemesini sağlamak gibi çözümler gerekebilir.
Belirtileri
Word Runtime Hatası 91’in belirtileri arasında şunlar bulunur:
- Word’un cevap vermemesi veya donması. Bu, özellikle otomasyon işlemleri sırasında veya hata tetiklendiğinde anlık olarak meydana gelebilir.
- Nesne değişkeninin ayarlanmadığına ilişkin bir hata mesajı. Bu mesaj genellikle “Runtime Error ’91’: Object variable or With block variable not set” şeklinde görünür ve sorunun tam olarak ne olduğunu gösterir.
- Belgenin açılmasına veya makroların çalıştırılmasına başarısız olması. Bu, kullanıcı için doğrudan bir işlevsellik kaybına yol açar ve yapılan işlemleri durdurur.
- Beklenmedik bir şekilde Office uygulamalarının kapanması. Bazı durumlarda, bu hata uygulamanın tamamen çökmesine neden olabilir.
- Belirli bir makro veya otomatik işlem tetiklendiğinde ortaya çıkan hata mesajları.
Çözüm Adımları
Word Runtime Hatası 91’i çözmek için aşağıdaki adımları takip edebilirsiniz:
- Word’u Güvenli Modda Başlatın ve Sorunlu Eklentileri Devre Dışı Bırakın: Bu, Word’u temel işlevleriyle ve yüklü eklentiler olmadan başlatır. Eğer hata bu modda ortaya çıkmıyorsa, sorun büyük olasılıkla yüklü bir eklentiden kaynaklanmaktadır.
- Adım: Windows arama çubuğuna “Çalıştır” yazın veya Win + R tuşlarına basın.
- Komut: Açılan “Çalıştır” penceresine winword /safe yazın ve Enter tuşuna basın.
- Kontrol: Word, “Güvenli Mod” başlığıyla açılacaktır. Bu modda, hata hala oluşuyor mu diye kontrol edin.
- Eklentileri Devre Dışı Bırakma: Eğer hata güvenli modda oluşmuyorsa, Word’u normal şekilde başlatın. Ardından Dosya > Seçenekler > Eklentiler yolunu izleyin. “Yönet” kutusundan “COM Eklentileri”ni seçin ve “Git” düğmesine tıklayın. Yüklü olan tüm eklentilerin işaretini kaldırın ve Tamam‘a tıklayın. Her bir eklentiyi teker teker etkinleştirerek hatanın hangi eklenti tarafından tetiklendiğini belirleyebilirsiniz.
- Normal Şablonu Bozukluk İçin Kontrol Edin: Normal.dotm dosyası, Word’un varsayılan ayarlarını ve makrolarını içerir. Bu dosya bozulursa, çeşitli hatalara neden olabilir.
- Adım: Word’u kapatın.
- Dosya Yolu: Windows gezginini açın ve aşağıdaki yola gidin (kullanıcınızın adına göre değişiklik gösterebilir): C:Users\AppDataRoamingMicrosoftTemplates
- Yeniden Adlandırma: Bu klasörde bulunan Normal.dotm dosyasını bulun. Dosyayı sağ tıklayarak Yeniden Adlandır seçeneğini seçin ve adını Normal.old olarak değiştirin.
- Kontrol: Word’u tekrar açın. Word, otomatik olarak yeni bir Normal.dotm dosyası oluşturacaktır. Hata çözüldü mü diye kontrol edin. Eğer sorun çözülürse, eski Normal.old dosyasını silebilirsiniz.
- Hatanın Meydana Geldiği Makroyu Kaldırın veya Onarın: Eğer hata belirli bir belgedeki bir makro tarafından tetikleniyorsa, o makroyu incelemek ve düzeltmek gerekebilir.
- Adım: Hatayı veren belgeyi açın.
- VBA Düzenleyici: Alt + F11 tuşlarına basarak VBA Düzenleyici’ni açın.
- Makroları Bulma: Sol taraftaki “Proje” penceresinde, belgenizle ilgili modülleri (genellikle “Modules” altında) bulun.
- İnceleme: Hata mesajının ortaya çıktığı noktayı belirlemeye çalışın. Kodda, Set obj = Nothing gibi nesnelerin doğru şekilde serbest bırakıldığından emin olun. Bir değişkenin tanımlanıp tanımlanmadığını ve bir değer içerip içermediğini kontrol etmek için kodun başına Debug.Print VariableName gibi ifadeler ekleyerek VBA’nın Doğrudan İletim Penceresinde (Ctrl+G) değerleri görebilirsiniz.
- Onarım/Kaldırma: Eğer kodu anlamıyorsanız veya düzeltemiyorsanız, sorunlu makroyu geçici olarak devre dışı bırakabilir veya silebilirsiniz. Makronun üzerine sağ tıklayıp “Modülü Kaldır” seçeneğini kullanabilirsiniz.
- Belgeyi Gömülü Otomasyon Olmadan Açın: Bazı belgeler, Word’un dışından kontrol edilen gömülü otomasyon nesneleri içerebilir. Bu tür nesnelerle ilgili sorunlar bu hataya neden olabilir.
- Yedekleme: Öncelikle, sorunlu belgenin bir yedeğini alın.
- Yeni Ad Altında Kaydetme: Belgeyi açın. Ardından Dosya > Farklı Kaydet seçeneğini kullanarak belgeyi farklı bir isimle kaydedin. Bu işlem, bazı gömülü nesnelerin yeniden oluşturulmasına veya sorunlu bağlantıların koparılmasına yardımcı olabilir.
- İnceleme: Yeni kaydedilen belgede hata devam ediyor mu diye kontrol edin. Eğer sorun devam ediyorsa, belge içindeki ActiveX kontrollerini veya nesneleri incelemeniz gerekebilir.
- Microsoft Office’u Onarın: Eğer yukarıdaki adımlar sorunu çözmezse, Office kurulumunuzda bir sorun olabilir. Office’ın onarılması, eksik veya bozuk dosyaları düzeltebilir.
- Denetim Masası/Ayarlar: Windows 10’da Ayarlar > Uygulamalar > Uygulamalar ve Özellikler yolunu izleyin. Daha eski Windows sürümlerinde Denetim Masası > Programlar ve Özellikler yolunu kullanın.
- Office’ı Bulma: Listeden Microsoft Office (veya Office 365) uygulamanızı bulun.
- Değiştir/Onar: Uygulamaya tıkladıktan sonra Değiştir (veya Onar) düğmesine tıklayın.
- Onarım Türü: Genellikle “Hızlı Onarım” seçeneği yeterli olur. Eğer sorun devam ederse, “Çevrimiçi Onarım” seçeneğini deneyebilirsiniz (bu daha kapsamlıdır ve internet bağlantısı gerektirir).
- Kontrol: Onarım işlemi tamamlandıktan sonra Word’u açın ve hatanın çözülüp çözülmediğini kontrol edin.
Peki Runtime Hatası 91 ile Ne Yapmalısınız?
Runtime Hatası 91’i çözmenin en iyi yolu, yukarıdaki adımları takip etmek ve Word’un VBA ortamını düzgün bir şekilde yapılandırmanızdır. Bu, hatalı eklentileri belirlemek, bozuk şablonları temizlemek ve makro kodundaki potansiyel sorunları gidermek anlamına gelir. Her adımın dikkatli bir şekilde uygulanması ve her adımdan sonra hatanın durumunun kontrol edilmesi, sorunun kaynağını doğru bir şekilde belirlemenizi sağlayacaktır. Ayrıca, düzenli olarak yedekleme yapmak ve Office güncellemelerini takip etmek de bu tür hataların önlenmesine yardımcı olur. Güvenlik yamaları ve güncellemeler, bilinen hataları düzeltebilir ve genel sistem kararlılığını artırabilir. Eğer sorun özel bir makro veya belge ile sınırlıysa, o makro veya belgeyi yeniden oluşturmak veya bir uzmandan yardım almak da bir seçenek olabilir.
