![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA 3 2022/06/23 20:00
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Visual Basic(VBA) Excelのマクロ ブック間である範囲をコピー Workbooks(“a.xlsx“).Sheets 3 2022/05/12 17:02
- Visual Basic(VBA) Csvファイルの最終行を取得する構文はこれであっていますか?オブジェクトは、このプロパティまたはメソ 3 2022/12/26 14:38
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて 重複したものがあれば行を削除するとい 1 2023/02/27 18:49
- Excel(エクセル) Excelのマクロについて:コピー→セル移動→貼り付け 3 2022/04/17 20:46
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBA 画像を貼り付ける...
-
Dispose()は、どんな時に使うの...
-
String型からlong型への変換は...
-
javaで、、、
-
VB.netでメソッドからコントロ...
-
ビルドインクラスにメソッドを...
-
VB2005でADDとINSERTの違いは?
-
servletからjspへオブジェクト...
-
Vba ListViewの行挿入に関して...
-
Javaのメソッドやクラスを分か...
-
vectorの内容をString型に変換...
-
サーブレットコンテキストの意...
-
HashSetのremoveで例外発生します
-
getParameter()について
-
ADOのRecordSet.Openの引数につ...
-
VBAでの[]
-
[JAVA]可変長に配列?
-
WSHについて教えてください。
-
オブジェクトを配列として扱いたい
-
どのようにソートすればいいの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
servletからjspへオブジェクト...
-
VBAでの[]
-
サーブレットコンテキストの意...
-
エクセルVBA 画像を貼り付ける...
-
JSPでのArrayListの表示につい...
-
C#のクラスで値渡しをする
-
VB.netでメソッドからコントロ...
-
Excel VBA 定数にオブジェクト...
-
Vba ListViewの行挿入に関して...
-
javaで、、、
-
Dispose()は、どんな時に使うの...
-
VB.NETでのnothing の意義について
-
getParameter()について
-
String型からlong型への変換は...
-
JTableで値を右寄せ表示する方法
-
C#で親にイベントを投げる方法
-
Javaでブラウザ判定
-
VBスクリプトでテキストファイ...
-
PrintFormを使用してのプリント
-
UTF-8のテキストファイルを開く...
おすすめ情報