【问题标题】:VBA pick a file from a specific location?VBA 从特定位置选择文件?
【发布时间】:2020-08-19 19:43:02
【问题描述】:

我正在尝试将一些代码放在 VBA 中,它将打开一个特定的文件夹,让我选择文件然后继续运行我的代码。

目前我所拥有的(如下)“有效”,因为它将打开一个文件夹,但通常它从一个通用位置(桌面)开始,但不会转到特定文件夹位置让我打开我想要的文件。

Dim Filename as String

filename = Application.GetOpenFilename(FileFilter:="Excel Files,  *.xl*;*.xm*")
If filename <> False Then
Workbooks.Open filename:=filename
End If

我也试过这样的:

Dim Directory as String
Dim Filename as String

Directory = "\\page\data\NFInventory\groups\CID\Retail Setting\Lago Retail Uploads\" & strBrand & "\" & strSeason & "\" & strPrefix & "\"
Filename = Dir(Directory & "*.xl*;*.xm*")
Workbooks.Open Filename:=Directory

但它没有做任何事情,我认为我做的一切都是正确的。任何帮助或推动正确的方向将不胜感激。

-德克

【问题讨论】:

标签: vba ms-access


【解决方案1】:

这将在指定位置启动一个打开对话框:

Sub openBeckJFolder()

    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = True
        .Show
        .InitialFileName = "C:\Users\beckj\"
    End With
 
End Sub

Microsoft document page 并没有真正涉及到它,但FileDialog 有几个功能,例如我在这里使用的InitialFileName

_

更新:打开工作簿

添加的代码允许您突出显示工作簿并单击工作簿上的Opendouble-click 将其打开。

Sub openBeckJFolder()

    Dim Filename As String
    
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = False
        .InitialFileName = "C:\Users\beckj\"
        
        If .Show = True Then
            Filename = .SelectedItems(1)
        End If
    End With
    
    Workbooks.Open (Filename)
    
End Sub

【讨论】:

  • 感谢您的回复!这有点工作,但它没有打开我选择的文件。
  • 做到了。谢谢大家!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-14
  • 2019-03-17
  • 1970-01-01
  • 2013-02-03
  • 1970-01-01
  • 2014-09-29
  • 1970-01-01
相关资源
最近更新 更多