Samenvatting

Met Automatisering kunt u programmatisch bijna alles doen wat de gebruiker handmatig kan doen in Microsoft Office Word. Als u echter veel tekst hebt die u wilt invoeren en opmaken, is er mogelijk veel code nodig. Als u de gegevens kunt vertegenwoordigen als een RTF-tekenreeks (Rich Text Format), kunt u de automatiseringscode vaak verminderen. U kunt een RTF-tekenreeks maken, de RTF-tekenreeks naar het klembord kopiëren en vervolgens de RTF-tekenreeks in het document plakken.In dit artikel wordt beschreven hoe u een eenvoudig Visual Basic-voorbeeld maakt dat Word start, een nieuw document maakt en een aantal opgemaakte tekst aan het document toevoegt met behulp van een vooraf ontworpen RTF-tekenreeks.

Meer informatie

Als u het voorbeeldproject wilt maken, volgt u de volgende stappen:

  1. Begin Visual Basic en maak vervolgens een nieuwe Standaard EXE. Standaard wordt een formulier met de naam Formulier1 gemaakt.

  2. Voeg een CommandButton toe aan het formulier, dubbelklik op de CommandButton en voeg vervolgens de volgende code toe aan de gebeurtenis Klik.

    '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. Voeg de volgende code toe aan de sectie Algemene declaraties van de formuliermodule.

    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. Druk op F5 om het project uit te voeren. Word wordt gestart en er wordt een nieuw document gemaakt dat opgemaakte tekst bevat.

Verwijzingen

Ga naar de volgende Microsoft-websites voor meer informatie Office voorbeelden voor het ontwikkelen van Office oplossingen:

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

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.