CreateObject Işlevi

Not: En güncel yardım içeriklerini, mümkün olduğunca hızlı biçimde kendi dilinizde size sunmak için çalışıyoruz. Bu sayfanın çevirisi otomasyon aracılığıyla yapılmıştır ve bu nedenle hatalı veya yanlış dil bilgisi kullanımları içerebilir. Amacımız, bu içeriğin sizin için faydalı olabilmesini sağlamaktır. Buradaki bilgilerin faydalı olup olmadığını bu sayfanın sonunda bize bildirebilir misiniz? Kolayca başvurabilmek için İngilizce makaleye buradan ulaşabilirsiniz.

Not: Microsoft Jet Expression hizmeti Sandbox modunda çalışıyorsa, güvenli olmayabilecek ifadelerin değerlendirilmesini önleyen işlev, yöntem, nesne veya özellik devre dışı bırakılır. Sandbox modu hakkında daha fazla bilgi için yardım 'da "Sandbox modu" ifadesini arayın.

ActiveX nesnesine başvuru oluşturur ve verir.

Söz Dizimi

CreateObject ( sınıf [, ServerName] )

CreateObject işlevinin söz diziminde aşağıdaki bağımsız değişkenler bulunur:

Bağımsız değişken

Açıklama

sınıf

Gerekli. Değişken (Dize). Oluşturulacak nesnenin uygulama adı ve sınıfı.

Uzaktaki

İsteğe bağlıdır. Değişken (Dize). Nesnenin oluşturulacağı ağ sunucusunun adı. ServerName , boş bir dizedir (""), yerel bilgisayar kullanılır.


bağımsız değişkensınıfıbu sözdizimini kullanır .NesneTürü :

Bölüm

Açıklama

AppName

Gerekli. Değişken (Dize). Nesneyi sağlayan uygulamanın adı.

ObjectType

Gerekli. Değişken (Dize). Oluşturulacak nesnenin türü veya sınıf.


Notlar

Otomasyonu destekleyen her uygulama, en az bir nesne türü sağlar. Örneğin, sözcük işleme uygulaması uygulama nesnesi, belge nesnesi ve araç çubuğu nesnesi sağlayabilir.

ActiveX nesnesi oluşturmak için, CreateObject tarafından döndürülen nesneyi bir nesne değişkeni:

Not: Aşağıdaki örneklerde, bu işlevin Visual Basic for Applications (VBA) modülünde kullanımı gösterilir. VBA ile çalışma hakkında daha fazla bilgi için, rama'nın yanındaki açılan listede Geliştirici Başvurusu'nu seçin ve arama kutusuna bir veya birden çok terim yazın.

' Declare an object variable to hold the object 
' reference. Dim as Object causes late binding.
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")

Bu örnekte, bir Excel elektronik tablo nesnesini Access veritabanından otomatikleştiririz. Bu kod, nesneyi oluşturan uygulamayı başlatır, bu örnekte bir Microsoft Excel elektronik tablosu. Nesne oluşturulduktan sonra, tanımladığınız nesne değişkenini kullanarak bu nesneye kod içinde başvurursunuz. Aşağıdaki örnekte, yeni nesnenin Özellikler ve yöntemlerine, Application nesnesi ve Application nesnesi ve Cells koleksiyonu gibi diğer Excel nesnelerini kullanarak erişebilirsiniz.

' Make Excel visible through the Application object.
ExcelSheet.Application.Visible = True
' Place some text in the first cell of the sheet.
ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"
' Save the sheet to C:\test.xls directory.
ExcelSheet.SaveAs "C:\TEST.XLS"
' Close Excel with the Quit method on the Application object.
ExcelSheet.Application.Quit
' Release the object variable.
Set ExcelSheet = Nothing

As Object yan tümcesiyle bir nesne değişkeni bildirmek, herhangi bir nesne türünün başvurusunu içerebilecek bir değişken oluşturur. Ancak, bu değişken aracılığıyla nesneye erişim geç bağlanır; Yani, program çalıştırıldığında bağlama gerçekleşir. İlk bağlama (yani, program derlendiğinde bağlama) ile sonuçlanan bir nesne değişkeni oluşturmak için, nesne değişkenini belirli bir sınıf KIMLIĞIYLE bildirin. Örneğin, aşağıdaki Excel başvurularını bildirip oluşturabilirsiniz:

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(1)

Erken bağlanmış bir değişkenin başvurusu daha iyi bir performans sağlayabilir, ancak yalnızca bildirim.

CreateObject işlevi tarafından döndürülen bir nesneyi, bir nesneyi bağımsız değişken olarak bekleyen bir işleve geçirebilirsiniz. Örneğin, aşağıdaki kod, bir Excel. Application nesnesine başvuru oluşturur ve bu başvuruyu geçirir:

Call MySub (CreateObject("Excel.Application"))

Uzak ağ bağlantılı bir bilgisayarda, bilgisayarın adını CreateObject'un ServerName bağımsız değişkenine geçirerek bir nesne oluşturabilirsiniz. Bu ad, bir paylaşım adının makine adı bölümüyle aynıdır: "\\MyServer\Public" adlı bir paylaşım için, "sunucum."

Not:  Bir uygulamayı uzak ağ bağlantılı bilgisayarda görünür yapma hakkında ek bilgi için COM belgelerine bakın ( Microsoft Developer Network'e bakın). Uygulamanız için bir kayıt defteri anahtarı eklemeniz gerekebilir.

Aşağıdaki kod,% z0z_adındaki uzaktaki bilgisayarda çalışan bir Excel örneğinin sürüm numarasını döndürür:

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version

Uzak sunucu yoksa veya kullanılamıyorsa, çalışma zamanı hatası oluşur.

Not:  Nesnenin geçerli örneği yoksa CreateObject kullanın. Nesnenin örneği zaten çalışıyorsa, yeni bir örnek başlatılır ve belirtilen türde bir nesne oluşturulur. Geçerli örneği kullanmak veya uygulamayı başlatmak ve dosya yüklemek için GetObject işlevini kullanın.

Bir nesne kendisini tek örnekli bir nesne olarak kaydettirdiyse, nesne sayısı ne olursa olsun, nesnenin yalnızca bir örneği oluşturulur.

Örnek

Bu örnekte, başvuru ayarlamak için CreateObject işlevi kullanılmaktadır (

xlApp

) Excel 'e. Excel 'in görünür özelliğine erişmek için başvuruyu kullanır ve sonra bunu kapatmak Için Excel 'den çık yöntemini kullanır. Son olarak, başvurunun kendisi yayımlanmıştır.

Dim xlApp As Object    ' Declare variable to hold the reference.
Set xlApp = CreateObject("excel.application")
' You may have to set Visible property to True
' if you want to see the application.
xlApp.Visible = True
' Use xlApp to access Microsoft Excel's
' other objects.
xlApp.Quit ' When you finish, use the Quit method to close
Set xlApp = Nothing ' the application, then release the reference.
Office yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Office Insider Programına Katılın

Bu bilgi yararlı oldu mu?

Görüşleriniz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×