2016-04-02 3 views
0

私はJavaを学んでいますが、プログラムをコンパイルして実行するためにはコマンドプロンプトを使用する必要があると迷惑をかけることがあるので、私は考えていました:Visual Basicでプログラムを作成する方法がありますコマンドプロンプトを開き、コードを入力しますか?VBプロンプトをコマンドプロンプトと対話させることはできますか?

+0

はい、それ以外の場合は、使用量が非常に少なくなると思います。具体的に質問を編集する必要があります。 – newguy

+0

または、Java IDE(統合開発環境)を使用することができます。 VBの開発は、Visual Studio IDEで実行され、コマンドラインを使わずにすべての 'コンパイルと実行'の処理を行います。 – user2864740

+0

最初の編集でJavaを使用していますが、あなたの質問タイトルはまだVBを指しています。あなたのタグはVBA *と* VB.Netを参照しています。私はあなたの質問を "私は自動的にJavaプログラムをコンパイルして実行できますか?" – ThunderFrame

答えて

-1

要するに、はい。コマンドプロンプトをシェルするだけで構いません。

Sub Foo() 

    Dim cmd_Command As String = "DIR %USERPROFILE%/Desktop/*.* > %USERPROFILE%/Files.log" 

    CreateObject("WScript.Shell").Exec("CMD /C " & cmd_Command) 

End Sub 
+0

私はそのコードを使用してcmdを開き、実際には高速で終了します – Eddie

+0

このコードは悪い習慣を変えます。 1. COMオブジェクトのインスタンスを作成するときは、** FinalReleaseComObject **メソッドで作業が完了した後にリリースし、** Nothing **(C#では** nul **)に設定する必要があります。 2. .Net Frameworkクラスライブラリは、マネージコードを公開するため、COM interopをソリューションとして検討する必要はありません。 – ElektroStudios

+0

私はCOMでの取引について認識しています。質問に「方法があるかどうか」と尋ねられました。一般的な質問=一般的な回答ですが、これは完成したコードとしてプッシュされていませんでした。 –

0

あなたはProcessクラスを使用することができます。

しかし、CMDを呼び出す必要はありません。上記の例と同じように、Javaコンパイラを直接呼び出してください。また、直接のJavaにプログラムを開発し、Javaコンパイラのインタフェースを使用することもできます。

0

このコードを使用して、コマンドプロンプトで実行する必要があるコマンドのバッチを実行します。

Dim commands As Object() = New Object() {"echo Command One", "echo Command Two", "..."} 
Dim startInfo As ProcessStartInfo = New ProcessStartInfo(Path.Combine(Environment.SystemDirectory, "cmd.exe")) 
startInfo.WindowStyle = ProcessWindowStyle.Normal 
startInfo.Arguments = "/c """ 
For Each obj As Object In commands 
    startInfo.Arguments += obj.ToString + " & " 
Next 
startInfo.Arguments = startInfo.Arguments.Substring(0, startInfo.Arguments.LastIndexOf(" & ")) 
startInfo.Arguments += """" 
Process.Start(startInfo) 

それとも、コマンドプロンプトで、より簡潔にコマンドを実行するには、このコードを使用します。

Shell("cmd /c ""echo Command One & Command Two & ...""")