Excel VBA質問箱 IV

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

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


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

【5131】一度消したツールバーの再表示 ntomo 03/4/23(水) 10:45 質問
【5133】Re:一度消したツールバーの再表示 Jaka 03/4/23(水) 11:30 発言
【5141】Re:一度消したツールバーの再表示 Jaka 03/4/23(水) 13:19 回答
【5149】Re:一度消したツールバーの再表示 ntomo 03/4/23(水) 15:44 お礼

【5131】一度消したツールバーの再表示
質問  ntomo  - 03/4/23(水) 10:45 -

引用なし
パスワード
   こんにちは
ユーザー設定のツールバーについての質問です。

ファイルを開く際
自動実行でツールバーをだし
ファイルを閉じる際
自動終了でツールバーを消しているのですが

他のツールバーを持つマクロとかぶった時に
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

【5133】Re:一度消したツールバーの再表示
発言  Jaka  - 03/4/23(水) 11:30 -

引用なし
パスワード
   こんにちは。

>他のツールバーを持つマクロとかぶった時に
これは、どのような意味になるのでしょうか?
ツールバーの名前が全く同じと言う事でしょうか?

>If cbar.Name Like "グラフ作成メニュー" Then
なぜ、こんなあいまいな条件式にするのでしょうか?

このへんが、はっきりしないと
>1、そちらを閉じる時にいっしょにツールバーが閉じてしまう。
>2、閉じた後に同じエクセルで開くとツールバーがでない

何とも言えなくなってしまいます。
2つのファイルに同じようなコードを書いているみたいですが...。
1方のコードだけ見せられても....。
もう少し鮮明にお願いします。

【5141】Re:一度消したツールバーの再表示
回答  Jaka  - 03/4/23(水) 13:19 -

引用なし
パスワード
   まだ良く解ってませんが、こんな感じじゃダメなんでしょうか?

Sub auto_open()
  On Error Resume Next
  If Application.CommandBars("グラフ作成メニュー").Visible = False Then
    Application.CommandBars("グラフ作成メニュー").Visible = True
  End If
  If Err <> 0 Then
    メニューバー
  End If
End Sub

【5149】Re:一度消したツールバーの再表示
お礼  ntomo  - 03/4/23(水) 15:44 -

引用なし
パスワード
   ▼Jaka さん:説明不足にもかかわらずレスありがとうございます。
>まだ良く解ってませんが、こんな感じじゃダメなんでしょうか?

ありがとうございました。
うまくいきました。

説明うまくなくてすみませんでした。

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