Excel VBA ブックを作成する ブックを開く ブックを参照する

スポンサーリンク

ブック作成や既存ブックを開いたり参照するメソッドやプロパティ一覧

メソッド・プロパティ 内容
Addメソッド
【アド】
新規ブックを作成します。
SheetsInNewWorkbookプロパティ
【シーツインニューワークブック】
新規ブックの作成時の
シートの枚数の取得と設定をします。
Openメソッド
【オープン】
既存のブックを開きます。
Wookbooksプロパティ
【ワークブックス】
開いているブックを参照します。
ActiveWorkbookプロパティ
【アクティブワークブック】
現在作業対象のブックを参照します。
ThisWorkbookプロパティ
【ディスワークブック】
現在進行中のVBAが
記述されているブックを参照します。
Activateメソッド
【アクティベイト】
指定したブックをアクティブにします。

Add【アド】メソッド

新規ブックを作成するには、Workbooks【ワークブックス】コレクションのAdd【アド】メソッドを使用します。作成されたブックはアクティブになります。

Add【アド】メソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.Add[(Template)]
【戻り値】Workbookオブジェクト

  • オブジェクト(必須)
    Workbooks【ワークブックス】コレクションを指定します。Workbook【ワークブック】オブジェクトを指定するとエラーになります。
  • Template【テンプレート】(省略可)
    作成するブックのシートの種類をxlWBAtemplate列挙型の定数で指定します。省略した場合は、Excel2016/2013では1枚のワークシートを持つブックExcel2010/2007では3枚のワークシートを持つブックが作成されます。
xlWBATemplate列挙型の定数
定数 内容
xlWBATChart グラフシート
xlWBATWorksheet ワークシート
xlWBATExcel4IntlMacroSheet Excel4インターナショナルマクロシート
xlWBATExcelMacroSheet Excel4マクロシート

SheetsInNewWorkbook【シーツインニューワークブック】プロパティ

新規ブックの作成時のシートの枚数の取得と設定を行うには、Application【アプリケーション】オブジェクトのSheetsInNewWorkbook【シーツインニューワークブック】プロパティを使用します。

SheetsInNewWorkbook【シーツインニューワークブック】プロパティの書式と設定値の説明

【取得】
オブジェクト.SheetsInNewWorkbook
【設定】
オブジェクト.SheetsInNewWorkbook = 枚数
【戻り値】長整数型(Long)

  • オブジェクト(必須)
    Application【アプリケーション】オブジェクトを指定します。
  • 枚数(必須)
    新規ブックに指定するシートの枚数を指定します。このプロパティでシート枚数を指定すると以降に作成する新規ブックのシート枚数がここで指定した枚数になります。一時的にシート枚数を変更する場合は、現在のシート枚数を先に取得しておき、シート枚数を変更したあとに、先に取得した最初のシート枚数に戻します。

シート枚数が10枚の新規ワークブックを作成するコードと解説

Sub ブック作成()
Dim シート枚数 As Long
 シート枚数 = Application.SheetsInNewWorkbook
 Application.SheetsInNewWorkbook = 10
 Workbooks.Add
 Application.SheetsInNewWorkbook = シート枚数
End Sub
1行目Dim シート枚数 As Long
Application【アプリケーション】オブジェクトのSheetsInNewWorkbook【シーツインニューワークブック】プロパティで新規ブックのシート枚数を変更する前のシート枚数を格納する変数「シート枚数」を長整数型(Long)で宣言します。


2行目シート枚数 = Application.SheetsInNewWorkbook
Application【アプリケーション】オブジェクトのSheetsInNewWorkbook【シーツインニューワークブック】プロパティを使用して現在の新規ブックを開いたときに設定されるシート枚数を取得して、変数「シート枚数」に代入します。


3行目Application.SheetsInNewWorkbook = 10
Application【アプリケーション】オブジェクトのSheetsInNewWorkbook【シーツインニューワークブック】プロパティを使用して、新規ブックのシート枚数を10枚に設定します。


4行目Workbooks.Add
Workbooks【ワークブックス】オブジェクトのAdd【アド】メソッドを使用して、新規ブックを作成します。この新規ブックにはシートが10枚作成されています。


5行目Application.SheetsInNewWorkbook = シート枚数
Application【アプリケーション】オブジェクトのSheetsInNewWorkbook【シーツインニューワークブック】プロパティを使用して、新規ブックを作成したときのシートの枚数を変数「シート枚数」に格納されている変更前のシート枚数に設定します。

Open【オープン】メソッド

保存してあるブックを開くには、Workbooks【ワークブックス】コレクションのOpen【オープン】メソッドを使用します。多くの引数がありますが、必ず指定するのはファイルの名前を示す引数FilName【ファイルネーム】です。

Open【オープン】メソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.Open(FilName[,UpdateLinks,ReadOnly,Format,Password,
WriteResPassword,IgnoreReadOnlyRecommended,Origin,Delimiter,Editable,
Notify,Converter,AddToMru,Local,CorruptLoad])

【戻り値】Workbook【ワークブック】オブジェクト

  • オブジェクト(必須)
    Workbooks【ワークブックス】コレクションを指定します。Workbook【ワークブック】オブジェクトを指定するとエラーになります。
  • FilName【ファイルネーム】(必須)
    開くブック名を保存先を表す文字列で指定します。パス(保存先)を省略してブック名のみを指定した場合は、カレントフォルダー(現在のパス)にあるブックが対象になります。
    ※指定したブックが見つからない場合や同じ名前のブックがすでに開いている場合はエラーになります。マクロが記述されているファイルと同じ場所(パス)にあるブックを開く場合は「Workbooks.Open Thisworkbook.Path & “¥ブック名.xls”」と記述します。
  • UpdateLinks【アップデイトリンク】(省略可)
    外部参照の更新方法を指定します。

    UpdateLinksの設定値
    設定値 内容
    0 外部参照を更新しません。
    3 外部参照を更新します。
  • ReadOnly【リードオンリー】(省略可)
    ブックを開くモードを指定します。Trueの場合は読み取り専用モードになります。既定値はFalseです。
  • Format【フォーマット】(省略可)
    テキストファイルを開く場合の区切り文字を指定します。

    Formatの設定値
    設定値 内容
    1 タブ区切り
    2 カンマ区切り
    3 スペース区切り
    4 セミコロン区切り
    5 区切りなし
    6 カスタム文字引数Delimiterで指定
  • Password【パスワード】(省略可)
    パスワードで保護されたブックを開く場合のパスワードを指定します。
  • WriteResPassword【ライトレスパスワード】(省略可)
    書き込み保護されたブックに書き込みを可能な状態で開く場合のパスワードを設定します。
  • IgnoreReadOnlyRecommended【イグノアリードオンリーレコメンデット】(省略可)
    Trueの場合は読み取り専用を推奨するメッセージを非表示にします。
  • Origin【オリジン】(省略可)
    テキストファイルを開く場合、そのファイル形式を指定します。
  • Delimiter【デリミタ】(省略可)
    引数Formatが6の場合の区切り文字を指定します。
  • Editable【エディテーブル】(省略可)
    Excel4.0アドインをウィンドウに表示する場合とExcelテンプレートを編集用に開く場合はTrueを指定します。
  • Notify【ノットファイ】(省略可)
    開くファイルが「読み取り/書き込みモード」で開けない場合でファイルを通知リストに通知する場合にTrueを指定します。
  • Converter【コンバーター】(省略可)
    ファイルを開くときに最初に使用するファイルコンバーターのインデックス番号を指定します。
  • AddToMru【アドトゥエムアールユー】(省略可)
    最近使用したブックの一覧にブックを追加する場合はTrueを指定します。
  • Local【ローカル】(省略可)
    ファイルの言語設定をExcel1に合わせる場合はTrue、VBAに合わせる場合はFalse(既定値)を指定します。
  • CorruptLoad【コラアプットロード】(省略可)
    読み込み方法を指定します。

    CorruptLoadの定数
    定数 内容
    xlNormalLoad 標準の読み込み
    xlRepairFile ブックの修復
    xlExtractData ブックのデータの回復

Wookbooks【ワークブックス】プロパティ

開いていいるブックを参照するには、Application【アプリケーション】オブジェクトのWorkbooks【ワークブックス】プロパティを使用します。

Workbooks【ワークブックス】プロパティの書式

[]内は省略可能です。
[オブジェクト].Workbooks(Index)
【戻り値】Workbook【ワークブック】オブジェクト

  • オブジェクト(省略可)
    Applicationオブジェクトを指定します。通常は省略します。
  • Index【インデックス】(必須)
    インデックス番号または、ブック名を表す文字列を指定します。インデックス番号は、ブックを開いた順に自動的に1、2、3・・・と連番が付けられます。
    ※個人用マクロブックを作成している場合は個人用マクロブックが常にWorkbook(1)になります。個人用マクロブックは非表示の状態で常にExcel起動と同時に開きます。

ActiveWorkbook【アクティブワークブック】プロパティ

ThisWorkbook【ディスワークブック】プロパティ

現在作業対象になっているWorkbook【ワークブック】オブジェクトを参照するには、ActiveWorkbook【クティブワークブック】プロパティを使用します。現在進行中のVBAコードが記述されているWorkbook【ワークブック】オブジェクトを参照するには、ThisWorkbook【ディスワークブック】プロパティを使用します。アクティブブックにVBAコードが記述されている場合は、ActiveWorkbookプロパティ、ThisWorkbookプロパティ、共に同じブックを参照します。

ActiveWorkbook【アクティブワークブック】
ThisWorkbook【ディスワークブック】プロパティの書式と設定値の説明

[]内は省略可能です。
[オブジェクト].ActiveWorkbook
[オブジェクト].ThisWorkbook
【戻り値】Workbook【ワークブック】オブジェクト

  • オブジェクト(省略可)
    Application【アプリケーション】オブジェクトを指定します。通常は省略します。

Activate【アクティベイト】メソッド

指定したブックをアクティブにするには、Workbook【ワークブック】オブジェクトActivate【アクティベイト】メソッドを使用します。

Activate【アクテベート】メソッドの書式と設定値の説明

オブジェクト.Activate
【戻り値】Workbook【ワークブック】オブジェクト

  • オブジェクト(必須)
    Workbook【ワークブック】オブジェクトを指定します。

※指定したブックが開いていない場合はエラーになります。WorkBook【ワークブック】オブジェクトはSelect【セレクト】メソッドを持たないため、ブックを選択する場合は、Activate【アクティベート】メソッドを使用します。


以上で、ブックを作成する ブックを開く ブックを参照するについての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告