我想實現的是使用Save
函數將Word文檔保存在兩個位置。但它有兩個缺點。首先,當我保存一個文件時,Word閃爍(因爲它關閉保存一個副本,並且它變爲活動文檔,關閉該文檔,然後Word返回到原始文檔)。其次,宏將我的備份添加到最近的文件,儘管AddToRecentFiles:=False
如何避免兩個故障?VBA:將Word文檔保存到兩個位置
Sub FileSave()
Dim currFile As String
Dim backup As String
backup = "C:\Users\" & Environ("UserName") & "\Documents\WordBackups\"
With ActiveDocument
If .Saved Or .Path = "" Then Exit Sub
If Dir(backup, vbDirectory) = "" Then
MkDir backup
MsgBox "Backup folder has been created.", vbInformation
End If
.Bookmarks.Add Name:="LastPosition"
Application.ScreenUpdating = False
.Save
currFile = .FullName
.SaveAs2 FileName:=backup & .Name, AddToRecentFiles:=False
End With
ActiveDocument.Close
Documents.Open FileName:=currFile
Selection.GoTo What:=wdGoToBookmark, Name:="LastPosition"
末次
閱讀和理解的代碼將是一個良好的開端,也許?嚴重的是,你將代碼從互聯網上覆制下來並運行(!),而沒有絲毫的線索,它是如何做到的呢?這是非常不明智的。 – Tomalak
首先,您應該刪除錯誤結果下一行,因爲這將隱藏任何錯誤 - 並且知道產生了哪些錯誤可能很重要! –
@Cindy這些是十八行非常明顯的代碼,至少對於那些花幾分鐘時間試圖理解它們的人來說。 OP顯然沒有做出這樣的嘗試。解釋這段代碼的做法是徒勞無益的。 – Tomalak