AutoWord サンプルには、Visual C# から Microsoft Word を自動化する方法を示す 4 つの例が含まれています。これらの例では、次の処理を自動化する方法を示します。
- Word の起動
- 新しい文書の作成
- 既存の文書のオープン
- Word アプリケーションでのイベントのフック
サンプルでは、Microsoft Word の相互運用アセンブリの作成方法と、Word の自動化の基本的な技法も示します。
メモ このサンプルのプロジェクトの 1 つは C++ プロジェクトであるため、C++ もインストールする必要があります。
サンプル内のプロジェクト
このサンプルには 5 つのプロジェクトが含まれ、3 つのアセンブリを生成します。
サンプルのビルドと実行
アセンブリを作成するには
- ソリューション AutoWord.sln を開きます。
- RunCreateWordAssembly プロジェクトを右クリックし、[ビルド] をクリックします。
- 各サンプル プロジェクトについて、[参照設定] アイテムを右クリックし、[参照の追加] をクリックします。[参照] をクリックし、.dll ファイルの一覧の [WORD.DLL] を選択して、[開く] をクリックします。[OK] をクリックして参照ブラウザを閉じ、WORD.DLL が見つかったディレクトリが参照パスに追加されることを示す、ポップアップ ウィンドウが表示されたら [OK] をクリックします。
- Microsoft Word XP または Office XP をインストールしている場合は、コンパイル定数の一覧に OFFICEXP を追加します。各サンプル プロジェクトについて、プロジェクトのルートを右クリックし、[プロパティ] をクリックします。[構成プロパティ]、[ビルド] の順に選択し、[条件付きコンパイル定数] の一覧に OFFICEXP を追加します。[OK] をクリックします。
メモ デバッグ構成またはリリース構成で OFFICEXP を定義するだけでは十分ではありません。各構成で OFFICEXP を定義する必要があります。
- [ビルド] メニューの [ソリューションのビルド] をクリックします。
自動化の例を実行するには
- ソリューション エクスプローラで Example1 を右クリックし、ショートカット メニューの [スタートアップ プロジェクトに設定] をクリックしてから、プロジェクトをビルドおよび実行します。
この例は、文書のない Word オブジェクトをインスタンス化する方法を示します。
- ソリューション エクスプローラで Example2 を右クリックし、ショートカット メニューの [スタートアップ プロジェクトに設定] をクリックしてから、プロジェクトをビルドおよび実行します。
この例は、新規の Word 文書を作成し、その文書にテキストを挿入する方法を示します。
- ソリューション エクスプローラで Example3 を右クリックし、ショートカット メニューの [スタートアップ プロジェクトに設定] をクリックしてから、プロジェクトをビルドおよび実行します。
この例は、既存の Word 文書を開き、その文書を変更する方法を示します。
- ソリューション エクスプローラで Example4 を右クリックし、ショートカット メニューの [スタートアップ プロジェクトに設定] をクリックしてから、プロジェクトをビルドおよび実行します。
この例は、Word でさまざまなイベントをフックする方法を示します。
クラスとキーワード
このサンプルでは、次の各クラスを使用します。
System.Diagnostics.Process、System.Environment、System.Reflection.Missing、System.Text.StringBuilder、System.Windows.Forms.MessageBox、System.Thread.Sleep、System.Reflection.Missing.Value、Microsoft.Win32.RegistryKey、Word.Application、Word.ApplicationEvents2_DocumentChangeEventHandler、Word.ApplicationEvents2_DocumentOpenEventHandler、Word.ApplicationEvents2_NewDocumentEventHandler、Word.ApplicationEvents2_StartupEventHandler、Word.Documents、Word._Document、Word.Range、Word.Words
このサンプルでは、次のキーワードを使用します。
event