2015-09-25 40 views
0

我有一個Excel表格,我想通過宏保存到SharePoint。我有它排序,但問題是每個月的文件名將是不同的,我不想每次都必須更改宏(即filenameSeptember,filenameOctober等)。VBA宏以動態文件名保存到SharePoint

我使用了一個非常基本的宏,因爲我不是在寫他們超好,和它的作品,但它有在硬編碼的舊文件名:

Sub savetest() 

ActiveWorkbook.SaveAs Filename:= _ 
    "http://SharePointdirectory/filenameSeptember.xlsm" _ 
    , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False 

End Sub 

語境:每個月我會更新這個文件與新的數據並保存一個新的文件名,發送給用戶來驗證 - 我希望這個用戶能夠通過一個宏自動使用我稱爲文件的文件名的宏直接上傳到SP目錄。

我希望這是有道理的,並提前感謝。

回答

1

我結束了使用細胞指定文件名和保存路徑,而不是,這似乎工作:

Public Sub SavetoSP() 
ThisFile = Range("D1").Value 
ThisPath = Range("J1").Value 

ActiveWorkbook.SaveAs Filename:=ThisPath & ThisFile & ".xlsm" 
End Sub 
4

這會爲你工作

Sub savetest() 

ThisWorkbook.SaveAs Filename:= _ 
    "\\SharepointDirectory\" & ThisWorkbook.Name & MonthName(Month(Date), False) _ 
    , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False 

End Sub 
+0

你忘了「.XLSM」。並且,由於舊的宏工作,我只是使用'ht tp:// SharePointdirectory /文件名'而不是SharePoint目錄和當前工作簿的名稱。 – user3476534

+0

對不起,但不同意,你不需要「xlsm」部分,Excel會自動找出它,因爲我們已經指出了文件格式 – Jeanno

+0

運行這個文件後出現在SP中的文件是一個包含一堆東西的.zip文件,不是一個「.xlsm」文件:( – mattinwpg