「word vba 配列に読み込む」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
WordのVBA(Visual Basic for Applications)で、配列変数にデータを格納する方法を探している方による検索でしょうか。
どんな条件でどんなデータを配列に格納したいのかが、この検索キーワードだけではよくわかりませんので、いつものように参考になりそうな簡単なマクロをご紹介しておきます。
段落ごとに配列変数にデータを格納するサンプルマクロ
アクティブな文書上の文字列を、段落ごとに配列に格納するマクロです。
Dim str As String
Dim arr As Variant
str = ActiveDocument.StoryRanges(wdMainTextStory).Text
arr = Split(str, vbCr)
Stop
End Subサンプルマクロの解説
アクティブな文書に何らかの文章を入力しておいてから、上記のマクロを実行してみてください。
上記のマクロを実行すると、Stop文の箇所でステップ実行状態となります。
ステップ実行状態になったところで、VBE(Visual Basic Editor)のメニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示してやれば、配列変数・arrに、アクティブ文書内の文字列が段落ごとに格納されていることが確認できるでしょう。
上図は「=rand()」を使ってサンプル文字列を入力後に上記のマクロを実行して、ローカルウィンドウを展開したところです。
配列に格納しているのは、
arr = Split(str, vbCr)
の部分です。
Split関数は、第1引数に指定された文字列を、第2引数で指定された文字を区切り文字と見なして、1次元配列を作成して返してくれる関数です。
変数・strは使わなくても書くこともできますが、1行があまりに長くなるので、本文の文字列を変数・strに格納してから、
str = ActiveDocument.StoryRanges(wdMainTextStory).Text
変数・strを、Split関数の第1引数に指定しています。
Home » ワードマクロ・Word VBAの使い方 » 段落・パラグラフ » 段落ごとの文字列を配列変数に格納するWordマクロ