エクセルVBAとVBScript
WinXP/Pro エクセル2002使用です。
VBScriptで下記のメール送信のプログラムを作り、
それをエクセルVBA→BATファイル→VBScript(→エクセルVBAに戻る)という流れで自動化させましたが、下記のコードでは、現在進行中のエクセルVBAとは別のブックを作るのでうまくいきません。
(エクセルブックを2重起動してしまいます)
Set objExcel =GetObject( "d:\auto\aaa.xls")
Dim stradrs
Dim strkk
Dim strjikan
with objExcel
stradrs = .Worksheets("Sheet1").Cells(5,1).Value
strkk= .Worksheets("Sheet1").Cells(4,1).Value
strjikan = .Worksheets("Sheet1").Cells(4,2).Value
end with
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "***@***.com"
objEmail.To = stradrs
objEmail.Subject = "表題"
objEmail.Textbody = "内容"
objEmail.AddAttachment("d:\auto\" & strkk & strjikan & ".doc")
objEmail.Send
Set objEmail = nothing
Set objExcel = nothing
目的は、最初に立ち上げている(VBScriptを呼び出したVBAを実行中の)エクセルから値を取得したいのです。
下記いずれかの方法によると思っています。
(1)エクセルVBAから直接VBScriptに引数で値を渡すことは可能でしょうか?
(2)VBScriptからエクセルブックを起動させずに値を取得することは可能でしょうか?
値はテキスト文字です。
何卒よろしくお願いします。