Podsumowanie

Dzięki automatyzacji można programowo wykonać niemal wszystko, co użytkownik może zrobić ręcznie w Microsoft Office Word. Jednak jeśli chcesz wprowadzić i sformatować dużą część tekstu, może to wymagać dużej części kodu. Jeśli dane można reprezentować jako ciąg tekstu sformatowanego (RTF), można często ograniczyć kod automatyzacji. Możesz utworzyć ciąg RTF, skopiować go do schowka, a następnie wkleić do dokumentu.W tym artykule opisano, jak utworzyć prostą wiadomość e-Visual Basic przykład, który uruchamia program Word, tworzy nowy dokument i dodaje do dokumentu tekst sformatowany przy użyciu wstępnie wbudowanego ciągu RTF.

Więcej informacji

Aby utworzyć przykładowy projekt, wykonaj następujące czynności:

  1. Uruchom Visual Basic exe, a następnie utwórz nowy standardowy plik EXE. Domyślnie jest tworzony formularz o nazwie Formularz1.

  2. Dodaj przycisk polecenia do formularza, kliknij dwukrotnie przycisk polecenia, a następnie dodaj poniższy kod do zdarzenia Click ..

    '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. Dodaj poniższy kod do sekcji deklaracji ogólnych w module Form.

    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. Naciśnij klawisz F5, aby uruchomić projekt. Zostanie uruchomiony program Word, a następnie zostanie utworzony nowy dokument zawierający sformatowany tekst.

Informacje

Aby uzyskać więcej informacji i informacje na temat przykładów dotyczących Office rozwiązań, odwiedź następujące witryny sieci Web firmy Microsoft:

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

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.