重命名文件被提取

我有一个VBAmacros重命名文件。 我有这个文件存在的完整path,但我想独立于它的位置重命名此文件。

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文件提取存档并启动它,它会findtest.txt并将其从其位置独立重命名。

您正在寻找ThisWorkbook.Path它给你所使用的工作簿的path。 所以,如果你的txt文件在同一个目录中,你可以使用这样的东西:

 sFileName = ThisWorkbook.Path & "\text.txt" sNewFileName = ThisWorkbook.Path & "\test1.txt" 

当excel文件位置与文本文件位置相同时,不必写出方向path。

只需写入没有方向path的文件名:

 sFileName = "test.txt" sNewFileName = "test1.txt"