概要

Automation を使用すると、Word でユーザーが手動で実行できるほぼすべての操作をプログラムMicrosoft Officeできます。 ただし、多数のテキストを入力して書式設定する場合は、多くのコードが必要になる場合があります。 データをリッチ テキスト形式 (RTF) 文字列として表す場合は、Automation コードを頻繁に減らします。 RTF 文字列を作成し、RTF 文字列をクリップボードにコピーして、RTF 文字列を文書に貼り付けることができます。この記事では、Word を起動し、新しい文書を作成し、事前に構築された RTF 文字列を使用して書式設定されたテキストを文書に追加する簡単な Visual Basic の例を作成する方法について説明します。

詳細情報

サンプル プロジェクトを作成するには、次の手順に従います。

  1. 新Visual Basicし、新しい Standard EXE を作成します。 既定では、Form1 という名前のフォームが作成されます。

  2. フォームに CommandButton を追加し、CommandButton をダブルクリックして、次のコードを 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. 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. F5 キーを押してプロジェクトを実行します。 Word が起動し、書式設定されたテキストを含む新しい文書が作成されます。

参照情報

ソリューションの開発に関する詳細とサンプルについては、Officeの Microsoft Web サイトを参照してください。

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

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。