【发布时间】:2025-12-05 21:25:01
【问题描述】:
好的,所以我正在尝试使用 2 个单元格值快速打开文件路径,如果我逐字了解信息,一切正常。我的问题是最后一个值我只有文件名的第一部分,我尝试使用通配符 * 但似乎无法让它工作。不断收到“找不到路径错误”。第二个值是项目名称,但是,文件夹还包含项目的描述。例如,我知道项目名称是 TB1756_2156,但文件夹名为“TB1756_2156 项目描述负责人 2014 年 1 月”这是我目前的代码:
Sub Button2_Click()
ChDrive "S:\"
ChDir "S:\CLIENTS " & Range("B10").Value & "\Client1\" & Range("B11").Value & "*\Sample"
strFile = Application.GetOpenFilename
End Sub
编辑: 好的,如果我在哪里手动打开要检查的文件,这将是我的路径:S:\CLIENTS YEAR\FOLDER NAME\Project # Description Project Lead Year\Sample\File I want.xls 我想要打开对话框的 vba 并转到 S:\CLIENTS 然后从单元格 B10 添加值然后继续到 FOLDER NAME\ 然后只从单元格 B11 中获取项目#,因为这就是你需要的所有东西,然后填写丢失的信息,然后继续到 \Sample,用户将在其中选择他们要打开的文件。
所以操作@dcromley 提供的代码,这就是我得到的:
Sub UseFileDialogOpen()
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = True
.InitialFileName = "S:\CLIENTS " & Range("C10").Value & "\FOLDER NAME\ & Range("C11").Value
.Show
End With
End Sub
我的问题是它只将项目# 输入到文件名中:但实际上并没有打开它。因此,寻找一种方法来解析目录,因为我已经从我的原始代码减去“*\Sample”,并且它将打开唯一以项目开头的文件夹#
【问题讨论】:
-
另一个镜头——我将 EDIT2 添加到我的答案中。我是一名老年人,无法分析这一点。也许我们会因为这样继续下去而被 SO 警察枪杀。