エクセルの質問です。

マクロの記述の開始と終了をVBAのコードから操作する方法を教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/04/13 08:26:21
  • 終了:2008/04/18 08:43:16

回答(2件)

id:sterwars22 No.1

sterwars22回答回数363ベストアンサー獲得回数02008/04/15 02:53:19

id:clinejp

sterwars22さんが、「こんな質問するのなら基礎から勉強して出直してね」という趣旨で回答してくださったのなら分かるのですが・・・。

どこを参照していいのかわかりません。

2008/04/15 10:54:34
id:airplant No.2

airplant回答回数220ベストアンサー獲得回数492008/04/16 02:43:21

ポイント70pt

結論として、Office2003までは「できない」と思います。


各種実験して「マクロの記録開始」まではできるのですが、停止ボタンを押せないのです。

どうも、マクロ起動中にはマクロ記録ができないように作ってあるのではないかと想像しています。単なる誤解だったらごめんなさい。

サンプルを載せておきます。

    ' マクロの記録をマクロから動かすことはできるのだが・・・ 止められない
    a = Application.CommandBars("Worksheet Menu Bar") _
        .Controls("ツール(T)").Controls("マクロ(M)").Controls("新しいマクロの記録(&R)...").Execute()
    Application.Wait Now + TimeValue("00:00:03")

    ' 停止ボタンの小さなメニューバーは出せるのだが、記録中のままで停止ボタンになってくれない
    Application.CommandBars("Stop Recording").Visible = True


    ' キーを送っても無理
    SendKeys "%T", True
    Application.Wait Now + TimeValue("00:00:02")
    
    SendKeys "M", True
    Application.Wait Now + TimeValue("00:00:02")
    
    SendKeys "R", True
    Application.Wait Now + TimeValue("00:00:02")
   
    Application.CommandBars("Stop Recording").Visible = True

もしかしたら、Office 2007なら下記のようにツールバーに「停止」があるようなので、できるかも知れません。

http://www.geocities.jp/oyakamassan_m/exceltips/excel20.html

id:clinejp

たいへんありがとうございます。

実験してみます。

2008/04/18 08:39:20
  • id:clinejp
    質問者から補足説明いたします。
    やりたいことは何かというと、フォーム上のあるボタンが押された時に自動的にマクロの記録が始まり、最後に「今日の作業記録のパターンは○○というマクロに記述しました」のようなメッセージが出るというものです。
    マクロの記述は、鳴れないお客さんにとっては意外と抵抗があるようですね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません