過去ログ

                                Page     260
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼メニューバーについて  いぬだわん 02/10/24(木) 10:10
   ┗Re:メニューバーについて  ichinose 02/10/24(木) 11:25
      ┗Re:メニューバーについて  いぬだわん 02/10/24(木) 11:42
         ┗Re:メニューバーについて  ichinose 02/10/24(木) 12:07
            ┗Re:メニューバーについて  いぬだわん 02/10/24(木) 14:58
               ┗Re:メニューバーについて  Jaka 02/10/24(木) 16:20
                  ┗Re:メニューバーについて  いぬだわん 02/10/28(月) 9:05

 ───────────────────────────────────────
 ■題名 : メニューバーについて
 ■名前 : いぬだわん
 ■日付 : 02/10/24(木) 10:10
 -------------------------------------------------------------------------
   こんにちは。
メニューバーについて質問です。
メニューバーの.FaceIDの横にテキストをつけたいのですが、
どうもうまくいきません。
下記のようなものをつくってみたんですけど・・・

'ここから
Sub AddCmdBarBtn() 'メニューバー

  Dim myCB As CommandBar
  Dim myCBCtrl As CommandBarButton
  
  On Error Resume Next
  CommandBars("解析用").Delete
  
  Set myCB = Application.CommandBars.Add(Name:="解析用", Temporary:=True)
   
  Set myCBCtrl = myCB.Controls.Add(Type:=msoControlButton, Before:=1)
  
  With myCBCtrl
    .Caption = "マクロ1"
    .TooltipText = "マクロ1"
     .FaceId = 59
    .OnAction = "Macro1"
  End With
   
   'ツールバーの表示
  With Application.CommandBars("解析用")
    .Visible = True
    .Position = msoBarFloating
  End With
  
End Sub

Private Sub Macro1()

  'MsgBox "あなたはマクロ1を実行しました"

End Sub
'ここまで

わかる方がいらっしゃればご教授願います。
ちなみに、使用Excelは2000と2002です。
 ───────────────────────────────────────  ■題名 : Re:メニューバーについて  ■名前 : ichinose  ■日付 : 02/10/24(木) 11:25  -------------------------------------------------------------------------
   ▼いぬだわん さん:
こんにちは。

>メニューバーについて質問です。
>メニューバーの.FaceIDの横にテキストをつけたいのですが、
>どうもうまくいきません。
>下記のようなものをつくってみたんですけど・・・
>
>'ここから
>Sub AddCmdBarBtn() 'メニューバー
>
>  Dim myCB As CommandBar
>  Dim myCBCtrl As CommandBarButton
>  
>  On Error Resume Next
>  CommandBars("解析用").Delete
>  
>  Set myCB = Application.CommandBars.Add(Name:="解析用", Temporary:=True)
>   
>  Set myCBCtrl = myCB.Controls.Add(Type:=msoControlButton, Before:=1)
>  
>  With myCBCtrl
>    .Caption = "マクロ1"
>    .TooltipText = "マクロ1"
>     .FaceId = 59
>    .OnAction = "Macro1"
    .Style = msoButtonIconAndCaption
>  End With
>   
>   'ツールバーの表示
>  With Application.CommandBars("解析用")
>    .Visible = True
>    .Position = msoBarFloating
>  End With
>  
>End Sub
>
>Private Sub Macro1()
>
>  'MsgBox "あなたはマクロ1を実行しました"
>
>End Sub
>'ここまで
>
>わかる方がいらっしゃればご教授願います。
>ちなみに、使用Excelは2000と2002です。

上記のStyleプロパティの設定でOKだと思います。
 ───────────────────────────────────────  ■題名 : Re:メニューバーについて  ■名前 : いぬだわん  ■日付 : 02/10/24(木) 11:42  -------------------------------------------------------------------------
   ▼ichinose さん:
こんにちは。

先ほどの件はわかりました。
ありがとうございます。

そしてまた、メニューバーについて質問です。

あるファイル処理を行うMacro1があります。
あるファイル処理を行った後、またMacro1が使えるように
メニューバーを作成しました。
そのメニューバーは、あるファイル処理を行った後に表示させます。

ところが、あるファイル処理を行った後に
別のファイル処理をMacro1で行おうとして、
メニューバーから立ち上げようとすると、
「同じファイルが開いています」
というようなエラー表示がされます。
これを回避するにはどのようにすればよいでしょうか。
 ───────────────────────────────────────  ■題名 : Re:メニューバーについて  ■名前 : ichinose  ■日付 : 02/10/24(木) 12:07  -------------------------------------------------------------------------
   ▼いぬだわん さん:
こんにちは。
>あるファイル処理を行うMacro1があります。
>あるファイル処理を行った後、またMacro1が使えるように
>メニューバーを作成しました。
>そのメニューバーは、あるファイル処理を行った後に表示させます。
>
>ところが、あるファイル処理を行った後に
>別のファイル処理をMacro1で行おうとして、
>メニューバーから立ち上げようとすると、
>「同じファイルが開いています」
>というようなエラー表示がされます。
>これを回避するにはどのようにすればよいでしょうか。

どうすれば、エラーが再現できるのか、わかりません。
もしできたら、再現できる簡単なコードと手順を教えてください。
 ───────────────────────────────────────  ■題名 : Re:メニューバーについて  ■名前 : いぬだわん  ■日付 : 02/10/24(木) 14:58  -------------------------------------------------------------------------
   ▼ichinose さん:
こんにちは。

>どうすれば、エラーが再現できるのか、わかりません。
>もしできたら、再現できる簡単なコードと手順を教えてください。

エラーが出た状態をやってみたのですが、
エラーが出なくなりました。
自分でも途中でいろいろ考えてコードを入れたりなんなりしていたので、
エラーが回避されたかもしれません?!

----

また新たな質問ですが、

メニューバーのあるマクロを起動させ、何らかの処理を行った後、
メニューバーのあるマクロのファイルを終了させると共に、Excelも終了させます。
またExcelを起動してメニューバーのあるマクロ(同じもの)を起動させると、
「問題が発生しました」
というようなエラーメッセージが出て、Excelが強制終了されます
(2002の場合は一端終了してまた起動します(というより、そういう設定をしています))。
強制終了させないことはできますか?

メニューバーのあるマクロのファイルを終了させると共に、Excelも終了する場合、
Sub DelUserMenuBar()
  Application.CommandBarsCommandBars(Name:="Macro1").Delete
End Sub
と入れたのですが・・・
 ───────────────────────────────────────  ■題名 : Re:メニューバーについて  ■名前 : Jaka  ■日付 : 02/10/24(木) 16:20  -------------------------------------------------------------------------
   横レス失礼します。

>Sub DelUserMenuBar()
>  Application.CommandBarsCommandBars(Name:="Macro1").Delete
>End Sub

上のコードは、どこかのクローズイベントから呼び出しているのでしょうか?
そうではなけれ、上記コードだけだと消えません。
それとも、作るときにTemporary:=Trueとしているのでしょうか?


>(2002の場合は一端終了してまた起動します(というより、そういう設定をしています))。

2002だとこう言うことができちゃうんですね。
 ───────────────────────────────────────  ■題名 : Re:メニューバーについて  ■名前 : いぬだわん  ■日付 : 02/10/28(月) 9:05  -------------------------------------------------------------------------
   ▼Jaka さん:
こんにちは。

そうなんですか。
これで解決できました。
教えていただき、ありがとうございました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 260