Excel VBA質問箱 IV

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

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


72306 / 76732 ←次へ | 前へ→

【8910】Re:オリジナルツールバーへのマクロの登録
回答  ichinose  - 03/11/7(金) 22:25 -

引用なし
パスワード
   ▼猫おじさん さん:
こんばんは。

> 過去ログ等も調べたのですが、オリジナルツールバーへのマクロの登録方法が分かりません。
> Excel 2000です。
>
>「確認.xls」bookの標準モジュールに「バッチ処理」というモジュールがあり、
>「Sub aバッチ処理マクロ()」
>「Sub 検算()」
>「Sub 色塗()」など5つのマクロが書き込まれています。
>
> 一方、同じ「確認.xls」bookの「sheet2(結果一覧)」には、
>「Private Sub Worksheet_BeforeDoubleClick」があり
>セルに書き込まれているパスとファイルネームを参照して
>ダブルクリックしたときに、セルに書かれているファイルを開きます。
>
> コードは次のようなものです
>Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
>
>記入内容 = ActiveCell.Value
>Workbooks.Open Filename:=記入内容
>   
>'コマンドボタンの作成
>
>'既に「検算ボタン」があるとエラーするので削除しておく
>'逆に「検算ボタン」が無いのに削除使用とするとエラーするので、オンエラー処理しておく
> On Error Resume Next
>  CommandBars("検算ボタン").Delete
> On Error GoTo 0
>
>'検算ボタンの設定
> Set newBar = CommandBars.Add(Name:="検算ボタン", Position:=msoBarFloating, Temporary:=True)
>
>'検算ボタンの表示
> newBar.Visible = True
> 
>'目玉アイコンに変える
> Set con = newBar.Controls.Add(Type:=msoControlButton, ID:=23)
>  con.FaceId = 2174 '2174は目玉です
'   ↑ ここで、コマンドボタンをconにセットしていますよね?
>
> ここまでは順調で、目玉のコマンドボタンができあがります。
>
> その後、コマンドボタンをクリックしたときに、
>標準モジュールにある「Sub 検算()」マクロを実行したいので   
>   
> newBar.OnAction = ThisWorkbook.Name & "!.検算"
' よって、マクロの登録は、変数newBarではなく、conに対して行って下さい
' con.OnAction = ThisWorkbook.Name & "!.検算"

>や
> newBar.OnAction = 確認.xls & ".検算"
>等いろいろ試していますが、うまくいきません。
>
> 正しい、書き方をご教示ねがえれば幸いです。 
>
> なお、「Sub 検算()」は、「Sub aバッチ処理マクロ()」からも
>Private Sub Worksheet_BeforeDoubleClickもcallしています。

試してみて下さい。
1 hits

【8907】オリジナルツールバーへのマクロの登録 猫おじさん 03/11/7(金) 21:48 質問
【8910】Re:オリジナルツールバーへのマクロの登録 ichinose 03/11/7(金) 22:25 回答
【8928】Re:オリジナルツールバーへのマクロの登録 猫おじさん 03/11/10(月) 11:50 お礼

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