VBA:重命名复制的工作表

我有这行代码复制工作表到一个新的工作簿:

OrderForm.Copy ' copy worksheet to new workbook 

新的工作簿显示为Book n .xlsx: 在这里输入图像说明


当保存这是什么显示: 在这里输入图像说明

我没事的,如果它显示为标题栏上的书n ,我不想自动保存它,但我想要的是有一个默认的名称(也默认为.xlsx),当用户决定保存它, 喜欢这个:

在这里输入图像说明

使用BeforeSave事件捕获用户保存,然后用初始值显示自己的对话框(如下所示):

 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim fName As String Cancel = True fName = Application.GetSaveAsFilename("Default Name", _ "Excel Workbook (*.xlsx), *.xlsx," & _ "Macro Enabled Workbook (*.xlsm), *xlsm") ThisWorkbook.SaveAs fName End Sub