Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > ошибка MS Word


Автор: marhatter 6.12.2009, 18:47
Здравствуйте. Есть приложение, работающее с MS Word. Суть - открываем WORD, читаем данные из таблички, передаем эти данные в запрос, закрываем WORD. Проблема следующая - на некоторых файлах *.doc выскакивает ошибка "MS WORD обнаружило ошибку. Приложение будет закрыто. ... Восттановить документ и перезапустить...".
Код

......
repeat
        begin
          if (sr.Attr and faAnyFile) = sr.Attr then
          begin
            try
              MsWord := CreateOleObject('Word.Application');
            except
              ShowMessage('MS Word не установлен');
            end;
          path1 := path_to_word + sr.Name;
          Doc := MsWord.Documents.Open(FileName := path1, ReadOnly := true);
          tab := MsWord.ActiveDocument.Tables.Count;
          for i := 1 to tab do
          begin
            tbl := Doc.Tables.Item(i);
            if (trim(Tbl.Cell(1,1).Range.Text) = 'Фамилия') then
            begin
              count := Tbl.Rows.Count;
              for j := 2 to count do
              begin
                name_c := trim(Tbl.Cell(j,2).Range.Text);
                family_c := trim(Tbl.Cell(j,1).Range.Text);
                father_c := trim(Tbl.Cell(j,3).Range.Text);
                number := trim(Tbl.Cell(j,6).Range.Text);
                d_rozd := Trim(Tbl.Cell(j,4).Range.Text);
                // обработка данных, полученных из таблицы
                // запрос 
                //........           
              end;
            end;
          end;
          MsWord.Document.Save;
          MsWord.Quit;
       end;
until FindNext(sr) <> 0;
FindClose(sr);

В чем дело. Заранее спасибо.

Автор: Данкинг 6.12.2009, 19:06
Ну так а самим вордом эти файлы открываются? Бывают же глюки.

Автор: marhatter 6.12.2009, 19:09
Цитата(Данкинг @ 6.12.2009,  19:06)
Ну так а самим вордом эти файлы открываются? Бывают же глюки.

Да откываются. Конечно бывают глюки, но вот именно когда приложение работает сразу вылетает

Автор: Данкинг 6.12.2009, 19:14
А эти "глючные" файлы чем-то отличаются от остальных? Думаю, тут дело не в коде, а именно в файлах.

Автор: marhatter 6.12.2009, 19:18
Цитата(Данкинг @ 6.12.2009,  19:14)
А эти "глючные" файлы чем-то отличаются от остальных? Думаю, тут дело не в коде, а именно в файлах.

такое же предположение, что дело в файлах, так как только на некоторых файлах такая проблема. а как нить можно с этим бороться?

Автор: Данкинг 6.12.2009, 19:31
marhatter, посмотри вручную, что глючного может быть у этих файлов, в чём их отличие от остальных. Таблица какой-то иной формат имеет и т.п.

Автор: marhatter 6.12.2009, 19:37
Цитата(Данкинг @ 6.12.2009,  19:31)
marhatter, посмотри вручную, что глючного может быть у этих файлов, в чём их отличие от остальных. Таблица какой-то иной формат имеет и т.п.

попробуем)))

Автор: marhatter 7.12.2009, 10:23
На одном компе все нормально работает, переношу на другой, там выскакивает эта ошибка. Файлы все однотипные, но есть некоторые различия ( где то есть небольшой текст перед табличкой, где то еще одна табличка )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)