objExcelにオブジェクトがある状態で、
objExcel.Sheets(1).cells(1,1)
でセルの情報が取得できます。
これと同じような感じで、マクロを作動させることはできるのでしょうか?
objExcel.Module1.マクロ名 を実行しても、
エラー'438'
オブジェクトは、このプロパティまたはメソッドをサポートしていません。
となってしまいます。
取得済みのオブジェクトのマクロを作動させられれば
どのような方法でもいいのですが。アドバイスいただけたら幸いです。
No.3ベストアンサー
- 回答日時:
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"
ですかね。
>objExcelは別Excelという認識でいいですよね。
説明不足申し訳ございません。まさに別Excelという認識です。
xlBook.Application.Run "Module1.Test"
これが重要なのですね。
Application.Run " " というものを全く知りませんでした。m(_ _)m
別ExcelのModuleのマクロを無事実行できました。
非常に分かりやすいコードを書いていただき
本当にありがとうございます。
No.4
- 回答日時:
何がしたいかわかりません。
通りがかりに何か見て、あれがほしいといっているような感じ。もっと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 など調べてください。
No.2
- 回答日時:
メソッドの管理はApplicationオブジェクトです。
objExcel ← これ、見た目ワークブックなんで、ここから実行は
無理でしょうね。変数に実行したいメソッドの名前を設定し、
動的に実行する場合は次の手順になります。
Dim メソッド As String
メソッド = "Procedure"
Application.Run メソッド
>取得済みのオブジェクトのマクロ
これはどういう意味ですか?
Application.Run メソッド
というものがあるのですね。
どんなメソッドが分かっていないかを
的確にご指摘いただき誠にありがとうございます。
No.1
- 回答日時:
http://support.microsoft.com/kb/213837/en-us
個人的にはKB219905のソース例のほうが好きかなあ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBA 画像を貼り付ける...
-
VB.netでメソッドからコントロ...
-
サーブレットコンテキストの意...
-
Vba ListViewの行挿入に関して...
-
Objectクラスのオブジェクトを...
-
StringBufferで
-
servletからjspへオブジェクト...
-
VBAでの[]
-
MIME::Parserのparse_dataメソ...
-
javaで、、、
-
ADOのOPENで実行時エラー
-
Excel2000で、特定のシートを新...
-
MessageBox.Show(Me,…の「Me」...
-
getHeigth,getWidthについて
-
抽象クラスのオブジェクトを生...
-
VB6:テキストファイルから特定...
-
C# トランザクション処理
-
javaで配列の中身を表示する方法
-
「タイプ初期化子が例外をスロ...
-
エクセルVBAで、条件に一致する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 画像を貼り付ける...
-
VBAでの[]
-
サーブレットコンテキストの意...
-
VB.netでメソッドからコントロ...
-
C#のクラスで値渡しをする
-
Excel VBA 定数にオブジェクト...
-
servletからjspへオブジェクト...
-
VB.NETでのnothing の意義について
-
javaで、、、
-
PrintFormを使用してのプリント
-
Vba ListViewの行挿入に関して...
-
String型からlong型への変換は...
-
Dispose()は、どんな時に使うの...
-
ピクチャーボックスに点を打つ...
-
C#で親にイベントを投げる方法
-
VBS でのソート処理Excel2003
-
JSPでのArrayListの表示につい...
-
VB2005でADDとINSERTの違いは?
-
[ASP.NET]DropDownListのDB連携...
-
ADOのOPENで実行時エラー
おすすめ情報