none
Excelのマクロ自動記録をVBから開始させたい RRS feed

  • 質問

  • Excel2007をVBから起動して表示するプログラムを作っています。

    そのExcelを起動した直後にマクロの自動記録を開始させたいのですが

    何か良い方法はありませんでしょうか?

    また、マクロの記録を開始すると記録するマクロ名を指定するダイアログが表示されますが、これを表示しないようにすることは可能でしょうか?

     

    ちなみに

    xlApp.CommandBars("Visual Basic").Controls("新しいマクロの記録(&R)...").Execute()


    の場合はダイアログが表示されてしまいました。

     

    よろしくお願いします。

    2007年5月26日 6:33

すべての返信

  • 普通に、Excel.Application インターフェイスの Run メソッドでマクロ (関数) を自由に実行した方が良いと思います。
    2007年5月26日 13:23
  • じゃんぬねっとさん、ご回答ありがとうございます。

     

    Apprication.Runメソッドはあらかじめ作成されているマクロを実行するためのものですよね?

    (認識違いでしたらすみません)

     

    私の質問の意図が読みづいので具体例を申しますと、Excel上で行われた操作で

    Excel.Appricationのプロパティ上に変化が現れないもの・・・

    例えば、「セル[A1]を[B1]にコピーする」という操作は①ドラッグ&ドロップ②右クリックのコピー&ペースト

    このどちらで行ってもxlapp.Range("B1").text で得られる結果は同じですが、

    プロセスとして①②どちらの操作を行ったのかは分りません。

    ただ、Excelのマクロ記録を行うと異なる記述がされるので、このマクロから①と②のどちらのプロセスを

    採ったのかが判断できるのではないかと考えたのです。

    ただ、手動でマクロの記録を開始して、結果作成されるMacro1を読み取る・・・という作業が

    煩瑣なため、できればExcel起動時にマクロの記録も開始したいと考えた次第です。

     

    繰り返しで申し訳ありませんが、よろしくお願いいたします。
    2007年5月27日 5:46