Удаление таблиц в Word с помощью C#
От: morm Россия  
Дата: 23.01.12 10:21
Оценка:
Есть такой код:


object missing = Type.Missing;
object smth = true;
object nm = fname;

Document doc = app.Documents.Open(ref nm, ref missing, ref smth, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

string txt = doc.Range();
                    
foreach (Table tbl in txt.Tables)
    tbl.Delete();



Почему-то есть таблицы, которые не удаляются. Что может быть не так, и как гарантировано удалить таблицы? Заранее спасибо.
Re: Удаление таблиц в Word с помощью C#
От: baranovda Российская Империя  
Дата: 23.01.12 17:47
Оценка:
Здравствуйте, morm, Вы писали:

M>Почему-то есть таблицы, которые не удаляются. Что может быть не так, и как гарантировано удалить таблицы? Заранее спасибо.


Не проверял, но цикл по коллекции, в котором выполняется удаление элементов коллекции, сразу вызывает подозрение
Re[2]: Удаление таблиц в Word с помощью C#
От: morm Россия  
Дата: 23.01.12 19:35
Оценка:
Здравствуйте, baranovda, Вы писали:

B>Не проверял, но цикл по коллекции, в котором выполняется удаление элементов коллекции, сразу вызывает подозрение


Фишка в том, что из трех таблиц удаляется последняя. При этом никакие исключения не кидаются, а неудаленные объекты вполне себе доступны и работоспособны
Re: Удаление таблиц в Word с помощью C#
От: morm Россия  
Дата: 25.01.12 12:40
Оценка:
Здравствуйте, morm, Вы писали:

Обошел через чтение doc.Range соответственно от начала до начала таблицы, потом прибавляю от конца таблицы до конца документа. Гадость, но что делать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.