用于在VBA中选择文件OR文件夹的相同对话框

时间:2015-07-24 10:35:36

标签: excel vba excel-vba

我有一个Excel工作簿,应该填充文件或文件夹路径,以便以后处理它们。我想要做的是,使用相同的对话框来选择所需的路径,如果选择了文件,返回其路径,但如果没有选择文件,则返回当前文件夹路径。 是否有可能以相对简单的方式做到这一点?或者在加载浏览窗口之前,我是否需要提示询问用户是否需要文件或文件夹?

我可以创建一个文件浏览对话框,如:     Application.FileDialog(msoFileDialogFilePicker)

或文件夹浏览对话框:     Application.FileDialog(msoFileDialogFolderPicker)

但我怎样才能把他们两个结合起来呢?如果有更好的选择,则不必使用Application.FileDialog。 谢谢大家!

2 个答案:

答案 0 :(得分:1)

我只用一个输入框创建一个userform,当用户点击它时,调用filedialog框并用输出填充它。但是,如果用户没有点击它,只是点击“确定”,那么即使使用默认位置,也要处理if textbox =“”。这需要用户形式的知识。

答案 1 :(得分:0)

我设法在vba编辑器中重复使用 插入超链接 窗口来替代该过程。它会自动添加超链接,因此无需重置它。

Application.Dialogs(xlDialogInsertHyperlink).Show

然后使用超链接(如果有的话)进行操作:D

If Range(cell).Hyperlinks.Count > 0 Then
        Link = ActiveCell.Hyperlinks(1).Address
        Activecell.Hyperlinks(1).Delete ' Don't forget to unlink :D
End If

优势

  • 将其用于网址
  • 将其用作文件
  • 将其用于文件夹