vba - 如果路径不存在,则创建新文件夹(否则粘贴到现有文件夹中)

标签 vba excel

我制作了一个 Excel 工作表,它将数据处理到工作表并将其作为新工作簿保存在某个文件夹 - 子文件夹(命名为文件名的第一部分)中。

该代码工作正常,但如果所需的路径不存在,我想创建一个新文件夹。绝对应该可以使用“如果”功能来实现,但我不知道如何创建新文件夹。

注意:跳过了下面代码中的某些部分,为了简短起见,我只跳过了值得一提的部分。

Sub SaveSheetAs()

Dim sMainFolder as String
Dim sFileName as string
Dim sSubFolder as string

sMainFolder = Z:\Parts Manufacturing\5. Kwaliteit\130 - in proces meten\EindProject\Bron '(Main folder, which isn't variable)

sFileName = 4022 646 68954#1234 '(Part name with Unique number)'variable number, in de real code this number is received by refering to a range("")

sSubFolder = 4022 646 68954 '(variable number, in de real code this number is received by refering to a range("")

ActiveWorkbook.SaveAs Filename:=sMainFolder & "\"& sSubFolder & "\" & sFileName & ".csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=True

end sub

最佳答案

干得好 :

If Dir(sMainFolder & "\"& sSubFolder & "\", 16) <> vbNullString Then
Else
    MkDir (sMainFolder & "\"& sSubFolder & "\")
End If

关于vba - 如果路径不存在,则创建新文件夹(否则粘贴到现有文件夹中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33669107/

相关文章:

vba - Excel VBA 浏览工作表并将列范围复制到另一个工作表

api - 创建与基于 REST 的 API 的 Microsoft Access 数据库连接

vba - 使用 VBA 在 Word 文档中生成 PDF 片段?

Excel - 根据前一列中的条件平均 n 行

excel - 从 Excel 任务 Pane 内的 Angular 应用程序读取 Office 加载项 list 文件的设置

excel - 我们如何在 Excel 中聚合时间序列?

excel - 复制并粘贴到另一个工作表的第一个空行,如果第一个单元格为空,则粘贴到上一行

vba - 我是否需要将工作表作为 ByRef 或 ByVal 传递?

VBA、ADO.Connection 和查询参数

excel - Excel 中未设置对象变量或 With block 变量(错误 91)