Q:如果我想在包含文件路径的单元格右侧添加一个文件浏览按钮,以便直接将所选的文件路径输入到该单元格,而无需手动复制粘贴文件路径,该如何实现?
如下图1所示,单元格C3中包含完整的文件路径和名称,其右侧是一个文件夹图标按钮。
图1
单击该文件夹图标,打开文件打开对话框,如下图2所示,可以从中选取一个文件并单击“打开”按钮。
图2
此时,在单元格C3中将输入新的文件路径和文件名,如下图3所示。
图3
A:下面是实现方法。
首先,对包含文件路径和文件名的单元格定义名称。这虽然不是必需的,但能够减小出错风险。因为如果编写的代码中直接引用单元格C3,在插入新行或新列后,代码没有改变但可能会引用错误的单元格。
我们将包含文件路径和文件名的单元格,本例中是单元格C3,命名为“filePath”。
接着,在VBE编辑器中,插入一个标准模块,输入下面的代码:
Sub selectFile()
'创建并设置对话框作为变量
Dim dialogBox As FileDialog
Set dialogBox =Application.FileDialog(msoFileDialogOpen)
'不允许选择多个文件
dialogBox.AllowMultiSelect = False
'设置对话框标题
dialogBox.Title = "选择一个文件"
'设置默认打开的文件夹
dialogBox.InitialFileName = "D:完美Excel我的文章示例文件夹"
'清除对话框筛选器
dialogBox.Filters.Clear
'应用文件筛选 - 使用 ; 对相同名称分隔筛选器
dialogBox.Filters.Add "Excelworkbooks", "*.xlsx;*.xls;*.xlsm"
'显示对话框并输出完整文件名
If dialogBox.Show = -1 Then
ActiveSheet.Range("filePath").Value= dialogBox.SelectedItems(1)
End If
End Sub
回到工作表中,插入一个“文件夹”图标形状。单击功能区“插入”选项卡“插图”组中的“图标”按钮,在弹出的“插入图标”对话框中搜索“文件夹”,然后选择文件夹图标,如下图4所示。
图4
文件夹图标插入到工作表中后,调整其位置、大小和颜色。
选择该图表,单击右键,在快捷菜单中选择“指定宏”命令,在“指定宏”对话框中选择selectFile过程。
完成!
注:本文整理自exceloffthegrid.com,供有兴趣的朋友参考。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。