Преобразовать таблицы WORD в текст (запрошенный элемент коллекции не существует.) - PullRequest
2 голосов
/ 04 июня 2019

Возможно, это скорее проблема WORD, чем VBSCRIPT, но моя задача проста, я просто не знаю, что я делаю.

Входной файл - это RTF с 23 таблицами, разделенными разрывами разделов.Все содержимое таблицы, кроме верхнего и нижнего колонтитула.Я хочу либо преобразовать каждую таблицу в текст по одному, либо выбрать все и преобразовать все.В конечном итоге я сохраню документ в виде текстового файла.

Следующая таблица преобразует одну таблицу, а затем выдает ошибку сбора.

  1  Const RTF="t_14.4.3.1_lbshift.rtf"
  2  Const WDFORMATCODE=2
  3  Set objWord = CreateObject("Word.Application")
  4  With objWord
  5     .Visible = True
  6     .DisplayAlerts = True
  7     Set objDoc = .Documents.Open(rtf)
  8     t0 = objDoc.Tables.Count
  9        wscript.echo "T0=",t0
 10     for i = 1 to objDoc.Tables.Count
 11        wscript.echo i
 12        .Selection.Tables(i).Select
 13        .Selection.Rows.ConvertToText()
 14        next
 15     End With

T0= 23
1
2

Stderr output:
RTF2PDF.vbs(12, 7) Microsoft Word: The requested member of the collection does not exist.
...