ワークブックのオープン(Open メソッド)

ワークブックを開くには Workbooks コレクションの Open メソッドを使用します。引数の数が多いですが、はじめのうちは FileName だけ覚えておけばよいです。その後必要に応じて他の引数を覚えていくようにしましょう。

スポンサーリンク

Openメソッドの使用方法

構文
Workbooks.Open( FileName _
  [, UpdateLinks] [, ReadOnly] [, Format] [, Password] _
  [, WriteResPassword] [, IgnoreReadOnlyRecommended] _
  [, Origin] [, Delimiter] [, Editable] [, Notify] _
  [, Converter] [, AddToMru] [, Local] [, CorruptLoad] )
引数名 省略 データ型定数 説明
FileName × 文字列型 (String) 開くブックのファイル名(ファイルパス)を指定します。
UpdateLinks バリアント型(Variant) ファイル内のリンクの更新方法を指定します。 この引数を省略すると、リンクの更新方法を確認するメッセージがユーザーに表示されます。 1:リンクの更新方法をユーザが指定2:リンクを更新しない3:リンクを更新する
ReadOnly True / False ブックを読み取り専用モードで開くには、True を指定します。
Format バリアント型(Variant) テキスト ファイルを開く場合は、この引数で区切り文字を指定します。 この引数を省略すると、現在の区切り文字が使用されます。 1:タブ2:コンマ(,)3:スペース4:セミコロン(;)5:なし6:カスタム文字
Password バリアント型(Variant) パスワード保護されたブックを開くのに必要なパスワードを指定します。 この引数を省略した場合、パスワードが必要なブックでは、パスワードの入力を促すダイアログ ボックスがユーザーに表示されます。
WriteResPassword バリアント型(Variant) 書き込み保護されたブックに書き込みをするために必要なパスワードを指定します。 この引数を省略した場合、パスワードが必要なブックでは、パスワードの入力を促すダイアログ ボックスがユーザーに表示されます。
IgnoreReadOnlyRecommended True / False [読み取り専用を推奨する] チェック ボックスをオンにして保存されたブックを開くときでも、読み取り専用を推奨するメッセージを非表示にするには、True を指定します。
Origin バリアント型(Variant) 開こうとしているファイルがテキスト ファイルの場合、それがどのような形式のテキスト ファイルかを指定します。 コード ページと CR/LF を正しく変換するために必要です。 XlPlatform クラスの定数 xlMacintosh、xlWindows、xlMSDOS のいずれかを使用します。 このファイルを省略すると、現在のオペレーティング システムの形式が使用されます。
Delimiter バリアント型(Variant) 開こうとしているファイルがテキスト ファイルで、引数 Format が 6 の場合は、この引数で区切り文字を使用します。
Editable True / False 開こうとしているファイルが Excel 4.0 のアドインの場合、この引数に True を指定すると、アドインがウィンドウとして表示されます。 この引数に False を指定するか、この引数を省略すると、アドインは非表示の状態で開かれ、ウィンドウとして表示することはできません。
Notify True / False ファイルが読み取り/書き込みモードで開けない場合に、ファイルを通知リストに追加するには、True を指定します。 ファイルが読み取り専用モードで開かれて通知リストに追加され、ファイルが編集可能になった時点でユーザーに通知されます。 ファイルが開けない場合に、このような通知を行わずにエラーを発生させるには、False を指定するか省略します。
Converter バリアント型(Variant) ファイルを開くときに最初に使用するファイル コンバータのインデックス番号を指定します。
AddToMru True / False 最近使用したファイルの一覧にブックを追加するには、True を指定します。 既定値は False です。
Local True / False Excel の言語設定 (コントロール パネルの設定を含む) に合わせてファイルを保存するには、True を指定します。
CorruptLoad バリアント型(Variant) 使用できる定数は、xlNormalLoad、xlRepairFile、xlExtractData のいずれかです。 この引数を省略した場合の既定の動作は、通常は標準の読み込み処理となります。

一連のチェックをしてからワークブックを開く

引数 FileName だけ指定してワークブックを開く例です。ワークブックを開く前に、既に開かれているかどうか(チェック①)、ファイルが存在するかどうか(チェック②)もチェックしています。

※ワークブック”test.xlsx”は以下のサンプルマクロが組み込まれたブックと同じフォルダ内にあるものとします。

Sub sample_eb083_01()
    Dim TargetFile      As String
    Dim TargetFilePath  As String
    Dim flg_opened      As Boolean
    Dim i               As Integer

    '開きたいファイル名
    TargetFile = "test.xlsx"

    'TargetFileがマクロが組み込まれたブックと
    '同じフォルダにあるものとしてファイルパスを作成。
    TargetFilePath = ThisWorkbook.Path & "¥" & TargetFile

    '★チェック① : 既に開かれていないかチェック
    flg_opened = False
    For i = 1 To Workbooks.Count
        If Workbooks(i).Name = TargetFile Then
            flg_opened = True
            Exit For
        End If
    Next i

    If flg_opened Then
        '既に開かれている場合
        MsgBox "『" & TargetFile & "』は既に開かれています。", _
                vbExclamation
    Else
        '★チェック② : ファイルの存在チェック
        If Dir(TargetFilePath) = "" Then
            'ファイルが見つからない場合
            MsgBox "『" & TargetFile & "』が見つかりません。", _
                    vbExclamation
        Else
            'ファイルが存在している場合はブックを開く
            Workbooks.Open TargetFilePath
            MsgBox "『" & TargetFile & "』を開きました。", _
                    vbInformation
        End If
    End If
End Sub

 ThisWorkbook  ワークブックの名前とパス  ワークブックCount
 For…Next Exitステートメント MsgBox関数 Dir関数

ワークブック”test.xlsx”の配置が正しければ、初回のマクロ実行でこのブックを正常にオープンできるはずです。

sample_eb083_01実行後
sample_eb083_01実行後

“test.xlsx”を開いた状態で、再度マクロを実行すると以下のエラーが表示されます。

sample_eb083_01再実行後
sample_eb083_01再実行後

“test.xlsx”が存在しなかったり、配置場所に誤りがあると以下のメッセージが表示されます。

ファイルが存在しない場合
ファイルが存在しない場合

 ワークブックを保存する ワークブックを保存して閉じる

タイトルとURLをコピーしました