2

こんにちは私は次のVBスクリプトを使用してtest.xlsのマクロを呼び出そうとしています

Option Explicit

Dim returnVal 
returnVal = 0
WScript.Echo returnVal

Dim xlApp, xlBook

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("D:\test.xls", 0, True)
xlApp.Run "macro1"
xlBook.Close false
xlApp.Quit

Set xlBook = Nothing
Set xlApp = Nothing

WScript.Echo returnVal
''WScript.Quit returnVal

test.xlsで定義されているマクロは次のとおりです。

Dim returnVal as Boolean
sub macro1()
   returnVal = 1
   Exit Sub
...
End Sub

VBスクリプトを実行しようとすると、値0のポップアップウィンドウが表示されます(これは、最初に実行しているエコー用です)。次に、値0のポップアップウィンドウが再び表示されます。マクロの値が返されていないようです。

私はここでどこが間違っているのですか。

ありがとう、モニカ

4

1 に答える 1

2

マクロを関数として定義します。

Function macro1()
    macro1 = 1
End Function

そして、値を取得します。

returnVal = xlApp.Run("macro1", "My Application")

ここで他の例を見つけてください:
http ://support.microsoft.com/kb/306682

于 2013-02-19T09:21:38.667 に答える