戻る
一口にアンダーラインが引かれた語句を抜き出す・・・といっても、まずどのようなロジックにするか考える必要があります。
最初はWordの文字カーソルを順に動かしていって、フォントの属性がアンダーラインかどうか調べるような作り方でツールを作りました。
それでも良かったのですが、チューンアップしていくうち、書式の検索で「アンダーラインの範囲」を調べた方が適していると考え、その方式で現在に至っています。
Rangeオブジェクトというのがあるのですが、要するに「範囲を覚える器」みたいなものでしょうか。
そのRangeオブジェクトに、文書中のアンダーライン個所を次々に覚えこませて、最後に先頭から別文書に向かって語句を書き出すわけです。
書き出すといっても、アンダーライン個所を選択し、コピーして一個ずつ別文書に貼り付けをする方法もあれば、アンダーライン個所を次々に覚えこませると同時にメモリに語句を記憶して、全部終わったら別文書に向かってためておいた記憶(語句)を順に一気にアウトプットする・・・というやりかたもあります。
実際には後者でこのツールは作られています。
では、一見能率の悪そうなコピペの前者のやり方は使えないかというと、ケースバイケースだと思います。たとえばWord文書中にところどころ表組みが20個あったとして、その表だけ別文書にまとめて抜き出したい・・・などというときにはおそらくコピー&ペースト方式になるのではないかと思います。
「次々に覚えこませる」とか「同時にメモリに語句を記憶」というのは、「配列変数」というものを使えばよいわけです。「配列変数」とはひとつの変数(器=うつわ)に何個でも何千個でも背番号をつけて覚えさせられる便利なものです。
結局、ケースバイケースというのは配列変数が使えるかどうか・・・ということになると思います。