Excel・Wordの自動操作はマクロ(VBA)よりもVBScriptの方がいい理由

VBScriptの方が使いやすい

Excel2007以降、Excelのメイン拡張子は.xlsxとなり、マクロ(VBA)を含むファイルは.xlsmとして区別されるようになりました。
Wordも同じく、.docxと .docmに分けられるようになりました。

でも、拡張子.xlsm, .docmでマクロ付きファイルと明示されていると、開くのに抵抗が出てきます。
開く前にどんなマクロなのか確かめたいと思いませんか?

VBScriptの場合は拡張子が.vbsのテキストファイルなので、メモ帳等で開いて中身を確認することができます。
ファイルを開く前に、含まれているマクロがどんな動きをするのかおおよそ分かれば安全性が高まると思います。

VBScriptをVBAの代わりに使う一例

セルの値が変更された時に何かしたりすることはVBAじゃないとできませんが、たとえば開いているWordファイルの現在のページだけを印刷したりすることはVBScriptでもできます。
ということで参考までに。

'開いているWordファイルの現在のページを印刷
Const wdPrintCurrentPage = 2
Dim Copies, WD
'印刷枚数を指定しておきます。
Copies = 1

On Error Resume Next
Set WD = GetObject(,"Word.Application")
On Error Goto 0
If Not IsObject(WD) Then
MsgBox "Wordが開かれていません。"
WScript.Quit
End If
WD.ActiveDocument.PrintOut , , wdPrintCurrentPage, , , , , Copies
よかったらシェアしてね!

この記事を書いた人

目次
閉じる