Excel VBA質問箱 IV

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

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


9379 / 13646 ツリー ←次へ | 前へ→

【27294】OnConnection時にUserFormを表示させると、キーボードを受け付けなくなる ぱくぱく 05/8/4(木) 15:09 発言[未読]
【27689】Re:OnConnection時にUserFormを表示させる... ぱくぱく 05/8/16(火) 9:43 発言[未読]
【27744】Re:OnConnection時にUserFormを表示させる... bykin 05/8/17(水) 18:55 回答[未読]
【27745】Re:OnConnection時にUserFormを表示させる... ぱくぱく 05/8/17(水) 19:08 お礼[未読]

【27294】OnConnection時にUserFormを表示させると...
発言  ぱくぱく  - 05/8/4(木) 15:09 -

引用なし
パスワード
   みなさんこんにちは、
OfficeXP DeveloperでCOMアドインの作成にチャレンジしているぱくぱくです。

これはいったい?と思う出来事に困っています。

AddinInstance_OnConnection時にUserFromを表示させるようにコードを書いたところ。スタートボタンからExcelを起動したときは問題ないのですが、関連付けられた「*.xls」ファイルをダブルクリックして起動した場合は、UserFormを閉じた後ワークシート上でのキーボードの入力をまったく受け付けなくなってしまって困っています。Altによるメニューの表示や、セルをダブルクリックした後のデータ入力等は可能ですが、それ以外はまったくキー入力が無視されてしまいます。(方向キーによる選択セルの移動や、セルへの直接データ入力、Ctrl+PgUpによるシートの表示切替など)これって回避できるのでしょうか?

Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)

 UserForm1.Show vbModal '←コードはこれだけでも症状は再現します。

End Sub

※ついでに、以前はこんなではなかったのですが、一度コンパイルすると「要求されたタイプライブラリまたはウィザードはVBAプロジェクトではありません。」と表示され、Saveもできなくなり結局プロジェクトの再オープンが必要になってしまいた。アドインプロジェクトを新しく作っても何度かDLLの作成を行うとこのようなエラーが出てしまいます。なにか、このあたりも関係しているのでしょうか?

どうか宜しくお願い致します。

【27689】Re:OnConnection時にUserFormを表示させ...
発言  ぱくぱく  - 05/8/16(火) 9:43 -

引用なし
パスワード
   2週間ほど、ちょくちょくといろいろ試してみたのですが
やっぱりお手上げなのです。何かいい手はないでしょうか?
(MSのサポートは2万円以上もするんですね、、、)

【27744】Re:OnConnection時にUserFormを表示させ...
回答  bykin  - 05/8/17(水) 18:55 -

引用なし
パスワード
   こんばんわ。

なんかバグっぽい事象ですわな・・・

OnConnectionイベント発生時にはエクセルの起動が完了してへんのかも
知れまへんなー

OnStartupCompleteイベント使ってみるとか?

↓参考
http://msdn.microsoft.com/library/ja/modcore/html/deovrworkingwithidtextensibility2eventprocedures.asp

試したわけやないので、うまいこといかんかったらかんにんな。

せやけど汎用的に使うはずのCOMアドインで、起動時にフォームなんか
表示する必要あるんでっか?
普通はツールバー作成するくらいのもんやと思うねんけど・・・
違うとは思うけど、ひょっとして自己満足のバージョン表示とかだけ
なんやったら、やらんほうがええと思うよ。
すべてのファイルで必ずCOMアドイン使うわけでもないんやから、
エクセルが新規に起動するたびに
フォームが表示されたりしたらユーザーには鬱陶しいだけでっせ・・・

何か特別な理由があるんやったらすんまへん。
ほな。

【27745】Re:OnConnection時にUserFormを表示させ...
お礼  ぱくぱく  - 05/8/17(水) 19:08 -

引用なし
パスワード
   ▼bykin さん:

まいど申し訳ないです。

>OnStartupCompleteイベント使ってみるとか?

試してみたのですが、だめでした。

>違うとは思うけど、ひょっとして自己満足のバージョン表示とかだけ
>なんやったら、やらんほうがええと思うよ。
>すべてのファイルで必ずCOMアドイン使うわけでもないんやから、
>エクセルが新規に起動するたびに
>フォームが表示されたりしたらユーザーには鬱陶しいだけでっせ・・・

確かにそうですね。気をつけます。前回のアドバイス([X]ボタン自体
なくしたほうがいい)は後々でとても役に立ちました。

>何か特別な理由があるんやったらすんまへん。

社員番号をレジストリに入れてもらいたくて、初回起動時に強制させたかったのです。でも、別の方法にした方がいいですね。

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