Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取Excel VBA的文件位置和名称_Vba_Excel - Fatal编程技术网

获取Excel VBA的文件位置和名称

获取Excel VBA的文件位置和名称,vba,excel,Vba,Excel,我正在创建一个VBA程序,将一列从一个文件复制到另一个文件 当前代码正常工作,但我希望将其更改为出现提示并询问用户文件位置和名称/扩展名的位置。该输入将作为工作簿的文件位置导入。打开函数并从那里开始 如何创建提示,要求用户输入所需excel文件的文件位置和名称,并将其输入工作簿中。打开功能 代码: 我将使用FileDialog选择一个输入文件: Dim fDialog As FileDialog, result As Integer Set fDialog = Application.FileD

我正在创建一个VBA程序,将一列从一个文件复制到另一个文件

当前代码正常工作,但我希望将其更改为出现提示并询问用户文件位置和名称/扩展名的位置。该输入将作为工作簿的文件位置导入。打开函数并从那里开始

如何创建提示,要求用户输入所需excel文件的文件位置和名称,并将其输入工作簿中。打开功能

代码:


我将使用FileDialog选择一个输入文件:

Dim fDialog As FileDialog, result As Integer
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)

fDialog.AllowMultiSelect = False
fDialog.title = "Select a file"
fDialog.InitialFileName = "C:\"
fDialog.Filters.Clear
fDialog.Filters.Add "Excel files", "*.xlsx"

'Show the dialog. -1 means a file has been successfully selected
If fDialog.Show = -1 Then
   Debug.Print fDialog.SelectedItems(1)
End If
如需保存,请参考以下内容

编辑:

要在工作簿中使用它,只需执行以下操作:

Dim fname As String
If fDialog.Show = -1 Then
   fname=fDialog.SelectedItems(1)
Else 
   MsgBox("Filename selection error")
   Exit Sub
End If

Set wb1 = Workbooks.Open(fname)

Application.GetOpenFileName
如何从此代码部分获取文件名并将其输入工作簿.Open()函数?我需要将输入文件设置为工作簿,以便执行下面代码中列出的复制过程。请参阅上面的编辑。谢谢,它可以工作!我现在要做的就是让第二个工作簿也发生同样的事情,但如何让第二个工作簿也发生同样的事情,以便用户可以选择复制文件和目标文件?只需在已有的其中一个FileDialogue变量上再次使用.Show即可。
Dim fname As String
If fDialog.Show = -1 Then
   fname=fDialog.SelectedItems(1)
Else 
   MsgBox("Filename selection error")
   Exit Sub
End If

Set wb1 = Workbooks.Open(fname)