• 締切済み

Excel97 にてマクロをメニュー登録する

Windows3.1 時代に使用していた Excel5.0 では、マクロをメニューの「ツール」の下に登録する事が出来たのですが、 Excel97 ではメニューへの登録がありません。(ツールバ-への登録はありますが。) Excel5.0 で作成したファイルを Excel97 で開いたら、「ツール」メニュー中に登録したマクロメニューが存在しますので 登録できないと言う事はないと思われます。 登録方法を教えて下さい。 このため Excel5.0 を捨てられずに困っております。

みんなの回答

  • kbonb
  • ベストアンサー率51% (254/492)
回答No.5

こんにちは  以下のページがご参考になるのでは? 【エクセル技道場】-ツールバー http://www2.odn.ne.jp/excel/waza/toolbar.html

参考URL:
http://www2.odn.ne.jp/excel/
sho-hei
質問者

お礼

どうもありがとうございました。 この URL より、http://www.microsoft.com/japan/support/kb/articles/J028/5/60.htm を発見、そこに「ワークブックごとにメニューバーを保存する事が出来なくなりました。」の記述があることを確認しました。 結局、旧バージョンの Excel ファイルである場合のみ可能なんですね。 もっと簡単に設定できるのかと思っていました。 ありがとうございました。

  • arata
  • ベストアンサー率49% (139/279)
回答No.4

さてと・・・ブック毎にメニュー設定を変える方法ですが、手元にあるのがOffice2000ですから、違うところがあるかもしれませんが、違うところは、他の方のフォローをお願いするとして・・・ ThisWorkbookのコードに下記を記述します。 'ワークブックを閉じる時の処理 Private Sub Workbook_BeforeClose(Cancel As Boolean)   Call MenuDelete End Sub 'ワークブックが開いたときの処理 Private Sub Workbook_Open()   Call MenuSet End Sub Excel97以前だとAuto_OpenとAuto_Closeだったかもしれません。 標準モジュールを追加して下記を記述します。 Option Explicit Private mnuControl As CommandBarControl Public Sub DaySet()   On Error Resume Next   ActiveCell.Value = Format(Now, "yyyy/mm/dd") End Sub Public Sub MenuSet()   On Error GoTo MenuSet_Err   Set mnuControl = CommandBars("Tools").Controls.Add(Type:=msoControlButton, temporary:=True)   mnuControl.Caption = "今日の設定(&T)"   mnuControl.OnAction = "DaySet"   Exit Sub MenuSet_Err:   Exit Sub End Sub Public Sub MenuDelete()   On Error Resume Next   mnuControl.Delete End Sub やっていることは、 ・ワークブックが開いたときにツールメニューの最後に「今日の設定(T)」というメニューを追加して、そのメニューのマクロをDaySetにしている。 ・ワークブックが閉じるときにメニューを削除する。 というものです。 クラスモジュールにして、オブジェクトが壊れるときに、メニューを削除するようにしたほうがいいかもしれません。 Excel97とオブジェクトが違って動かない場合はご勘弁ください。 (プログラム中で、見やすくするために左側のスペースを全角スペースにしています。ご注意ください)

  • arata
  • ベストアンサー率49% (139/279)
回答No.3

>そうそう、「追加されたユーザー設定メニュー」を右クリックしてもプロパティ画面が開きません。 >マクロの登録は左クリックで登録画面が開きました。しかし名称変更は出来ませんでした ユーザー設定ダイアログを閉じてから右クリックしたのでは、開いたままで、右クリックしてください。 あとから、削除する場合も、1で、ユーザー設定のダイアログを開いた状態で、削除したいメニューを右クリックして、削除です。

  • arata
  • ベストアンサー率49% (139/279)
回答No.2

1.Excelのメニューで[表示]-[ツールバー]-[ユーザー設定...]と開いてください。 2.ダイアログのコマンドタグを選択してください。 3.ダイアログの左にある「分類」の中の「マクロ」を選択してください。 4.ダイアログの右にある「コマンド」の「ユーザー設定メニュー」をメニューバーのメニューを追加したい位置にドラッグドロップしてください。 5.追加された「ユーザー設定メニュー」を右クリックして名前の変更やマクロの登録を行ってください。 あとは、メニューバーのユーザー設定のダイアログを閉じれば、新しいメニューが使えます。

sho-hei
質問者

補足

どうもありがとうございます。 この方法で試してみましたが、大きな欠点が2つ。 1つは、この方式で登録するとそのメニュー項目が常駐してしまいます。 私が望んでいるのは、マクロを含む Book を開いた時に、そこに登録されているマクロがメニューに現れるという物。 閉じても残っては困ります。 もう一つ、この方法ではまずいと思い、追加した「ユーザー設定メニュー項目」を消したいのですが消し方がわかりません。^^;; これは「ヘルプ」から調べられるかな。 そうそう、「追加されたユーザー設定メニュー」を右クリックしてもプロパティ画面が開きません。 マクロの登録は左クリックで登録画面が開きました。しかし名称変更は出来ませんでした。

  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.1

「ユーザー設定」で、 「コマンド」の分類から『マクロ』を選択、コマンドの『ユーザー設定メニュー項目』をドラッグして、メニューバーの「ツール」へ持っていきます。プルダウンが開いたら好きな場所におきます。 そのまま、「選択したボタンの編集」を押すと、名前を変更できます。 「ツール」の今設定したメニューを開くと、 『マクロの登録』になります。登録したいマクロを選択します。 次回からそのメニューを選べば、マクロが実行されます。

関連するQ&A