現在VBAで業務用のシステムを開発しているのですが以下のような現象が起こります。
開発環境 WinXP , EXCEL2000
現象(1) 起動すると『問題が発生したため、 Microsoft Excel Windowsを終了します。・・・ エラー報告を送信する 送信しない』のメッセージが出て起動できない。
UserForm.Showのステップで一旦止めてステップモードで続行すると正常に動作します。
現象(2) WinXP , EXCEL2000で正常に動作するものを WinXP , EXCEL2003で起動すると『パス名が無効です』のメッセージが出て起動しません。
(1)と同様にUserForm.Showのステップで一旦止めてステップモードで続行すると正常に動作します。
2点とも UserForm.Show のステップに問題があると思うのですが、自分なりに半月かけて調査しても何の解決の糸口も見つからずに困り果てています。
もし、ご存知でしたらご教示願えないでしょうか?
No.1
- 回答日時:
>問題が発生したため・・
メッセージが表示された際にエラーダイアログボックスのリンク[エラー報告に含まれるデータの参照]をクリックしてエラー署名が表示されますよね。
App.exeにエラーの発生したプログラムのDLL等の実行可能ファイル名が入るのですが・・。
その辺はどうでしょうか。
この回答への補足
開いて見てはみましたが、未熟な私には何のことやらサッパリ分かりません。
せめてこのメッセージの見方が分かれば調べようも有るのですが・・・
おかげさまで解決いたしました。
VBAって面白いけれど、深みにはまると投げ出したくなりませんか?
貴方のような親切なアドバイザーが居られなければキットPCを蹴飛ばしていた事だと思います。
面白さとシンドさと、そして感謝を感じたこの3日間でした。
有難う御座いました。
No.2
- 回答日時:
こんにちは。
この前、ここのカテゴリで、Excel Application本体を出さずに、UserFormを終了する時に不明のエラーが出るという話に、良く似ています。
最初に、「起動する」の「起動」は何を意味していますか?
Excelのアプリケーションと共に起動なのでしょうか?UserForm単独なのでしょうか?だいたい、システム開発の場合は、前者のモードで作るのが常なのですが。
もし、そうでしたら、UserFormのDataObject コントロールを確保せずにモードに入れば、(1)も(2)の現象もありえますね。
>UserForm.Showのステップで一旦止めてステップモードで続行すると正常に動作します。
もう既におやりになっているかもしれまんせが、一度、ステップモードの、どこまでに問題が発生するか、煮詰めたほうがよいと思いますね。
そして、そのUserFormの起動のどこかで、OnTimeメソッド(Waitではダメです)で、わずかですが、時間差を設けてあげるか、イベントで占有されているところに、一旦オペレーティングが可能なように DoEvents を設けることぐらいしか、今のところ思いつきませんね。
この回答への補足
「起動」の意味は、このBOOKを立ち上げる事を言っています。
Workbook_OpenでUserFormのDataObject コントロールを確保した後にUserForm.Showのステップが続いています。
また、ステップモードで、継続して行くと、最終ステップ迄エラーも無く進んで終了してしまいます。
OnTimeメソッドやDoEventsは使った事が無いのですが、やってみます。
No.3ベストアンサー
- 回答日時:
こんばんは。
Wendy02です。>また、ステップモードで、継続して行くと、最終ステップ迄エラーも無く進んで終了してしまいます。
私の書き間違いでした。ブレークポイントを設けることです。
たぶん、起動からだと、
コードの中に、
Stop
と入れたほうがよいかもしれません。
それを少しずつ、移動させて限界値を探していきます。そして、問題が発生する場所を探しますが、DataObject = Form Object Library ですと、もしかすると、最初からかもしれませんね。
その場合は、UserForm自体の起動をワンテンポずらすために、
標準モジュール側の
Auto_Open()
にUserForm.Show を入れて、ThisWorkboook_Open 側には、それは書かないようにしてあげます。
もし、これで不都合があれば、また指摘してください。
この回答への補足
Wendy02さん ご教示有難う御座います。
標準モジュール側のAuto_Open()にUserForm.Show を入れて、ThisWorkboook_Open 側にはそれは書かないという方法をやってみましたが結果は同じでした。
今夜、Stop を入れて限界地を探す方法でやってみようと思います。
駄目な場合はまた質問させて下さい。
No.4
- 回答日時:
こんにちは。
追伸です。#1さんのおっしゃっている話を読み直して、私も、一応、そのハング状態をもう少し、詳しく知っておいたほうが良いかもしれないと思いました。もしかしたら、私の知っているハング状態と思い込んでいたものと違ったとしたら、私の早合点になってしまいますからね。
一応、私のイメージは以下のように考えています。
Excelの本体(Excel.Exe) →アドイン/Personal.xls →固有のブックの-Forms Object Libraryなど→ThisWorkbookのイベント→標準モジュールのAuto_Open →UserFormの立ち上げ
という順序だと思っています。そうすると、途中で、重複的にその領域を確保しようと動いている可能性がありますね。もしかしたら、起動時、すぐにはUserFormの コントロールの領域を短時間では確保できないのか、と想像しています。
私の場合、よく、あるブックの立ち上げ時に、Internet Control のオブジェクトが確保できないことがありますが、いきなりOpenイベントで、オブジェクト生成というようなことはしませんので、単に、動かないなってだけで済んでいます。
>現在VBAで業務用のシステムを開発して
これは、あくまでも、私個人のプログラミング・スタイルなのですが、その起動時のコードの部分だけを、新しいブックで、新たに作ってみるという方法を取りますね。今あるものを何とかしようとすると、どんどん深みにはまってしまいます。その上で、調子がよければ、プログラムを移行していきます。私の感覚では、半月はもう限界のような気がします。場合によっては、解決策の1つの目処として、『ワトソン博士』を試されてもよいかもしれません。
それと、やっぱりあるレベル以上の人にとっては、#1 さんのご意見は必須なんですね。自分はわからなくても、エラーデータ自体が必要なんです。そのエラーデータをもとに、MSのサポートとGoogle検索します。だいたいは海外のデータになりますが、ある種の傾向が得られます。
この回答への補足
有難う御座いました。解決いたしました。
Stopで調べたところ、原因箇所(配列にラベルのCaptionを設定している場所)は特定できたのですが、ラベルを再作成してもステップを書き直しても駄目でした。
Wendy02さんの言われたOnTimeメソッドで時間差を設けたところ、(1)(2)共に一挙に解決いたしました。
これで明日からの業務に使用できそうです。
本当に有難う御座いました。
これで半月ぶりに熟睡できそうです。
30年前にCOBOLを組んだ事があり、面白半分でVBAに取り組み始めて約1年です。
大体の事が飲み込めたので業務用のシステムでも、と取り組んだのが今回の始まりでした。
57才になって久し振りの徹夜もしました。
遊びならともかく、業務用を作成するというのは考え物ですね。
やはり、若い人に任せようかなとチョッピリ弱気になっています。
でも貴方のように親身になって教えて下さる方がある以上、自分が使う分だけでもとも考えています。
何はともあれ、本当に有難う御座いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel起動時にエラーダイアログが表示される 3 2022/07/28 19:52
- Visual Basic(VBA) Vba UserFormを前面に出す方法を教えてください 1 2023/08/17 11:08
- Excel(エクセル) Excel2010 VBAが特定動作で実行出来なくなる 7 2022/12/29 14:26
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- その他(クラウドサービス・オンラインストレージ) Onedriveで実現したい事。2台のPC間で。 2 2023/04/10 20:42
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
- Excel(エクセル) マクロの付いたExcelが開けません 3 2023/02/01 10:54
- その他(パソコン・スマホ・電化製品) CMD等でPC操作(excel開く等)を自動化させたい 1 2023/03/15 09:53
- Windows 10 Windows10環境にてWindowsUpdate後の再起動を完全に抑止する方法はございますか? 10 2023/06/16 09:57
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
UserForm1.Showでエラーになります。
工学
-
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
-
4
エクセルVBA フォームShowでオートメーションエラー
Excel(エクセル)
-
5
エクセルVBA フォームを開く時パスが見つからない
Visual Basic(VBA)
-
6
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
7
コントロールの存在確認
Visual Basic(VBA)
-
8
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
9
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
-
10
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
11
VBA(エクセル)のユーザーフォームの固定
Visual Basic(VBA)
-
12
「パス名が無効です」の発生原因
Visual Basic(VBA)
-
13
Excel VBA: UserForm.Show で実行時エラー
Visual Basic(VBA)
-
14
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
15
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
16
TEXTBOX_CHANGEのイベント抑制
Visual Basic(VBA)
-
17
スクロールバーでは上下異動できるが、マウスホイールでスクロールしない
Excel(エクセル)
-
18
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
19
VBA Find でオートメーションエラー(エラー440)が出ました
Visual Basic(VBA)
-
20
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access2007でのエラーについて
-
アプリケーションを正しく初期...
-
ポケモン改造ツール pokemon sy...
-
BIOS ROM checksum error って...
-
caim_am.exe?とは
-
USBメモリの不具合&シャットダ...
-
ORACLEが起動しない 【ORA-010...
-
パソコンの中に入っている音楽(...
-
起動時にエラー音?
-
ウイルススキャンが変なんです。
-
アプリケーションエラー jusch...
-
Windows Defenderで「0x800106b...
-
Hot keyエラーってなんです...
-
LaVie L LL750/CS6B PC-LL750CS...
-
ONKYO C413A4 基本スペック CPU...
-
メモリのスタンバイが多い。メ...
-
利用可能な物理メモリとは?
-
OneDriveにつきまして教えてく...
-
スマホのメモリ8ギガを仮想メモ...
-
Office2010インストール時のエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アプリケーションエラー(0xc00...
-
「ClassFactory は要求されたク...
-
Apoint.exe - エントリポイント...
-
アプリケーションを正しく初期...
-
PCの電源を入れるとWindo...
-
シャットダウン時に妙なエラー...
-
EXCEL VBA UserFormで困ってい...
-
Apacheをインストールしました...
-
sw:AcroRd32.exeアプリケーシ...
-
ブラウザの再起動って??
-
実行時エラー'48'
-
サーバが突然再起動した原因調査
-
動画を見ていると、PCが勝手に...
-
パソコンの起動ができなかった...
-
ORACLEが起動しない 【ORA-010...
-
Windows Defenderで「0x800106b...
-
USBメモリの不具合&シャットダ...
-
「Explorerが原因でSHELL32.DLL...
-
MFC42u.DLLが原因?で調子が悪...
-
Windows保護エラーで、パソコン...
おすすめ情報