4年に一度のスポーツの祭典 全競技速報中

下記のコードでバックアップファイルの自動保存は出来るようになりましたが、
保存先を指定したい時はbackupdirをどこに書けば良いのでしょうか?
元ファイルは\データベースにあり、保存先は\データベース\backupとしたいです。
色々やってみたのですが上手く行きません。
よろしくお願いします。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim wb As String
wb = Replace(ActiveWorkbook.Name, ".xls", "")

ActiveWorkbook.SaveCopyAs _
ActiveWorkbook.Path & "\" & wb & _
Format(Now(), "yyyymmdd_hhmmss") & ".xls"
End Sub



「backupdir = "\\SV01\Share\20.賃貸部\管理課\データベース\backup」

gooドクター

A 回答 (1件)

>ActiveWorkbook.Path & "\" & wb & _



ActiveWorkbook.Path & "\backup\" & wb & _
でできませんか?
ただし、先に「backup」が存在していることを前提としています。

参考
http://excelwork.info/excel/booksavecopyas/

注意
1.当方2013を使用していますので、動作確認を下記の拡張子を用いて行いました。
~~~~~~~~~
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim wb As String
wb = Replace(ActiveWorkbook.Name, ".xlsm", "")
ActiveWorkbook.SaveCopyAs _
ActiveWorkbook.Path & "\backup\" & wb & _
Format(Now(), "yyyymmdd_hhmmss") & ".xlsm"
End Sub
~~~~~~~~~

2.「ActiveWorkbook.Path 」を使用しているため、対象ファイルの存在するフォルダーに「backup」が存在する必要があります。
「"\\SV01\Share\20.賃貸部\管理課\データベース\backup"」が上記のフォルダーでない場合は、変更してください。

3.フォルダーが存在しない場合に作成する等の操作はFSOの範疇になりますので、対応していません。

他に詳しい方も多数おられますので、どのようなエラーが出るのかを追加すれば、より詳細なアドバイスを頂けると思います。
    • good
    • 1
この回答へのお礼

お返事が遅くなって申し訳ありません。
お教えいただいた内容に書き換えてみました。
それできちんとバックアップ出来ました。
ありがとうございました。

お礼日時:2017/01/16 12:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

人気Q&Aランキング