ray88’s diary

お仕事で困ったとき用の自分用の覚書

VBS 部品ファイルの読込

■部品ファイルを複数用意し、Mainファイルで各部品ファイルを読み込んでスクラッチ的にプログラムする

・Mainファイル(Main.vbs)のコード

Const ForReading = 1
Dim FileShell
  Set FileShell = WScript.CreateObject("Scripting.FileSystemObject")
'部品ファイル読込ファンクションを生成  
Function ReadFile(ByVal FileName)
  ReadFile = FileShell.OpenTextFile(FileName, ForReading, False).ReadAll()
End Function
'1つめの部品ファイルを読込
Execute ReadFile("CopyFolder.vbs")
'2つ目の部品ファイルを読込
Execute ReadFile("fncDateFormat.vbs")
'部品1を実行
fncCopyFolder "C:\デスクトップ\WHSプロジェクト\コピー先","C:\デスクトップ\WHSプロジェクト\コピー元"
'部品2を実行
MsgBox fncDateFormat(Date())

・部品1ファイル(CopyFolder.vbs)のコード

Function fncCopyFolder(dstPath,targetPath)
'--------------------------------------------------
'機能:指定されたフォルダを指定されたパスにコピーする
'引数1:コピー後フォルダパス
'引数2:コピー元フォルダパス
'--------------------------------------------------
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder targetPath,dstPath
End Function

・部品2ファイル(fncDateFormat.vbs)のコード

Function fncDateFormat(targetDate)
'-----------------------------------------------------
'機 能:指定されたDate型の値をyyyymmdd形式の文字列で返す
'引数1:Date型の日付の値
'-----------------------------------------------------
    Dim YYYY
    Dim MM
    Dim DD
    YYYY = Year(targetDate)
    MM = Month(targetDate)
    DD = Day(targetDate)
    fncDateFormat = YYYY & MM & DD
End Function

・Mainファイル(Main.vbs)実行結果