0

我在这个很棒的问答网站上的第一篇文章,我希望有人可以帮助我。

具有在 DOS 中运行的 exe 格式的脚本 (script.exe)。这个脚本需要一个输入文件来处理,所以在 DOS 中我需要执行“Script.exe inputfile > ouputfile.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 回答