簡體   English   中英

如何在VBA中自動命名新的Excel工作簿

[英]How to name a new Excel workbook automatically in VBA

我想創建一個新工作簿並將其命名為今天的日期和DE。 (例如:22.01.2018-DE) Format(Date, "dd/mm/yyyy") & "-DE"

如果工作簿已經存在或打開,則將其刪除或關閉。 最后保存工作簿。 我使用下面的代碼,但無法正常工作。 顯示object defined error 幫我

我需要將Land-DE重命名為22.01.2018-DE。

Sub createlandDE()
Dim wb As Workbook
Set wb = Workbooks.add
ActiveWorkbook.Names.add Name:=Format(Date, "dd/mm/yyyy") & "-DE"
Dim path As String
Dim FSO As Object
path = "Q:\Job\Land-DE.xlsx" 'Need to rename the file here
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(path) Then
    On Error Resume Next
        Workbooks("Land-DE").Close False 'Workbook name must automatically come here
        Kill path
        wb.SaveAs path
    Else
    wb.SaveAs path
 End If

這個怎么樣:

Sub createlandDE()
Dim wb As Workbook
Set wb = Workbooks.Add
NameValue = Format(Date, "dd-mm-yyyy") & "-DE"
Dim path As String
Dim FSO As Object
delpath = "Q:\Job\Land-DE.xlsx" 'Need to name the file to delete
path = "Q:\Job\" & NameValue & ".xlsx" 'Need to rename the file here

Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(path) Then
    On Error Resume Next
        Workbooks(NameValue).Close False
        Kill delpath
        wb.SaveAs path
    Else
    wb.SaveAs path
 End If
End Sub

嘗試另存為:

Workbooks("Land-DE").SaveAs Filename:="Q:\Job\22.01.2018.xlsx"

然后刪除具有舊名稱的文件。 為了使其看起來更好,請考慮將"Q:\\Job\\22.01.2018.xlsx"為String變量。

我相信您在編輯錯誤的屬性。

我只使用ActiveWorkbook.Name = [您所需的名稱]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM