循环遍历表格并在末尾停止的 Word 宏

循环遍历表格并在末尾停止的 Word 宏

我有电影剧本。第一列是时间码,第二列是演讲者,第三列是对话。

我想循环整个脚本,但只对第三列(对话框)做一些操作。

我已经有一个宏来处理第三列的操作。我只需要它:

  • 从第 1 行第 1 列开始
  • 跳至第 1 行第 2 列
  • 再次跳至第 1 行第 3 列(然后执行我预先构建的宏)
  • 然后再次 Tab 带我回到 r2 c1

但是当它碰到一个空的表格单元格时,它必须停止。我的宏不断陷入无限循环,尽管对文档结尾进行了许多不同的检查,但 Tab 键仍以编程方式进行检查,因此继续创建新的单元格。所有解决方案都假设它是一个普通的非表格文档,并且代码如下:

Do Until ActiveDocument.Bookmarks("\Sel") = ActiveDocument.Bookmarks("\EndOfDoc")
    '(Do something)
Loop

失败。

答案1

您可以以编程方式迭代表格的行和单元格,而无需逐一选中每个单元格:

Sub ProcessScriptTable()
  Dim oTbl As Table
  Set oTbl = ActiveDocument.Tables(1)

  For Each oRow In oTbl.Rows
    Set oCell = oRow.Cells(3)

    'Do something with each cell
    MsgBox oCell.Range.Text
  Next

End Sub

相关内容