我在这个伟大的Q& A网站上的第一篇文章,我希望有人可以帮助我。
有一个在DOS下运行的exe格式的脚本(script.exe)。这个脚本需要一个输入文件来处理,所以在DOS中 我需要做“Script.exe inputfile> ouputfile.txt”。
可以在VBA中创建一个带有几个按钮的简单GUI,并在VBA应用程序内部“插入” script.exe?
可以将script.exe文件放在可执行的VBA GUI中吗?
我想要实现的是一个带有文本的GUI,询问输入文件和一个按钮来选择要处理的文件 并且VBA应用程序运行script.exe。
答案 0 :(得分:1)
您无法使用VBA创建独立的.exe文件。您可能会考虑vb而不是vba。
您必须在Office应用程序(通常是Excel / Word / Access / Powerpoint / Outlook)中制作VBA程序。
要做到这一点:
将以下代码添加到与userform
关联的代码中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