[VBScript] 共通関数ファイルvbCommon.vbsで快適なVBSライフを!
2021年 05月 02日
共通利用できる関数はひとつのファイルにまとめればライブラリのように利用できる
- これまでに紹介してきたサンプルをまとめたインクルード実行ファイル「vbCommon.vbs」を用意した。
これを冒頭にてインクルード実行しておけば、VBScriptでも大抵のことはできるようになる。
現状、vbCommon.vbsは、利用サンプルと同じフォルダとなる前提としている。
サンプルプログラムのダウンロードと使い方
- ダウンロード
このリンクからvbCommon.vbsを入手ください。常に最新管理しています。 - 使い方は2つ。オススメは上。
- インクルード実行する。
Execute CreateObject("Scripting.FileSystemObject").OpenTextFile(Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\")) & "vbCommon.vbs").ReadAll()
- wsf(Windows Script Format)で実行する。
<script language="VBScript" src="vbCommon.vbs"/>
- インクルード実行する。
追記:インクルード実行について
- 外部のVBSを実行させるだけならば、以下の短いコードだけでよい。
Execute CreateObject("Scripting.FileSystemObject").OpenTextFile("vbCommon.vbs").ReadAll()
それを長ったらしく書いたのは、VBSファイルへのファイル・フォルダのドラッグ&ドロップ実行に対応させるため。
ドラッグ&ドロップ実行の場合、カレントディレクトリが変わるためだ(動作検証した記事)。
これに対応させるため、以下の処理で実行スクリプトの保存フォルダパスを取得させている
Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\"))
本来なら、vbCommon.vbsは固定パスに置くとよい。
その場合は、保存先パスによって、OpenTextFile()に渡すパス書きかえてほしい。
vbCommon.vbsの利用サンプル
Execute CreateObject("Scripting.FileSystemObject").OpenTextFile(Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\")) & "vbCommon.vbs").ReadAll()
'───────────────────────────────────────────────────────────────────────────────
SetScriptHost("cscript")
dprintf "どーもボキです。"
![[VBScript] 共通関数ファイルvbCommon.vbsで快適なVBSライフを!_a0021757_11585558.png](https://pds.exblog.jp/pds/1/202005/17/57/a0021757_11585558.png)