• 締切済み

VBAのwordsと同様の関数は使えないのでしょうか?

Word VBAで作ったプログラムを、VB(またはJAVA)に作り替えたいと考えています。 Word VBAでwordsという、単語を判定する関数を使っているのですが、 VB(またはJAVA)ではこれと同等のことをできないのでしょうか? ご存じの方いましたらご教示下さい。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

どのベースから出発するのですか。 (1)ワードのドキュメントの上で まづワードのドキュメントをワードVBAに頼らず読むのは難しいのではないですか。その中からテキスト情報を抜き出した経験ありますか。 そういうHDDに保存されるファイル形式や、メモリに読み込んだときの展開形式、および各情報の意味などの技術情報を持っていますか。 多分無いでしょう。であれば難しい。 (2)テキストになったものを別途VBで読んで何かするのならば、できるのではないですか。 詳細わからないが、「Words」の定義は「単語」となっていて、スペースで区切られた文字列の塊だけで、意味的なチェックは成されていないと思う。 そうであれば、ワードで当初作成されたテキストでも、抜き出したテキストでも同じで、特に難しい点は無いと思う。 ーー しかしこれも、文書の語数を数える程度のことで、一般にはワード用の機能を、ワードに備わったVBAやAPIレベルのプログラム群(=VBAのAはこの場合ワード)を使わないで実現するのは、素人や ちょっとしたプログラマには手が出ないでしょう。 ーー 非常に突飛な質問に映るが。 ニーズに対して対処する発想がおかしいのでは。何をやりたいのか、ワードと(離れられるなら)はなれて、ニーズの実情を補足してみたらどうでしょう。

yukisi_001
質問者

補足

説明足らずで申し訳ありませんでした。 改めて説明させていただきます。 やりたい処理としては、テキスト情報を指定した文字数以上の適当な 区切りで改行を入れる処理です。 テキストファイルとして最終的には保存します。 (便宜的にWordを利用してはいますが、扱っているのはテキスト情報のみです) 以下の例として、 指定文字数=8文字 ※8文字以上で改行を入れる。 という設定で、私が最初に質問した文章を処理したとした場合、 以下のようになります。  ※他にも複数処理をしているため、少し違う結果になるのですが、ここでは省略しています。 ---------- Word VBAで 作ったプログラムを、 VB(またはJAVA) に作り替えたいと 考えています。 WordVBAで wordsという、 単語を判定する関数を 使っているのですが、 VB(またはJAVA) ではこれと同等の ことをできないの でしょうか? ご存じの方いましたら ご教示下さい。 ---------- 文章の区切りとしておかしくない所で改行をするためにWord VBAのwords関数を利用していました。 この関数を利用すると、 ------- おはようございます。本日は晴天なり。 ------- の文章を 「おはよう」「ございます」「。」「本日」「は」「晴天」「なり」「。」 のように判定してくれます。 現在のままで元々の目的は達しているのですが、 諸事情により、Wordベースではなく、独立のプログラムにしたいと 思いました。 私の調べ方が悪いだけで、VBにも同じ関数が使えたり、または別な名前で同等の関数または同等の処理ができるのではないかと思い、お伺いした次第です。

関連するQ&A