cscript.exe
を使用せずにVBScriptから引数を渡して返しますか?VBScriptの引数を取得する
例えば、cscript.exe
の関与なしでscript1に値を返すscript1からscript2を呼び出したいとします。 私は様々な答えを探しましたが、どういうわけかcscript.exe
の使用が関係しています。
このスクリプトは、インストールされた音声を取得し、ファイルvoice.txt
で提供されるものを設定します。
Set WshShell = CreateObject("WScript.Shell")
WShShell.CurrentDirectory = "..\Confirmatory Texts"
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists("voice.txt") Then
Set temp = FSO.OpenTextFile("voice.txt")
confirm_voice = temp.ReadLine()
temp.Close
Set Sapi = CreateObject("SAPI.SpVoice")
For Each Voice In Sapi.GetVoices
i = i + 1
Next
For loopvar = 0 To i-1
If loopvar = CInt(confirm_voice) Then
Set Sapi.Voice = Sapi.GetVoices.Item(loopvar)
End If
Next
Else
WScript.Echo "An Error Occured"
End If
私は別のスクリプトからこのスクリプトを呼び出した場合、どのように私は、このスクリプトは、それを呼び出したスクリプトにいくつかの値を返すようにすることができますか?
してください[編集]あなたの質問と[MCVE] _both_スクリプトの提供。現在書かれているように、あなたの質問は、 'script2'とは何か、' script1'とは何か、どうやってお互いを呼び出すのかは少し不明です... 'cscript.exe'の代わりに' wscript.exe'を使わないのはなぜですか? BTW、 'Sapi.GetVoices.Item(loopvar)'は**オブジェクト** 'ISpeechObjectToken'です。文字列として扱うことはできません。 – JosefZ
VBScriptのヘルプファイルはhttps://www.microsoft.com/en-au/download/details.aspx?id=2764です。 *スクリプトコンポーネント*を参照してください。もう1つの方法は、32ビットのCScriptを使用してスクリプトコントロールを読み込み、2番目のスクリプトをスクリプトコントロールに読み込んで実行することです。ここの私の答えは - http://stackoverflow.com/questions/26952155/how-to-make-an-include-activex-object-in-vb6-for-vbscriptを示しています。 –
私はそれを呼び出すスクリプトにいくつかの値を返す上記のスクリプトを望んでいます、どうすればいいですか?そして、お返事いただきありがとうございました – Abhishek