2012-07-06 28 views
2

我有一個名爲TIP-PBI.xltm的宏啓用模板。當我根據此模板創建文檔時,Excel會自動將其命名爲TIP-PBI1。但是,我想給它一個自定義名稱。如何在Excel中更改文檔的名稱?

我想我可以通過修改工作簿的.Title屬性來做到這一點。爲此,在啓動Workbook_Open事件啓動,並執行以下內容:

Private Sub Workbook_Open() 
    Dim strPBI As String 
    strPBI = InputBox$("Enter PBI", "Enter PBI") 

    ThisWorkbook.Title = "TIP-PBI-" & strPBI 
End Sub 

但是,這什麼都不做。

如何在啓動時更改文檔的標題?

+1

我認爲世行內更改名稱,你唯一的選擇是將其保存所以像'ThisWorkbook.SaveAs ThisWorkbook.Path&「」&Target.Text和「.xls的」' – 2012-07-06 22:25:11

+1

@TomIngram你對了:讓它成爲答案。從模板開始創建新文檔時,所有Office應用程序都會在新的(未保存的)文件中爲模板名稱添加一個序號。唯一的改變方法是用一個新名字保存它。 – 2012-07-06 22:29:27

+0

@TomIngram我將如何覆蓋用戶按保存按鈕?我不需要在啓動時保存它,只需要更改文檔標題,以便當用戶單擊「保存」時,我的自定義名稱就是文件的建議名稱。 – AngryHacker 2012-07-06 22:34:16

回答

5

改變工作簿名稱的唯一方法是將其保存(ref),所以你可以不喜歡

ThisWorkbook.SaveAs ThisWorkbook.Path & "" & FileName & ".xls" 

,如果你只是想提出一個名字,那麼你可以使用GetSaveAsFilename

Application.FileDialog(msoFileDialogSaveAs).InitialFileName = ThisWorkbook.Path & "" & FileName & ".xls" 
0

如果新工作簿是從模板創建的,那麼它將採用模板名稱。因此,在我希望設置新工作簿的名稱的情況下,我會將虛擬模板複製到所需的名稱,然後根據重命名的模板打開新工作簿。

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 
相關問題