如何使用VBA在Application.FileDialog中创建自定义链接?

时间:2010-11-12 22:50:45

标签: ms-access vba dialog hyperlink openfiledialog

我试图在VBA中使用FileDialog构造来显示用户可能想要打开的可用文件列表。我还想引导用户走向一些常见的文件夹,在这些文件夹中他们通常会找到他们正在寻找的内容类型。到目前为止,我已经找不到一种方法来在FileDialog框的左侧放置一个链接,他们可以在其中单击以跳转到特定位置。

我希望有一种方法可以在调用FileDialog方法时执行此操作,如下所示,我使用了fd.AddLinkMethod "<path goes here>"

Private Function GetLocation() As String
     Dim fd As FileDialog
     Dim vrtSelectedItem As Variant
     Set fd = Application.FileDialog(msoFileDialogOpen)

     fd.ButtonName = "Open"
     fd.Title = "Select File To Open"
     fd.InitialView = msoFileDialogViewTiles

     fd.AddLinkMethod "<path goes here>"

     With fd
         If .Show = -1 Then

             For Each vrtSelectedItem In .SelectedItems
                 GetLocation= FormatPath(vrtSelectedItem)
             Next vrtSelectedItem

           End If
      End With     

      Set fd = Nothing
 End Function

以下是我试图完成的截图?

alt text

任何指针?

谢谢,

1 个答案:

答案 0 :(得分:2)

它应该是可行的,但您需要从access filedialog切换,并使用Windows API中的Windows Common Dialog。 (http://support.microsoft.com/kb/161286)然后,有几种方法可以修改本文中指出的链接(http://www.makeuseof.com/tag/4-more-ways-to-customize-common-dialog-open-in-windows-xp/)。不是最优雅,但它应该工作。古德勒克!