2013-05-03 67 views
3

我對VB很新,很感謝找到這個站點!VB保存到當前路徑和文件名,再加上當前日期到文件名

我搜索和審查了每個自動建議的類似Q &我的問題的鏈接,但沒有找到我正在尋找什麼(也許是因爲我不明白我在看什麼... ;-) 。

我用從其他用戶的question這個Excel宏,回答Siddharth Rout:

Macro with Save Current Date

Sub Save() 
    Dim FilePath As String 
    Dim NewName As String 

    FilePath = "X:\": NewName = FilePath & "file" & Format(Date, "MM-DD-YYYY") & ".xlsm" 

    ActiveWorkbook.SaveAs Filename:=NewName, FileFormat _ 
    :=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False 
End Sub 

這工作完全,如果我想要的文件被命名爲「文件」(或任何我插在引號)。

但是,我如何編輯這個宏,以便它可以在任何打開的文件上工作,以便將當前日期添加到文件的現有路徑和文件名中?

在此先感謝您的幫助!

安迪

回答

3
dim last_dot as long 
last_dot = InStrRev(ActiveWorkbook.FullName, ".") 

dim NewName as string 
NewName = Left$(ActiveWorkbook.FullName, last_dot - 1) & Format$(Date, "MM-DD-YYYY") & Mid$(ActiveWorkbook.FullName, last_dot) 
+0

非常感謝您!你能爲我進一步貶低它嗎? :-)我在哪裏插入你的腳本,它在我的代碼是什麼?謝謝! – AMM 2013-05-03 20:08:10

+0

它以非包含方式替代'Sub Save()'和'ActiveWorkbook.SaveAs'之間的代碼。 – GSerg 2013-05-04 07:32:48

+0

再次感謝您 - 收到運行時錯誤'1004':「此擴展名不能用於所選的文件類型。在文件名文本框中更改文件擴展名或通過更改另存爲類型來選擇不同的文件類型「。我在黑暗中拍攝了一張完整的noob鏡頭,並刪除了FileFormat部分。這有效,但我不知道爲什麼。如果你有時間來解釋,我會很感激 - 無論如何,感謝您的幫助! – AMM 2013-05-07 21:01:21

相關問題