使用Environ $(“USERPROFILE”)VBA保存到路径

时间:2018-01-10 20:59:52

标签: excel vba excel-vba environ

我是VBA的新手,为我的无知道歉。 我在Excel 2016中有一个非常复杂的宏,我需要编辑。 它与this previous discussion

有关

我需要更改已创建的.pdf的输出保存路径。现在它使用Excel位置作为起点(ThisWorkbook.Path)并保存到同一文件夹中。

但现在需要保存到共享Box驱动器上的其他文件夹。路径将根据访问文件的人而改变。

那么我应该如何使用Environ $来表示 C:\ Users \ johnsmith \ Box \ etc。等等将改变和\ Box \ etc之后的所有内容。等是不变的? 它使用Excel电子表格中的值来组成新文件名。

这是我需要编辑的位:

With shDetail
        If llRow - 3 < 10 Then
            strPDFOutPath = ThisWorkbook.Path & "\2018 Payments\0" & .Cells(llRow, 14).Value & "_" & .Cells(llRow, 3).Value & "_" & "file" & ".pdf"
        Else
            strPDFOutPath = ThisWorkbook.Path & "\2018 Payments\" & .Cells(llRow, 14).Value & "_" & .Cells(llRow, 3).Value & "_" & "file" & ".pdf"
        End If
    End With

    'Save the form as new PDF file.
    objAcroPDDoc.Save 1, strPDFOutPath

应该是

 strPDFOutPath = Environ$(“USERPROFILE”) & Box\Folder1\Folder2\Folder3\0" & .Cells(llRow, 14).Value & "_" & .Cells(llRow, 3).Value & "_" & "file" & ".pdf"
        Else
            strPDFOutPath = Environ$(“USERPROFILE”) & Box\Folder1\Folder2\Folder3" & .Cells(llRow, 14).Value & "_" & .Cells(llRow, 3).Value & "_" & "file" & ".pdf"

1 个答案:

答案 0 :(得分:0)

这只是一个例子:

    Const FILE_SUFFIX As String = "\Box\Etc\Whatever\"
    Dim userPath As String

    userPath = Environ("UserProfile")

    strPDFOutPath  = userPath & FILE_SUFFIX & & .Cells(llRow, 14).Value & "_" & .Cells(llRow, 3).Value & "_" & "file" & ".pdf"