excel - Excel VBA:文件夹名称未知但扩展名已知的文件夹路径
问题描述
我有这个Excel
文件用于修改和导出数据集。它导出到同一文件夹,位于:
C:\BASE\yyyyyy.c8\xxxxxx.cv\Addresses.xlsm
我想将其存储.xlsm
在:
C:\BASE\yyyyyy.c8\
相反,但我仍然需要导出到
C:\BASE\yyyyyy.c8\xxxxxx.cv\
文件夹。然而,这很棘手,因为xxxxxx.cv
文件夹名称会更改项目到项目,但是.cv
此文件夹名称的扩展名始终相同。
目前它使用以下方法将导出文件导出到 excel 文件的根文件夹:
convFileName = ActiveWorkbook.Path & "\conv" & convTableNumber
我希望它基本上像这样工作,显然这不起作用,但我将如何实现这个功能?
convFileName = ActiveWorkbook.Path & \*.cv & "\conv" & convTableNumber
编辑。解决方案:
Dim sFile As String, sPathSeek As String, sPathMatch As String
On Error Resume Next
sPathSeek = ActiveWorkbook.Path & "\*.cv"
sFile = Dir(sPathSeek, vbDirectory)
Do While Len(sFile) > 0
If Left(sFile, 1) <> "." Then
If (GetAttr(sFile) And vbDirectory) = vbDirectory Then
sPathMatch = sFile
Exit Do
End If
End If
sFile = Dir
Loop
convFileName = ActiveWorkbook.Path & "\" & sPathMatch & "\conv" & convTableNumber
解决方案
按照这个说法
是的,在 C:\BASE\yyyyyy.c8\ 中总是只有一个名称以 .cv 结尾的文件夹
我在这里借用了这个代码表格并稍微调整了一下
Sub Find_SubFolder()
Dim sFile As String, sPathSeek As String, sPathMatch As String
Const sMainPath As String = "C:\BASE\yyyyyy.c8\"
On Error Resume Next
sPathSeek = sMainPath & "*.cv"
sFile = Dir(sPathSeek, vbDirectory)
Do While Len(sFile) > 0
If Left(sFile, 1) <> "." Then
If (GetAttr(sFile) And vbDirectory) = vbDirectory Then
sPathMatch = sFile
Exit Do
End If
End If
sFile = Dir
Loop
'From here you can put your code to save your file...
Debug.print "C:\BASE\yyyyyy.c8\" & sPathMatch & "\"
End Sub
推荐阅读
- google-cloud-composer - 将外部工作人员连接到 Cloud Composer 气流
- python - 减小图像的大小
- swift - 重新保存键的 UserDefaults 值会在 swift 4 中出现错误
- javascript - 使用 .map FCC 格式化对象查询
- scala - 使用键值对将结果拉到下方的查询
- c# - query linq about 2 lists group by
- php - Windows bash NGINX 未完成成功的 PHP-FPM 操作
- excel - Excel:在列中查找值,然后在该行中搜索日期值,将值返回到左侧
- android - Kotlin 中 Fragment 内的 Material Component TabLayout
- python - doc2vec 的分层培训:如何为同一文档的句子分配相同的标签?