• ベストアンサー

VB.Net2002からExcelマクロは実行できますか?

VBからExcelを起動しシートに値を書き込みます.(ここまではOK) その後,そのExcelのマクロを実行させたいのですが可能でしょうか? また,マクロのセキュリティレベルは「中」なのですが,マクロの含んだExcelを起動させる際のメッセージ画面を非表示(暗黙的に「OK」を押す)ということは可能なのでしょうか?

  • a-k-a
  • お礼率43% (77/176)

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

  • ベストアンサー
回答No.1

Dim xlApp As New Microsoft.Office.Interop.Excel.Application() Dim xlBooks As Microsoft.Office.Interop.Excel.Workbooks = xlApp.Workbooks Dim xlBook As Microsoft.Office.Interop.Excel.Workbook = xlBooks.Open(xlFilePath) xlApp.Run("'" & xlBook.Name & "'!Sheet1.マクロ名") 私はこんな感じでマクロを実行させてます。 私の場合自動的に実行させるときには、セキュリティレベルは「低」にしていますが、あまり推奨できないということなのでこの点についてはよくわかりません。

a-k-a
質問者

お礼

遅くなり申し訳ありません. 回答を手がかりに実装できました. ありがとうございます.

関連するQ&A

  • Excelのマクロが実行されません

    昨日、ExcelでマクロやVBAを作成してみました。 きちんと実行できていましたが、 今日やってみようと思ったら、 「このプロジェクトのマクロは無効に設定されています」とエラーメッセージが出て、実行できませんでした。 セキュリティーレベルは中にしてあります。 また、マクロの有効オプションを選択するように、ヘルプに書いてありますが、エクセルを起動しても、その表示が出ません。 どうしたら、いいのでしょうか。 ちなみに、他のパソコンでは正常に起動します。 どうか教えてください。

  • VB2005.NETプログラムから、エクセル2007へのマクロ実行を無効にしたい。

    <PC1 動作環境> ・OS :Vista Business ・ソフト:office2007 Excel <PC2 動作環境> ・OS :Vista Ultimate ・ソフト:office2007 Excel <目的> VB2005.NETで開発したプログラムから、 エクセルのセルに値を入れるソフト開発しており、 エクセル側にマクロを仕込み動かしています。 VB側から、エクセルのマクロを動かしたくない場合があります。 セキュリティセンター⇒マクロの設定⇒警告を表示して全てのマクロを無効にするを選択しました。 <問題> PC1では、VB側から、エクセルのマクロが実行できなくなりますが、 PC2では、VB側から、エクセルのマクロが実行できてしまう。 PC2でも、VB側から、エクセルのマクロを実行しないようにしたいのですが、どなたか解決方法を知っている方いませんでしょうか。 宜しくおねがい致します。

  • VB6 OLE内のEXCELマクロを実行するには

    お願いします。VB6です。 (1)フォーム上に、OLEオブジェクトを配置してEXCELシートを埋め込みました。 OLE1.CreateEmbed vbNullString, "Excel.Sheet" (2)そのEXCELの標準モジュールに Sub TestMacro() Cells(1, 1) = "ABC" End Sub というマクロを記述しています (3)下記の様にそのマクロを実行させようとすると ★「実行時エラー'1004' cellsメソッドは失敗しました。'_Global'オブジェクト」 というエラーが出てしまいます。★ Private Sub Command1_Click() Dim wb As Workbook Set wb = OLE1.object wb.Application.Run "TestMacro" End Sub ★このエラーの回避方法をご教授ください なお ・エクセルのマクロを変える事はできません ・OLE右クリックでExcelを開いた状態なら正常実行されるので VBでOLEのExcelを開く方法がわかればそれでもOKです。

  • Excel マクロのセキュリティレベルについて

    質問させていただきます。 マクロを含んだファイルをExcel2003で開こうとしたのですが、 Excelマクロのセキュリティレベルが(高)もしくは(最高)になっているため・・・ とメッセージが表示されました。 セキュリティレベルを低くしたらマクロを実行できるかと思い、 ツール→マクロ→セキュリティより「中」に設定し再度開いてみたのですが、同じメッセージが表示されマクロが実行できません。 ちなみに「低」で実行してみても同じでした。 どなたかこの現象の回避方法をご存知でしたらお教えください。 宜しくお願いいたします。

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

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

  • ExcelのVBマクロを、バックグラウンドで動かしたいのです。

    ExcelのVBマクロを、バックグラウンドで動かしたいのです。 sheet1のセルに対して操作を行うマクロをMaacroAとします。このマクロをsheet2やsheet3など複数のsheetから呼び出してsheet1を操作したいのですが、どうしても画面がsheet1に移ってしまいます。 Application.ScreenUpdating を使ってもマクロ終了時にsheet1の画面になってしまいます。 どのようにしたらいいのでしょうか?

  • エクセルでのマクロ異常について

    エクセルでマクロを作り、それを実行している際に、 ある時作ったエクセルブックにおいては、1度目はマクロが実行できるのですが、2回目以降にマクロを実行しようとすると、「ファイルがみつかりません:VBA6.0」という表示が出てOKを押すと、Microsoft Visual Basicの画面が出て、「中断」となっております。 他のマクロを使ったブックではこの現象はありません。パソコンを再起動すると、1度目はマクロが実行できます。 なお「VB6(SP5)ランタイム 基本セット」はインストールしてあり(Vb6jp.dll他いくつかのファイルがインストールされています)、マクロウイルスについても、チエックしましたが検出されません。 この現象は、他のパソコン(win xp)で実行しても同じです。 また再現性があります。 環境はwin98    office2000 premium です。 どのような場合にこの現象が起こりうるのか教えていただけませんか。

  • マクロの実行について

    OSはXPです。 Microsoft Office Excelで作成したマクロを実行しようとすると、次のようなメッセージが表示されます。「セキュリティの設定により、マクロが無効にされました。マクロを実行するには、このブックを 再度開いて、マクロを有効にするよう選択する必要があります。」 解決方法について教えていただけますでしょうか?よろしくお願いいたします。

  • エクセルのマクロ

    こんにちは。 今悩んでいます。 VB6.0で、電圧計、電流計を制御して、VBからエクセルを起動、その値をVBでエクセルにデータを送り、グラフを作るのですが。 グラフを作る作業が、同じ作業なので、エクセルのマクロを使い、グラフを作成しようとしていたのですが・・・。 どのエクセルのファイルからでもできるように、個人用のマクロブックで、グラフを作成したのですが、VBからエクセルを起動し、データの転送して、グラフをマクロで作成しようと思ったら、マクロがないんです。 しかし、デスクトップにあるエクセルのショートカットから起動してみると、マクロがあるのです。 VBから起動したエクセルでは、マクロは使えないんでしょうか? 詳しい方よろしくお願いします。

  • エクセルを閉じる時にマクロを実行する

    お世話になります。 エクセルのファイルを閉じる時にあるマクロを実行したいと思っています。 右上の×印をクリック、Alt+F4、Alt+F→X などエクセルを閉じようとしたときに自動的にマクロを動かすことが出来るでしょうか? マクロ自体は、あるシート全体をコピー→外のシートに形式を選択して貼り付け(値) というごく簡単なものです。 また参考までにエクセルファイルを開いたときにマクロを実行というものがあれば教えてください。 よろしくお願いします。

専門家に質問してみよう