VBScript compilation error: Expected statement
VBScript compilation error: Expected statement
我在编译 VBScript 时遇到错误,会删除 RTF 文件中的特定行。错误指向第 6 行,字符 25,它是 "Selection.GoTo What:=wdGoToBookmark" 语句中的 '=' 符号,但我认为语法是正确的。
错误信息
行:6 字符:25
错误:预期语句
代码:800A0400
来源:Microsoft VBScript 编译错误
Set Word = CreateObject("Word.Application")
Set wordfile = Word.Documents.Open("filename.RTF")
Word.Visible = TRUE
Sub Macro1()
Selection.GoTo What:=wdGoToBookmark, Name:="IDX12"
With ActiveDocument.Bookmarks
.DefaultSorting = wdSortByName
.ShowHidden = False
End With
Selection.MoveUp Unit:=wdLine, Count:=2
Selection.Delete Unit:=wdCharacter, Count:=1
ActiveDocument.Save
End Sub
Macro1
Word.Quit
我发现您的脚本存在 3 个主要问题。
- 不幸的是,VBScript 不支持命名参数(而 VBA 支持)。因此,您必须列出方法
的所有 null
个参数
- 您使用某些对象(
Selection
、ActiveDocument
...),就好像它们是可用的一样。它们不是:它们是 Word.Application
对象的属性。
- 上一期:你用的常量也是vbs不知道的。因此,要么声明它们,要么使用它们的 Word 内部值。
Set Word = CreateObject("Word.Application")
' !! You also might meet a problem here because you don't use the file full path. The file may not be found !!
Set wordfile = Word.Documents.Open("filename.RTF")
Word.Visible = TRUE
Sub Macro1()
'Word.Selection.GoTo What:=wdGoToBookmark, Name:="IDX12"
Word.Selection.GoTo -1, , , "IDX12"
With Word.ActiveDocument.Bookmarks
'.DefaultSorting = wdSortByName
.DefaultSorting = 0
.ShowHidden = False
End With
'Word.Selection.MoveUp Unit:=wdLine, Count:=2
Word.Selection.MoveUp 5, 2
'Word.Selection.Delete Unit:=wdCharacter, Count:=1
Word.Selection.Delete 1, 1
Word.ActiveDocument.Save
End Sub
Macro1
Word.Quit
我在编译 VBScript 时遇到错误,会删除 RTF 文件中的特定行。错误指向第 6 行,字符 25,它是 "Selection.GoTo What:=wdGoToBookmark" 语句中的 '=' 符号,但我认为语法是正确的。
错误信息
行:6 字符:25
错误:预期语句
代码:800A0400
来源:Microsoft VBScript 编译错误
Set Word = CreateObject("Word.Application")
Set wordfile = Word.Documents.Open("filename.RTF")
Word.Visible = TRUE
Sub Macro1()
Selection.GoTo What:=wdGoToBookmark, Name:="IDX12"
With ActiveDocument.Bookmarks
.DefaultSorting = wdSortByName
.ShowHidden = False
End With
Selection.MoveUp Unit:=wdLine, Count:=2
Selection.Delete Unit:=wdCharacter, Count:=1
ActiveDocument.Save
End Sub
Macro1
Word.Quit
我发现您的脚本存在 3 个主要问题。
- 不幸的是,VBScript 不支持命名参数(而 VBA 支持)。因此,您必须列出方法 的所有
- 您使用某些对象(
Selection
、ActiveDocument
...),就好像它们是可用的一样。它们不是:它们是Word.Application
对象的属性。 - 上一期:你用的常量也是vbs不知道的。因此,要么声明它们,要么使用它们的 Word 内部值。
null
个参数
Set Word = CreateObject("Word.Application")
' !! You also might meet a problem here because you don't use the file full path. The file may not be found !!
Set wordfile = Word.Documents.Open("filename.RTF")
Word.Visible = TRUE
Sub Macro1()
'Word.Selection.GoTo What:=wdGoToBookmark, Name:="IDX12"
Word.Selection.GoTo -1, , , "IDX12"
With Word.ActiveDocument.Bookmarks
'.DefaultSorting = wdSortByName
.DefaultSorting = 0
.ShowHidden = False
End With
'Word.Selection.MoveUp Unit:=wdLine, Count:=2
Word.Selection.MoveUp 5, 2
'Word.Selection.Delete Unit:=wdCharacter, Count:=1
Word.Selection.Delete 1, 1
Word.ActiveDocument.Save
End Sub
Macro1
Word.Quit