none
Officeオートメーションにつきまして RRS feed

  • 質問

  • VC++からWordをオートメーションを使用して操作するアプリケーションを作成しようと思っています。

     

    Wordには複数のバージョンがあり、タイプライブラリの名称もバージョンによって異なっていますが、

    開発環境と作成したアプリケーションのインストール先にあるWordのバージョンが異なっていても

    大丈夫なんでしょうか?

     

    大丈夫な場合、どのバージョンのタイプライブラリを使用するのが良いのでしょうか。

    できるだけ古いバージョンでしょうか?それともできるだけ新しいバージョンでしょうか?

     

    また、大丈夫でない場合はどのように対処すればいいのでしょうか。

     

    非常に基本的な質問で申し訳ありませんが、ご教授いただければ幸いです。

    また、情報に不足がありましたらご指摘いただければと存知ます。

     

    よろしくお願いいたします。
    2008年11月7日 6:26

回答

  •  中川俊輔 - MSFT さんからの引用

    複数バージョンを考慮した時のOffice オートメーションについての注意点や、遅延バインディングを使った解決法については下記のページに情報があります(注意:C++の情報ではありません)

    Visual Basic .NET による Office オートメーション サーバーでのバインディング
    http://support.microsoft.com/kb/304661/ja

    KBにC++の古いサンプルも上がっていましたので追記しておきます。

    http://support.microsoft.com/kb/216686/ja

     

     

    遅延バインディングはIDispatchインターフェースを使うことになるので、かなり読みにくく、書きにくいコードになるかもしれません。

    2008年11月14日 16:38
    モデレータ

すべての返信

  • ZAOZAOさん、こんにちは!中川俊輔です。

     

    複数バージョンを考慮した時のOffice オートメーションについての注意点や、遅延バインディングを使った解決法については下記のページに情報があります(注意:C++の情報ではありません)

    Visual Basic .NET による Office オートメーション サーバーでのバインディング
    http://support.microsoft.com/kb/304661/ja

    [PIA] xlBooks.Open(path, ...) 実行時にAccessViolationException

    http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=4064601&SiteID=7

     

    VC++の情報でしたら下記のスレッドが参考になるかもしれません。

    C++でEXCELファイルを読む方法(MicroSoft外部のサイトです。)

    http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=35784&forum=7&start=0

     

    それでは!

     

    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。

    コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2008年11月14日 7:20
  •  中川俊輔 - MSFT さんからの引用

    複数バージョンを考慮した時のOffice オートメーションについての注意点や、遅延バインディングを使った解決法については下記のページに情報があります(注意:C++の情報ではありません)

    Visual Basic .NET による Office オートメーション サーバーでのバインディング
    http://support.microsoft.com/kb/304661/ja

    KBにC++の古いサンプルも上がっていましたので追記しておきます。

    http://support.microsoft.com/kb/216686/ja

     

     

    遅延バインディングはIDispatchインターフェースを使うことになるので、かなり読みにくく、書きにくいコードになるかもしれません。

    2008年11月14日 16:38
    モデレータ
  • 中川様、Azulean様

     

    ありがとうございました。

    取り急ぎお返事しようと思いまして、ざっと参考ページを拝見したのですが、思っていたよりも大変なことなんですね。

    結構この手の操作をするアプリケーションは多いような気はするのですが、VC++を使っていないのでしょうか。

    VBであればきっと比較的簡単なのでしょうね。

     

    できれば、今後発売されるであろう上位バージョンのofficeにも対応できるような形にしたいのですが、難しいのでしょうか。

    もう少し参考ページを熟読して研究してみます。

    2008年11月21日 4:56
  • こんにちは。中川俊輔 です。

     

    Azuleanさん、フォローありがとうございます

     

    ZAOZAOさん、ご返信ありがとうございます。

    有用な情報と思われたため、Azuleanさんの回答へ回答済みチェックをつけさせていただきました。

     

    今後ともフォーラムをよろしくお願いします。

    それでは!

    2008年11月27日 2:03