
ブックを非表示で開く 3行マクロ 57回
Workbooks.Openメソッドを使うとファイルのパスを指定してファイルを開くことができます。
別のブックにデータを入力しておいて利用したいけれど、そのブックを表示したくないというケースがあります。
ブックを開いても非表示にするマクロがあればいいですね。
今回は、ブックを非表示で開くマクロを作ります。
(サンプルファイルは、こちらから 3行マクロ57回サンプルデータ)
Excelバージョン:

Sub ブックを開く()
Workbooks.Open Filename:="C:\Book1.xls"
End Sub
expression.Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)
| 名前 | 説明 |
|---|---|
| FileName(必須) | String 。 開くブックのファイル名です。 |
| UpdateLinks | ファイル内の外部参照 (リンク) の更新方法を数値指定します。 この引数が省略された場合は、リンクの更新方法を指定するように求められます。 |
| Microsoft Excel が WKS、WK1、WK3 形式のファイルを開いていて、UpdateLinks 引数が 0 の場合、グラフは作成されませんが、そうでない場合は、ファイルに添付されたグラフからチャートが生成されます。 | |
| ReadOnly | ブックを読み取り専用モードで開くには、True を指定します。 |
| Format | テキスト ファイルを開く場合は、この引数で区切り文字を指定します。 この引数を省略すると、現在の区切り文字が使用されます。 このパラメーターで使用する値の詳細については、「備考」を参照してください。 |
| Password | パスワード保護されたブックを開くのに必要なパスワードを指定します。 この引数を省略した場合、パスワードが必要なブックでは、パスワードの入力を促すダイアログ ボックスがユーザーに表示されます。 |
| WriteResPassword | 書き込み保護されたブックに書き込みをするために必要なパスワードを指定します。 この引数を省略した場合、パスワードが必要なブックでは、パスワードの入力を促すダイアログ ボックスがユーザーに表示されます。 |
| IgnoreReadOnlyRecommended | [ 読み取り専用を推奨する] チェック ボックスをオンにして保存されたブックを開くときでも、読み取り専用を推奨するメッセージを非表示にするには、 True を指定します。 |
| Origin | ファイルがテキスト ファイルの場合、この引数でファイルの作成元を指定します。これにより、コード ページと改行コード (CR/LF) を正しくマッピングできます。 使用できる定数は、XlPlatform クラスの xlMacintosh、xlWindows、xlMSDOS?のいずれかです。 この引数を省略すると、現在のオペレーティング システムが使用されます。 |
| Delimiter | ファイルがテキスト ファイルで、Format 引数が 6 の場合は、この引数は区切り記号として使用する文字を指定する文字列です。 たとえば、タブには Chr(9) を、カンマには ","、セミコロンには ";" を使用し、またはカスタム文字を使用します。 文字列の最初の文字のみが使用されます。 |
| Editable | 開こうとしているファイルが Excel 4.0 のアドインの場合、この引数に True を指定すると、アドインがウィンドウとして表示されます。 この引数に False を指定するか、この引数を省略すると、アドインは非表示の状態で開かれ、ウィンドウとして表示することはできません。 この引数は、Excel 5.0 以降で作成されたアドインには適用されません。 |
| 開こうとしているファイルが Excel テンプレートの場合、 True を指定すると、テンプレートが編集用に開きます。 False を指定すると、テンプレートを基に新しいブックが開きます。 既定値は False です。 | |
| Notify | ファイルが読み取り/書き込みモードで開けない場合に、ファイルを通知リストに追加するには、True を指定します。 ファイルが読み取り専用モードで開かれて通知リストに追加され、ファイルが編集可能になった時点でユーザーに通知されます。 ファイルが開けない場合に、このような通知を行わずにエラーを発生させるには、 False を指定するか省略します。 |
| Converter | ファイルを開く際に最初に試すファイル コンバーターのインデックスです。 指定されたファイル コンバーターが最初に試されます。このコンバーターがファイルを認識できない場合、他のすべてのコンバーターが試されます。 コンバーター インデックスは FileConverters プロパティで返されたコンバーターの行番号で構成されています。 |
| AddToMru | 最近使用したファイルの一覧にブックを追加するには、 True を指定します。 既定値は False です。 |
| Local | Excel の言語設定 (コントロール パネルの設定を含む) に合わせてファイルを保存するには、True を指定します。 Visual Basic for Applications (VBA) の言語設定に合わせてファイルを保存する場合は、False?(既定値) を指定します。VBA の設定は、通常、Workbooks.Open を実行する VBA プロジェクトが Excel バージョン 5 または 95 の各国語版で作成されたプロジェクトでない限り、英語 (米国) になります。 |
| CorruptLoad | 使用できる定数は、xlNormalLoad、xlRepairFile、xlExtractData のいずれかです。 このパラメーターに値が指定されていない場合の既定の動作は xlNormalLoad になり、OM を通じて開始するときに回復は行われません。 |
ActiveWorkbook.Path + "\リスト.xlsx"ファイル名のところに入替えましょう。
Sub ブックを非表示で開く()
Workbooks.Open Filename:=ActiveWorkbook.Path + "\リスト.xlsx", ReadOnly:=True
End Sub
ActiveWindow.Visible = False前記のコードにこの1行を追加します。
Private Sub Workbook_Open()
Workbooks.Open Filename:=ActiveWorkbook.Path + "\リスト.xlsx", ReadOnly:=True
ActiveWindow.Visible = False
End Sub

Application.ScreenUpdating = False
Private Sub Workbook_Open2()
Application.ScreenUpdating = False
Workbooks.Open Filename:=ActiveWorkbook.Path + "\リスト.xlsx", ReadOnly:=True
ActiveWindow.Visible = False
End Sub
以上で非表示でブックを開くマクロは完成です。
