ちょい野暮用で調べたんで。
ポイントはこんなとこ。
- WordのCOMへの参照を追加する
- WordのCOMを使ってWord文章のファイルの読み込む
- PDF形式でファイルを出力する
まずはWordのCOMへの参照を追加する。
- ソリューションエクスプローラのツリーで”参照”って項目のとこで右クリックして、出てきたメニューの”参照の追加”ってのをクリックする。

- “参照マネージャ”って画面が表示されるので、”Microsoft Word XX.X Object Library”って項目にチェックを入れたら画面右下のOKボタンをクリックする。
参照が追加されたら”Microsoft.Office.Interop.Word”って項目が表示される。

んで、コードはこんな感じ。
/// <summary>
/// エントリーポイント
/// </summary>
/// <param name="arguments">コマンドライン引数</param>
static void Main(string[] arguments)
{
// Wordを取り扱うための変数を定義する
// ※ExcelやPowerPointも同じようなクラス名なので明示的に名前空間を書くことにする
Microsoft.Office.Interop.Word.Application objWord = null;
Microsoft.Office.Interop.Word.Documents objDocuments = null;
Microsoft.Office.Interop.Word.Document objDocument = null;
// ファイル名を定義する
string strWordFilePath = string.Empty;
string strPdfFilePath = @"C:\Users\tetsuyanbo\Desktop\sample.pdf";
try
{
// ファイルパスを初期化する
// ※今回PDFはWord文章と同じ場所に拡張子だけ変えて保存するようにした
strWordFilePath = @"C:\Users\tetsuyanbo\Desktop\sample.docx";
strPdfFilePath = System.IO.Path.GetDirectoryName(strWordFilePath) + @"\" + System.IO.Path.GetFileNameWithoutExtension(strWordFilePath) + @".pdf";
// Wordオブジェクトを実体化する
objWord = new Microsoft.Office.Interop.Word.Application();
// 文章を管理しているオブジェクトを取得する
objDocuments = objWord.Documents;
// PDFに変換するWord文章を開く
objDocument = objDocuments.Open(strWordFilePath);
// PDF形式で保存する
objDocument.ExportAsFixedFormat(strPdfFilePath, Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF);
}
catch(System.Exception objException)
{
System.Console.WriteLine(objException.Message);
}
finally
{
// 例外が発生しても必ずWordの文章を閉じるように処理はここ
if (objDocument != null)
{
objDocument.Close();
}
// 例外が発生しても必ずWordを狩猟するように処理はここ
if(objWord != null)
{
objWord.Quit();
}
}
}
試しにPDFに変換してみるExcelのファイルはこんな感じ。
試しに準備したWord文章はこんな感じ。
んで、実行してみたらこんな感じ。
確認で出来たPDFを開いてみるとこんな感じ。
なんか…とっても簡単だな…。
んまま、明日への自分へのメモってことで。



