会社を卒業したのんちおじさん。

人生は知恵と工夫と思いやり!
優しさほど強いものはなく、本当の強さほど優しいものはない -ラルフ・W・ソックマン-

エクセルにメニューを追加する

2008-04-03 19:26:24 | Excelのお話
エクセルでいろいろと書式を作っていますがその多くはエクセルを知らなくても使えるようにフローティング・メニューからコマンドを実行できるようにしてありますが実は私しか使わない書式でそうしていないものがあります。

月に一回しか使わない書式なのですがメニューを作っておけばそれはそれで楽になるのは分かっています、大量に商品を発注するために使う書式ですがいつも「ツール」「マクロ」「マクロ」と辿ってマクロを使っています、要するにメニューを作るのが面倒なわけですが・・。

でも作ってみようと思ってふと考えました、フローティング・メニューではなくこの書式を開いたときだけエクセルの通常のメニューみたいな感じでその脇に表示できないかと・・・、当然この書式を閉じればそれが消えて別のファイルを開いたときは影響しないような・・。

そしたらでーきた!割合簡単でしたね、こうすれば少し邪魔なときもあるフローティング・メニューにしなくても済みました。

Sub auto_open()
  Dim 親メニュー As Variant, 子メニュー As Variant
  '親メニューを追加
  Set 親メニュー = Application.CommandBars("Worksheet Menu Bar") _
          .Controls.Add(Type:=msoControlPopup)
  親メニュー.Caption = "インチキメニュー(&K)"

  '一つ目の子メニューとコマンドを追加
  Set 子メニュー = 親メニュー.Controls.Add
  With 子メニュー
    .Caption = "支離(&S)"
    .OnAction = "支離"
    .BeginGroup = False
  End With

  '二つ目の子メニューとコマンドを追加
  Set 子メニュー = 親メニュー.Controls.Add
  With 子メニュー
    .Caption = "滅茶(&M)"
    .OnAction = "滅茶"
    .BeginGroup = False
  End With

  '三つ目の子メニューとコマンドを追加
  Set 子メニュー = 親メニュー.Controls.Add
  With 子メニュー
    .Caption = "苦茶(&K)"
    .OnAction = "苦茶"
    .BeginGroup = False
  End With
End Sub

Sub auto_close()
  On Error GoTo Fin
  Application.CommandBars("Worksheet Menu Bar") _
    .Controls("インチキメニュー(&K)").Delete
Fin:
End Sub

CDが届いたんだけど・・・。

2008-04-03 12:45:12 | いろんなこと
先週土曜日、HMVに注文しておいたCD,9枚が届きました、このところ例によってCD作りに忙しく届いたCDをまだ一枚も聴いていないのです、「Cream」というスーパー・グループ中のスーパー・グループです。

まあそれはさておき当日CD作り用の音源を録音している最中に佐川急便が来たらしく嫁が(ゆっくりと)2階に呼びに来ました、「お父さん、早くしないと帰っちゃうじゃない、来るの判ってるんなら下に居てくれればいいのにい。」とブー・ブー言いに来たので慌てて用意してあったお金を引っつかんで外に出たら車に乗って帰ろうとしているところを大声で呼び止めて荷物を受け取りました。

「返事したの?」と訊いたが返事さえすることなくゆっくりと私を呼びに来たのです、例によってPCのオンライン・ゲームの最中でそれが中断を余儀なくされたのが不満らしいのです。

返事ぐらいしたらどうなのでしょう、一日中尻に根っ子を生やしていると腐って死にますよ。

実はこれに限らず新聞の集金員がきてもなかなか返事をしないのです、それで帰ってしまうことも度々あります、それでいて来ないと「居る時は来ないんだから」と実に勝手なことを言っているのです。

毎月のことなのだから振込みにすればいいものをそれをしません、なぜしないのかと訊いても答えないのです、恐らくそれも面倒らしい、ガスは振込みにしているのに。

また次の土曜日にもDVDが届く予定です、夕べ「返事ぐらいしてくれてもバチは当たらんだろう」と文句を言っておきましたが・・・。