• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelマクロ戻り値をバッチファイルで取得したい)

Excelマクロ戻り値をバッチファイルで取得する方法

このQ&Aのポイント
  • Excelマクロ戻り値をバッチファイルで取得する方法について教えてください。
  • Excelマクロからの戻り値をVBスクリプトファイルやバッチファイルで取得する方法が分かりません。
  • 具体的には、Excelマクロmain()の戻り値をVBスクリプトファイルやバッチファイルで利用したいです。どのように記述すればよいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

問1の方だけですが E:\tmp\Book1.xlsm の標準モジュールに Function ima() As Integer ima = Second(Now) End Function としときます。 VBSの方では Dim xlApp Dim XLName Dim myStr Set xlApp = CreateObject("Excel.Application") xlApp.workbooks.open("E:\tmp\Book1.xlsm") myStr = xlApp.Run("ima") xlApp.Quit Set xlApp = Nothing MsgBox myStr で取得できましたがBATファイルだと・・・・・・・・・? 先達のご登場を期待しましょう (^_^;)

yam2012
質問者

お礼

教えていただきました方法で、 Excelマクロの戻り値をVBスクリプトで取得することができました。 また、WScript.Quit()とerrorlevelを使うことで、 VBスクリプトの戻り値をバッチファイルで取得することができることが分かりました。 ありがとうございました。 ---test.bat--------------------------------------- cscript test.vbs /A:"C:\test\Book1.xlsm" /B:"main" @echo %errorlevel% -------------------------------------------------- ---test.vbs--------------------------------------- Dim oApp Dim myStr Set oApp = CreateObject("Excel.Application") oApp.Visible = False Set objParm = WScript.Arguments.Named oApp.Workbooks.Open objParm("A") myStr=oApp.Run(objParm("B")) oApp.DisplayAlerts = False oApp.Quit oApp.DisplayAlerts = True WScript.Quit(myStr) --------------------------------------------------

関連するQ&A