dポイントプレゼントキャンペーン実施中!

objExcelにオブジェクトがある状態で、
objExcel.Sheets(1).cells(1,1)
でセルの情報が取得できます。

これと同じような感じで、マクロを作動させることはできるのでしょうか?
objExcel.Module1.マクロ名 を実行しても、

エラー'438'
オブジェクトは、このプロパティまたはメソッドをサポートしていません。

となってしまいます。


取得済みのオブジェクトのマクロを作動させられれば
どのような方法でもいいのですが。アドバイスいただけたら幸いです。

A 回答 (4件)

objExcelは別Excelという認識でいいですよね。



ExcelAのTestメソッドをExcelBで実行したい。

■ExcelA
ブック名:Book1.xls
モジュール名:Module1

Public Sub Test
Msgbox "Test表示"
End Sub

■ExcelB
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\Book1.xls")

xlBook.Application.Run "Module1.Test"

ですかね。
    • good
    • 0
この回答へのお礼

>objExcelは別Excelという認識でいいですよね。
説明不足申し訳ございません。まさに別Excelという認識です。

xlBook.Application.Run "Module1.Test"
これが重要なのですね。
Application.Run " " というものを全く知りませんでした。m(_ _)m

別ExcelのModuleのマクロを無事実行できました。

非常に分かりやすいコードを書いていただき
本当にありがとうございます。

お礼日時:2009/08/04 10:15

何がしたいかわかりません。

通りがかりに何か見て、あれがほしいといっているような感じ。
もっとVBAを勉強して質問してください。
ーー
>objExcel.Sheets(1).cells(1,1)
はエクセル以外のソフト「(ワードやACCESSやFSOなど)からエクセルを操るときに出てくるコードを思わせます。そんなレベルになっているのでしょうか。
VB.NETからもエクセルを実行したり出来ます。
みなエクセルのオブジェクトライブラリを参照できる(使える)ことが条件です。
ーー
まずエクセルからエクセルVBAを実行するためのコードをまず勉強してください。こういうことを考えるのはその後です。学習には順序があります。
エクセルでVBAコードを書く場合に似ていなくも無いが、エクセル定数などは注意のこと。
VB.NETからではいわばエクセルのVBAの勉強のしなおしです。
ーーー
>同じような感じで、マクロを作動させることはできるのでしょうか
感じなんてあいまいな表現では判りません。
勉強がそこまで及んでないためこういう質問表現になってしまうのだと思いますが。
>取得済みのオブジェクトのマクロを作動させられれば
オブジェクトは色々、色々なレベルのものがあります。
取得済みでも、関係ないオブジェクトであれば、役立ちません。
マクロ実行なら
Googleで「application.run VBA」で照会して
http://officetanaka.net/excel/vba/tips/tips09.htm  など調べてください。
    • good
    • 0

メソッドの管理はApplicationオブジェクトです。


objExcel ← これ、見た目ワークブックなんで、ここから実行は
無理でしょうね。変数に実行したいメソッドの名前を設定し、
動的に実行する場合は次の手順になります。

Dim メソッド As String
メソッド = "Procedure"
Application.Run メソッド

>取得済みのオブジェクトのマクロ
これはどういう意味ですか?
    • good
    • 0
この回答へのお礼

Application.Run メソッド
というものがあるのですね。

どんなメソッドが分かっていないかを
的確にご指摘いただき誠にありがとうございます。

お礼日時:2009/08/04 10:19

http://support.microsoft.com/kb/219905/en-us
http://support.microsoft.com/kb/213837/en-us

個人的にはKB219905のソース例のほうが好きかなあ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!