Microsoft hesabıyla oturum açın
Oturum açın veya hesap oluşturun.
Merhaba,
Farklı bir hesap seçin.
Birden çok hesabınız var
Oturum açmak istediğiniz hesabı seçin.

Belirtiler

Microsoft Excel'i denetlemek için Otomasyon kullanan kodu çalıştırırken aşağıdaki hatalardan biri oluşabilir:

Microsoft Excel 97'de ve Excel'in sonraki sürümlerinde aşağıdaki hata iletilerinden birini alırsınız:

Hata iletisi 1

Çalışma zamanı hatası '1004':
'_Global' nesnesinin 'yöntem>' <adı yöntemi başarısız oldu

Hata iletisi 2

Uygulama tanımlı veya nesne tanımlı hata

Microsoft Excel 95'te aşağıdaki hata iletilerinden birini alırsınız:

Hata iletisi 1

Çalışma zamanı hatası '-2147023174'
OLE Otomasyonu hatası

Hata iletisi 2

Çalışma zamanı hatası '462':
Uzak sunucu makinesi yok veya kullanılamıyor.

Neden

Visual Basic, öğeyi bir Excel nesne değişkeniyle nitelemeden bir Excel nesnesini, yöntemini veya özelliğini çağıran bir kod satırı nedeniyle Excel'e başvuru oluşturdu. Visual Basic, siz programı sonlandırana kadar bu başvuruyu yayınlamaz. Bu hatalı başvuru, kod birden fazla kez çalıştırıldığında otomasyon kodunu engeller.

Çözüm

Bu sorunu çözmek için, bir Excel nesnesine, yöntemine veya özelliğine yapılan her çağrının uygun nesne değişkeniyle nitelenmesi için kodu değiştirin.

Durum

Bu davranış tasarımdan kaynaklanır.

Daha Fazla Bilgi

Microsoft Excel'i otomatikleştirmek için, genellikle Excel Uygulama nesnesine veya Excel Çalışma Kitabı nesnesine başvuran bir nesne değişkeni oluşturursunuz. Daha sonra diğer nesne değişkenleri Çalışma Sayfasına, Aralığa veya Microsoft Excel nesne modelindeki diğer nesnelere başvuracak şekilde ayarlanabilir. Bir Excel nesnesi, yöntemi veya özelliği kullanmak için kod yazdığınızda, çağrıdan önce her zaman uygun nesne değişkenine sahip olmanız gerekir. Bunu yapmazsanız, Visual Basic kendi Excel başvurusunu oluşturur. Bu başvuru, otomasyon kodunu birden çok kez çalıştırmayı denediğinizde sorunlara neden olabilir. Kod satırı nesne değişkeniyle başlasa bile, önce bir nesne değişkeni olmayan kod satırının ortasındaki bir Excel nesnesine, yöntemine veya özelliğine çağrı yapılabilmesini unutmayın.

Aşağıdaki adımlar, bu sorunun nasıl yeniden üretilip düzeltilemediğini göstermektedir.

Davranışı yeniden oluşturma adımları

  1. Visual Basic'te yeni bir Standart EXE projesi başlatın. Form1 varsayılan olarak oluşturulur.

  2. Proje menüsünde Başvurular'a tıklayın ve otomatikleştirmek istediğiniz Excel sürümü için Nesne Kitaplığı'nı denetleyin.

  3. Form1'e CommandButton denetimi yerleştirin.

  4. Aşağıdaki kod örneğini Form1'in Kod Penceresi'ne kopyalayın.

          Option Explicit
    
          Private Sub Command1_Click()
             Dim xlApp As Excel.Application
             Dim xlBook As Excel.Workbook
             Dim xlSheet As Excel.Worksheet
             Set xlApp = CreateObject("Excel.Application")
             Set xlBook = xlApp.Workbooks.Add
             Set xlSheet = xlBook.Worksheets("Sheet1")
             xlSheet.Range(Cells(1, 1), Cells(10, 2)).Value = "Hello"
             xlBook.Saved = True
             Set xlSheet = Nothing
             Set xlBook = Nothing
             xlApp.Quit
             Set xlApp = Nothing
          End Sub
    
  5. Çalıştır menüsünde Başlat'a tıklayın veya programı başlatmak için F5 tuşuna basın.

  6. CommandButton denetimine tıklayın. Hata oluşmaz. Ancak, Excel başvurusu oluşturulmuştur ve yayımlanmamıştır.

  7. CommandButton denetimine yeniden tıklayın. "Belirtiler" bölümünde açıklanan hata iletilerinden birini aldığınıza dikkat edin.

    Not Hata iletisi, kod çağrısından önce çağrısı olmadan hücrenin yöntemine başvurduğundan
    oluşur xlSheet nesne değişkeni.

  8. Projeyi durdurun ve aşağıdaki kod satırını değiştirin:

    xlSheet.Range(Cells(1,1),Cells(10,2)).Value = "Hello"
    

    Kod satırını aşağıdaki kod satırına benzeyecek şekilde değiştirin.

    xlSheet.Range(xlSheet.Cells(1,1),xlSheet.Cells(10,2)).Value = "Hello"
    
  9. Programı yeniden çalıştırın. Hata iletisi almadan kodu birden çok kez çalıştırabileceğinize dikkat edin.

Başvurular

189618 Word denetlemek için Otomasyon'u kullanan Visual Basic kodunu çalıştırdığınızda "Çalışma zamanı hatası '-2147023174' (800706ba)" hata iletisini veya "Çalışma zamanı hatası '462' " alabilirsiniz Word
 

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.

Bu bilgi yararlı oldu mu?

Dil kalitesinden ne kadar memnunsunuz?
Deneyiminizi ne etkiledi?
Gönder’e bastığınızda, geri bildiriminiz Microsoft ürün ve hizmetlerini geliştirmek için kullanılır. BT yöneticiniz bu verileri toplayabilecek. Gizlilik Bildirimi.

Geri bildiriminiz için teşekkürler!

×