Yeni bir belge oluşturmak için Visual Basic kullanarak Microsoft Word'e otomatikleştirme hakkında

Makale çevirileri Makale çevirileri
Makale numarası: 313193 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Özet

Bu adım adım makalede, gelen bir Visual Basic Automation'ı kullanarak, Word içinde yeni bir belge oluşturmak açıklamaktadır.

Örnek kod

Bu makaledeki örnek kod, aşağıdakileri gösterilmiştir:
  • Metin ve biçimlendirme paragraf ekler.
  • Göz ve bir belge içinde çeşitli aralıkları değiştirebilirsiniz.
  • Tablolar ekleme, tablo biçimlendirmek ve tabloları veriyle doldurmak.
  • Bir grafik ekleyin.
Gelen bir Visual Basic Automation'ı kullanarak yeni bir Word belgesi oluşturmak için aşağıdaki adımları izleyin:
  1. Visual Basic'te, yeni bir standart exe DOSYASı) projesi oluşturun. Varsayılan olarak, Form1 oluşturulur.
  2. Proje menüsünde Başvurular ' ı tıklatın, sonra da aşağıdaki seçeneklerden birini tıklatın ve sonra Tamam ' ı tıklatın:
    • Office Word 2007 için tıklatın Microsoft Word 12,0 Nesne Kitaplığı.
    • Word 2003 için tıklatın Microsoft Word 11.0 Nesne Kitaplığı.
    • Word 2002'yi tıklatın Microsoft Word 10.0 Nesne Kitaplığı.
    • Word 2000'de, tıklatın Microsoft Word 9.0 Nesne Kitaplığı.
  3. KomutDüğmesi denetim Form1'e ekleyin.
  4. Aşağıdaki kodu için Click olayı için Command1 ekleyin:
        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.
        Set oWord = CreateObject("Word.Application")
        oWord.Visible = True
        Set oDoc = oWord.Documents.Add
        
        'Insert a paragraph at the beginning of the document.
        Set 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.
        Set oPara2 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\endofdoc").Range)
        oPara2.Range.Text = "Heading 2"
        oPara2.Format.SpaceAfter = 6
        oPara2.Range.InsertParagraphAfter
        
        'Insert another paragraph.
        Set oPara3 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\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,italic.
        Dim r As Integer, c As Integer
        Set oTable = oDoc.Tables.Add(oDoc.Bookmarks("\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(1).Range.Font.Bold = True
        oTable.Rows(1).Range.Font.Italic = True
        
        'Add some text after the table.
        'oTable.Range.InsertParagraphAfter
        Set oPara4 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\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.
        Set oTable = oDoc.Tables.Add(oDoc.Bookmarks("\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(1).Width = oWord.InchesToPoints(2)   'Change width of columns 1 & 2.
        oTable.Columns(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("\endofdoc").Range.InsertParagraphAfter
        Do
            Set oRng = oDoc.Bookmarks("\endofdoc").Range
            oRng.ParagraphFormat.SpaceAfter = 6
            oRng.InsertAfter "A line of text"
            oRng.InsertParagraphAfter
        Loop While Pos >= oRng.Information(wdVerticalPositionRelativeToPage)
        oRng.Collapse (wdCollapseEnd)
        oRng.InsertBreak wdPageBreak
        oRng.Collapse wdCollapseEnd
        oRng.InsertAfter "We're now on page 2. Here's my chart:"
        oRng.InsertParagraphAfter
        
        'Insert a chart and change the chart.
        Set oShape = oDoc.Bookmarks("\endofdoc").Range.InlineShapes.AddOLEObject( _
            ClassType:="MSGraph.Chart.8", FileName _
            :="", LinkToFile:=False, DisplayAsIcon:=False)
        Set 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.
        Set oRng = oDoc.Bookmarks("\endofdoc").Range
        oRng.InsertParagraphAfter
        oRng.InsertAfter "THE END."
    
        'All done. Unload this form.
        Unload Me
    					
  5. Command1</a1>'ı tıklatın veya programı çalıştırmak için F5 tuşuna basın.
Kod tamamlandıktan sonra sizin için oluşturulan belgeyi inceleyin. Belge, biçimlendirilmiş bir paragraf, tablo ve grafik iki sayfa içeriyor.

Bir şablon kullanın.

Otomasyon tüm ortak biçimindeki belgeleri oluşturmak için kullanıyorsanız, önceden biçimlendirilmiş bir şablona dayalı yeni bir belge işlemi başlayarak yararlanabilirsiniz. Word Otomasyonu istemcinizle birlikte bir şablonu kullanarak, hiçbir şey bir belge oluşturma iki önemli avantajları vardır:
  • Belgelerinizi, biçimlendirmesini ve yerleşimini, nesneler üzerinde daha fazla denetim sağlayabilirsiniz.
  • Belgelerinizi daha az kod ile oluşturabilirsiniz.
Bir şablonu kullanarak, tabloları ve paragrafları belgedeki diğer nesneleri yerleşimini ince ayar olarak bu nesnelerde biçimlendirmeyi ekleyin. Otomasyon kullanarak, kodu aşağıdaki gibi şablona dayalı yeni bir belge oluşturabilirsiniz:
oWord.Documents.Add "<Path to your template>\MyTemplate.dot"
				
böylece istemci belgedeki belirli bir konuma değişken metin olarak doldurmak için Otomasyon izler, şablon, yer işaretleri tanımlayabilirsiniz:
oDoc.Bookmarks("MyBookmark").Range.Text = "Some Text Here"
				
oluşturun ve aşağıdaki gibi çalışma zamanında, uygulamak istediğiniz biçimlendirme stilleri depolamak şablon kullanarak başka bir yararı ise:
oDoc.Bookmarks("MyBookmark").Range.Style = "MyStyle"
				
- veya -
oWord.Selection.Style = "MyStyle"
				

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
220607Nasıl yapılır: Visual Basic'den adres mektup birleştirme gerçekleştirmek için Microsoft Word otomatikleştirme
285332Nasıl yapılır: Word 2002 adres mektup birleştirme oluşturmak için Visual Basic ile otomatikleştirme
285333BILGI: Word 2002 adres mektup birleştirme olay kodu tanıtım
Daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitelerine bakın:
Visual Studio ile Microsoft Office geliştirme
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx
(c) Microsoft Corporation 2001, tüm hakları saklıdır. Katkıyı Gamze B Turner, Microsoft Corporation.

Özellikler

Makale numarası: 313193 - Last Review: 16 Nisan 2007 Pazartesi - Gözden geçirme: 6.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Office Word 2007
  • Microsoft Office Word 2003
  • Microsoft Word 2002
  • Microsoft Word 2000
Anahtar Kelimeler: 
kbmt kbexpertiseinter kbautomation kbhowtomaster KB313193 KbMttr
Machine-translated Article
Ö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:313193

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com