ExcelからWordを操作する

まず、WordのVBEからWordを操作してから、ExcelのVBEからWordを操作する。同じことだけとすごいことしてます。

Wordのオブジェクのモデル

Word上でマクロ記録し、そのコードをExcelで実行するとWordをExcelで操作することになる。

マクロ記録でメソッドやプロパティがわかってもオブジェクト全体のモデルを知っていないとコードを修正、追加できない。

Wordのオブジェクトモデル

Paragraphs:パラグラフ、段落。改行コードが区切り文字。
Sentences:センテンス、文。「。」が区切り文字。
Words:ワード、単語
Characters:キャラクタ、文字。1文字。

Wordオブジェクトモデルを参考に操作する

次図のような短い文書を作って確認する。イミディエイトウィンドウで、Countプロパティで個数を確認してから、Characters以外の各オブジェクトの中身を出力した。

Wordのイミディエイトウィンドウでオブジェクトの中身を確認

以下に上の図で使う材料を置きます。

Wordに入れる文書。

1つ目の段落です。
2つ目の段落です。改行が段落の区切り文字になります。

Excel側のVBEのイミディエイトウィンドウで実行するコード

?word.Application.Documents.Count 
?word.Application.Documents(1).Name
?word.Application.Documents(1).Paragraphs.Count
?word.Application.Documents(1).Paragraphs(1).Range
?word.Application.Documents(1).Paragraphs(2).Range
?word.Application.Documents(1).Paragraphs(3).Range
?word.Application.Documents(1).Paragraphs(2).Range.Sentences.Count
?word.Application.Documents(1).Paragraphs(2).Range.Sentences(1)
?word.Application.Documents(1).Sentences(1) 
?word.Application.Documents(1).Sentences(2)
?word.Application.Documents(1).Sentences(3)  

ExcelからWordを操作する

アプリ間のやり取りは、共有できるファイルやネットワークを使う方法が考えられる。しかし、ExcelやWord、SolidWorks(CADソフト)などVBEの「メニュー/ツール/参照設定」で見えるよにWindowsの仕様として組み込まれた仕組みによって他のアプリを起動し、起動したアプリを操作できるインターフェースが公開されている。そのため、比較的簡単に他のアプリの機能を利用することができる。カット&ペースとかOLEとかできるようにアプリ間のデータの受け渡しは以前からできるが、これをプログラムでやったようなもの。

やることは、ExcelのVBEでWordのライブラリを参照設定すれば、WordでVBEの操作と同様にできる。

スマホの方は、ここをクリックするYouTubeで見れます。

(Visited 563 times, 1 visits today)
カテゴリー: 8 ExcelとVBEの関係、Wordとのデータ処理 Excelオブジェクト パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です