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 Excel4.0アドインであり、Microsoft Excel5.0以降では機能しない場合に適用されます。 | 
| Notify | Notifyはtrueに設定され、読み取り/書き込みモードで使用できない場合にファイル通知リストにファイルを追加します。 読み取り専用バージョンが開かれ、通知リストがポーリングされ、ファイルが利用可能になるとユーザーに通知されます。 | 
| Converter | Converter引数はオプションです。 ファイルを開くときに最初に試すファイル コンバータのインデックスです。 | 
| AddToMru | ユーザーがワークブックを最近使用したファイル リストに追加する場合、 AddToMruはtrueです。 それ以外の場合は、falseとして設定されます。 | 
| Local | ユーザーが Microsoft Excel の言語に対してファイルを保存したい場合、 Localはtrueです。 それ以外の場合、ファイルは VBA の言語に対して保存されます。 | 
| CorruptLoad | CorruptLoadは、xlNormalLoad、xlRepairFile、または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() コマンドは、ユーザーが要件に応じて使用できる多数のパラメーターを提供します。
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