マクロ記録でVBA
開く・保存・閉じる

Excelマクロの自動記録を使って、エクセルVBAの初心者向け入門解説
公開日:2013年5月以前 最終更新日:2013-02-18

第25回.開く・保存・閉じる


いろいろやってきましたが、


変更したエクセルをマクロで保存する必要があります。


さらに、その前に、他のブックを開くことも必要になってきます。



ではマクロの記録です。


1.マクロの記録

2.フャイル

3.開く・・・ファイルを指定(C:\Excel\Book2.xls)

3.記録終了


作成れたマクロは・・・


Sub Macro1()
'
' Macro1 Macro
'

'
  ChDir "C:\Excel"
  Workbooks.Open Filename:="C:\Excel\Book2.xls"
End Sub


ChDir "C:\Excel"
これは無視して下さい。

必要ないです。


Workbooks.Open Filename:="C:\Excel\Book2.xls"
これでブックを開きます。

まあ、読んだ通りです。


Filename:="C:\Excel\Book2.xls"
ここでの指定は、フルパスで指定します。



では、上書き保存をやってみます。


マクロの記録です。



1.マクロの記録

2.上書き保存

3.記録終了



作成れたマクロは・・・


Sub Macro2()
'
' Macro2 Macro
'

'
  ActiveWorkbook.Save
End Sub


ActiveWorkbook.Save
これで保存されます。



では、名前を付けて保存をやってみます。



マクロの記録です。



1.マクロの記録

2.名前を付けて保存・・・名前を付けます(Book2.xls)

3.記録終了



作成れたマクロは・・・




Sub Macro3()
'
' Macro3 Macro
'

'
  ActiveWorkbook.SaveAs Filename:="C:\Book2.xls", FileFormat:=xlExcel8, _
    Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
    CreateBackup:=False
End Sub


ActiveWorkbook.SaveAs

これが、名前を付けて保存です。


Filename:="C:\Excel\Book2.xls"
ここでの指定は、フルパスで指定します。



FileFormat

ファイルを保存するときのファイル形式を指定します。

xlExcel7 39 Excel7
xlExcel8 56 Excel8
xlExcel9795 43 Excel9795

上記以外、多くの指定があります。ヘルプで確認して下さい。


Password

ファイルを保護するためのパスワードを表す 15 文字以内の文字列を指定します。


WriteResPassword

ファイルの書き込みパスワードを表す文字列を指定します。


ReadOnlyRecommended

ファイルを開くときに、読み取り専用で開くことを推奨するメッセージを表示するには、True を指定します。


CreateBackup

バックアップ ファイルを作成するには、True を指定します。


Password以下は、使わなければ指定は不要です。



では、ブックを閉じる時はどうでしょう。


自分のブックを閉じてしまうと、マクロの記録が困るので、他のブックを閉じてみます。


マクロの記録をするブックは、Book1、閉じるブックは、Book2です。



マクロの記録です。



1.マクロの記録

2.Book2を選択

3.閉じる

4.記録終了



作成れたマクロは・・・


Sub Macro4()
'
' Macro4 Macro
'

'
  Windows("Book2.xls").Activate
  ActiveWindow.Close
End Sub


Windows("Book2.xls").Activate
Book2を選択


ActiveWindow.Close
現在のウインドウを閉じます。


これは、Book2に変更がなかった場合です。


Book2に変更があった場合は、保存の応答が出ます。


そこで、保存を選択した場合は、


Sub Macro4()
'
' Macro4 Macro
'

'
  Windows("Book2.xls").Activate

  ActiveWorkbook.Save
  ActiveWindow.Close
End Sub


このように、

ActiveWorkbook.Save
これで、保存されます。

ActiveWorkbook..Close
でも良いです。



保存して閉じる、保存しないで閉じる、これらを、一度に指定する方法があります。


保存して閉じる

ActiveWorkbook.Close SaveChanges:=True


保存しないで閉じる

ActiveWorkbook.Close SaveChanges:=False


保存しない場合は良いですが、保存する場合は、

ActiveWorkbook.Save
ActiveWorkbook.Close
のほうが、間違いが少ない気がします。

TrueFalseを間違えて、保存されなかったら困りますので。





同じテーマ「マクロの記録でVBA」の記事

第16回.行の挿入・削除
第17回.並べ替え
第18回.オートフィルタ
第19回.オートフィルタ2
第20回.ジャンプのセル選択
第21回.条件付き書式
第22回.シートの移動コピー
第23回.セルの結合
第24回.印刷
第25回.開く・保存・閉じる
第26回.最終回


新着記事NEW ・・・新着記事一覧を見る

ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.ひらがな⇔カタカナの変換|エクセル基本操作
5.繰り返し処理(For Next)|VBA入門
6.変数宣言のDimとデータ型|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.Findメソッド(Find,FindNext,FindPrevious)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。


このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ