.bas ファイルを vbscript/exe に変換する方法、またはコマンド ラインから実行する方法は? MS Visual Basic for Aplications を使用して Excel でスクリプトを作成しましたが、このスクリプトは Excel でしか実行できません。このスクリプトを .vbs または .exe として作成するにはどうすればよいですか? ?
3 に答える
簡単に言えば、少なくとも直接ではできないということです。VBAとVBSはわずかなバリエーションであり、コードを.vbsファイルに保存することはできますが、VBスクリプトに変更しなくても何も実行されないかどうかは非常に疑わしいです。
.exeを作成するには、VisualStudioのようなものが必要になります。それでも、あなたはおそらくそれが仕事をするようにあなたのコードを作り直す必要があるでしょう。
私はそれがあなたのコードが何をするかに依存すると思います。
最も簡単なオプションは.bas
、拡張子を付けてファイルを保存し.vbs
、コードを VBScript に変更することだと思います。次に、Windows Script Host (WSH) で実行します。Excel の VBA では、多数の組み込みオブジェクトにアクセスできることに注意してください。WSH の VBScript では、または関数を使用して、これらのオブジェクトを自分で作成またはアクセスする必要があります (この回答を参照) 。(WSH には独自の組み込みオブジェクトのセットがあります。) Excel の場合は、次のものから始める必要があります。CreateObject
GetObject
Dim xlApp
Set xlApp = CreateObject("Excel.Application")
VBScript では、変数に型がないため、次のようなすべてのステートメントに注意してください。
Dim i As Integer
Dim wks As Excel.Worksheet
As
節を削除する必要があります:
Dim i
Dim wks
2 つの違いの正確な詳細については、「INFO: Visual Basic for Applications の機能は VBScript にありません」および「 INFO: VBScript の機能は Visual Basic for Applications にありません」を参照してください。
VBA には組み込みの IDE とデバッガーがあり、WSH でコードを実行する場合にはありませんが、Visual Sudio を使用してスクリプト ファイルをデバッグできます。(VS 2015 Community Edition をインストールできない場合、Visual Studio 統合シェルも動作します - 2013、2012、2010 .
次のようにコマンドラインからスクリプトを呼び出して、スクリプトをデバッグします。
cscript yourscript.vbs //D //X
また:
wscript yourscript.vbs //D //X
Office 2007 以前がインストールされている場合は、Microsoft Script Editor を使用してデバッグできます。VS をダウンロードしてインストールする必要はありません。それでも、VS は Microsoft Script Editor や VBA デバッガーよりもはるかに強力です。
誰もがここで良い点を指摘していると思いますが、VBA と Visual Basic では、On Error GoTo コマンドを使用して MainErrorHandler: at関数の一番下。VB スクリプトではこれが許可されていないため、VBA と Visual Basic で許可されている On Error GoTo 0 または On Error Resume next を使用する必要があります。ただし、VB スクリプトでのエラー処理は、すべての VB 言語で許可されています。