3.3 ワークブックの上書き保存
ワークブックを上書き保存する方法です。単純に同じ名前で同じ場所に保存(上書き保存)する場合は、???.Saveというメソッドを使います。

???の部分は、ThisWorkbookWorkbooks(n)ActiveWorkbookなどのワークブックを表すオブジェクトです。詳しくは、2.1 直接指定する方法2.2 間接的に指定する方法をどうぞ。
上書き保存の方法
???.Saveの基本的な使い方色々です。自分自身を上書き保存するときと、他のワークブックを選択して上書き保存する2つの方法があります。

まずは、自分自身を上書き保存する場合ですが、ThisWorkbookを付け、次にように行います。

ThisWorkbook.Save


次に、開いている他のワークブックを上書き保存したい場合ですが、まずは対象のワークブックをWorkbooks(n).Activateで選択した後、ActiveWorkbook.Saveで保存する間接指定の方法と、

Workbooks(n).Activate
ActiveWorkbook.Save

Workbooks(n).Save直接ワークブックを指定する方法があります。どちらも同じ動作なのでどっちを使うかは好みの問題ですが、いちおう後者を推奨しておきます。

Workbooks(n).Save
使用例1/自分自身を上書き保存する
 ThisWorkbook.Saveの使用例です。ワークシートをゴソゴソ編集した後、ThisWorkbook.Save自分自身を上書き保存(@)します。なお、ゴソゴソ…の部分は「5 書式の設定をする」に書いてあるのでここでは省略します…手抜きではありません(汗)

 なお、ワークブックを閉じる方法については、3.5 ワークブックを閉じるをどうぞ。

Sub prcThisWorkbookSave()

    '編集範囲を選択します
    Range("B2:D10").Select

    '選択した範囲内のセルを塗りつぶします
    With Selection.Interior
        .ColorIndex = 10
        .Pattern = xlSolid
    End With

    '@自分自身を上書き保存します
    ThisWorkbook.Save

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです
使用例2/他のワークブックを上書き保存する
ActiveWorkbook.Saveの使用例です。c:\happyに保存してあるエクセル2002.xlsというワークブックを開き、そのワークブックのワークシートをゴソゴソ編集した後、ActiveWorkbook.Save開いたワークブックを上書き保存(@)します。なお、ゴソゴソ…の部分は「5 書式の設定をする」に書いてあるのでここでは省略します…手抜きではありません(汗)

ワークブックを選択する場合には番号や名前などの識別子を指定する必要があります。例では、開いたワークブックの「名前」を取得し、その名前で選択するようにしています。ちなみに名前の取得ですが、開いた直後は開いたワークブックが選択されている状態なので、この隙にActiveWorkbook.Nameで名前を取得しました。ワークブックの名前取得については、7.3 ワークブックの名前を知る方法もどうぞ。

なお、ワークブックを閉じる方法については、3.5 ワークブックを閉じるをどうぞ。

Sub prcActiveWorkbookSave()

    Dim strWorkBookName As String

    Workbooks.Open Filename:="c:\happy\エクセル2002.xls"
    '開いたワークブックの名前を取得します
    strWorkBookName = ActiveWorkbook.Name

    'コピー元範囲(自分自身)の指定
    ThisWorkbook.Activate
    Range("B2:D10").Copy

    '開いたワークブックの1つ目のワークシートへ
    'コピーした部分を貼り付けます
    Workbooks(strWorkBookName).Worksheets(1).Range("B2:D10").PasteSpecial

    '@保存するワークブックを選択します
    Workbooks(strWorkBookName).Activate
    'A選択したワークブックを上書き保存します
    ActiveWorkbook.Save

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです

Copyright(C) 1999-2014 結城圭介(Ver.3.51) All rights reserved