VBScriptを使用する際に、AddCodeメソッドを実行すると、
関数外のコードが実行されてしまいます。
関数外のコードを無視する方法はありますか?
<例>
MsgBox "こんにちは"
Sub Main()
MsgBox "こんばんは"
End Sub
AddCodeメソッドを実行すると、こんにちはと表示されてしまう。
下記の場合、AddCodeした時にHello World!を表示されてしまう。。。
何か情報をお持ちの方がいれば教えてください。
<VBからVBScriptを実行する例>
Private sc As Object
Private Sub Command1_Click()
' 変数を宣言します。
Set sc = CreateObject("ScriptControl")
sc.AllowUI = True
sc.Language = "VBScript"
' スクリプト コントロールにスクリプト コードを追加します。
sc.AddCode "MsgBox ""Hello World!"" : " & _
"Sub Main : " & _
"MsgBox ""Hello World!"" : " & _
"End Sub"
' スクリプト コードを実行します。
sc.Run "Main"
End Sub
ここで言う「関数外」はメインルーチンですから、
実行されても不思議はないのでは?
cのように、mainに特別な意味があるわけでもないし。
>関数外のコードを無視する方法はありますか?
単に無視したいだけなら、コメントアウトしてください。
やはり、スクリプトをチェックしてプロシージャ外をコメントアウトするしかないですよね。。。
処理量が多いのなら、そういうプログラムを作ればいいのでは?
そうなんですが、Scriptはお客が作成するので
そんまま使用したいんですよね。
エラーになるわけじゃないからそこまでのチェックを入れるかどうか悩んでてて。。。
色々アドバイスありがとうございました。
ツイート | ![]() |