如何更改此 VBA 代码以打开特定文件夹而不是文件资源管理器

问题描述 投票:0回答:1

我想打开一个特定的文件夹来运行以下部分的 VBA 代码:

Sub ImportText3()

    Dim ThisLine As Variant
    Dim fileFilterPattern As String
    Dim n As Long
    
    ' Just look at text files
    'fileFilterPattern = "Text Files *.txt,*.txt"
    fileFilterPattern = "Text Files (*.txt; *.csv),*.txt;*.csv" 'use this line for general txt file selection
    ThisLine = Application.GetOpenFilename(fileFilterPattern)
    
    If ThisLine = False Then
        MsgBox "Did not select files from Josue`s folder."
        Exit Sub
    End If
    
    Application.ScreenUpdating = False
    
    Open ThisLine For Input As #1

我想打开特定文件夹,而不是打开文件资源管理器。

我试过了

fileFilterPattern = "C:\Users\jcriollo\Documents\Bronx\Raw Data\05.23"` as my file path insteasd of having `fileFilterPattern = "Text Files (*.txt; *.csv),*.txt;*.csv"

代码给我一个错误。

excel vba file import
1个回答
1
投票

这里有两种可能的方法:

1。更改 Excel 的工作文件夹。

在显示对话框之前,执行此行(使用您所需的文件夹路径):

ChDir "C:\YourFolder\"

请注意,这将更改会话的 Excel 工作文件夹。

2。使用

FileDialog

试试这个:

Set FileDialog = Application.FileDialog(msoFileDialogOpen)
FileDialog.InitialFileName = "C:\YourFolder\"
result = FileDialog.Show

If (result = -1) Then MsgBox FileDialog.SelectedItems(1)

您需要根据您的需求进行调整 - 文档位于此处

第二种方法的主要优点是它仅影响显示的对话框,而不影响整个 Excel 会话(即 Excel 的工作文件夹保持不变)。

© www.soinside.com 2019 - 2024. All rights reserved.