在vbs / hta中如何判断我是否到达word文档的末尾?

时间:2013-10-28 16:14:01

标签: vba vbscript hta

我目前正在创建一个大型脚本来自动化Microsoft Word文档以提取表并将它们放入新文档中。但是我需要知道何时到达文档的末尾,以便我可以继续阅读下一个文档。

Set objWord         = CreateObject("Word.Application")
Set objNewDoc       = objWord.Documents.Add()
Set objNewSelection = objWord.Selection
Set objDoc = objWord.Documents.Open( C:/Users/blahdoc.doc )
Set objSelection = objWord.Selection

这不是脚本,而是我如何定义和打开文档进行阅读。如果需要,我会很乐意插入更多细节。

我确实四处寻找类似的问题,但没有发现任何适用的问题。如果您提前表示抱歉;)

1 个答案:

答案 0 :(得分:1)

您实际上无需担心“到达文档的末尾”。值得庆幸的是,这些表存储在Tables集合中,该集合是Word.Document的属性。您可以像这样迭代所有表:

For Each oTable In objNewDoc.Tables
    If Left(oTable.Cell(1, 1).Range.Text, Len(oTable.Cell(1, 1).Range.Text) - 2) = "Some string" Then
        MsgBox "Found one!"
    End If
Next

我把它放在一起时遇到的一个问题是所有Cell'Text都有一个由两个字符组成的End-of-Cell Marker:一个回车符(ascii 13),然后是一个BELL(ascii 7)。我使用Left来删除它们,因此我可以将文本与字符串值进行比较,这是我理解你要做的事情。