Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4291 / 13644 ツリー ←次へ | 前へ→

【57403】マクロが動作しない問題について けにゃ 08/8/18(月) 21:09 質問[未読]
【57405】Re:マクロが動作しない問題について neptune 08/8/18(月) 22:16 発言[未読]
【57406】Re:マクロが動作しない問題について りん 08/8/18(月) 22:21 発言[未読]
【57407】Re:マクロが動作しない問題について けにゃ 08/8/19(火) 5:59 発言[未読]
【57439】Re:マクロが動作しない問題について けにゃ 08/8/22(金) 20:56 質問[未読]
【57440】Re:マクロが動作しない問題について neptune 08/8/22(金) 21:33 発言[未読]
【57469】Re:マクロが動作しない問題について けにゃ 08/8/25(月) 17:42 お礼[未読]

【57403】マクロが動作しない問題について
質問  けにゃ  - 08/8/18(月) 21:09 -

引用なし
パスワード
   こんにちは。
今、私が普段使用しているPC(OS:WindowsVista、Office:2007)でエクセルマクロを作成し、それを2003互換(xls)で保存しているんですが、これを他のPC(OS:WindowsXP、Office:2003)で動作させようとするとマクロが動作しません。(エラー番号1004、内容は忘れてしまいましたm(__)m)
2003でサポートしていない機能が入っているかと思いきや、後者のPCで同じマクロを組むと動作します。
今は、前者(ノートPC)で動作確認してから、後者(デスクトップ)でVBEを開いてコードを丸コピーしていますが、作業効率が悪いし、他のPC(おそらくXP)があり、それらにも入れたいのですが、全PCで同様の作業をするのは、コンピュータを扱う者として何か間違ってるような気がします。
何か設定の問題と思うのですが、何か分かる方いらっしゃいましたら、コメントお願いいたします。

【57405】Re:マクロが動作しない問題について
発言  neptune  - 08/8/18(月) 22:16 -

引用なし
パスワード
   ▼けにゃ さん:
こんにちは

考え方だけ書きます。

複数バージョンを意識して、プログラムを作成するときは古いバージョンで
作成するのが常道です。

例えばVB定数なども、VBhoge などと書くのではなく、数値を書く方が
安全です。(新しいバージョンで定義が変わっているかもしれない。)
その後、新しいバージョンでも検証します。

特に2007がは劇的に変更しているようですし。(持ってないので知らない^ ^;)

そんな事は知ってます!ならごめんなさい。見なかった事にして下さい。

いずれにしろ
>エラー番号1004、内容は忘れてしまいましたm(__)
内容を思い出すと、もっと的確なアドバイスがいただけると思いますよ。
1004は色んなケースがありますから。

【57406】Re:マクロが動作しない問題について
発言  りん E-MAIL  - 08/8/18(月) 22:21 -

引用なし
パスワード
   けにゃ さん、こんばんわ。

>エラー番号1004、内容は忘れてしまいましたm(__)m
その内容が重要じゃないかなと。

セルに値を与えたり図形を追加したりする程度のシンプルなコードは問題なく動いたので、

 ・エラーメッセージの内容
 ・そのエラーが発生した部分(コード)

を書けば回答も付きやすいと思います。

【57407】Re:マクロが動作しない問題について
発言  けにゃ  - 08/8/19(火) 5:59 -

引用なし
パスワード
   ▼neptune さん:
▼りん さん:
早速の回答ありがとうございます。
仰るとおり、エラー内容が重要ですよね。。移植しようとしているPCが全部海外のなので、エラーメッセージが英語でいまいちピンと来なくて。

マクロの内容は簡単にいうとエクセルでいじったデータを書面としてワードに起こすというものなので、エクセルのVBEの参照設定で「Microsoft Office XX Object Library」とかいうのを選択しないと動作しないってことはなんとか分かったんですが、VistaのPCからXPのPCにコピーしたxlsファイルはこのチェックが外れてしまうようで、マクロの編集画面すら開けない状態です。このときも何かメッセージが出るんですが、まぁ上述のとおりでして・・・

また明日もやるので、その時にちゃんとメッセージの出るタイミングと内容を控えて、また書き込みますので、何卒よろしくお願いします。

【57439】Re:マクロが動作しない問題について
質問  けにゃ  - 08/8/22(金) 20:56 -

引用なし
パスワード
   こんにちは。トピ主です。
エラーの発生する手順とその内容を調べてきましたので、追記します。

1.PCその1(OS:Vista、Office2007)を使ってExcelマクロ(表からWordを自動的に作成)を作ります。保存形式は2003互換のもの(xls)

2.PCその2(OS:XP、Office2003)にExcelファイルをコピーし、PCその2で起動。

3.Wordを作成するボタンをクリックするとエラー発生「Compile error; can't find project or library(コンパイルエラー;プロジェクトかライブラリが見つかりません)」

4.エラー発生状態で「デバッグ」を押し、デバッグ画面(VBE)でツール→参照と移動して、「Microsoft Word XX.0 Object Library」の項目にチェックを入れてOKするとエラー発生「Name conflicts with existing module, project, or object library(存在するモジュール、プロジェクトまたはオブジェクトライブラリの名前が衝突しています)」

5.エクセルのシートの画面に戻って、マクロを開こうとするとエラー発生「Error in loading DLL(読んでいるDLLでエラー)」

ちなみに、前述してますが、PCその2で新規作成すれば、ライブラリの追加もマクロ作成もできて、動作もします。ただ、他PCで作成したファイルが動作しません。
お力添えを宜しくお願いします。

【57440】Re:マクロが動作しない問題について
発言  neptune  - 08/8/22(金) 21:33 -

引用なし
パスワード
   ▼けにゃ さん:
こんにちは

状況を見ると、上位バージョンで作成した為、バージョンの新しいものに
参照設定され、古いバージョンのPCでは参照設定が正常に行われないのでは
ないかと思います。

案1
この問題がWord だけなら、参照設定をやめ事後バインディグ(CreateObjectを使う奴)
を使用すると環境にあったものがバインディングされるので、この問題は解決する
ような気がします。こちらが簡単なので私ならこちら。

案2
そのBookの起動時、バージョンに合わせて、参照設定を動的に行う。
その昔DAOの時代ではこれでできました。
その時はVBProject.References.AddFromGuid
を使用しました。興味があれば調べてみて下さい。

【57469】Re:マクロが動作しない問題について
お礼  けにゃ  - 08/8/25(月) 17:42 -

引用なし
パスワード
   ▼neptune さん:
度々のご回答ありがとうございます。
早速、ご指摘の点について取り組んでみたいと思います。

4291 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free