[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロ保持ファイルが開きません』(代理人)
久しぶりのお願いとなりますが、お教え願います。
マクロ保持ファイルを開こうとすると、砂時計が出たっきり動かず"応答なし" になってしまいます。 タスクマネージャで見ると、同名ファイルが2つ起動した状態で片方が"応答なし" となっています。 EXCELマクロのセキュリティを"高"にすれば開くのですが、マクロが無効の設定と なり起動できません。"中"以下では同じ症状となります。 (メッセージ:"このプロジェクトのマクロは無効と設定されています。・・・") 一応正常に起動するマクロファイルをコピーし、コード等を入替えてトライして みましたが、症状は同じでした。
そもそも既存のマクロに機能を追加しようとして、更新&保存を繰り返していたので、 その間無意識に何かやらかしたのかもしれません。あるいは壊れたのでしょうか? ちなみに他のマクロ保持ファイルは、"中"以下で正常に動きます。
ご助言よろしくお願いします。
EXCEL2000 WindowsXP ver2002 SP3
私も10年以上前に一度だけ、同じような経験をした記憶があります。 こういうときのために開発日誌の記述が必要ですねえ かなり記憶があいまいなんですが・・・。 Excel2000でした。
そのブックには、Auto_Open(Workbook_Open()だったかな)で開いたら、作動するVBAコードがありました。
95%仕上がった状態でのそれでしたから、愕然とした(納期もせまっていましたし)。
それで行ったこと。
モジュール名をこのサイト投稿には、Module1やModule2と既定名で投稿します (その方が再現手順が簡単)が、実際には、すべてそのモジュールの機能に沿った 名前を付けています。
モジュールを一度、全部エクスポートした後、既定名(Module1やModule2など)名前の モジュールにコードをコピーしました。
私の場合は、これで上記の現象が治りました。
参考程度ということで・・・・。
ichinose
ご助言ありがとうございました。 新規ブックの新規モジュール(Module1・・・)にソースコードを全て転記したところ、 セキュリティが"中"以下でもブックを開くことができました!
しかし! 一難去ってまた一難。新たな問題が。
早速マクロを起動したのですが、今まで何の問題もなかったダイアログシート表示のところ DialogSheets("Dialog1").Show で、"Showメソッドが失敗しました"とのメッセージが出て止まってしまいます。 表示前に行うダイアログシート上のテキストボックスへの文字挿入などはできているので、 何らかの認識はできていると思うのですが。 基ブックからダイアログシートごと転記したことで、内部的に名前の不整合が起きたか、 また別の要因なのか、わかりません。 過去ログも見たのですが、参考になるものが捜せず困りました。
しつこいようで恐縮ですが、何か思い当たるふしがあればご助言願います。
私が申し上げたのは、新規ブックにではなく、 既存のブック(元々、マクロ有効時に開けないブック)に対し、 標準モジュールだけ、一度ブックから切り離しその中身のコードを既定名のモジュールに入れなおす という事だったのですが・・・(バックアップは取ってくださいね)。
DialogSheetsというのは、私は、殆ど使ったことがないので、 Showメソッドが失敗しました というメッセージには心当たりがありません。
新規ブックに元ブックの全てのシート(ダイアログシートを含む)をコピーしたのですよね? シートやThisworkbookに、VBAコードの有無も確認してください。
新規ブックに対し、元ブックのシートが正しくコピーされているのであれば、 そこでモジュール名もModule1等から元もとのモジュール名に直してみるのは どうでしょうか?
実は、現象が治った直後は、怖くて出来なかったのですが、 余裕が出来てきてから、私は、モジュール名を元のコードに、つまり、関連のある名前に戻しました。それでも正常に作動しています。
以上、参考にしてください。
ichinose
ご返答ありがとうございました。
> 私が申し上げたのは、新規ブックにではなく、既存のブック > (元々、マクロ有効時に開けないブック)に対し、標準モジュールだけ、一度ブック から切り離し > その中身のコードを既定名のモジュールに入れなおす という事だったのですが・・・
そうだったんですね。 早速意図された通りやりましたら、ファイルは開けましたし、 新たな問題(ダイアログ表示しない)も発生せず、正常に戻れました。 一件落着です。
ご助言ありがとうございました。大変助かりました。 今後もよろしくご教授願います。 (代理人)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.