2010-03-12 118 views
1

我一直在試圖弄清楚爲什麼我的腳本無法正常工作,直到我開始直接從一些網站上覆制和粘貼示例源代碼才讓它在那裏失敗。我收到以下錯誤在我的VB腳本:無法執行剪切-n粘貼VBScript

C:\temp\vbs\script.vbs(19, 53) Microsoft VBScript compilation error: Expected statement'

對於一行代碼,看起來像這樣:

wdoc.Application.Selection.Find.Execute Replace:=wdReplaceAll 

這是用的Microsft的Word在Office 2007的接口進行搜索和替換。索引53直接指向:=部分分配。由於這種類型的語法在我的機器上不起作用,而且我正在使用它從幾個網站,我想知道如果我使用的cscript.exe是過時的。

我沒有正確調用cscript?

回答

5

命名參數(Param:=Value)是Visual Basic和VBA功能; VBScript不支持此語法。

在VBScript中,您需要保留例程參數的實際順序。如果一個特定的參數是可選的並且你想使用它的默認值,你只需要簡單地省略那個參數。所以,你的代碼應該是這樣的:

Const wdReplaceAll = 2 
wdoc.Application.Selection.Find.Execute , , , , , , , , , , wdReplaceAll 
+0

太棒了,謝謝。我的意思是......這不是很棒:這真的很糟糕,而且是可怕的語法,但我想我必須做我該做的事情。感謝您提供正確的答案。 – IcedDante 2010-03-12 18:43:19

+0

@IcedD​​ante:您可以通過點擊旁邊的複選標記來接受Helen的回答。 – 2010-03-14 05:38:55