dポイントプレゼントキャンペーン実施中!

Access2003を使用して、全文検索文書管理データベースを作りたいと思います。OLE型のフィールドにWord、Excel、PDF、PowerPoint等のファイルをリンクし、これを一端開いて、この中のテキストデータをコピーし、同レコード内のメモ型フィールドに貼り付けています。
このテキストの取り出しを自動化出来ないでしょうか?
例えば、OLEフィールドにファイルをリンクしたら、非表示でこのファイルを開き、VBAで全選択、コピーを行い、ファイルを閉じ、クリップボードのデータをメモ型フィールドに貼り付けるということです。
データシートビューで、OLEフィールドを見ると、Adobe Acrobat Document、Microsoft Word 文書などの文字が表示されています。これらの文字を取得して、それぞれのアプリケーションを非表示で開き、全選択、コピー操作すればよいと思うのですが、登録されたOLE文書の種類の取得方法が分かりません。どなたか教えて頂ければ幸いです。
アクロバットのVBAでの扱い方も教えて頂ければ幸いです。

A 回答 (2件)

数年前にOLE型のフィールドにファイルをVBAで貼付、取り出しをしようとチャレンジした事があります。


久しぶりに調べてみましたが、Accessの機能を使って、OLE型で貼り付けたファイルの取り出しは、一部Microsoftから情報が公開されているBMPなどを除いて、非公開の管理用の情報が付与されていて困難な様です。(「そんなことないよ」という情報をお持ちの方はご指摘下さい)
http://www.amy.hi-ho.ne.jp/jbaba/access1.htm
それで当時は結構調べまくって、AppendChunk、GetChunkを使って実現しました。今検索してみると、サンプルコードが直ぐに見つかりました...
http://www.remus.dti.ne.jp/~shenron/access/knowh …
しかしながら、結局重たくて嫌になり、ハイパーリンクに方針を変更しました。
AcrobatまたはAcrobat ReaderをVBAから制御する方法は、WEB検索すると結構ヒットします。pdfを開いた後、指定ページを開く程度ですが。
    • good
    • 0

#1です。


PDFをテキストに変換する方法(Excel VBAサンプル)
http://pdf-file.jugem.jp/?eid=114
Acrobat限定ですが。
    • good
    • 0
この回答へのお礼

早速回答いただき有難う御座います。いろいろ御調べ頂き、感謝に堪えません。
教えて頂いたコードを応用して、先ず自動的に、テキストを取り出し貼り付けるコードを作成してみます。OLEオブジェクトの操作は意外と難しいのですね。

お礼日時:2008/10/12 08:57

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