- ベストアンサー
なんで8?
- VBAのCreateObject関数を使用してワードを開く際、Word.Applicationの後ろにある8はオブジェクトのバージョンを表します。
- CreateObject関数の引数で指定するclassは、appname.objecttypeの形式で指定します。
- appnameはオブジェクトを提供しているアプリケーションの名前であり、objecttypeは作成するオブジェクトの種類またはクラスです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
後ろの8は、「Microsoft Word バージョン8」を示しています。 製品名としては、Office95だとか97・XP・2003等と呼ばれているのですが、 内部的な名前としては、8・9・10…と順番にバージョンアップされてきています。 >Microsoft: Word のバージョン確認方法 >https://www.microsoft.com/ja-jp/security/pc-security/ver_word.aspx >うふい.net: Wordのバージョンを確認するには >http://www.ufui.sakura.ne.jp/PcKatsuyo0/word_008.html バージョン番号一覧 >蛸巻日誌 2nd: Wordファイルのバージョン表記 >http://tacomakix.blog15.fc2.com/blog-entry-139.html ---- ですが、Word(あるいはMS Office)をバージョンアップしたら、それまでのプログラムが使えなくなった、と言うことでは困ります。 自作アプリと共に、セキュリティサポートも切れた過去のOfficeを使い続けなければならない、なんてことになってしまいますから。 そこで、新しいバージョンのワードは、以前のオブジェクト名で呼び出されても対応できるように、下位互換性が保たれているのです。 "Word.Application.8"で作成したなら、Word97『以降』のWordがインストールされていれば、起動できるわけです。 もし"Word.Application.10"と書いたなら、Word97やWord2000が入っていても反応せず、Word2002以降がインストールされたPCでのみ、ワードが起動するはずです。 もし本当に、「(過去のWordには無い機能を使っているとかで)Word2010で起動してほしい」と望むなら、"Word.Application.14" と書けば、Word2003等は反応できません。(もっとも、その場合ファイル名も~.docx になるでしょうけど) どのバージョンでもいいからWordで起動して欲しいなら、"Word.Application.8" が一番汎用的ということだと思います。
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10358)
バージョンを表します。"Word.Application.8"だと、Word97かな。 http://ja.wikipedia.org/wiki/Microsoft_Office#Office_8 Wordが一種類しかインストールされてなければ、バージョン指定に関係なくそのWordが起動するはずです。
お礼
なるほどー 現在のバージョンは2003(11)ですが、それしか入れてないので問題なく開いてたのですね。 ありがとうございました。勉強になりました。
お礼
ご回答ありがとうございます。