作成日 2005/11/21
最終更新日 2011/12/31

エクセルのコマンドバーに[Microsoft 数式エディタ]ボタンを追加する

 だるまは、会社でもプログラムの仕様書はエクセルで書いてます。(※1)
 で、ほとんどないのですが、数式エディタを使いたいと思う場合があります。
 その場合、デフォルトでは、[挿入]-[オブジェクト...]を実行し、
出てきたダイアログで「Microsoft 数式」を選択するという操作をする事になります。
これは、はっきり言って、面倒です。
肩が凝ります。
という事で、コマンドバーに[Microsoft 数式エディタ]ボタン(※2)を追加する方法を説明します。

※1:この書き方だと、だるまがエクセルマニアだから
仕様書をエクセルで書いているような印象を受けると思いますが、それは違います。
だるまが会社に入る前から、仕様書のフォーマットがエクセルで出来てるんです。
だから、それを使うという訳です。
本当です。
※2:右のようなボタン。[Microsoft 数式エディタ]ボタン


1.ダメだった方法
2.正しい方法
3.ダウンロードして使ってみたい

1.ダメだった方法

 まず、先にダメだった方法を2つ説明します。
  1. [ツール]-[ユーザー設定...]でボタン追加。
     Microsoft Wordならできたけど、Excelはダメだった。(※1)
     (Wordの場合、挿入メニューの中に[Microsoft 数式エディタ]ボタンがあったんだけど、
     Excelの場合、いくら探しても見つからなかった。)

    ※1:もし、この方法でできたらHPに載せません。

  2. VBAを使って、IDが26番のボタンを追加
     IDが26番のボタンというのは[Microsoft 数式エディタ]ボタンの事です。
     これは、Wordでボタンを追加するときに、マクロを記録しておけば判ります。

     結果:
      Microsoft Excel X for Macの場合:実行時エラー '-2147483640(-7FFFFFF8)'
      Microsoft Office Excel 2003(※Windows版です)の場合:実行時エラー '-2147467259(80004005)'

     だるまは、これらのエラーに対して、どうしたらいいのかさっぱり判りませんでした。

このページのトップへ

2.正しい方法

 正しい方法というのか、うまくいった方法を説明します。

 まず、IDが1番のボタン(※1)を追加する。
 そうしたら、そのボタンのFaceIDを26(※2)にし、
さらにOnActionプロパティに「数式エディタのオブジェクトを追加しろ」という命令を設定する。

 簡単には以上です。
実際にはエラー処理や、ボタンの削除の事も考えなくてはならないため、もう少し複雑になります。
詳しい事は、サンプルをダウンロードし、そのソースを読んでください。

※1:IDが1番のボタンというのは、ユーザ定義のボタンの事です。
※2:FaceIDを26にするというのは、ボタンの見た目を[Microsoft 数式エディタ]ボタンにするという事です。


このページのトップへ

3.ダウンロードして使ってみたい

 IEO.zip … アドイン(Ver.1.0.1) + テキストベースのマニュアル(Ver.1.0.1.1) 
 旧バージョンはこちら
 バグ情報はこちら

使い方:
  1. インストール
    ●ファイルをダウンロードし、適当な場所に置いたあと、解凍する。
    ●Excelを起動し、[ツール]-[アドイン...]を実行する。
    ●ダイアログが表示されるので、[選択...]ボタンを押してinsertEquObjct.xlaを選択する。
     有効なアドインのリストにアドインが追加されるので、チェックを入れ、[OK]ボタンをしてダイアログを閉じる。
     これで、ボタンが[標準]コマンドバーの先頭に追加される。(図1を参照)
    (※ボタンの位置は後で変更できる。)
    ボタンを追加した図
    図1 ボタンを追加したところ

  2. 使ってみる
    [Microsoft 数式エディタ]ボタンを押せばいい。
  3. カスタマイズ
    ●ボタンの位置は、Excelの[ツール]-[ユーザー設定]から行う。
  4. アンインストール
    ●Excelを起動し、[ツール]-[アドイン...]を実行する。
    ●ダイアログが表示されるので、「insertEquObject.xla」のチェックを外し、[OK]ボタンをしてダイアログを閉じる。
    ●もう、全く使用しないのであれば、「insertEquObject.xla」を削除してもいいです。
注意:
 バグが報告されています。
 Windowsを使用している人は
[Excel2003]アドインを使用して数式を入力すると文字列が重なるときがある問題について
を参照してください。

Prev Up Next  Top
このページのトップへ

このページの利用によって発生した、いかなる損害について、このホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方はメールをお願いします。

Microsoft 、Windows 、Visual Basic 、Office 、 Word および Excel は米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。
Mac 、Mac OS 、Mac OS X は米国Apple Computer,Inc.の登録商標または商標です。
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。

このホームページの作成者はこれらの会社とはいっさい関係がありません。