我有一个重命名文件的VBA宏。我有这个文件存在的完整路径,但我想独立于其位置重命名该文件。
Private Sub Workbook_Open()
Dim sFileName As String, sNewFileName As String
sFileName = "C:\Users\me\Desktop\text.txt"
sNewFileName = "C:\Users\me\Desktop\test1.txt"
If Dir(sFileName, 16) = "" Then MsgBox "File not found", vbCritical, "Error": Exit Sub
Name sFileName As sNewFileName 'rename file
MsgBox "file has been renamed"
End Sub
我的意思是,如果您使用此Excel文件和text.txt
文件提取存档并启动它,它会找到test.txt
并将其重命名为独立于其位置。
答案 0 :(得分:2)
您正在寻找ThisWorkbook.Path
,它为您提供了正在使用的工作簿的路径。因此,如果您的txt文件位于同一目录中,则可以使用以下内容:
sFileName = ThisWorkbook.Path & "\text.txt"
sNewFileName = ThisWorkbook.Path & "\test1.txt"
答案 1 :(得分:0)
当excel文件位置与文本文件位置相同时,您不必编写方向路径。
只需编写没有方向路径的文件名:
sFileName = "test.txt"
sNewFileName = "test1.txt"