VBA-Excel-另存为并删除原始工作簿

罗比

从Personal.xlsb文件,我希望VBA将当前活动的工作簿另存为用户可定义的名称在同一目录中,并删除原始工作簿。

下面是我的代码。它有两个问题。第一,由于某种原因,它将工作簿保存在“我的文档”文件夹中。活动的工作簿不在“我的文档”中。它位于完全不同的驱动器中的文件夹中。二,它引发“找不到文件”错误。

Sub RenameFile()
Dim thisWb As Workbook
Set thisWb = ActiveWorkbook
MyOldName = ActiveWorkbook.Name
MyNewName = InputBox("What do you want to rename the file as?", "Rename", ActiveWorkbook.Name)

ActiveWorkbook.SaveAs Filename:=thisWb.Path & MyNewName
Kill MyOldName
End Sub
tjb1

您需要\在文件名前添加一个after路径。

Sub RenameFile()
Dim thisWb As Workbook
Set thisWb = ActiveWorkbook
MyOldName = ActiveWorkbook.FullName
MyNewName = InputBox("What do you want to rename the file as?", "Rename", ActiveWorkbook.Name)

ActiveWorkbook.SaveAs Filename:=thisWb.Path & "\" & MyNewName
Kill MyOldName
End Sub

编辑:更新了答案以包括来自评论的修复。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Excel VBA - 使用通配符或部分匹配打开的工作簿无法另存为副本

Excel工作簿另存为.pdf

打开Word模板并将.doc另存为当前工作簿文件夹-Excel中的VBA

Excel VBA删除公式并另存为v2

VBA仅将可视表另存为工作簿

VBA将范围另存为工作簿

Excel VBA:将“形状”(图片)复制到另一个工作簿会使图片另存为JPEG而不是PNG

如何在Excel VBA中将每个工作表的首页另存为PDF

Excel VBA - 使用特定工作表中的内容另存为文件

Excel VBA,另存为.txt时保持格式

Excel VBA UserForm打印屏幕另存为pdf

VBA Excel将副本另存为txt文件

使用excel VBA在IE中单击“另存为”

VBA从Access将Excel文件另存为.xls

Excel VBA另存为制表符分隔文件

使用VBA在Access中将Excel文件另存为文本

VBA 将工作表另存为特定路径中的工作簿

VBA将单个工作表另存为CSV(不是整个工作簿)

将Excel工作簿的单独工作表另存为PDF

使用 VBA 将启用宏的工作簿另存为“文件名”+ 当前日期

VBA-另存为后,工作簿的对象会怎样?

VBA:xlsm文件格式的另存为,不更改活动工作簿

如何打开;另存为; 然后从PowerShell4关闭Excel 2013(启用宏)工作簿

另存为原始表单位置的路径 - VBA

另存为不接受包含“。”的字符串。在Excel VBA中

Excel VBA打开Word模板,填充,然后另存为.docx文件

如何使用Excel VBA打开.csv并将其另存为.xlsx

VBA Excel基于图纸颜色另存为PDF-根据标签颜色创建图纸阵列

VBA Excel将新文件另存为活动文件的日期