• 締切済み

Access2003で全文検索文書管理したいのですがOLE型データの扱い方を教えて下さい。

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

みんなの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

#1です。 PDFをテキストに変換する方法(Excel VBAサンプル) http://pdf-file.jugem.jp/?eid=114 Acrobat限定ですが。

psgrade
質問者

お礼

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

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

数年前に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/knowhow/GetBinary.html しかしながら、結局重たくて嫌になり、ハイパーリンクに方針を変更しました。 AcrobatまたはAcrobat ReaderをVBAから制御する方法は、WEB検索すると結構ヒットします。pdfを開いた後、指定ページを開く程度ですが。