Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > C# and MS Word |
Автор: MFSham 24.4.2007, 14:41 |
Мне требуется средствами С# работать с word'ом. За основу брал эту ссылку http://wladm.narod.ru/C_Sharp/comword.html. Прочитал, изучил, но возник вопрос. Требуется открыть документ word, в которм содержится таблица, состоящая из 4 столбцов и N строк. Надо считать эту таблицу в массив размера Nx4, т.е. чтобы каждой строке таблицы word соответствовала строка массива. Как осуществить считывание таблицы? |
Автор: Wanderer2019 24.4.2007, 14:50 | ||||
вот пример с просторов инета.... написан на VB, но сути не меняет...
вот под C#
|
Автор: MFSham 24.4.2007, 21:52 |
Спасибо за ответ. Все считывает, но появился другой вопрос) Если у меня поле содержит только текст, то все прокатывает классно. А вот если кроме текста имеются вставленные рисунки(размер небольшой). Как это все загнать в переменную, чтобы потом использовать? Насколько я понял, все переменные Word.Cell имеют тип System.__ComObject. |
Автор: iddqd 25.4.2007, 09:49 |
is не поможет? |
Автор: MFSham 26.4.2007, 23:01 |
а что мне собственно даст is? Мне нужно просто скопировать поле из ворда, которое содержит помимо текста рисунки, а затем вывести это все на экран моей программы. Т.е тип данных конкретно не определишь. |
Автор: mr.DUDA 27.4.2007, 08:12 |
Проблема в том что любой кусок документа может содержать произвольные объекты - это относится и к ячейкам таблиц. Вытянуть картинки и прочее можно примерно так: выделяется кусок документа (ячейка таблицы), затем из document.Selection берётся св-во Images. |
Автор: MFSham 30.4.2007, 22:03 |
Да мне не надо вытягивать картинки, мне надо их просто отобразить ячейку такблицы на своей форме. Эту ячейку абсолютно не надо разлагать на части как текст, картинки и т.д., просто отобразить не вдаваясь в подробности. Может как-то можно представить ячейку таблицы как картинку? чтобы ее просто вставить... Или может еще какой вариант?... Вроде уже все что можно перепробовал, ничего не выходит ![]() |
Автор: Red Wind 30.4.2007, 22:48 |
Любая часть word документа, представляет собой сложную структуру. Так что скорее всего, для вынесения нужной тебе части документа в свою прогу тебе придёться разбить эту часть на составляющие. То есть на текст картинки, и т.д. |
Автор: Legolas 1.5.2007, 00:37 |
Скажите, как можно вывести Word-таблицу, допустим, в RichTextBox, то есть принажатии кнопки появлялась полноценная таблица с разделителями. Я просто не совсем понял. |
Автор: Red Wind 1.5.2007, 12:11 |
Обоснуйте ![]() ![]() |
Автор: MFSham 1.5.2007, 15:02 |
Ну во первых я не нашел ничего, что бы подтверждало это. А во вторых я нашел такие интересные методы как WordCell.Range.Copy() и WordCell.Range.CopyAsPicture(). Они копируют в буфер обмена содержимое ячейки. Пока я толком не разобрался как их заюзать, но это в процессе ![]() |
Автор: MFSham 1.5.2007, 17:34 | ||||
У меня что-то получилось! ![]() Если использовать такой код:
то все хорошо. В буффер обмена копируется строка таблицы в виде рисунка. Копируется немного со смещением вправо, но все же копируется ![]() Тогда следующий код:
выдает ошибку, как только встречает ячейку с изображением, а на остальных работает норм. Пока не могу понять почему. |