質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Word

Microsoft WordはMicrosoftが開発した業務用の文書生成用のソフトウェアです。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

解決済

2回答

2734閲覧

記載箇所の異なる文書同士を比較するには?

H.naru

総合スコア11

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Word

Microsoft WordはMicrosoftが開発した業務用の文書生成用のソフトウェアです。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

1クリップ

投稿2019/06/10 06:10

編集2019/06/10 07:51

記載箇所やセクションが異なる文書の比較ができるマクロを作成したいと考えています。
wordの機能になる単純比較では難しいので、文書内全体を検索し、ヒットするならどこの箇所に記載されているかがわかるようにコメント又はマークが入るようなVBAが作成できればと思うのですが、wordのマクロ又はexcelの関数(Findなど)を構成しても、思うようにヒットせず悩んでいます(ちなみに、元はPDFファイルであったり、HTMLだったり、いろんなアプリケーションから取得した文書をword文書に貼り付けたものです)。
何か良い知恵をご教示いただけませんでしょうか?

<追記>
「記載箇所やセクションが異なる文書」及び「wordの機能になる単純比較では難しい」と表現しているとおり、「体裁の異なる文書」同士を比較したいと考えています。
例えば、版組されたPDFをテキスト抽出したものとword文書、又は、スプレッドシートのように作成された文書をテキスト抽出したものとword文書の比較等。

Winmergeなどでは、体裁が同じ、あるいはほぼ類似しているのであれば有効ですが、異なる体裁ではすべてが変更箇所としてヒットしてしまうため、求めている成果は得られません。
文書内のカテゴリーが多いので、いちいち体裁を整えて同じくとし、テキスト比較することは、現実的ではない状態です。故に、単語検索等で比較ができるような手立てはないかと考慮しています。

・比較する → 元の文書からの記載モレ/祖語がないかを確認したい
・記載モレ/祖語があった場合、場所の特定ができるようマーク又はコメントが入るようにしたい
・記載モレ/祖語は単語単位でよい

比較しなければならない件数が多いため、極力下準備以外の作業が発生することは避けたいと考え、マクロで構成できればと考えております。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mather

2019/06/10 06:40

解決手段はマクロに限定されているのですか? docx などのファイルからテキストを抜き出すなどのツールはあるので、細かいレイアウトの比較ではないならマクロ以外の手段も検討してはどうでしょうか?
H.naru

2019/06/10 07:15

ありがとうございます。数が多いので、できるだけ下準備以外の操作は簡単にしたいなと思ったのです。。 テキストを抜き出して比較するというのは、どういった手法のことかご教示いただけますでしょうか?
mather

2019/06/10 07:29

数が多い、とありますが、元の文章から具体的に何がしたいのか(何が実現できれば課題が解決したと言えるか)が読み取れないので、置かれている状況とどうなっていれば解決したと言えるかを整理して質問に記載してください。 でないと的はずれな回答ばかりになると思います。 docx2txt のようなテキスト抽出ツールを使うとdocxファイルからテキストデータを取り出せます。 比較したいファイルに対して適用すればテキストファイル同士の比較がWinMergeなどで可能になるはずです。 他にWinMergeにもプラグインがありますね。 http://freemind.s57.xrea.com/xdocdiffPlugin/
H.naru

2019/06/10 07:48

質問欄を編集し直します。
guest

回答2

0

自己解決

以下、いずれも求める成果は得られませんでした
・wordの標準機能
・winmerge
・diff
・Word/Excelで、似たような表現を検索する関数とVBA
(スキル不足で指示文がうまく作成できていないのだと思います)
・sharepoiintの機能を利用したマクロ組み

投稿2019/06/11 03:15

編集2019/06/11 03:32
H.naru

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

どのくらいの文章の長さがわかりませんがdbに入れてsqlで探し回るようなプログラムを作ればいいのではないでしょうか?

officeだとaccessとかってのがありませんでしたっけ?今もあるのかなー?

投稿2019/06/10 16:58

odyu

総合スコア548

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

H.naru

2019/06/11 03:37 編集

ありがとうございます。 OfficeソフトにAccessはあるのですが、PCにインストールされないため、有用ではないと判断。 またwordテキストは随時発生するため、それを毎回DBに取り込み整える作業が発生するのは、効率性が悪くなってしまうので、難しいと思います。 なお、私のスキル不足もあり、AccessのSQLで構築してもそれをSharepoiint(全員使用可能)のdb機能や他のアプリケーションでアレンジするというのが難しくもあります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問