VBA を使用して Microsoft Excel でパスを指定してブックを開く

Bilal Shahid 2023年6月21日
VBA を使用して Microsoft Excel でパスを指定してブックを開く

今日のチュートリアルでは、VBA でコマンドを使用して、パスを指定するだけで別のブックを開く方法を学習します。

Microsoft Excel で特定のパスにあるワークブックを開く

VBA を使用すると、いくつかのコマンドを使用するだけですべてのタスクを実行できます。 たとえば、VBA でパスを使用してワークブックを簡単に開くことができます。 次に、単純な VBA ステートメントを使用して、同じ Workbook 内で別の Workbook を追加または参照できます。

Workbooks.Open() 関数を使用すると、関数へのパラメーターとしてパスを指定することにより、ユーザーは別のワークブックを開くことができます。

ユーザーは、パラメーターにパス全体を指定するか、それをさまざまな変数に分割して連結し、Workbooks.Open() 関数への引数を形成することができます。

例に移る前に、Workbooks.Open() コマンドについて説明しましょう。

Workbooks.Open() コマンド

Workbooks.Open() コマンドでは、合計で最大 15 個のパラメーターを使用できます。 コマンドの式は次のとおりです。

Workbooks.Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)

すべてのパラメータのヒントを以下に示します。 パラメータの詳細については、Workbooks.Open() コマンドに関する Microsoft ドキュメントを参照してください。

パラメータ 説明
FileName FileName 文字列には、開くワークブックの名前が含まれています。
UpdateLinks UpdateLinks は、開く必要があるワークブックで外部リンク (参照) を更新する方法を指定します。
ReadOnly ReadOnly パラメータは、ワークブックを読み取り専用モードで開きます。
Format Format 引数は、Microsoft Excel がテキスト ファイルを開く場合の区切り文字を指定します。
Password Password 引数は、保護されたワークブックを開くためのパスワードを含む文字列として渡されます。
WriteResPassword WriteResPassword 引数には、書き込み予約済みワークブックへの書き込みに必要なパスワードが含まれます。
IgnoreReadOnlyRecommended IgnoreReadOnlyRecommended 引数が true に設定されている場合、Microsoft Excel は読み取り専用の推奨メッセージを表示しません。 Read-Only Recommended オプションを使用してワークブックを保存した場合に実行されます。
Origin Origin パラメータは、ファイルがテキスト ファイルの場合、そのファイルの作成元を示します。 コード ページと キャリッジ リターン ライン フィード (CR/LF) を正しくマッピングするのに役立ちます。
Delimiter Delimiter 引数は、サブストリングを区切るために、区切り文字として使用する文字を指定します。
Editable Editable はアドインを開くための値として true を取り、それが可視ウィンドウになるようにします。 それ以外の場合、アドインは非表示のままになります。 このパラメータは、ファイルが Microsoft Excel 4.0 アドインであり、Microsoft Excel 5.0 以降では機能しない場合に適用されます。
Notify Notifytrue に設定され、読み取り/書き込みモードで使用できない場合にファイル通知リストにファイルを追加します。 読み取り専用バージョンが開かれ、通知リストがポーリングされ、ファイルが利用可能になるとユーザーに通知されます。
Converter Converter 引数はオプションです。 ファイルを開くときに最初に試すファイル コンバータのインデックスです。
AddToMru ユーザーがワークブックを最近使用したファイル リストに追加する場合、AddToMrutrue です。 それ以外の場合は、false として設定されます。
Local ユーザーが Microsoft Excel の言語に対してファイルを保存したい場合、Localtrue です。 それ以外の場合、ファイルは VBA の言語に対して保存されます。
CorruptLoad CorruptLoad は、xlNormalLoadxlRepairFile、または xlExtractData の 3つの引数のいずれかを取ります。

注意: Workbooks.Open() コマンドのパラメータはすべてオプションです。

方法 1: Microsoft Excel で特定のパスにあるブックを開く

パスを指定して Microsoft Excel でブックを開くことができる最初の方法を次に示します。

Workbooks.open("D:\useruser\DataMatrix\F3 L93-L050 16MY\Finance Graphics_1345222.xlsm")

Workbooks.Open() コマンドでは、Microsoft Excel ワークブックへの完全なパスが提供されます。 これは、VBA コマンドを使用して別のブックを開く方法の 1つです。

方法 2: Microsoft Excel で特定のパスにあるブックを開く

2 番目の方法は最初の方法と同じです。 ただし、パスは、理解を深め、コードをより明確にするために、さまざまなコンポーネントに分割されています。 2 番目の方法のコード スニペットを次に示します。

Dim path As String, file As String
path = "D:\useruser\DataMatrix\F3 L93-L050 16MY\"
file = path & "Finance Graphics_1345222.xlsm"
Workbooks.Open(file)

2 番目の方法のコードは、最初の方法のステートメントよりも読みやすくなっています。 ただし、2 番目の方法ではコードにさらに多くの行が必要です。

そのため、VBA の Workbooks.Open() コマンドを使用すると、ユーザーは 1つのコマンドだけで別のワークブックを開くことができることがわかりました。 目的のワークブックのパスを指定することが不可欠です。

それに加えて、Workbooks.Open() コマンドは、ユーザーが要件に応じて使用できる多数のパラメーターを提供します。

著者: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub