Yhteenveto

Automaation avulla voit tehdä ohjelmallisesti miltei mitä tahansa, mitä käyttäjä voi tehdä manuaalisesti Microsoft Office Wordissa. Jos kuitenkin haluat kirjoittaa ja muotoilla paljon tekstiä, se saattaa vaatia paljon koodia. Jos voit esittää tiedot RTF (Rich Text Format) -merkkijonona, voit usein pienentää automaatiokoodia. Voit luoda RTF-merkkijonon, kopioida RTF-merkkijonon leikepöydälle ja liittää RTF-merkkijonon asiakirjaan.Tässä artikkelissa kerrotaan, miten voit luoda yksinkertaisen Visual Basic, joka käynnistää Wordin, luo uuden asiakirjan ja lisää muotoiltua tekstiä asiakirjaan käyttämällä valmiiksi luotua RTF-merkkijonoa.

Lisätietoja

Voit luoda esimerkkiprojektin seuraavasti:

  1. Käynnistä Visual Basic ja luo sitten uusi Standard EXE -ohjelma. Lomake1-niminen lomake luodaan oletusarvoisesti.

  2. Lisää komentopainike lomakkeeseen, kaksoisnapsauta Komentopainiketta ja lisää sitten seuraava koodi Click-tapahtumaan.

    'sRTF represents the rich-text-formatted string to paste into WordDim sRTF As StringsRTF = "{\rtf1\ansi\ansicpg1252\deff0\deftab720{\fonttbl" & _       "{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}" & _       "{\f2\froman\fprq2 Times New Roman;}}" & _       "{\colortbl\red0\green0\blue0;\red255\green0\blue0;}" & _       "\deflang1033\horzdoc{\*\fchars }{\*\lchars }" & _       "\pard\plain\f2\fs24 Line 1 of \plain\f2\fs24\cf1" & _       "inserted\plain\f2\fs24  file.\par }"'Copy the contents of the Rich Text to the clipboardDim lSuccess As LongDim lRTF As LongDim hGlobal As LongDim lpString As LonglSuccess = OpenClipboard(Me.hwnd)lRTF = RegisterClipboardFormat("Rich Text Format")lSuccess = EmptyClipboardhGlobal = GlobalAlloc(GMEM_MOVEABLE Or GMEM_DDESHARE, Len(sRTF))lpString = GlobalLock(hGlobal)CopyMemory lpString, ByVal sRTF, Len(sRTF)GlobalUnlock hGlobalSetClipboardData lRTF, hGlobalCloseClipboardGlobalFree hGlobal'Paste into a new Word documentDim oWord As ObjectDim oDoc As ObjectSet oWord = CreateObject("word.application")Set oDoc = oWord.Documents.AddoWord.Selection.PasteoWord.Visible = True
  3. Lisää seuraava koodi Lomake-moduulin Yleiset määrityksiä -osaan.

    Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function RegisterClipboardFormat Lib "user32" Alias _    "RegisterClipboardFormatA" (ByVal lpString As String) As LongPrivate Declare Function EmptyClipboard Lib "user32" () As LongPrivate Declare Function CloseClipboard Lib "user32" () As LongPrivate Declare Function SetClipboardData Lib "user32" ( _    ByVal wFormat As Long, ByVal hMem As Long) As LongPrivate Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, _    ByVal dwBytes As Long) As LongPrivate Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _    ByVal Destination As Long, Source As Any, ByVal Length As Long)Private Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As LongPrivate Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As LongPrivate Declare Function GlobalFree Lib "kernel32" Alias "GlobalFree" ( _     ByVal hMem As Long) As LongPrivate Const GMEM_DDESHARE = &H2000Private Const GMEM_MOVEABLE = &H2
  4. Suorita projekti painamalla F5-näppäintä. Word käynnistyy, ja sen jälkeen luodaan uusi asiakirja, joka sisältää muotoiltua tekstiä.

Lisätietoja

Lisätietoja ja esimerkkejä ratkaisujen Office Microsoftin sivustoista:

http://support.microsoft.com/ofd http://msdn.microsoft.com/office

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.

Osallistumalla yhteisöihin voit kysyä kysymyksiä ja vastata niihin, antaa palautetta sekä kuulla lisää asiantuntijoilta, joilla on runsaasti tietoa.