Загрузился ли файл Word

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Загрузился ли файл Word

Сообщение Niko » 01.09.2009 (Вт) 11:45

Добрый день!

Пишу программу которая читает файл *.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 файла конвертируются в текст :(

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Re: Загрузился ли файл Word

Сообщение kibernetics » 01.09.2009 (Вт) 19:29

мне кажется у word.application должно быть какоето свойство загружен ли документ целиком.
надо порыскать. для меня такая трабла тоже может иметь место. тоже обрабатываю таблы в доке.
напиши кста в лс, что у тебя за операции с таблами, может делаем одну и туже работу.

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Re: Загрузился ли файл Word

Сообщение Niko » 02.09.2009 (Ср) 8:47

Надобность в определении загрузился ли файл целиком отпала т.к. решил открывать файл и сразу сохранять его в текстовом виде с переносом строк, а затем читать текстовый файл. скорость выросла раз в 20-30, но всеравно интересно как определить загрузился ли файл полностью.
Пытался найти событие в котором можно было бы поймать момент того что файл загружен, но не нашел.

dormouse
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 140
Зарегистрирован: 10.01.2007 (Ср) 21:58
Откуда: Волжский

Re: Загрузился ли файл Word

Сообщение dormouse » 03.09.2009 (Чт) 7:01

а если перевести курсор в конец документа? тогда ворд должен сам дождаться полной загрузки документа до последней страницы..
Код: Выделить всё
Selection.EndKey Unit:=wdStory
VBA, MSA97


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 101

    TopList