[[20210710230732]] 『TEST.vbsを実行し、TEST.xlsm内のマクロを実行し=x(ranks) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『TEST.vbsを実行し、TEST.xlsm内のマクロを実行し、TEST.xlsmを閉じたい』(ranks)

TEST.vbsを実行し、TEST.xlsmを開きマクロを実行し、TEST.xlsmを閉じる
処理を試みています。
(TEST.xlsmを閉じるためにマクロ内でTEST_02.vbsに飛ばしています。)

別のExcelのブックが開いていない状態でTEST.vbsを実行すると問題なく処理が完了するのですが、
別のブックを開いている状態で実行すると

スクリプト:C:\TEST\TEST_02.vbs
行: 3
文字: 1
エラー: インデックスが有効範囲にありません。
コード: 800A0009
ソース: Microsoft VBScript実行時エラー

が発生します。
他のExcelbookが開いている状態でも実行できるようにしたのですが
どのように修正すればよいかわかりません。

ご教授いただけませんでしょうか。

以下が作成したvbsファイルとエクセルマクロの内容です。

【TEST.vbs】
Dim ex
Set ex = CreateObject("Excel.Application")
ex.Workbooks.Open("C:\TEST\TEXT.xlsm")
ex.Application.Run "test"

【TEXT.xlsm マクロ】
Sub test()

    ActiveSheet.Range("P1").Select
    Selection.NumberFormatLocal = "00"

  CreateObject("WScript.Shell").Run ("C:\TEST\TEST_02.vbs")
End Sub

【TEST_02.vbs】
Dim bk, ex
Set ex = GetObject(, "Excel.Application")
Set bk = ex.Workbooks("TEST.xlsm") ←ここでエラーが発生している
bk.Close
ex.Quit
Set bk = Nothing
Set ex = Nothing
MsgBox("Success")

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 TEST.VBSで全部完結させればいいのでは?
(´・ω・`) 2021/07/11(日) 00:07

ご返事ありがとうございます。
ご指摘のとおり下記でクリアできました。
ありがとうございます。

【TEST.vbs】
Dim ex , exworkbooks
Set ex = CreateObject("Excel.Application")
Set exworkbooks = ex.Workbooks.Open("C:\TEST\TEST.xlsm")
exworkbooks.Application.Run "変換"
exworkbooks.Close

【TEXT.xlsm マクロ】
Sub test()

    ActiveSheet.Range("P1").Select
    Selection.NumberFormatLocal = "00"

End Sub
(ranks) 2021/07/11(日) 00:45


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.