• ベストアンサー

VBからエクセルマクロを実行したい

VB2008で コマンドボタンを押すと 現在開いているエクセルファイル(test.xls)のマクロ1を実行させることは可能でしょうか? できればコードを教えていただける助かるのですが、、、 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

こんにちは、 試してみませんが。以下のページを応用すれば 出来るような気がしますが。 http://support.microsoft.com/kb/219905/ja

lokijuh
質問者

お礼

やってみます。 ありがとうございます。

関連するQ&A

  • VBからマクロの実行について

    下記のようにVBよりエクセルマクロの実行を行っています。 マクロに引数を持たしたいのですが、以下のように記述すると 記述エラーが発生します。 引数をもっているマクロはVBから呼び出すことはできないのでしょうか? よろしくお願いいたします。 引数を持たせない場合はエラーが起こらない objExcl.Run ("Macro1.xls" & "!" & "Macro1") マクロ側に引数を持たして、以下のように記述するとエラーになる objExcl.Run ("Macro1.xls" & "!" & "Macro1(引数)")

  • VBからEXCELを起動する

    VBよりExcelを起動するプログラムで困っています。 1.VBよりGetObject関数でTest.xlsを開く 2.Test.xls内のAuto_Openマクロでパラメータファイルをよみ、そこに指定されているエクセルファイルを新しいブックでを開く ということをしたいのですが(「マクロを有効にする」のダイアログは表示されてもかまわないです)、何故かTest.xlsが開いたと思ったらすぐ閉じてしまいます(Excel自体は終了してないですべてのワークシートが閉じた状態)。 Auto_Openマクロは走ってるようなのですが、ついでにCloseマクロも走ってしまいます。 ちなみにTest.xlsを単体で動かしたときは問題なく動くのです・・・。 以前はVB4+Excel95の環境でAPI(CreateProcess)を使用し同作業を行っていたのですが、そのAPIが長いファイル名のスペース(OFFICEがある「Program File」のスペース)を認識しないそうで、この方法が使えないということでGetObjectを使用してみたのですが・・・。 何か根本的な間違いをしているのか、それともコードにエラーがあるのかさっぱりわからずお手上げです。 うまく疑問点を説明できているか不安なんですが、わかる方、どうかご指導願います。 よろしくお願いします。 ---------------------------------------- OSは、Windows 2000 アプリケーションは、Excel 2000 です ----------------------------------------

  • エクセル:マクロ処理

    エクセルファイルにマクロを入れておき、あるボタンを押したらそのマクロが1回だけ実行される。 というようにしたい。 (質問)   ボタンは、どう作るか。コマンドで作るのか。   ボタン処理のところのマクロ記述はどんな感じのコードか。   このファイルを開いたときマクロを有効とするかは有効にするでいいんですよね。 (参考) ワークシート   ボタン1を表示しておく   マクロ   ボタン処理   実行処理 マクロend

  • ExcelマクロでVBエディタの自動化は出来ない?

    Excelのマクロで、VBエディタの操作を自動化したいと考えていますが、出来ないのでしょうか? マクロの記録では VBエディタの操作は一切記録されないようです。 バージョンは Excel2003 です。 具体的には、全てのマクロのコードをテキストファイルに吐き出したいと考えています。 ファイルメニューのエクスポートでも、コードウィンドウ1つ1つを "全てを選択" でも、Excelのマクロから実行させることは出来ないのでしょうか? よろしくお願いします。

  • Excelマクロの[実行]ボタンが押せなくなった

    今までちゅんと使えていたExcel2000マクロを、[ツール]-[マクロ]のマクロ画面から実行しようとしたら、[作成]以外のボタンがグレーになって押せなくなっていました。 そのマクロ自体は何も変更していません。 しいていうと、コードを別のところにコピーするためにVBエディタでコード表示させました。今もちゃんとコードはあります。 また実行できるようにする方法はありますか。VBエディタはほとんど使わないので、修復方法の見当がつきません・・・ よろしくお願いします。

  • vbスクリプトについて

    Excelファイル(D:\test.xls)を再起動するvbスクリプトを作成し、 4時間おきに実行するタスクスケジュールを設定したいと思います。 ※6:00、10:00、14:00、18:00、22:00、2:00のタスクスケジュールを作成し、  vbスクリプトを実行。 次のタスクスケジュールが実行されるまでの4時間は、Excelファイル(D:\test.xls)は 開いたままの状態です。 なので、vbスクリプトで、まずExcelファイル(D:\test.xls)が開いている場合は、 「D:\test.xls」を一旦(上書き保存なしで)閉じて、再度、「D:\test.xls」を開きたいと思っています。 ※他のExcelファイルが開いている場合は、「D:\test.xls」のみ閉じる。 「D:\test.xls」を開くスクリプトはできたのですが、「D:\test.xls」を閉じるところがわかりません。 どなたか教えていただけないでしょうか。 【vbスクリプト】----------------------------------------- '「D:\test.xls」が開いている場合は閉じる  ??? '「D:\test.xls」を起動する Dim xlApp Dim xlWbk Set xlApp=CreateObject("Excel.Application") xlApp.Visible=True Set xlWbk=xlApp.Workbooks.open("D:\test.xls",True) ---------------------------------------------------------

  • EXCELマクロでVB6.0のコードを使う方法

    OSはWin XP Home, EXCEL2002を使用しています。 又、開発ツールはVB6.0とVB.Netの両方を持っています(持っているだけで、ほとんど使ったことはありません)。 現在、EXCELでマクロを作っているのですが、足りない機能があり、知り合いから「自由に使っていいよ」という事でVB6.0のソースコードをもらいました。 このソースコードは単体で動かすと、自分の欲しい機能が全て含まれています。これをうまくエクセルマクロに取り込める方法はないでしょうか? 受け取ったソースコードを私が理解できれば、EXCELで動くように書き換えられるのですが、内容が難しいため実行不可能な状況です。 何かいいアドバイスがあればお願いいたします。

  • 【Excel2003】マクロの実行

    お世話になります。 フォルダー内全てのエクセルファイルに、あるマクロを実行したいのですが可能でしょうか? 例としましては フォルダー「変更ファイル」 以下中にあるファイル ------------------------ ファイル「A.xls」 ファイル「B.xls」 ファイル「C.xls」 ファイル「マクロ.xls」←ソートを行うマクロ入り ------------------------ 「変更ファイル」フォルダー内の「マクロ.xls」を実行してA,B,Cファイル(フォルダー内全てのファイル)内データーを各ファイル毎ソートしたい。 この作業はマクロ.xlsのマクロをカスタマイズしてすることは可能でしょうか? 可能ならやり方を教えてください。 お願いいたします。

  • 別ファイルからのマクロ実行

    Excelファイルにコマンドボタンを設定し、別ファイルのマクロを実行したいのですが、この動作は可能なんでしょうか? マクロの動作設定はしていて、マクロ実行の動きを行いたいのです。 お分かりの方がいらっしゃいましたら、ご回答よろしくお願いします。

  • どのファイルを開いた時もマクロを自動実行。エクセル

    新規にエクセルを開いたときだけマクロを自動実行するには、 personal.xlsで Sub auto_open() ' Macro1 Macro Range("A1").Value = "111" End Sub とすれば良いかと思いますが、 新規に開くどのファイルに対しても ファイル名ABC を含んでいる時だけ マクロを自動的に実行するにはどうしたらよいでしょうか? (ファイルを開いてから マクロボタンを押して マクロに”ファイル名を チェックしてA1にデータを書き込む”があるのはだめです。) (アドインでツールバーボタンを押すのもだめです。) エクセルは2003 OSはXPです。 説明不足でしたらすみません。

専門家に質問してみよう