- PR -

VB2005からマクロ(EXCEL2003)呼出時の戻り値

投稿者投稿内容
yusa
会議室デビュー日: 2006/08/12
投稿数: 2
投稿日時: 2007-10-02 00:42
http://oshiete.nikkeibp.co.jp/qa3380872.html
こちらのredfox63さんの回答にあるように、Excel側のマクロはThisWorkbookではなく
標準モジュールを追加してそこに記述する必要があるのではないでしょうか。

なぜThisWorkbookだと戻り値が取得出来ないのかについてはわかりません。
はし
会議室デビュー日: 2007/09/27
投稿数: 5
お住まい・勤務地: 東京都
投稿日時: 2007-10-04 12:53
解決しました!!
VB8側のみを修正して、戻り値が取得できました。

以下にコードを記述しておきます。。
皆さんどうもありがとうございました。


'マクロ実行用のオブジェクトの生成
Dim filePath As String = "参照XLSファイルパス"
Dim objXLAP As Object = CreateObject("Excel.Application")
Dim objXL As Object = objXLAP.Workbooks.Open(filePath)
Dim obj As Object = objXL.DoKbTestWithParameter("テスト")
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-10-04 13:20
引用:

はしさんの書き込み (2007-10-04 12:53) より:

'マクロ実行用のオブジェクトの生成
Dim filePath As String = "参照XLSファイルパス"
Dim objXLAP As Object = CreateObject("Excel.Application")
Dim objXL As Object = objXLAP.Workbooks.Open(filePath)
Dim obj As Object = objXL.DoKbTestWithParameter("テスト")


え?? x 2
objXL.Run("DoKbTestWithParameter", "テスト") ではなくてですか?

名前から察するに、流用元はたぶんこちらですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)