2017-12-22 36 views
0

私はマルチファイルのVBScriptプロジェクトを作成しています。ライブラリの一部は(SubFunctionのみを含む)、いくつかはプログラムエントリとして機能します。インポート時に特定のコードが実行されないようにします。

私は時々私は、ファイルをインポートすることができる一方、自身の上で実行できるようにしたい、と私はそれがしたい、しかし他のファイル

Dim Fso 
Set Fso = CreateObject("Scripting.FileSystemObject") 

Sub Import(ByVal FileName) 
    Dim File 
    Set File = Fso.OpenTextFile(FileName, 1) ' ForReading 
    ExecuteGlobal File.ReadAll() 
    File.Close 
End Sub 

から機能をインポートするには、この機能を使用しています2つの場合の動作が異なります。私はPythonに相当するものがあると思います:

if __name__ == "__main__": 
    # Code when run directly 

VBScriptでこれを行う方法はありますか?または、インポート時に不要なコードをすべて手動で削除するフィルタを実装する必要がありますか?

答えて

1

WScript.Script[Full]Nameを使用して、モジュールがスタンドアロンで含まれているか、実行されているかを確認します。

+0

鮮やかな答え! – iBug

関連する問題