[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/12/08(Fri) 17:36
投稿者名:はなちー
Eメール:
URL :
タイトル:
VBからExcelメニューバーを追加する
VBよりExcelを起動し(本サイトExcel&Word関係のサンプルを参考)、そのあとExcelの既存の
ワークシートメニューバーに新規にコマンドを追加したいと考えています。
プロジェクト→参照設定でMicrosoft Office *.* ObjectLibraryを追加し、CommandBarを
操作すればできそうかなと思っていますが、よい方法があれば教えてください。

投稿時間:2006/12/08(Fri) 20:27
投稿者名:neptune
Eメール:
URL :
タイトル:
Re: VBからExcelメニューバーを追加する
こんにちは
> プロジェクト→参照設定でMicrosoft Office *.* ObjectLibraryを追加し、CommandBarを
> 操作すればできそうかなと思っていますが、よい方法があれば教えてください。
良い方法も何も↑がまっとうな方法です。後はExcel VBAのHelpにサンプルまであったと
思いますよ。

投稿時間:2006/12/11(Mon) 18:14
投稿者名:はなちー
Eメール:
URL :
タイトル:
Re^2: VBからExcelメニューバーを追加する
> こんにちは
> > プロジェクト→参照設定でMicrosoft Office *.* ObjectLibraryを追加し、CommandBar

> > 操作すればできそうかなと思っていますが、よい方法があれば教えてください。
> 良い方法も何も↑がまっとうな方法です。後はExcel VBAのHelpにサンプルまであったと
> 思いますよ。
neputuneさま

やっぱりそうですよね。
もしかしたら他にあるのかなと思いまして・・・

Helpを参考にやってみます。ありがとうございます。

投稿時間:2006/12/11(Mon) 19:55
投稿者名:neptune
Eメール:
URL :
タイトル:
Re^3: VBからExcelメニューバーを追加する
> Helpを参考にやってみます。ありがとうございます。
手持ちのソースの肝の部分の抜き取りです。
Excelで書いてますかVB用に改造してください。

Dim mBer As CommandBar
Dim mBerMenu As CommandBarControl
Dim mBerCtrl1 As CommandBarControl

        Set mBer = Application.CommandBars("WorkSheet Menu Bar")
        Set mBerMenu = mBer.Controls.Add(Type:=msoControlPopup)
        mBerMenu.CAPTION = "TestMenu"
    
        Set mBerCtrl1 = mBerMenu.Controls.Add(Type:=msoControlButton)
        With mBerCtrl1
            .CAPTION = "TestMenu"
            .OnAction = "Main"
        End With

投稿時間:2006/12/22(Fri) 18:14
投稿者名:はなちー
Eメール:
URL :
タイトル:
Re^4: VBからExcelメニューバーを追加する
>         Set mBerCtrl1 = mBerMenu.Controls.Add(Type:=msoControlButton)
>         With mBerCtrl1
>             .CAPTION = "TestMenu"
>             .OnAction = "Main"
>         End With
>  

こんにちは
上記コードをVBに置き換えてかいてみましたが、OnActionでコールする処理へとんでいきません。
(Excel上には正常にメニューバーに新しいコマンドが追加されています。)

基本的な部分で何かたりない部分があるのでしょうか?

すいませんがどなたか教示ください。

投稿時間:2006/12/23(Sat) 20:36
投稿者名:neptune
Eメール:
URL :
タイトル:
Re^5: VBからExcelメニューバーを追加する
こんにちは
私の2006/12/11(Mon) 19:55のサンプルは正常動作をExcelで確認したもののメニュー名
などを変更したものです。
> 上記コードをVBに置き換えてかいてみましたが、OnActionでコールする処理へとんでいきません。
> (Excel上には正常にメニューバーに新しいコマンドが追加されています。)
>
> 基本的な部分で何かたりない部分があるのでしょうか?
サンプルの一部だけですから、はなちーさんの引用された部分だけ見ても判断できませんが、

引用したソースはどこに書いてますか?これだけですか?
Excelのメニューバーに「TestMenu」が追加され、その子メニューにさらに「TestMenu」メニュー
は追加されてますか?

Mainプロシージャはどこに存在しますか?またpublicですか?

もう少し情報を出さないと多分誰も的確なアドバイスは出来ませんよ。