ブックのコピーを保存(SaveCopyAs メソッド)
2015/12/11
SaveCopyAs メソッド
SaveCopyAs メソッド は、現在開いているブックのコピーを作成して保存する場合に使用します。(閉じているブックのコピーを保存するには、FileCopy ステートメント を使用します。詳細は、ファイルのコピーを保存(FileCopy ステートメント) を参照してください。)
object.SaveCopyAs( filename )
引数・戻り値
- object ・・・ 対象となる Workbook オブジェクトを指定します。
- filename ・・・ コピーしたブックを保存する時の名前を指定します。パスを含めると、保存場所を指定することができます。パスを省略するとカレントフォルダに保存されます。
保存場所に、同名のブックがある場合は、自動的に上書き保存されるので、上書きしたくない場合は、SaveCopyAs メソッド を実行する前に、同名ファイルがあるかどうかを確認する必要があります。
- object ・・・ 対象となる Workbook オブジェクトを指定します。
- filename ・・・ コピーしたブックを保存する時の名前を指定します。パスを含めると、保存場所を指定することができます。パスを省略するとカレントフォルダに保存されます。
保存場所に、同名のブックがある場合は、自動的に上書き保存されるので、上書きしたくない場合は、SaveCopyAs メソッド を実行する前に、同名ファイルがあるかどうかを確認する必要があります。
SaveCopyAs メソッド 使用例
サンプルVBAソース
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
Sub Sample_SaveCopyAs() Dim OpenBook As String Dim CopyBook As String Dim w As Workbook Dim Result, Prompt, Buttons, Title 'コピー元のブック名 OpenBook = "C:\Documents\test01.xlsx" '保存するブック名 CopyBook = "C:\Documents\mybook.xlsx" 'コピー元ブックを開く Set w = Workbooks.Open(OpenBook) '同名のブックが存在する時の処理 If Dir(CopyBook) <> "" Then 'メッセージボックス表示 Prompt = "同名ファイルが存在します。" & Chr(13) & "上書きしますか?" Buttons = vbYesNo + vbInformation + vbDefaultButton2 Title = "ブックのコピーを保存" Result = MsgBox(Prompt, Buttons, Title) '「No」を選択した時、ブックを閉じて終了 If Result = vbNo Then MsgBox "終了します。" w.Close Exit Sub End If End If 'コピーを保存後、開いたブックを閉じる w.SaveCopyAs CopyBook MsgBox "コピーを保存しました。" w.Close End Sub |
実行結果
【実行前】
【サンプルVBAソースを実行】
関連記事
-
-
前後のワークシートを参照する(Previous プロパティ,Next プロパティ)
Previous プロパティ 指定したシートの前(左側)のシートを参照します。 …
-
-
ブックを参照(Workbooks プロパティ,Windows プロパティ)
アクティブなワークブックを参照 現在使用中のワークブック、複数ある場合は一番手前 …
-
-
WorksheetView オブジェクト
WorkSheetView オブジェクト 行列番号や枠線の表示・非表示の設定など …
-
-
印刷のページ区切り(DisplayPageBreaks プロパティ)
DisplayPageBreaks プロパティ 印刷したあとや印刷プレビューを表 …
-
-
印刷設定(偶数ページのヘッダー・フッターを設定)OddAndEvenPagesHeaderFooter, EvenPage
偶数ページに別のヘッダーおよびフッターを設定 偶数ページのヘッダーおよびフッター …
-
-
選択されているシートを参照する(SelectedSheets プロパティ)
SelectedSheets プロパティ 選択されているすべてのシートをあらわす …
-
-
Excel を全画面表示(DisplayFullScreen プロパティ)
DisplayFullScreen プロパティ DisplayFullScree …
-
-
印刷設定を高速化(PrintCommunication プロパティ)
PrintCommunication プロパティ PrintCommunicat …
-
-
印刷のタイトル行、タイトル列を設定(PrintTitleRows,PrintTitleColumns)
PageSetup.PrintTitleRows プロパティ PageSetup …
-
-
数式を表示(DisplayFormulas プロパティ)
数式を表示(DisplayFormulas プロパティ) セルに数式が入力されて …


