2013-07-05 3 views
0

У меня есть документ с текстовыми абзацами, а также таблицы. Я хочу найти таблицу, текст которой начинается с «Этот акт был обновлен до». В таблице есть одна ячейка. строка 1, столбец 1. Как найти эту таблицу с помощью кода. Не знаком с использованием таблиц и словосочетаний. Благодарю.Word interop using tables

ответ

1

я частично скопировали этот пример одного из моих проектов (заменен/удалить некоторый код - так он может содержит синтаксические ошибки), но если вы уже работаете с Interop и раннее связывание - это может быть полезно

using Word = Microsoft.Office.Interop.Word; 

var wordApplication = new Word.Application(); 
var filename = "C:\test.doc"; 
Word.Application wordApp = null; 

if (wordApplication != null) 
    wordApp = wordApplication as Word.ApplicationClass; 

Word.Document wordDoc = null; 
if (File.Exists(fileName.ToString()) && wordApp != null) 
     { 
      object readOnly = isReadonly; 
      object isVisible = true; 
      object missing = System.Reflection.Missing.Value; 
      wordDoc = wordApp.Documents.Open(ref fileName, ref missing, 
              ref readOnly, ref missing, ref missing, ref missing, 
              ref missing, ref missing, ref missing, ref missing, 
              ref missing, ref isVisible, ref missing, ref missing, ref missing, 
              ref missing); 
     } 

Word.Document wordDocument = wordDoc as Word.Document; 
int tablecount = wordDocument.Tables.Count; 
wordDocument.Activate(); 
for (int i = 1; i <= tablecount; i++) 
{ 
Word.Table wTable = wordDocument.Tables[i]; 
Word.Cell pCell = wTable.Cell(1, 1); 
if (pCell.Range.Text == "This Act has been update to") 
    { 
     MessageBox.Show("Bingo !!!"); 
     break; 
    } 
} 
0

NetOffice что-то предложить для вас. Другое решение - сохранить ваш текстовый файл в формате HTML, а затем использовать HTML Agility Pack.

Смежные вопросы