使用Excel VBA Name语句修改文件扩展名遇运行时错误75求助
问题原因及解决办法
错误原因
触发Run-time error '75'的核心原因是:你生成的.txt文件还被Excel进程占用着。
执行.SaveAs Filename:=Upload_File_Path_T, FileFormat:=xlTextWindows后,Upload_File_wb_X对应的就是刚保存的.txt文件,它仍然处于打开状态。Windows系统不允许修改正在被程序锁定的文件名称,因此Name语句执行失败。
解决步骤
在执行Name重命名语句前,必须先关闭这个打开的.txt工作簿,释放文件锁:
修改后的关键代码片段
With Upload_File_wb_X ' 原有的表格处理、删除多余工作表等代码... .SaveAs Filename:=Upload_File_Path_T, FileFormat:=xlTextWindows .Close SaveChanges:=False ' 新增:关闭工作簿,释放文件锁 End With Kill (Upload_File_Path_M) Name Upload_File_Path_T As Upload_File_Path_C ' 现在可正常执行
额外优化建议
其实不需要绕路转成.txt再改扩展名,直接将处理好的工作簿保存为CSV格式即可一步到位,彻底避免文件占用问题:
' 替换原来保存为txt的代码行 .SaveAs Filename:=Upload_File_Path_C, FileFormat:=xlCSVWindows
这样直接生成符合要求的.csv文件,省去重命名步骤,也不会触发文件访问错误。
内容的提问来源于stack exchange,提问作者Megan Gilland
相关产品推荐
相关产品推荐

