シートとブック

ブックの保存と現在パス

 ブックは必ずしも閉じる時のみに保存されるものではありません。作成途中で一旦保存し、その後そのまま作業を継続することがあります。プログラムで自動的に保存するようにしておけば、もしもの事態に対しても安心です。

ブックを上書き保存する(閉じない)

開いているブックを上書き保存するには、Saveメソッドを使います。

 Workbookオブジェクト.Save

Sub 上書保存()

 ActiveWorkbook.Save

End Sub

これでアクティブブックを上書き保存します。

開いているすべてのブックを上書き保存する場合は次のようになります。

Sub All上書保存()

 Dim xFile

 For Each xFile In Workbooks

  xFile.Save

 Next

End Sub

開いているブックを一つづつxFileに取り込んで、そのたびにそのブックを上書き保存することになります。

ブックに名前を付けて保存

 ブックに名前を付けて保存するには、SaveAsメソッドにファイル名やファイル形式の引数を付けて保存します。

 Workbookオブジェクト.SaveAs Filename:=”ファイル名”,FileFormat:=”ファイル形式”

Sub Book名前保存()

 ActiveWorkbook.SaveAs Filename:=_

Format(“E:\MyProgram.xlsm”)

End Sub

Excelブックを名前を付けて保存する時、いろいろな形式での保存ができます。

ブック保存後の変更確認

 ブックが一旦保存され、その後変更されたがどうか確認するには「Savedプロパティ」を使います。

 Workbookオブジェクト.Saved

Sub 変更確認()

 If ActiveWorkbook.Saved = False Then ’①

  MsgBox “上書き保存します。”

  ActiveWorkbook.Save

 Else ’②

  MsgBox “ブックの変更はありません”

 End If

End Sub

①アクティブブックの変更が必要な場合

②変更不要(変更なし)の場合

現在ブックのパス

 指定されたブックのパス(絶対パス)を求めるには「Pathプロパティ」を使います。

 Workbookオブジェクト.Path

Sub Bookパス()

 Dim xPT As String

 xPT = ActiveWorkbook.Path ‘①

 Workbooks.Add ‘②
 ActiveWorkbook.SaveAs Filename:=_

xPT & “\” & Format(“MyNewPro.xls”) ‘③

End Sub

① 絶対パスを変数xPTに格納

② 新しいブックを作成

③ MyNewPro.xls のファイル名で同じパスに保存

ブックの作成と開閉方法  ここでは Excelの新しいブックを作成する方法、既存のブックを開く方法、ブックの閉じる方法等について解説します。 新...
ブック開く時、閉じる前の処理実行  ブックを開く時にある決まった処理を実行したいとき、そしてブックを閉じる直前に決まった処理を実行して終了したいときの方法について解説し...