VBからWordを操作する(起動・終了)
                                                         玄関へお回り下さい。
VBからWordを操作する(起動・終了等の基本操作)       SNo.455
動作確認:WindowsXP(SP2) VB6.0(SP6)/Word 2000/Word 2002/Word 2007
  Option Explicit
Private Sub Command1_Click()
'★プロジェクト→参照設定で、Microsoft Word *.* Object Library に
' チェックを入れておいて下さい。
'テスト用ファイル(wdTestFile 等)は各自準備して下さい。
'==================================================================
'Word の起動処理
  Dim wdApp As Word.Application
  Dim wdDoc As Word.Document '転載禁止
  Set wdApp = CreateObject("Word.Application")
  '新しい文書を開く
  Set wdDoc = wdApp.Documents.Add '転載禁止
  '既存のファイルを開く場合
  'Set wdDoc = wdApp.Documents.Open(myPath & "Test.doc")
  'Wordを表示
  wdApp.Visible = True '転載禁止
'==================================================================
'文書の書き込み例
  wdDoc.Activate '転載禁止
  With wdDoc.ActiveWindow.Selection
   .TypeParagraph               '段落を設定
   .TypeText Text:="VBレスキュー(花ちゃん)"  '文書を記入
   .TypeParagraph               '段落を設定
  End With
'==================================================================
'下記コードはこのサンプルとは直接、関係ありません。
'動作確認の為に Word を3秒間表示して置く為のものです。
  Dim lngSt As Long
  lngSt = Timer
  Do While Timer - lngSt < 3
   DoEvents
  Loop
'==================================================================
'Word の終了処理
  '-------------------------------------------------
  '名前を付けて保存転載禁止
  wdDoc.SaveAs wdTestFile '転載禁止
  wdApp.Quit '転載禁止
  '-------------------------------------------------
  '保存しないで終了
  'wdApp.Quit SaveChanges:=wdDoNotSaveChanges
  '-------------------------------------------------
  'オブジェクトを解放します。
  Set wdDoc = Nothing '転載禁止
  Set wdApp = Nothing '転載禁止
'これで、タスクマネージャーのプロセス欄からWINWORD.EXE が消えていれば、OK です。
'プログラムを終了しないと消えないのではだめです。
'2〜3度続けて実行して確認しておいて下さい、1度目は OK でも2〜3度続けて
'実行すると NG になる場合があります。
'尚、Word を終了処理後、数秒(5秒以内)待ってから確認して下さい。
End Sub
Word 上での操作方法は、Word 上でやりたい事をマクロに記録してして、そのマクロをVBのコードに移植して下さい。
別途、VBからExcel及びWordを操作する時の注意事項 や Excel のタスクを正常に終了できない現象 もご覧下さい。


又、下記サイト等を参考にして下さい。
 Word の列挙定数  Word のメソッド  Word のプロパティ
'転載禁止

2006/11/16
2006/12/27


VBレスキュー(花ちゃん)
Visual Basic6.0  VB6.0