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です。 |
▼いぬだわん さん: こんにちは。 >メニューバーについて質問です。 >メニューバーの.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だと思います。 |
▼ichinose さん: こんにちは。 先ほどの件はわかりました。 ありがとうございます。 そしてまた、メニューバーについて質問です。 あるファイル処理を行うMacro1があります。 あるファイル処理を行った後、またMacro1が使えるように メニューバーを作成しました。 そのメニューバーは、あるファイル処理を行った後に表示させます。 ところが、あるファイル処理を行った後に 別のファイル処理をMacro1で行おうとして、 メニューバーから立ち上げようとすると、 「同じファイルが開いています」 というようなエラー表示がされます。 これを回避するにはどのようにすればよいでしょうか。 |
▼いぬだわん さん: こんにちは。 >あるファイル処理を行うMacro1があります。 >あるファイル処理を行った後、またMacro1が使えるように >メニューバーを作成しました。 >そのメニューバーは、あるファイル処理を行った後に表示させます。 > >ところが、あるファイル処理を行った後に >別のファイル処理をMacro1で行おうとして、 >メニューバーから立ち上げようとすると、 >「同じファイルが開いています」 >というようなエラー表示がされます。 >これを回避するにはどのようにすればよいでしょうか。 どうすれば、エラーが再現できるのか、わかりません。 もしできたら、再現できる簡単なコードと手順を教えてください。 |
▼ichinose さん: こんにちは。 >どうすれば、エラーが再現できるのか、わかりません。 >もしできたら、再現できる簡単なコードと手順を教えてください。 エラーが出た状態をやってみたのですが、 エラーが出なくなりました。 自分でも途中でいろいろ考えてコードを入れたりなんなりしていたので、 エラーが回避されたかもしれません?! ---- また新たな質問ですが、 メニューバーのあるマクロを起動させ、何らかの処理を行った後、 メニューバーのあるマクロのファイルを終了させると共に、Excelも終了させます。 またExcelを起動してメニューバーのあるマクロ(同じもの)を起動させると、 「問題が発生しました」 というようなエラーメッセージが出て、Excelが強制終了されます (2002の場合は一端終了してまた起動します(というより、そういう設定をしています))。 強制終了させないことはできますか? メニューバーのあるマクロのファイルを終了させると共に、Excelも終了する場合、 Sub DelUserMenuBar() Application.CommandBarsCommandBars(Name:="Macro1").Delete End Sub と入れたのですが・・・ |
横レス失礼します。 >Sub DelUserMenuBar() > Application.CommandBarsCommandBars(Name:="Macro1").Delete >End Sub 上のコードは、どこかのクローズイベントから呼び出しているのでしょうか? そうではなけれ、上記コードだけだと消えません。 それとも、作るときにTemporary:=Trueとしているのでしょうか? >(2002の場合は一端終了してまた起動します(というより、そういう設定をしています))。 2002だとこう言うことができちゃうんですね。 |
▼Jaka さん: こんにちは。 そうなんですか。 これで解決できました。 教えていただき、ありがとうございました。 |