|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] Не получается вывести строки в консоль и найти заданные строки в документе Word |
|
.NET - [решено] Не получается вывести строки в консоль и найти заданные строки в документе Word
|
Старожил Сообщения: 230 |
Профиль | Отправить PM | Цитировать
Visual Studio 2012, Windows 7. В программе
using System; using System.Configuration; using Word = Microsoft.Office.Interop.Word; using System.Collections.Generic; namespace CsWordCons { class Program { static void FindString() { List<string> strArrFind = new List<string> {"111111", "222222", "33333"}; Object missing = System.Reflection.Missing.Value; Object confConv = false; Object readOnly = true; Object isVisible = false; Object saveChanges = false; Word.Application word = new Word.Application(); Word.Document doc = new Word.Document(); word.Visible = false; Word.Table tbl = null; Object filename = Environment.CurrentDirectory + "\\Документ 1.docx"; Console.WriteLine(filename); doc = word.Documents.Open(ref filename, ref confConv, ref readOnly); try { tbl = doc.Tables[1]; } catch (Exception ex) { tbl = null; Console.WriteLine("\nВ документе " + filename.ToString() + " нет таблиц!\n"); Console.ReadKey(); Environment.Exit(1); } int numCols = tbl.Columns.Count, numRows = tbl.Rows.Count; foreach (string strFind in strArrFind) { Console.WriteLine("************* Строка для поиска: {0} *************", strFind); for (int i = 2; i <= numRows; i++) { for (int j = 3; j <= numCols; j++) { Console.WriteLine(tbl.Cell(i, j).Range.Text); Console.WriteLine(tbl.Cell(i, j).Range.Text + " " + strFind); if (tbl.Cell(i, j).Range.Text == strFind) { Console.WriteLine(strFind + " " + i.ToString() + ", " + j.ToString()); } Console.WriteLine("---------------------------------------"); } // for j } // for i } // foreach ((Word._Document)doc).Close(ref saveChanges, missing, missing); ((Word._Application)word).Quit(ref saveChanges); } // FindString() static void Main(string[] args) { FindString(); Console.ReadKey(); } // Main } //class Program } // namespace CsWordCons 1. Вывод в консоль Console.WriteLine(tbl.Cell(i, j).Range.Text + " " + strFind); должен, как я понимаю, вывести текст из ячейки таблицы, затем пробелы, затем поисковую строку. На самом деле пропадает строка tbl.Cell(i, j).Range.Text и выводится только сдвинутая поисковая строка. 2. Условие tbl.Cell(i, j).Range.Text == strFind никогда не выполняется (при установке в теле условия точки прерывания захода в тело условия нет). Помогите, пожалуйста, исправить ошибки. Проект прикрепил. |
|
Отправлено: 15:16, 19-04-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Иллюстрация
Как видите, кроме «9» в Cell().Range.Text входят символы с кодами 0x0d (CR) и 0x07 (BELL). Попробуйте отрезать два символа справа от содержимого ячейки, а затем уже пробуйте выводить или сравнивать с шаблоном. |
Отправлено: 16:28, 19-04-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 230
|
Профиль | Отправить PM | Цитировать Извините за невнимательность, всё понял. Спасибо!
|
Отправлено: 10:42, 20-04-2018 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Поиск строки по слову и добавление новой строки после найденой. | Mikhael2011 | Скриптовые языки администрирования Windows | 17 | 16-03-2017 03:37 | |
CMD/BAT - Поиск и замена строки в txt файлах по содержанию этой строки. | sayyad | Скриптовые языки администрирования Windows | 1 | 06-12-2015 13:20 | |
VBS/WSH/JS - [решено] Удаление/добавление строки в документе word | Seryoga204 | Скриптовые языки администрирования Windows | 4 | 02-02-2015 20:13 | |
PowerShell - [решено] Не получается разделить строки при выводе в файл | rudimko | Скриптовые языки администрирования Windows | 2 | 15-02-2013 12:29 | |
Ненужные строки в документе.... | Maxximus | Хочу все знать | 11 | 21-04-2003 19:50 |
|