2016-05-16 3 views
0

長時間の読者初めてのポスター....これは通常これらの方法です。私はExcelを開いて特定のマクロを実行する単純なVBSを作ろうとしてきました。私は数ヶ月前に私がこれを書いたときに誓った。私は同様のエラーのフォーラムを洗ったし、提案された何も私のために働いたようだ。VB Script "マクロがこのブックで利用できないか、すべてのマクロが無効になる可能性があります"

アイデア?

Option Explicit 
Dim xlApp, xlBook 

Set xlApp = CreateObject("Excel.Application") 

xlApp.DisplayAlerts=false 
Set xlBook = xlApp.Workbooks.Open("C:\Users\lnguy\Desktop\New Chemical Receipt Form.xlsm", 0, True) 

xlApp.Run "'C:\Users\lnguy\Desktop\New Chemical Receipt Form.xlsm'!Expired2" 

xlBook.Close 

xlApp.Quit 

Set xlBook = Nothing 
Set xlApp = Nothing 

WScript.Echo "Finished." 
WScript.Quit 
+0

'Run'メソッドには、' FTO Development \ '部分がないパスを渡します。 – trincot

+0

このマクロはどこに保存されていますか?あなたのマクロの残りはどこですか?どのラインがエラーになるのですか? – BruceWayne

+0

申し訳ありませんが、間違ったパスをコピーして貼り付けたことが分かりました。私は正しいパスでコードを編集し、それはまだ動作しません。マクロは、Excelワークシートのsheet1に格納されます。 vbsスクリプトは.Run行でエラーを出します。 Sheet1!Expired2としてマクロのシートへの参照を追加しましたが、動作しません。何か案は? –

答えて

2

あなたは、別のパスにあなたがそれを言及二度目(FTO Development\が欠落している)を持っているので、マクロが見つかりません。

私はパスの変数を使用することによってこれを防ぐためにお勧めします:

Dim path 
path = "C:\Users\lnguy\Desktop\FTO Development\New Chemical Receipt Form.xlsm" 

' .... 

Set xlBook = xlApp.Workbooks.Open(path, 0, True) 

xlApp.Run "'" & path & "'!Expired2" 
+0

申し訳ありませんが、間違ったパスをコピーして貼り付けました。変数をパスとして使用しても、.Run行にエラーが表示されます。 –

+0

Excelファイルを手動で開くとどうなりますか。実行中のマクロのセキュリティに関する警告を受け取りますか?マクロは 'Public Sub'として作られていますか? Excelから実行できますか? – trincot

+0

私はExcelからマクロを実行できます。 –

0
独自のモジュールにWorksheet1からマクロを移動し、それはそれを参照することができ Public Subだ確実

関連する問題