|
こんにちは
ユーザー設定のツールバーについての質問です。
ファイルを開く際
自動実行でツールバーをだし
ファイルを閉じる際
自動終了でツールバーを消しているのですが
他のツールバーを持つマクロとかぶった時に
1、そちらを閉じる時にいっしょにツールバーが閉じてしまう。
2、閉じた後に同じエクセルで開くとツールバーがでない
の2点が不具合であるのですが
何かいい解決方法はないでしょうか?
'*******************************************
'* 開始処理
'*******************************************
Sub auto_open()
Application.ScreenUpdating = False
findf = False
For Each cbar In CommandBars
If cbar.Name Like "グラフ作成メニュー" Then findf = True
Next cbar
If findf = False Then メニューバー
Application.ScreenUpdating = True
End Sub
'*******************************************
'* メニューバー表示
'*******************************************
Sub メニューバー()
Dim mybar, b, a, c
Set mybar = CommandBars.Add(Name:="グラフ作成メニュー", Position:=msoBarLeft, Temporary:=True)
mybar.Visible = True
Set a = mybar.Controls.Add(Type:=msoControlButton)
With a
.Caption = "平均値取得"
.Style = msoButtonIconAndCaption
.FaceId = 71
.OnAction = "平均値取得処理"
.TooltipText = "ファイルからデータを取り出し平均値を取得します。"
End With
Set b = mybar.Controls.Add(Type:=msoControlButton)
With b
.Caption = "グラフ更新"
.Style = msoButtonIconAndCaption
.FaceId = 72
.OnAction = "グラフ更新処理"
.TooltipText = "グラフを更新します。"
End With
Set c = mybar.Controls.Add(Type:=msoControlButton)
With c
.Caption = "平均値クリア"
.Style = msoButtonIconAndCaption
.FaceId = 73
.OnAction = "平均値データクリア処理"
.TooltipText = "取得した平均値を全てクリアします。"
End With
End Sub
'*******************************************
'* 平均値取得処理
'*******************************************
Sub 平均値取得処理()
<中略>
End Sub
'*******************************************
'* 終了処理
'*******************************************
Sub auto_close()
Application.CutCopyMode = False
Application.CommandBars("グラフ作成メニュー").Visible = False
End Sub
|
|