保存文件而不指定驱动器位置

时间:2019-06-19 04:19:14

标签: vba

我想根据文件夹指定新Excel文件的保存位置(例如,文件夹名称为Input Data)。但是,我不想指定包含它的驱动器(例如C:\ Input Data),应该如何处理?

我看到其他人通常会指定文件夹所在位置的完整文件路径,例如C:\输入数据。但是,我想删除C:\部分。

预期结果将是将输出文件保存在名为“输入数据”的文件夹中的位置

1 个答案:

答案 0 :(得分:0)

您可以使用系统位置,而不是尝试指定未知位置。这不仅对于每个用户都是一致的,而且应该是可以保存文件的位置。已经设置了许多系统,不允许在C:\驱动器的根目录中创建文件夹。

    Dim fso As Object
    Dim pth As String
    Set fso = CreateObject("Scripting.FileSystemObject")       'create a filesystemobject
    pth = fso.buildpath(Environ("userprofile"), "Input Data")  'get the path
    If Not fso.FolderExists(pth) Then fso.CreateFolder pth     'create the folder if required
    pth = fso.buildpath(pth, "My Workbook Name.xlsm")          'get the save path
    ThisWorkbook.SaveAs pth                                    'save
    Set fso = Nothing

要查看其他系统文件夹,请参见https://pureinfotech.com/list-environment-variables-windows-10/。您可能更喜欢使用%TEMP%。

您将需要更改Save语句以适合