我是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"
答案 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"