0

この素晴らしい Q&A サイトでの私の最初の投稿です。誰かが私を助けてくれることを願っています。

DOS で実行される exe 形式のスクリプト (script.exe)。このスクリプトには処理する入力ファイルが必要なので、DOS では "Script.exe 入力ファイル > 出力ファイル.txt" を実行する必要があります。

いくつかのボタンを使用して VBA で簡単な GUI を作成し、VBA アプリケーション内に script.exe を「挿入」することは可能ですか?

実行可能な VBA GUI 内に script.exe ファイルを含めることは可能ですか?

私が達成したいのは、入力ファイルを要求するテキストと処理するファイルを選択するボタンを備えた GUI を持ち、VBA アプリが script.exe を実行することです。

4

1 に答える 1

1

VBA でスタンドアロンの .exe ファイルを作成することはできません。なくを考えているかもしれません。

Office アプリケーション (通常は Excel/Word/Access/Powerpoint/Outlook) で VBA プログラムを作成する必要があります。

これをする:

  1. 送信ボタンのあるユーザーフォームを作成する
  2. 送信ボタンに「cbSubmit」という名前を付けます
  3. ユーザーフォームに関連付けられたコードに次のコードを追加します

    Private Sub cbSubmit_Click()
    
    Dim myCommand As String
    Dim myInputArg As String
    Dim myFile As Office.FileDialog
    Set myFile = Application.FileDialog(msoFileDialogFilePicker)
    
    With myFile
    
       .AllowMultiSelect = False
    
       ' Set the title of the dialog box.
       .Title = "Please select the file."
    
       ' Clear out the current filters, and add our own.
       .Filters.Clear
       .Filters.Add "All Files", "*.*"
    
       ' Show the dialog box. If the .Show method returns True, the
       ' user picked at least one file. If the .Show method returns
       ' False, the user clicked Cancel.
       If .Show = True Then
         myInputArg = .SelectedItems(1) 'replace txtFileName with your textbox
    
       End If
    End With
    
    'don't continue if user doesn't select something
    If myInputArg = "" Then Exit Sub
    'construct shell command
    myCommand = "Script.exe" & myInputArg & " > ouputfile.txt"
    
    'run shell command
    Dim returnVal As Double
    returnVal = Shell(myCommand, vbHide)
    
    End Sub
    
于 2013-09-25T19:14:56.387 に答える