ブックの操作
・ブックを開く
・ブックを保存する
・ブックを閉じる
【ここでのポイント】
公式テキストでは、かなりあっさりした内容となっています。
VBA試験としてはあまり細かい内容は出題されないということなのだろうと思います。
試験の出題範囲に入っている以上、細部についても絶対に出題されないという事ではないと思います。
従って、一通りの機能は把握しておいた方が良いので、
ブックを開くときの引数の細部や、いろいろな保存方法については必ず目を通しておいてください。
開く・保存・閉じる、これらに伴うイベント発生は気にしなくて良いでしょう。
スタンダートを受ける人は、別途イベントの章で学んでください。
ブックを開く
他のブックを開くには、WorkBooksコレクションのOpenメソッドを使います。
名前 | 説明 |
FileName | 開くブックのファイル名。 |
UpdateLinks | ファイル内の外部参照 (リンク) の更新方法を指定します。 |
ReadOnly | ブックを読み取り専用モードで開くには、True を指定します。 |
Format | テキスト ファイルを開く場合は、この引数で区切り文字を指定します。 |
Password | パスワード保護されたブックを開くのに必要なパスワードを指定します。 |
WriteResPassword | 書き込み保護されたブックに書き込みをするために必要なパスワードを指定します。 |
IgnoreReadOnlyRecommended | [読み取り専用を推奨する] チェック ボックスをオンにして保存されたブックを開くときでも、読み取り専用を推奨するメッセージを非表示にするには、True を指定します。 |
Origin | 開こうとしているファイルがテキスト ファイルの場合、それがどのような形式のテキスト ファイルかを指定します。 |
Delimiter | 開こうとしているファイルがテキスト ファイルで、引数 Format が 6 の場合は、この引数で区切り文字を使用します。 |
Editable | 開こうとしているファイルが Excel 4.0 のアドインの場合、この引数に True を指定すると、アドインがウィンドウとして表示されます。 |
Notify | ファイルが読み取り/書き込みモードで開けない場合に、ファイルを通知リストに追加するには、True を指定します。 |
Converter | ファイルを開くときに最初に使用するファイル コンバーターのインデックス番号を指定します。 |
AddToMru | 最近使用したファイルの一覧にブックを追加するには、True を指定します。既定値は False です。 |
Local | Excel の言語設定 に合わせてファイルを保存するには、True を指定します。 |
CorruptLoad | 開くモードを、抽出モード、正常、修復モードから指定します。 |
戻り値
ベーシックでは出題範囲に無いので、気にしなくても良いです。
スタンダードでは、オブジェクト変数のところで学んでください。
太字の引数は、実務で良く使う引数になります。
従って、試験にも出る可能性があると思われます。
そのよう使い方をせず、フルパスで指定することが基本です。
UpdateLinks
この引数を省略すると、リンクの更新方法を確認するメッセージがユーザーに表示されます。
3 : 外部参照 (リンク) が更新されます。
0はFalseと記す事もできます、VBAでは、False=0です。
ReadOnly
Password、WriteResPassword
使用例
このように、引数が複数になる場合は、名前付き引数を使用した方が良いでしょう。
Workbooks.Addメソッド
名前 | 説明 |
Template | 新しいブックの作成方法を指定します。 この引数を省略すると、いくつかの空白シートから構成される新しいブックが作成されます。 空白シートの数は、SheetsInNewWorkbook プロパティで設定されます。 |
実務では、滅多に使う事がありません。
試験には、引数を省略した場合しか出題されないはずです。
ブックを保存する
・上書き保存
・名前を付けて保存
・コピーの保存
実務としては結構使う場合もありますので、ここで一緒に覚えておいた方が良いでしょう。
名前を付けて保存
Filename | 保存するファイルの名前を表す文字列を指定します。 |
FileFormat | ファイルを保存するときのファイル形式を指定します。 |
Password | ファイルを保護するためのパスワードを表す15 文字以内の文字列を指定します。 |
WriteResPassword | ファイルの書き込みパスワードを表す文字列を指定します。 |
ReadOnlyRecommended | 読み取り専用で開くことを推奨するメッセージを表示するには、True を指定します。 |
CreateBackup | バックアップ ファイルを作成するには、True を指定します。 |
AccessMode | ブックのアクセス モードを指定します。 |
ConflictResolution | ブックを保存するときの競合の解決方法を指定します。 |
AddToMru | 最近使用したファイルの一覧にブックを追加するにはTrueを指定。既定値はFalseです。 |
TextCodepage | 使用しない。 |
TextVisualLayout | 使用しない。 |
Local | 通常は使用しない。 ※csv出力時 日付がm/d/yyyyになってしまう場合に、yyyy/m/dにする場合にはTrueを指定 |
全ての引数がオプション(任意の指定)となっていますが、通常は、FileNameは必ず指定します。
FileFormat
xlExcel9795 : Excel2003以前のxls
使用例
コピーの保存
ブックを閉じる
ワークブックを閉じる場合は、WorkBookオブジェクトのCloseメソッドを使用します。
SaveChanges | ブックに変更がない場合、この引数は無視されます。ブックに変更がある場合、この引数で変更を保存するかどうかを指定します。 |
Filename | 変更後のブックのファイル名。 |
RouteWorkbook | ブックの回覧。 |
全ての引数がオプション(任意の指定)となっています。
ブックに変更がある場合は、保存確認のメッセージが表示されます。
Application.DisplayAlerts = False
これが指定されている場合は、確認のメッセージが表示されずに保存されます。
SaveChanges
以下は、出題範囲に明記されていませんが、
この章で学んでおいた方が良いと思われるものになります。
複数ブックの操作
エクセルでは、複数ブックを扱います。
しかし、
ブックは複数選択は出来ません。
アクティブブックは1つだけ存在します。
ブックをアクティブにする
上記、2つは、1つのブックに対し複数のウインドウを開いている時に違いが発生します。
ブックに対し1つしかウインドウが存在しない場合は、
ブックを指定する
どのブックのどのシートでも扱う事が出来ます。
Workbooks(1)
このように、ブックのインデックス(順番)で指定することもできます。
WorkBookオブジェクトのメソッドとプロパティ
さすがに上記以外のメソッドは試験には出ないと思います。
プロパティについては、以下のSavedプロパティが出題可能性がありそうに思われます。
値の取得および設定が可能です。
使用例
他のブックが開かれていない場合は、Excelを終了する場合。
Sub 保存して終了()
If Workbooks.Count > 1 Then
ThisWorkbook.Close
SaveChanges:=True
Else
ThisWorkbook.Save
Application.Quit
End
If
End Sub
Sub 保存しないで終了()
If Workbooks.Count > 1 Then
ThisWorkbook.Close
SaveChanges:=False
Else
ThisWorkbook.Saved =
True
Application.Quit
End If
End
Sub
Application.Quit
Applicationオブジェクトのメソッドで、Excelを終了します。
.SavedをTrueにすることで、保存後に変更が無い状態にすることで、
Close時に、保存確認のメッセージが表示されないようにしています。
ファイルを指定するダイアログについて
Application.GetOpenFilename
これだけが紹介されています。
しかし、
試験の出題範囲には、ベーシック・スタンダードともにはっきりとは明記されてはいません。
項目としては、Applicationのメソッドになりますが、この項目が無いからです。
ここで学んでおいた方が良いでしょう。
「名前を付けて保存」ダイアログは、Application.GetSaveAsFilename
【業務改善の実務】
むしろ、フォルダやファイル名は流動的な場合が多々あります。
このような流動的なフォルダ・ファイルを処理するためには、
Dir関数と組み合わせて使用することになります。
csvをテキストとして取り込むだけでなく、ブックとして開く場合もあります。
その為には、基本のメソッドについては、しっかりと覚えておきましょう。
【本サイト内の関連ページ】
第74回.ファイルを開くダイアログ(GetOpenFilename)
第17回.セルにブック・シートを指定する
VBAエキスパート公式テキスト
こちらは必須として購入した方が良いでしょう。
ちょっと高いなーとは思いますが、
書籍を購入することで、学習用データが提供されています。
・サンプルブック
・VBAエキスパート模擬問題
これらが使えるようになります。
このシリーズでは、テキストを読みながら学習していることを前提とします。
同じテーマ「VBAエキスパート対策」の記事
変数と定数
セルの操作
ステートメント
ブックの操作
シートの操作
デバッグデの基礎
マクロの実行
VBAベーシック試験対策まとめ
プロシージャ
イベント
ステートメント(スタンダード)
新着記事NEW ・・・新着記事一覧を見る
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(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)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門
- ホーム
- マクロVBA入門編
- VBAエキスパート対策
- ブックの操作
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。