Пишу программу которая читает файл *.rtf
- Код: Выделить всё
Dim AppWord As New Word.Application
On Error Resume Next
Set AppWord = GetObject(, "Word.Application")
If AppWord Is Nothing Then
Set AppWord = CreateObject("Word.Application")
End If
AppWord.Documents.Open sFile
For i = 1 To AppWord.Documents(1).Tables.Count
...
проблема заключается в том что в файле есть более 40-ка таблиц, но AppWord.Documents(1).Tables.Count говорит что там их 20
если перед тем как проверить кол-во таблиц сделать паузу на несколько секунд то кол-во таблиц будет верным, т.е. видимо файл успеет загрузиться полностью.
Как мне определить загрузился ли весь файл чтобы можно было начать с ним рабоать?
---
и еще один вопрос.
получать данные из таблиц читая каждую ячейку очень долго.
- Код: Выделить всё
sValue = AppWord.Documents(1).Tables(i).Cell(2, 1).Range.Text
я делаю так:
- Код: Выделить всё
Dim sstr() as String
ReDim sstr(AppWord.Documents(1).Tables.Count)
For i = 1 To AppWord.Documents(1).Tables.Count
sstr(i) = AppWord.Documents(1).Tables(i).ConvertToText(vbTab)
Next i
а затем обрабатываю sstr()
можно ли как-то быстрее и проще получить данные из таблиц?
---
как выяснилось не все таблицы из RTF файла конвертируются в текст