Uuden asiakirjan luominen automatisoimalla Microsoft Word Visual Basicin avulla

Artikkeleiden käännökset Artikkeleiden käännökset
Artikkelin tunnus: 313193 - Näytä tuotteet, joita tämä artikkeli koskee.
Laajenna kaikki | Kutista kaikki

Yhteenveto

Tässä vaiheittaiset ohjeet sisältävässä artikkelissa kuvataan, miten luodaan uusi asiakirja Wordissa Visual Basicin automatisoinnin avulla.

Mallikoodi

Tämän artikkelin mallikoodi esittelee, miten tehdään seuraavaa:
  • tekstiä ja muotoilua sisältävien kappaleiden lisääminen
  • asiakirjan eri alueiden selaaminen ja muokkaaminen
  • taulukoiden lisääminen ja muotoileminen sekä tietojen lisääminen taulukoihin
  • kaavion lisääminen.
Jos haluat luoda uuden Word-asiakirjan Visual Basicin automatisoinnin avulla, toimi seuraavasti:
  1. Luo Visual Basicissa uusi normaali EXE-projekti. Lomake1 luodaan oletusarvon mukaan.
  2. Valitse Projekti-valikosta Viittaukset, valitse jokin seuraavista vaihtoehdoista ja valitse sitten OK.
    • Jos kyseessä on Office Word 2007, valitse Microsoft Word 12.0 Object Library.
    • Jos kyseessä on Word 2003, valitse Microsoft Word 11.0 Object Library.
    • Jos kyseessä on Word 2002, valitse Microsoft Word 10.0 Object Library.
    • Jos kyseessä on Word 2000, valitse Microsoft Word 9.0 Object Library.
  3. Lisää Lomake1-lomakkeeseen Komentopainike-ohjausobjekti.
  4. Lisää seuraava koodi Komento1-komennon napsautustapahtumaan:
        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
    
        'Käynnistä Word ja avaa asiakirjamalli.
        Set oWord = CreateObject("Word.Application")
        oWord.Visible = True
        Set oDoc = oWord.Documents.Add
        
        'Lisää kappale asiakirjan alkuun.
        Set oPara1 = oDoc.Content.Paragraphs.Add
        oPara1.Range.Text = "Heading 1"
        oPara1.Range.Font.Bold = True
        oPara1.Format.SpaceAfter = 24    '24 pt välistys kappaleen jälkeen.
        oPara1.Range.InsertParagraphAfter
        
        'Lisää kappale asiakirjan loppuun.
        '** \endofdoc on valmiiksi määritetty kirjanmerkki.
        Set oPara2 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\endofdoc").Range)
        oPara2.Range.Text = "Heading 2"
        oPara2.Format.SpaceAfter = 6
        oPara2.Range.InsertParagraphAfter
        
        'Lisää kappale.
        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
        
        'Lisää taulukko, jonka mitat ovat 3 x 5, lisää siihen tietoja ja
        'tee ensimmäisestä rivistä lihavoitu sekä kursivoitu.
        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
        
        'Lisää tekstiä taulukon perään.
        '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
        
        'Lisää taulukko, jonka mitat ovat 5 x 2, lisää siihen tietoja ja muuta sarakkeiden leveydet.
        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)   'Muuta sarakkeiden 1 ja 2 leveydet.
        oTable.Columns(2).Width = oWord.InchesToPoints(3)
        
        'Jatka tekstin lisäämistä. Kun päästään seitsemän tuuman päähän
        'asiakirjan ylälaidasta, lisää pysyvä sivunvaihto.
        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
        
        'Lisää kaavio ja muuta sitä.
        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
        '...Jos haluat, voit jatkaa tästä käyttämällä Microsoft Graphin 
        'objektimallia oChart-objektille ja tehdä muita muutoksia kaavioon.
    
        oShape.Width = oWord.InchesToPoints(6.25)
        oShape.Height = oWord.InchesToPoints(3.57)
        
        'Lisää tekstiä kaavion perään.
        Set oRng = oDoc.Bookmarks("\endofdoc").Range
        oRng.InsertParagraphAfter
        oRng.InsertAfter "THE END."
    
        'Kaikki on valmista. Poista tämän lomakkeen lataaminen.
        Unload Me
    					
  5. Suorita ohjelma painamalla F5-näppäintä ja valitse sitten Komento1.
Kun koodin suoritus on valmis, tarkastele luotua asiakirjaa. Asiakirja sisältää kaksi sivua, jossa on muotoiltuja kappaleita ja taulukoita sekä kaavio.

Mallin käyttäminen

Jos muodostat automaation avulla asiakirjoja, jotka kaikki käyttävät samaa muotoa, voit hyötyä prosessin aloittamisesta uuden, valmiiksi muotoiltuun malliin perustuvan asiakirjan avulla. Mallin käyttämisellä Wordin automaatioasiakkaan kanssa on kaksi merkittävää etua verrattuna asiakirjan muodostamiseen kokonaan alusta:
  • Pystyt tehokkaammin ohjaamaan asiakirjojen muotoilua ja objektien sijoittamista asiakirjoissa.
  • Asiakirjojen muodostaminen ei edellytä yhtä paljon koodia.
Mallia käyttämällä voit säätää taulukoiden, kappaleiden ja muiden asiakirjan objektien sijoittamista sekä sisällyttää muotoilua kyseisiin objekteihin. Automaation avulla voit luoda uuden malliin perustuvan asiakirjan esimerkiksi seuraavan koodin avulla:
oWord.Documents.Add "<Mallin polku>\MyTemplate.dot"
				
Voit määrittää mallissa kirjanmerkkejä niin, että automaatioasiakas voi täyttää muuttujien tekstin asiakirjan tiettyyn sijaintiin seuraavasti:
oDoc.Bookmarks("MyBookmark").Range.Text = "Some Text Here"
				
Toinen mallin käyttämisen etu on se, että voit luoda ja tallentaa muotoilutyylejä käytettäväksi suorituksen aikana. Voit tehdä sen seuraavasti:
oDoc.Bookmarks("MyBookmark").Range.Style = "MyStyle"
				
TAI
oWord.Selection.Style = "MyStyle"
				

Suositukset

Saat lisätietoja napsauttamalla seuraavia artikkeleiden numeroita, jolloin pääset lukemaan artikkelit Microsoft Knowledge Base -tietokannassa:
220607 Microsoft Wordin automatisoiminen suorittamaan yhdistäminen Visual Basicin avulla (tämä artikkeli saattaa olla englanninkielinen)
285332 Wordin yhdistämisen luomisen automatisoiminen Visual Basicin avulla
285333 TIETOJA: Word 2002:n MailMerge-tapahtumakoodin esittely (tämä artikkeli saattaa olla englanninkielinen)
Saat lisätietoja seuraavista Microsoft Developer Networkin (MSDN) verkkosivustoista:
Microsoft Office Development with Visual Studio
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx
(c) Microsoft Corporation 2001. Kaikki oikeudet pidätetään. Sisällön tuottanut Lori B. Turner, Microsoft Corporation.

Ominaisuudet

Artikkelin tunnus: 313193 - Viimeisin tarkistus: 23. marraskuuta 2007 - Versio: 6.0
Artikkelin tiedot koskevat seuraavia tuotteita:
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Office Word 2007
  • Microsoft Office Word 2003
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
Hakusanat: 
kbhowtomaster kbautomation kbexpertiseinter KB313193

Anna palautetta

 

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