Excel VBA質問箱 IV

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

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


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

【25156】右ボタンでの独自のコントロール作成方法 えくせーる 05/5/23(月) 9:47 質問[未読]
【25161】Re:右ボタンでの独自のコントロール作成方法 ichinose 05/5/23(月) 10:52 発言[未読]
【25246】Re:右ボタンでの独自のコントロール作成方法 えくせーる 05/5/25(水) 9:52 質問[未読]
【25269】Re:右ボタンでの独自のコントロール作成方法 ichinose 05/5/26(木) 1:30 発言[未読]
【25286】Re:右ボタンでの独自のコントロール作成方法 えくせーる 05/5/26(木) 15:46 質問[未読]
【25288】Re:右ボタンでの独自のコントロール作成方法 だるま 05/5/26(木) 16:14 回答[未読]
【25289】Re:右ボタンでの独自のコントロール作成方法 えくせーる 05/5/26(木) 16:22 お礼[未読]
【25292】Re:右ボタンでの独自のコントロール作成方法 m2m10 05/5/27(金) 8:08 発言[未読]
【25272】Re:右ボタンでの独自のコントロール作成方法 m2m10 05/5/26(木) 8:22 発言[未読]

【25156】右ボタンでの独自のコントロール作成方法
質問  えくせーる  - 05/5/23(月) 9:47 -

引用なし
パスワード
   セルを選択状態にして右ボタンをクリックすると、
「切り取り」や「コピー」などのメニューがでてくると思います。
そこに「独自のコマンド」を追加・削除する方法があるの知っているのですが、
忘れてしまいました。
教えてください。(HP知ってたら教えてください。)

●目的
ただ単に今日の日付をセルにインプットさせるイベントを作ることです。

【25161】Re:右ボタンでの独自のコントロール作成...
発言  ichinose  - 05/5/23(月) 10:52 -

引用なし
パスワード
   ▼えくせーる さん:
おはようございます。

>セルを選択状態にして右ボタンをクリックすると、
>「切り取り」や「コピー」などのメニューがでてくると思います。
>そこに「独自のコマンド」を追加・削除する方法があるの知っているのですが、
>忘れてしまいました。
>教えてください。(HP知ってたら教えてください。)
>
>●目的
>ただ単に今日の日付をセルにインプットさせるイベントを作ることです。
久しぶりCommandbarを操作しました。時々やらないと忘れますね!!

'========================================================
Sub test()
  With Application.CommandBars("Cell").Controls.Add(msoControlButton, , , 1, True)
   .Style = msoButtonCaption
   .Caption = "日付"
   .OnAction = "putdate"
   End With
End Sub
'========================================================
Sub putdate()
  Selection.Value = Date
End Sub

確認してみて下さい。

【25246】Re:右ボタンでの独自のコントロール作成...
質問  えくせーる  - 05/5/25(水) 9:52 -

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

さらに質問なのですが、

右ボタンメニューの
自分で作成した「独自のコマンド」を消したいのですが、
どうしたら良いのでしょう??

恐らくエクセルのアプリ機能上で作成したような記憶があるのですが、
定かではありません。(どのエクセルファイルでもメニューに存在します。)

おねがいします。

【25269】Re:右ボタンでの独自のコントロール作成...
発言  ichinose  - 05/5/26(木) 1:30 -

引用なし
パスワード
   ▼えくせーる さん:
こんばんは。

>さらに質問なのですが、
>
>右ボタンメニューの
>自分で作成した「独自のコマンド」を消したいのですが、
>どうしたら良いのでしょう??
>
>恐らくエクセルのアプリ機能上で作成したような記憶があるのですが、
>定かではありません。(どのエクセルファイルでもメニューに存在します。)
>'========================================================
>Sub test()
>  With Application.CommandBars("Cell").Controls.Add(msoControlButton, , , 1, True)
>   .Style = msoButtonCaption
>   .Caption = "日付"
>   .OnAction = "putdate"
>   End With
>End Sub
>'========================================================
>Sub putdate()
>  Selection.Value = Date
>End Sub

このコードで作成したなら、Excelが終了した時点で追加した「日付」ボタンは
削除されるはずなんですが・・・。
それでも削除するなら、

'======================================================
Sub del_CmbOfCell()
  Application.CommandBars("Cell").Controls(1).Delete
End Sub

これで右クリックメニューの一番上に配置した「日付」ボタンは
削除できます。
・・・Controls(1).Delete
この()内に番号に注意して下さい。

【25272】Re:右ボタンでの独自のコントロール作成...
発言  m2m10  - 05/5/26(木) 8:22 -

引用なし
パスワード
   イベントごとに固有の Tag プロパティを作成したほうが良いと思います。

作成例 
With Application.CommandBars("cell") _
  .Controls.Add(Type:=msoControlButton, before:=6, temporary:=True)
  .Caption = "ファイルから図の挿入"
  .OnAction = "画像取り込み"
  .Tag = "mycbc" '*********************
 End With

消し方は**
Sub Delete_cbc()
 Dim cbc As CommandBarControl
 For Each cbc In Application.CommandBars("cell").Controls
  If cbc.Tag = "mycbc" Then cbc.Delete
>        ^^^^^^^^ 名前で削除
 Next cbc
End Sub

【25286】Re:右ボタンでの独自のコントロール作成...
質問  えくせーる  - 05/5/26(木) 15:46 -

引用なし
パスワード
   回答ありがとうございます。
更に質問です。

Controls(1).Delete
を実行したら、どうやら「コピー」を消してしまったようなのですが…
どうしたらよいのでしょう。メニューの初期化できませんか?

【25288】Re:右ボタンでの独自のコントロール作成...
回答  だるま WEB  - 05/5/26(木) 16:14 -

引用なし
パスワード
   >Controls(1).Delete
>を実行したら、どうやら「コピー」を消してしまったようなのですが…
>どうしたらよいのでしょう。メニューの初期化できませんか?

とりあえずこれで元に戻りますよ。^d^

Application.CommandBars("Cell").Reset

【25289】Re:右ボタンでの独自のコントロール作成...
お礼  えくせーる  - 05/5/26(木) 16:22 -

引用なし
パスワード
   ありがとうございました。

マジでやばかったですw

【25292】Re:右ボタンでの独自のコントロール作成...
発言  m2m10  - 05/5/27(金) 8:08 -

引用なし
パスワード
   ▼えくせーる さん:
>ありがとうございました。
>
>マジでやばかったですw
 
 以前私も困りました、ので、再度 

 イベントごとに固有の Tag プロパティを作成したほうが良いと思います。

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