1

ここにあるコードを使用しようとしていますが、HTA を微調整しています。それはある程度機能します:

Set wshShell = WScript.CreateObject( "WScript.Shell" ) 

に変わります:

Set wshShell = CreateObject( "WScript.Shell" )

ポップアップが表示されますが、クリックするまで消えません。プロセスの実行中に表示され、終了すると消える必要があります。私の実行がこれに失敗するのはなぜですか?

ProgressMsg "Copying, Please wait.", "File Being Copied" 
strCMD = "cmd.exe /c robocopy " & strLocalSemesterCourse & " " & strServerSemesterCourse &" " & strFileName & " /LOG+:" & strLogName & " /V /FP /TEE" 
nReturn = objShell.Run(strCMD, 1, true) 
ProgressMsg "", "Finished"
4

1 に答える 1

0

objProgressMsgこれを機能させるには、グローバル変数として定義する必要があります。

Dim objProgressMsg
...
ProgressMsg "Copying, Please wait.", "File Being Copied" 
strCMD = "cmd.exe /c robocopy " & strLocalSemesterCourse & " " _
  & strServerSemesterCourse &" " & strFileName & " /LOG+:" & strLogName _
  & " /V /FP /TEE" 
nReturn = objShell.Run(strCMD, 1, true) 
ProgressMsg "", "Finished"

グローバル変数がなければ、ローカル変数ProgressMsg()を使用します。ローカル変数は、関数の終了後に値を保持しないため、関数を呼び出すたびに変数は空になります。objProgressMsg

于 2013-07-30T17:58:20.797 に答える