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.

Bu makalenin Microsoft Visual C# .NET sürümü için bkz. 316384.
 

Bu makalenin Microsoft Visual Basic 6.0 sürümü için bkz. 313193.
 

Özet

Bu adım adım makalede, Visual Basic .NET'ten Otomasyon kullanılarak Word'de yeni bir belgenin nasıl oluşturulacağı açıklanır.

Örnek kod

Bu makaledeki örnek kod aşağıdakilerin nasıl yapılacağını gösterir:

  • Metin ve biçimlendirme içeren paragraflar ekleyin.

  • Belge içindeki çeşitli aralıklara göz atın ve bunları değiştirin.

  • Tablolar ekleyin, tabloları biçimlendirin ve tabloları verilerle doldurun.

  • Grafik ekleyin.

Visual Basic .NET'ten Otomasyon kullanarak yeni bir Word belgesi oluşturmak için şu adımları izleyin:

  1. Microsoft Visual Studio .NET'i başlatın. Dosya menüsünde, Yeni'ye ve Proje'ye tıklayın. Proje türleri'nin altında Visual Basic Projeleri'ne ve ardından Şablonlar'ın altında Windows Uygulaması'nı tıklatın. Form1 varsayılan olarak oluşturulur.

  2. Microsoft Word Nesne Kitaplığı'na başvuru ekleyin. Bunu yapmak için şu adımları izleyin:

    1. Proje menüsünde Başvuru Ekle'ye tıklayın.

    2. COM sekmesinde Microsoft Word Nesne Kitaplığı'nı bulun ve Seç'e tıklayın.

      Not Office'in Microsoft Office 2003 ve sonraki sürümleri Birincil Birlikte Çalışma Derlemeleri (PIA) içerir. Microsoft Office XP PIA içermez, ancak indirilebilir.
       

    3. Seçimlerinizi kabul etmek için Başvuru Ekle iletişim kutusunda Tamam'a tıklayın. Seçtiğiniz kitaplıklar için sarmalayıcı oluşturma istemi alırsanız Evet'e tıklayın.

  3. Görünüm menüsünde Araç Kutusu'nu seçerek Araç Kutusu'nu görüntüleyin ve form1'e bir düğme ekleyin.

  4. Düğme1'e çift tıklayın. Formun kod penceresi görüntülenir.

  5. Kod penceresinde aşağıdaki kodu değiştirin

        Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click
    
        End Sub

    Ile:

        Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click
    
            Dim oWord As Word.Application
            Dim oDoc As Word.Document
            Dim oTable As Word.Table
            Dim oPara1 As Word.Paragraph, oPara2 As Word.Paragraph
            Dim oPara3 As Word.Paragraph, oPara4 As Word.Paragraph
            Dim oRng As Word.Range
            Dim oShape As Word.InlineShape
            Dim oChart As Object
            Dim Pos As Double
    
            'Start Word and open the document template.
            oWord = CreateObject("Word.Application")
            oWord.Visible = True
            oDoc = oWord.Documents.Add
    
            'Insert a paragraph at the beginning of the document.
            oPara1 = oDoc.Content.Paragraphs.Add
            oPara1.Range.Text = "Heading 1"
            oPara1.Range.Font.Bold = True
            oPara1.Format.SpaceAfter = 24    '24 pt spacing after paragraph.
            oPara1.Range.InsertParagraphAfter()
    
            'Insert a paragraph at the end of the document.
            '** \endofdoc is a predefined bookmark.
            oPara2 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item("\endofdoc").Range)
            oPara2.Range.Text = "Heading 2"
            oPara2.Format.SpaceAfter = 6
            oPara2.Range.InsertParagraphAfter()
    
            'Insert another paragraph.
            oPara3 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item("\endofdoc").Range)
            oPara3.Range.Text = "This is a sentence of normal text. Now here is a table:"
            oPara3.Range.Font.Bold = False
            oPara3.Format.SpaceAfter = 24
            oPara3.Range.InsertParagraphAfter()
    
            'Insert a 3 x 5 table, fill it with data, and make the first row
            'bold and italic.
            Dim r As Integer, c As Integer
            oTable = oDoc.Tables.Add(oDoc.Bookmarks.Item("\endofdoc").Range, 3, 5)
            oTable.Range.ParagraphFormat.SpaceAfter = 6
            For r = 1 To 3
                For c = 1 To 5
                    oTable.Cell(r, c).Range.Text = "r" & r & "c" & c
                Next
            Next
            oTable.Rows.Item(1).Range.Font.Bold = True
            oTable.Rows.Item(1).Range.Font.Italic = True
    
            'Add some text after the table.
            'oTable.Range.InsertParagraphAfter()
            oPara4 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item("\endofdoc").Range)
            oPara4.Range.InsertParagraphBefore()
            oPara4.Range.Text = "And here's another table:"
            oPara4.Format.SpaceAfter = 24
            oPara4.Range.InsertParagraphAfter()
    
            'Insert a 5 x 2 table, fill it with data, and change the column widths.
            oTable = oDoc.Tables.Add(oDoc.Bookmarks.Item("\endofdoc").Range, 5, 2)
            oTable.Range.ParagraphFormat.SpaceAfter = 6
            For r = 1 To 5
                For c = 1 To 2
                    oTable.Cell(r, c).Range.Text = "r" & r & "c" & c
                Next
            Next
            oTable.Columns.Item(1).Width = oWord.InchesToPoints(2)   'Change width of columns 1 & 2
            oTable.Columns.Item(2).Width = oWord.InchesToPoints(3)
    
            'Keep inserting text. When you get to 7 inches from top of the
            'document, insert a hard page break.
            Pos = oWord.InchesToPoints(7)
            oDoc.Bookmarks.Item("\endofdoc").Range.InsertParagraphAfter()
            Do
                oRng = oDoc.Bookmarks.Item("\endofdoc").Range
                oRng.ParagraphFormat.SpaceAfter = 6
                oRng.InsertAfter("A line of text")
                oRng.InsertParagraphAfter()
            Loop While Pos >= oRng.Information(Word.WdInformation.wdVerticalPositionRelativeToPage)
            oRng.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
            oRng.InsertBreak(Word.WdBreakType.wdPageBreak)
            oRng.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
            oRng.InsertAfter("We're now on page 2. Here's my chart:")
            oRng.InsertParagraphAfter()
    
            'Insert a chart and change the chart.
            oShape = oDoc.Bookmarks.Item("\endofdoc").Range.InlineShapes.AddOLEObject( _
                ClassType:="MSGraph.Chart.8", FileName _
                :="", LinkToFile:=False, DisplayAsIcon:=False)
            oChart = oShape.OLEFormat.Object
            oChart.charttype = 4 'xlLine = 4
            oChart.Application.Update()
            oChart.Application.Quit()
            'If desired, you can proceed from here using the Microsoft Graph 
            'Object model on the oChart object to make additional changes to the
            'chart.
            oShape.Width = oWord.InchesToPoints(6.25)
            oShape.Height = oWord.InchesToPoints(3.57)
    
            'Add text after the chart.
            oRng = oDoc.Bookmarks.Item("\endofdoc").Range
            oRng.InsertParagraphAfter()
            oRng.InsertAfter("THE END.")
    
            'All done. Close this form.
            Me.Close()
    
        End Sub
  6. Aşağıdaki kodu Form1.vb dosyasının en üstüne ekleyin:

    Imports Word = Microsoft.Office.Interop.Word
  7. Programı derlemek ve çalıştırmak için F5 tuşuna basın.

Kod tamamlandıktan sonra sizin için oluşturulan belgeyi inceleyin. Belge iki sayfa biçimlendirilmiş paragraf, tablo ve grafik içerir.

Şablon kullanma

Tümü ortak biçimde olan belgeler oluşturmak için Otomasyon kullanıyorsanız, işlemi önceden biçimlendirilmiş bir şablonu temel alan yeni bir belgeyle başlatmanın avantajından yararlanabilirsiniz. Word Otomasyonu istemcinizle şablon kullanmanın, hiçbir şey kullanmadan belge oluşturmanın iki önemli avantajı vardır:

  • Belgelerinizde nesnelerin biçimlendirmesi ve yerleşimi üzerinde daha fazla denetime sahip olabilirsiniz.

  • Belgelerinizi daha az kodla oluşturabilirsiniz.

Şablon kullanarak, belgedeki tabloların, paragrafların ve diğer nesnelerin yerleşiminde ince ayarlamalar yapabilir ve bu nesnelere biçimlendirme ekleyebilirsiniz. Otomasyon'u kullanarak aşağıdaki gibi kodlarla şablonunuzu temel alan yeni bir belge oluşturabilirsiniz:

oWord.Documents.Add "<Path to your template>\MyTemplate.dot"

Şablonunuzda, Otomasyon istemcinizin belgedeki belirli bir konumdaki değişken metni aşağıdaki gibi doldurabilmesi için yer işaretleri tanımlayabilirsiniz:

oDoc.Bookmarks.Item("MyBookmark").Range.Text = "Some Text Here"

Şablon kullanmanın bir diğer avantajı, çalışma zamanında uygulamak istediğiniz biçimlendirme stillerini aşağıdaki gibi oluşturup depolamanızdır:

oDoc.Bookmarks.Item("MyBookmark").Range.Style = "MyStyle"

-veya-

oWord.Selection.Style = "MyStyle"

Başvurular

Microsoft Word'ü otomatikleştirmek için Visual Basic .NET kullanma hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

301656 Visual Basic .NET'ten adres mektup birleştirme gerçekleştirmek için Word'i otomatikleştirme

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!

×