[VBScript] 他のvbsファイルをインクルードする
VBScriptファイル毎に全処理を記述するとファイルサイズが大きくなり、同じ関数をそれぞれのVBScriptファイルに記述するのはスマートではない。
VBScript標準では外部ファイルをインクルードする機能はないのでインクルードする関数を作成した。
ただし、このインクルードの関数は共通化できない。
例えば先に記載したEncode.vbsをインクルードする場合は以下のように記述する。
Include.vbs |
Option Explicit Call Include("Encode.vbs") Sub Include(ByVal strFile) Dim objFSO Dim objStream Dim strPath Dim strDir '自身のファイルパスを取得 strPath = WScript.ScriptFullName '親ディレクトリを取得 Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") strDir = objFSO.GetFile(strPath).ParentFolder '指定したVBScriptファイルを読み込む Set objStream = objFSO.OpenTextFile(strDir & "\" & strFile, 1, False) ExecuteGlobal objStream.ReadAll() objStream.Close Set objStream = Nothing Set objFSO = Nothing End Sub |