[[20040522182517]] 『右クリックメニューが出ません』(kobi) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『右クリックメニューが出ません』(kobi)
 お世話になってます。セル位置での右クリックメニューが効かなくなりました。
シートタブやその他の位置での右クリックメニューや、別ソフトでは大丈夫です。
                               Exel2002,XP

 こちらをどうぞ。
ライブラリ よくある質問・困った マウスの右クリックが効かない
https://www.excel.studio-kazu.jp/tips/0039/
(ケン)

 過去ログも探してみたんですが検索が下手ですみません。
現在の状況ですが、[PDFMaker.xla]は見つからず、[*.xlb]は現在アンインストールしたOpenOfficeで作られたと思われる
[dialog.xlb][script.xlb]があったので、ゴミ箱に移動。→解決していません。
[[20040225202806]]『マウスの右クリックしてもなにも出てきません』(山) の
「ExUtTb22 をダウンロードして・・・」を試してみます。  (kobi)

 ExUtTb22を実行してみましたが解決していません。
うーむ、どこが悪いの太郎?も少し、じたばたしてみます。 (kobi)

 コンナのが入ってませんか?
シートモジュールに
 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
 Cancel = True
 End Sub
またはブックモジュールに
 Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
 Cancel = True
 End Sub
まさかね。
(KAMIYA)


 > ExUtTb22 をダウンロードして・・・」を試してみます...
 ExUtTb22 はこちらに移転しています。
https://www.excel.studio-kazu.jp/ips/0039/

 (kazu)

 kazuさん、KAMIYAさん有難うございます。
 ExUtTb22 は見つけてマクロ実行しても駄目でした。
アドインは9種類にチェック、PDFMakerはありません。
 >こんなのが入っていませんか
シートモジュール、ブックモジュールは現在何も入っていませんが、
今朝シートモジュールに入れたファイルを思い出して確認してみたところ、
原因はわかってないんですが、直りました。
[[20040521141055]]『選択したセルの行に色をつける方法』(よっしー) 
(ramrun)さんのシートモジュールコードを実行し、ダブルクリック状態のままだと
他のシートや他のブックで右クリックメニューが使えない状態になるようです。
ダブルクリック状態でブックを閉じていると、他のブックで全く使えないみたいです。
Option Explicit
 Dim WsFlg As Byte, AtFlg As Byte
 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If AtFlg = 0 Then
        AtFlg = 1
        CommandBars("Cell").Enabled = False
    Else
        AtFlg = 0
        CommandBars("Cell").Enabled = True
    End If
 End Sub
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If AtFlg = 1 Then
        Dim Cl1 As Long, Cl2 As Long, Rw1 As Long, Rw2 As Long
        If WsFlg = 0 Then
            WsFlg = 1
            Cl1 = Range(Target.Address).Column
            Cl2 = Range(Target.Address).Columns.Count
            Rw1 = Range(Target.Address).Row
            Rw2 = Range(Target.Address).Rows.Count
            Application.ScreenUpdating = False
            Range(Range(Columns(Cl1), Columns(Cl1 + Cl2 - 1)).Address & "," & _
                  Range(Rows(Rw1), Rows(Rw1 + Rw2 - 1)).Address).Select
            Target.Activate
            Application.ScreenUpdating = True
        End If
        WsFlg = 0
    End If
 End Sub
自分には解読も修正も不能ですが、現在直りました。

いがった、いがった。 ( ^^) _旦~~


 これはこれは、右クリ殺しが活躍しているようですね(汗)。
 ご迷惑をおかけしております。

 いろんな人が試してハマりそうな予感〜

 訂正します、本日の仕事が終わったら。
 (ramrun)


 >(ramrun)さんのシートモジュールコードを実行し、
 >ダブルクリック状態のままだと他のシートや他のブックで
 >右クリックメニューが使えない状態になるようです。

 これはそのとおりです。そういうマクロですから。

 >ダブルクリック状態でブックを閉じていると、
 >他のブックで全く使えないみたいです。

 ダブルクリックの状態でブックを閉じたあとに、他のブックを開くと
 他のブックでは使えるように戻っているようだけど...
 Excel2003で試しているからかな?

 とりあえず訂正しました。
 クラスにイベントをまとめちゃいました。
 (ramrun)
 

 ↓はSheetモジュールに

 Option Explicit
 Dim WsFlg As Byte, AtFlg As Byte
 Dim Uevnt As New Class1

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Set Uevnt.App = Application
    If AtFlg = 0 Then
        AtFlg = 1
        CommandBars("Cell").Enabled = False
    Else
        AtFlg = 0
        CommandBars("Cell").Enabled = True
    End If
    Uevnt.ThisWorkSheetName = ActiveSheet.name
    Uevnt.ThisWorkSheetFlag = AtFlg
 End Sub

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If AtFlg = 1 Then
        Dim Cl1 As Long, Cl2 As Long, Rw1 As Long, Rw2 As Long
        If WsFlg = 0 Then
            WsFlg = 1
            Cl1 = Range(Target.Address).Column
            Cl2 = Range(Target.Address).Columns.Count
            Rw1 = Range(Target.Address).Row
            Rw2 = Range(Target.Address).Rows.Count
            Application.ScreenUpdating = False
            Range(Range(Columns(Cl1), Columns(Cl1 + Cl2 - 1)).Address & "," & _
                  Range(Rows(Rw1), Rows(Rw1 + Rw2 - 1)).Address).Select
            Target.Activate
            Application.ScreenUpdating = True
        End If
        WsFlg = 0
    End If
 End Sub
 
 
 
 ↓はClass1に

 Public WithEvents App As Application
 Private nam As String, flg As Byte

 Property Get ThisWorkSheetName() As String
    ThisWorkSheetName = nam
 End Property

 Property Let ThisWorkSheetName(ByVal ShName As String)
    nam = ShName
 End Property

 Property Get ThisWorkSheetFlag() As String
    ThisWorkSheetFlag = flg
 End Property

 Property Let ThisWorkSheetFlag(ByVal ShFlag As String)
    flg = ShFlag
 End Property

 Private Sub App_SheetActivate(ByVal Sh As Object)
    If ActiveWorkbook.name = ThisWorkbook.name Then
        If Sh.name = nam Then
            If flg = 1 Then
                CommandBars("Cell").Enabled = False
            End If
        End If
    End If
 End Sub

 Private Sub App_WorkbookActivate(ByVal Wb As Workbook)
    If Wb.name = ThisWorkbook.name Then
        If flg = 1 Then
            CommandBars("Cell").Enabled = False
        End If
    End If
 End Sub

 Private Sub App_SheetDeactivate(ByVal Sh As Object)
    CommandBars("Cell").Enabled = True
 End Sub

 Private Sub App_WorkbookDeactivate(ByVal Wb As Workbook)
    CommandBars("Cell").Enabled = True
 End Sub

 Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
    CommandBars("Cell").Enabled = True
 End Sub

 今帰宅しまして、確認しました。
ダブルクリック状態のままでも他のシートや他のブックで
右クリックメニューが使える状態になりました。
読めるように書ける様になるのはいつの日のことか・・・本を片手にべんきょします。
お忙しいところ有難うございました。   (kobi)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.