プロが教えるわが家の防犯対策術!

Wordで以下のような文書比較をしたいと思っていますが,可能でしょうか?
(Word2003の文書比較機能は対象外です)

例)
Aという文書とBという文書があり,
BはAを少し変更したものである.
A文書とB文書の比較を行い,Cという新しいファイルに保存する.

A 回答 (4件)

マクロを使うと、No.2さんの言うように、いい感じで判断してくれませんね。



A:
こんにちわ
良いお天気ですね。

B:
どうも。
こんにちは。
とても良いお天気です。

だと、

C:
「こんにちわ」が「どうも。」になった。
「良いお天気ですね。」が「こんにちは。」になった。
「」が「とても良いお天気です。」になった。

みたいな感じになると思います。


また、書式の変更があっても同じと見なされますが、こちらは変更として扱う必要がありますか?

--
No.3さん指摘のFCを使用するマクロであれば、

Windows("文書 1").Activate
ActiveDocument.SaveAs FileName:="A.txt", FileFormat:=wdFormatText
Windows("文書 2").Activate
ActiveDocument.SaveAs FileName:="B.txt", FileFormat:=wdFormatText
Shell("FC D:\A.txt D:\B.txt > C.txt")
Documents.Open FileName:="D:\C.txt"

とか。

--
> 会社ではWord2000

2000には比較機能って無いんでしたっけ?
2000と2003を一緒に使うと、ファイルが開けない事が多々あったように記憶していますが…。

後は、オンラインソフトなら比較ソフトがあるようですが、シェアウェアにしては価格がネック。

Diff Doc
http://www.vector.co.jp/soft/win95/util/se292483 …

参考URL:http://www.vector.co.jp/soft/win95/util/se292483 …
    • good
    • 0
この回答へのお礼

回答ありがとうございます.
確かに,シェアウェア価格には少々驚きましたが・・・

地道に文書を見て比較していくしかなさそうですね.
Word2000にも比較機能はあるのですが,
2003に比べると,機能面でかなり劣るので,
現在業務で扱っている点から考えると,
あまり使えない,というのが現状です.

お礼日時:2005/08/05 12:22

こんにちは。



VBAの範囲内でしたら、MS-Wordのテキストは取り出せますので、それをTemporary テキストに出力して、FC で比較して、その戻り値を表示させるぐらいしか思いつきませんね。
    • good
    • 0

>マクロで文


マクロで組むプログラムのロジックは、組む人に任されています。
質問者が考える文章比較というウィザードはないでしょう。
人間は総合的判断ができて、「少し変更」したかどうか分かります。
しかしコンピュタープログラムは、ロジックやアルゴリズムはそうは行きません。厳密に規定しなくてはなりません。それをプログラマが考えられないならプログラムは組めません。
どういう風になったら少しの変更なんでしょうか。1字入れるだけでも、機械的に比較すると不等となって、等しいか、等しくないかに分類されます。
ですから、この問題はワードやマクロの問題でなく、文章比較に関するアルゴリズム(XX法など。ないしそれをプログラムに組んだソフトがあるか)の問題です。
これは数学的な理論に基づいたものであるべきで、ここのカテでなく数学寄りの適当なカテを選ぶべきです。
話題はそれますが、手書き文字レベルのなどの、文字の同定などはXX法など、各社独自の方法を工夫し、詳細は門外不出であるようです。
ワードのVBAは資料も出回っていないので、一般には勉強に苦労しますので、そういうソフトがないか探すのが一番でしょう。
    • good
    • 0

A:


こんにちわ
良いお天気ですね。

B:
こんにちは。
とても良いお天気です。

の場合、Cというファイルに保存する内容は?

--
> (Word2003の文書比較機能は対象外です)

こちらを利用するのが合理的ですが、使えないとする具体的な根拠は?
そちらの問題点を解消する方が簡単かも知れません。

この回答への補足

Cのファイルには、Aの「良いお天気ですね。」と、「とても良いお天気です。」という変更された部分をピックアップしたいのです。

Word2003を対象外としているのは、
この機能業務上必要としている点、また、
会社ではWord2000を私用しているため、
2003の環境が整っていないため。という理由があります。

補足日時:2005/08/04 21:43
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!