Excel VBA質問箱 IV

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

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


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

【57475】ダブルクリックイベントが発生しない taka 08/8/26(火) 18:02 質問[未読]
【57477】Re:ダブルクリックイベントが発生しない りん 08/8/26(火) 19:55 発言[未読]
【57479】Re:ダブルクリックイベントが発生しない taka 08/8/26(火) 21:10 お礼[未読]
【57557】Re:ダブルクリックイベントが発生しない taka 08/9/2(火) 19:05 お礼[未読]

【57475】ダブルクリックイベントが発生しない
質問  taka  - 08/8/26(火) 18:02 -

引用なし
パスワード
    インターネットで該当する記事がなかったため、投稿致しました。
 どなたか心当たりがありましたらご教授ください。

 ■現象
  ダブルクリックイベント(Worksheet_BeforeDoubleClick)を使用してるが、
  ダブルクリックのイベントのみ発生しない(他のマクロは動作する)。

 ■確認した内容
  ・ダブルクリックイベント(Worksheet_BeforeDoubleClick)の開始位置に
  ブレークポイントを設定し、セル上でダブルクリックしたが無反応(セルが
入力状態となるのみ)
  ・Officeを再インストールしたが、現象は変わらない
  ・現象端末以外は発生しない(100台以上実績有り)

 ■現象端末
  OS :Windows XP SP2
  Office:Office 2003 Professional SP3

 ■コード
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
  
  Dim col_sel As Long
  Dim col_yokyu As Long
  Dim col_kanjo As Long
  Dim col_zaishi As Long
  Dim col_hyomen As Long
  Dim col_toso As Long
  
  
  If Target.Row <= Range(SEL_CELL).Row Then
    Cancel = True
    Exit Sub
  End If
'以下省略
End Sub

 ※11行目にブレークポイントを置いてダブルクリックしたが、イベントが発生しないためかトラップ出来ない

【57477】Re:ダブルクリックイベントが発生しない
発言  りん E-MAIL  - 08/8/26(火) 19:55 -

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

> ■現象
>  ダブルクリックイベント(Worksheet_BeforeDoubleClick)を使用してるが、
>  ダブルクリックのイベントのみ発生しない(他のマクロは動作する)。
> ■現象端末
>  OS :Windows XP SP2
>  Office:Office 2003 Professional SP3
>Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)

私のXL2003PersonalSP3(WinXP-SP2)でマクロを書いたところ、

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  MsgBox Target.Address
End Sub

こうなりました。

引数の書き方がちょっと違うみたいですが、Target As Excel.Rangeとしても動きました。
新しいブックの新しいシートにイベントをのせてみてもダメなのか、そのブックのマクロだけダメなのか試してみられましたか?

また他のマクロがどんなのかわかりませんがイベントを拾っているのがここだけだとして、どこかでApplication.EnableEvents=False としたままになっていませんか?

【57479】Re:ダブルクリックイベントが発生しない
お礼  taka  - 08/8/26(火) 21:10 -

引用なし
パスワード
    りん さん、こんばんは。
 ご回答ありがとうございます。

>Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
>  MsgBox Target.Address
>End Sub
>
>こうなりました。
>
>引数の書き方がちょっと違うみたいですが、Target As Excel.Rangeとしても動きました。
 確かに書き方が違いますね…。
 一度書き方を変えて試してみます。

>新しいブックの新しいシートにイベントをのせてみてもダメなのか、そのブックのマクロだけダメなのか試してみられましたか?
>また他のマクロがどんなのかわかりませんがイベントを拾っているのがここだけだとして、どこかでApplication.EnableEvents=False としたままになっていませんか?
 なるほど。対象のブックだけしか試しておりませんでした。
 他のマクロに影響しない初期の状態で試してみたいと思います。

 私事で申し訳ないのですが…
 エンドユーザの端末ですぐに回答出来なくて申し訳ないのですが、
 確認次第ご返信致します。よろしくお願いします。

【57557】Re:ダブルクリックイベントが発生しない
お礼  taka  - 08/9/2(火) 19:05 -

引用なし
パスワード
    りん さん、こんばんは。
 ご回答ありがとうございます。

>新しいブックの新しいシートにイベントをのせてみてもダメなのか、そのブックのマクロだけダメなのか試してみられましたか?
 対象ブックに新しいシートを追加し、その新しいシートでダブルクリックイベントを発生させると、正常に動作しました。

>また他のマクロがどんなのかわかりませんがイベントを拾っているのがここだけだとして、どこかでApplication.EnableEvents=False としたままになっていませんか?
 イベントはTrueです。セレクションチェンジイベントは発生します。

 おかしな状態ですが、まとめると
  対象ブック.xls
  ├対象シート…ダブルクリック×、セレクションチェンジ○
  └新しいシート…ダブルクリック○、セレクションチェンジ○


 ■調査結果
 ・ある2層クライアントのアプリケーションからダウンロードしてExcelが実行されているのですが、ダウンロードしてきた時点ではダブルクリックイベントが走りません。
 ・ダウンロード後に実行されたファイルをデスクトップなどに一時保存した後、もう一度対象のExcelをエクスプローラから開いてダブルクリックするとイベントが発生します。
 ・コマンドラインから起動するとダブルクリックイベントが走りません。

 暫定対応として、2層クライアントのアプリケーションからダウンロードしてきたExcelを一旦ローカルに保存し、再度エクスプローラから起動し直すことで対応出来ました。
 根本的な原因は不明ですが、おそらくPCに依存する何かだと思われます。
 よってVBAの原因である可能性が低いため、ここで回答を聞くのは場違いです。

 りんさん、アドバイスを頂き本当にありがとうございました。
 また機会があればご教授ください。

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