Vba 如何在Excel中更改文档的名称?
我有一个启用宏的模板,名为TIP-PBI.xltm。基于此模板创建文档时,Excel会自动将其命名为TIP-PBI1。但是,我想给它一个自定义名称 我想我可以通过修改工作簿的.Title属性来做到这一点。为此,启动工作簿时,将启动“打开”事件,并执行以下操作:Vba 如何在Excel中更改文档的名称?,vba,excel,excel-2010,Vba,Excel,Excel 2010,我有一个启用宏的模板,名为TIP-PBI.xltm。基于此模板创建文档时,Excel会自动将其命名为TIP-PBI1。但是,我想给它一个自定义名称 我想我可以通过修改工作簿的.Title属性来做到这一点。为此,启动工作簿时,将启动“打开”事件,并执行以下操作: Private Sub Workbook_Open() Dim strPBI As String strPBI = InputBox$("Enter PBI", "Enter PBI") ThisWorkbook
Private Sub Workbook_Open()
Dim strPBI As String
strPBI = InputBox$("Enter PBI", "Enter PBI")
ThisWorkbook.Title = "TIP-PBI-" & strPBI
End Sub
然而,这没有任何作用
如何在启动时更改文档的标题?更改工作簿名称的唯一方法是保存它(),以便执行以下操作
ThisWorkbook.SaveAs ThisWorkbook.Path & "" & FileName & ".xls"
如果你只想建议一个名字,那么你可以使用或
如果新工作簿是从模板创建的,则采用模板名称。因此,如果我希望设置新工作簿的名称,我会将一个虚拟模板复制到所需的名称,然后根据重命名的模板打开新工作簿
strFile = "C:\Temp\" & strnewname & ".xltx "
FileCopy "C:\Temp\Dummy.xltx", strFile
'Open template to new workbook
Workbooks.Open Filename:=strFile
Kill strFile 'delete renamed template
我认为在WB中更改名称的唯一选择是将其保存为类似于
ThisWorkbook.SaveAs ThisWorkbook.Path&“&Target.Text&“.xls”
@TomIngram您是对的:回答这个问题。从模板启动新文档时,所有Office应用程序都会为新(未保存)文件提供模板名称,并在文件末尾添加序号。更改的唯一方法是使用新名称保存它。@TomIngram我如何覆盖用户按下“保存”按钮?我不需要在启动时保存它,只需要更改文档标题,这样当用户单击save
时,我的自定义名称就是建议的文件名。
strFile = "C:\Temp\" & strnewname & ".xltx "
FileCopy "C:\Temp\Dummy.xltx", strFile
'Open template to new workbook
Workbooks.Open Filename:=strFile
Kill strFile 'delete renamed template