Bu adım adım makalede, Office aranacak açıklamaktadır makroları Visual Basic .NET Otomasyon istemciden.
Microsoft Office Otomasyonu, bir belge açtığınızda veya bir Visual Basic for Applications (VBA) makrosu içeren yeni bir belge oluşturmak ve zamanında makroyu çalıştırmak için kullanabilirsiniz.
Aşağıdaki örnek Automation istemcisi, bir formdaki seçiminize dayalı bir Office Otomasyonu Sunucusu (Access, Excel, PowerPoint veya Word) yönetir. Otomasyon sunucusu istemci başladıktan sonra bir belge açılır ve iki makrolar'ı çağırır. Ilk makro DoKbTest, parametre vardır ve ikinci bir makro, DoKbTestWithParameter, dize türünde tek bir parametre alır.
Makro içeren office belgeleri oluşturma
C:\Doc1.doc adlı bir Word belgesi oluşturursunuz. Bunu yapmak için şu adımları izleyin:
Word'de, yeni bir belge oluşturun.
Visual Basic Editor'ı açmak için ALT+F11 tuş bileşimine basın.
Ekle menüsünden modülü ' nü tıklatın.
Yeni modüle aşağıdaki makro kodu yapıştırın:
'Display a message box that displays the application name.
Public Sub DoKbTest()
MsgBox "Hello from " & Application.Name
End Sub
'Display a message box with the string passed from the
'Automation client.
Public Sub DoKbTestWithParameter( sMsg As String )
MsgBox sMsg
End Sub
Visual Basic Düzenleyicisi'ni kapatın, Word belgeyi kaydedin ve Word'den çıkın.
Word belgesi oluşturmak için kullanılan benzer adımları kullanarak C:\Book1.xls adlı bir Excel çalışma kitabı oluşturun.
Sözcük oluşturmak için kullanılan benzer adımları kullanarak C:\Pres1.ppt adlı bir PowerPoint sunusu oluşturmak belge.
C:\Db1.mdb adlı yeni bir Access veritabanı oluşturun. Bunu yapmak için şu adımları izleyin:
Ekle menüsünden modülü ' nü tıklatın.
Makro kodu Yeni modüle yapıştırın.
Modülü kaydetmek ve Access'ten çıkmak.
Visual Basic .NET Otomasyon istemciye oluşturun
Microsoft Visual Studio .NET'i başlatın. Dosya menüsünden Yeni ' yi tıklatın ve sonra Project ' i tıklatın. Visual Basic Projects türlerinden Windows Application ' ı seçin. Varsayılan olarak, Form1 oluşturulur.
Access, Excel, PowerPoint ve Word nesne kitaplıklarına başvuru ekleyin. Bunu yapmak için şu adımları izleyin:
Proje) menüsünde Add Reference ' ı tıklatın.
COM sekmesinde, Microsoft Word 10.0 Nesne Kitaplığı ya da Microsoft Word 11.0 Nesne Kitaplığı'nı bulun ve sonra da <a2>Seç</a2>'i tıklatın.
Not Microsoft, Microsoft Office XP kullanıyorsanız ve önceden yapmadıysanız, karşıdan yükleyin ve sonra Microsoft Office XP Primary ınterop Assemblies (Pıa) yükleyin önerir. Office XP Pıa hakkında'daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
328912
(http://support.microsoft.com/kb/328912/
)
Microsoft Office XP ana birlikte çalışma derlemeleri (PIA) karşıdan yüklenebilir
Önceki adımı, Access, Excel ve PowerPoint nesne kitaplıkları için yineleyin.
Seçimlerinizi kabul etmek için Tamam <a0>Başvuru Ekle</a0> iletişim kutusunda tıklatın. Seçtiğiniz kitaplıklar için sar?c?lar? oluşturmak isteyen bir ileti alırsanız, Evet ' i tıklatın.
Not Erişim başvuru yaptığınızda hata iletisi alırsanız 10.0 kitaplık nesnesini, "Sorun giderme" bölümüne bakın.
Görünüm menüsünde ToolBox ' ı tıklatın. Form1'e, birleşik giriş kutusu ve bir düğme ekleyin.
Bir tanımı için düğmenin tıklatma oluşturmak için Button1 çift olay işleyicisi.
' De <a2>Button1_Click</a2> yordamına aşağıdaki kodu yapıştırın:
Select Case ComboBox1.SelectedItem
Case "Access"
Dim oAccess As Access.ApplicationClass
'Start Access and open the database.
oAccess = CreateObject("Access.Application")
oAccess.Visible = True
oAccess.OpenCurrentDatabase("c:\db1.mdb", False)
'Run the macros.
oAccess.Run ("DoKbTest")
oAccess.Run("DoKbTestWithParameter", "Hello from VB .NET Client")
'Clean-up: Quit Access without saving changes to the database.
oAccess.DoCmd().Quit (Access.AcQuitOption.acQuitSaveNone)
System.Runtime.InteropServices.Marshal.ReleaseComObject (oAccess)
oAccess = Nothing
Case "Excel"
Dim oExcel As Excel.ApplicationClass
Dim oBook As Excel.WorkbookClass
Dim oBooks As Excel.Workbooks
'Start Excel and open the workbook.
oExcel = CreateObject("Excel.Application")
oExcel.Visible = True
oBooks = oExcel.Workbooks
oBook = oBooks.Open("c:\book1.xls")
'Run the macros.
oExcel.Run ("DoKbTest")
oExcel.Run("DoKbTestWithParameter", "Hello from VB .NET Client")
'Clean-up: Close the workbook and quit Excel.
oBook.Close (False)
System.Runtime.InteropServices.Marshal.ReleaseComObject (oBook)
oBook = Nothing
System.Runtime.InteropServices.Marshal.ReleaseComObject (oBooks)
oBooks = Nothing
oExcel.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject (oExcel)
oExcel = Nothing
Case "PowerPoint"
Dim oPP As PowerPoint.ApplicationClass
Dim oPresSet As PowerPoint.Presentations
Dim oPres As PowerPoint.PresentationClass
'Start PowerPoint and open the presentation.
oPP = CreateObject("PowerPoint.Application")
oPP.Visible = True
oPresSet = oPP.Presentations
oPres = oPresSet.Open("c:\pres1.ppt", , , True)
'Run the macros.
oPP.Run ("'pres1.ppt'!DoKbTest")
oPP.Run("'pres1.ppt'!DoKbTestWithParameter", "Hello from VB .NET Client")
'Clean-up: Close the presentation and quit PowerPoint.
oPres.Close()
System.Runtime.InteropServices.Marshal.ReleaseComObject (oPres)
oPres = Nothing
System.Runtime.InteropServices.Marshal.ReleaseComObject (oPresSet)
oPresSet = Nothing
oPP.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject (oPP)
oPP = Nothing
Case "Word"
Dim oWord As Word.ApplicationClass
'Start Word and open the document.
oWord = CreateObject("Word.Application")
oWord.Visible = True
oWord.Documents.Open ("C:\Doc1.doc")
'Run the macros.
oWord.Run ("DoKbTest")
oWord.Run("DoKbTestWithParameter", "Hello from VB .NET Client")
'Quit Word.
oWord.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject (oWord)
oWord = Nothing
End Select
GC.Collect()
Görünüm menüsünde Tasarımcısı ' nı tıklatın ve formun Load olayı için bir tanım oluşturulacak Form1 ' ı çift tıklatın.
Form1_Load yordamda aşağıdaki kodu yapıştırın:
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
Dim a As String() = {"Access", "Excel", "PowerPoint", "Word"}
ComboBox1.Items.AddRange(a)
ComboBox1.SelectedIndex = 0
Bir Office uygulaması ComboBox1 seçin ve Button1</a1>'ı tıklatın. Seçtiğiniz bir Office uygulaması başlatıldı ve DoKBTest ve DoKBTestWithParameter makro yürütülür.
Bir Visual Basic .NET projesini Access 10.0 nesne kitaplığında başvuruda bulunacağınız zaman, kitaplık, bir .NET derlemesi dönüştürme başarısız olduğunu bildiren bir hata iletisi alabilirsiniz. Access 10.0 Nesne kitaplığı başarıyla başvurmak için bu sorunun nasıl giderileceği hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
317157
(http://support.microsoft.com/kb/317157/
)
SORUN: Visual Studio. NET'le Access 10.0 tür kitaplığı başvuruda bulunacağınız zaman hataları
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:306682
(http://support.microsoft.com/kb/306682/en-us/
)
Bu makaleyi kullanmak için ne kadar kişisel çaba harcadınız?
Çok az
Az
Orta
Fazla
Çok fazla
Bu bilgiyi geliştirmemiz için nedenleri ve bu konuda neler yapabileceğimizi paylaşın
Teşekkürler! Görüşleriniz, destek içeriğimizi geliştirmemize yardımcı olmak için kullanılmaktadır. Diğer yardım seçenekleri için, lütfen Yardım ve Destek Giriş Sayfasını ziyaret edin.