TOP > blog > Wordを Excel VBA・VBSからコントロール
パソコン
2017/01/24

Wordを Excel VBA・VBSからコントロール

管理者用
blog

先日、WordのVBAの使い方をまとめて行きたいとお話ししました。
自分の為では有りますが、目標も決めてすこし続けて行けたらと思っています。
そして、完成すれば、皆様のお役にたつような結果となるでしょう。
お断りしておきますが、完成したらの話です。

<目標>
・エクセルからワードをコントロールする。
・宛名レイアウトをコントロールする。

第一回目は、ワードのマクロ機能のお話をしました。

今回は、ワードをエクセルや、VBSからコントロールする話です。

 

1.WordのVBAマクロを実行

ワードを起動して、次のマクロを記述して実行して見てください。 
次の例では、マクロ名を ”WST” にしてます。

もし、ワードマクロの記述から実行までの方法が必要の方は
⇒ Word VBA マクロ記録を使う ~を参考にしてください。

 

Sub WST()

' WST Macro
Documents.Add
Selection.TypeText "ワードVBAって簡単だなー!"

End Sub

マクロを実行する

 

実行結果

新しくブックが出来ます。新しいブックに文字を書き込まれました。

  

2.Excel VBAでWordをコントロール

エクセルを起動して、次のマクロを記述して見てください。

次のマクロは、エクセルのVBAでワードを起動して、文字を書込みます。
そして、エクセルシート1のセルB2の内容をその後ろに追加書き込みます。

この様に、エクセルからワードがコントロール出来ます。


Sub wst()
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add
Set objSelection = objWord.Selection
objSelection.TypeText "ワードVBAって簡単だなー!"
InData = Range("B2")
objSelection.TypeText  "    " & InData
End Sub

 マクロを実行する 

 

 実行結果

  

3. Word VBA でExcelをコントロール

次は、ワードからエクセルをコントロールする例です。

エクセルを起動して、シートを追加します。
追加したシートの特定セルに文字を書き込みました。


Sub EST()
Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Visible = True
Set exlBook = objExcel.Workbooks.Add()
Set exlSeet = exlBook.Worksheets.Add()
exlSeet.Cells(3, 2) = "VBは面白い"
End Sub

 実行します。

 実行結果

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

4.VBSでWord/Excelをコントロール

エクセルからワードをコントロール出来る事、さらにその逆も可、と言う事を紹介しましたが、
次に、vbsでワード・エクセルをコントロールする例を紹介します。

(1)ワードをコントロール

次の コードを メモ帳などのエディターで入力して、ファイル名の拡張子を .vbsにして保存してください。
例では、WST.vbs の名前で保存してます。

保存したファイルをダブルクイックして、VBSファイルが実行します。

 

WST.vbs ファイルの内容


Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add
Set objSelection = objWord.Selection
objSelection.TypeText "ワードVBAって簡単だなー!"

私は、ディスクトップに保存しましたので、アイコン表示されてますので、このアイコンをダブルクリックしました。

 

実行結果

  

 


(2)エクセルをコントロール

 エクセルをコントロールする .vbsファイルです。

ワードと同様に、メモ帳等で記述して実行して見てください。


Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Visible = True
Set exlBook = objExcel.Workbooks.Add()
Set exlSeet = exlBook.Worksheets.Add()
exlSeet.Cells(2, 2) = "VBは面白い"

 アイコンをダブルクリックでVBSを実行

 実行結果

 

 エクセル、ワードのVBAやVBSから、ワードのコントロールが出来る事を紹介しました。
また、エクセルのコントロールも合わせて紹介してますが、こんな事をヒントに色んな事が出来そうと思いませんか。

・・・・と言う話でした。

 

 

関連記事