![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
MFSham |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: нет Всего: 3 |
Мне требуется средствами С# работать с word'ом. За основу брал эту ссылку wladm.narod.ru.
Прочитал, изучил, но возник вопрос. Требуется открыть документ word, в которм содержится таблица, состоящая из 4 столбцов и N строк. Надо считать эту таблицу в массив размера Nx4, т.е. чтобы каждой строке таблицы word соответствовала строка массива. Как осуществить считывание таблицы? --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
|||
|
||||
Wanderer2019 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 7 Всего: 17 |
вот пример с просторов инета....
написан на VB, но сути не меняет...
вот под C#
Это сообщение отредактировал(а) Wanderer2019 - 24.4.2007, 15:01 |
||||
|
|||||
MFSham |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: нет Всего: 3 |
Спасибо за ответ. Все считывает, но появился другой вопрос)
Если у меня поле содержит только текст, то все прокатывает классно. А вот если кроме текста имеются вставленные рисунки(размер небольшой). Как это все загнать в переменную, чтобы потом использовать? Насколько я понял, все переменные Word.Cell имеют тип System.__ComObject. --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
|||
|
||||
iddqd |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: 2 Всего: 2 |
is не поможет?
-------------------- |
|||
|
||||
MFSham |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: нет Всего: 3 |
а что мне собственно даст is? Мне нужно просто скопировать поле из ворда, которое содержит помимо текста рисунки, а затем вывести это все на экран моей программы. Т.е тип данных конкретно не определишь. --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Проблема в том что любой кусок документа может содержать произвольные объекты - это относится и к ячейкам таблиц. Вытянуть картинки и прочее можно примерно так: выделяется кусок документа (ячейка таблицы), затем из document.Selection берётся св-во Images.
-------------------- ![]() |
|||
|
||||
MFSham |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: нет Всего: 3 |
Да мне не надо вытягивать картинки, мне надо их просто отобразить ячейку такблицы на своей форме. Эту ячейку абсолютно не надо разлагать на части как текст, картинки и т.д., просто отобразить не вдаваясь в подробности. Может как-то можно представить ячейку таблицы как картинку? чтобы ее просто вставить... Или может еще какой вариант?... Вроде уже все что можно перепробовал, ничего не выходит ![]() --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
|||
|
||||
Red Wind |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 280 Регистрация: 25.6.2004 Где: Минск Репутация: нет Всего: 2 |
Любая часть word документа, представляет собой сложную структуру. Так что скорее всего, для вынесения нужной тебе части документа в свою прогу тебе придёться разбить эту часть на составляющие. То есть на текст картинки, и т.д.
Это сообщение отредактировал(а) Red Wind - 30.4.2007, 22:49 |
|||
|
||||
Legolas |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 14.2.2007 Репутация: 2 Всего: 5 |
Скажите, как можно вывести Word-таблицу, допустим, в RichTextBox, то есть принажатии кнопки появлялась полноценная таблица с разделителями. Я просто не совсем понял.
|
|||
|
||||
MFSham |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: нет Всего: 3 |
Это конечно понятно.
А вот в этом я бы уже засомневался. Может у кого есть другие предложения? --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
||||
|
|||||
Red Wind |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 280 Регистрация: 25.6.2004 Где: Минск Репутация: нет Всего: 2 |
||||
|
||||
MFSham |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: нет Всего: 3 |
Ну во первых я не нашел ничего, что бы подтверждало это. А во вторых я нашел такие интересные методы как WordCell.Range.Copy() и WordCell.Range.CopyAsPicture(). Они копируют в буфер обмена содержимое ячейки. Пока я толком не разобрался как их заюзать, но это в процессе ![]() --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
|||
|
||||
MFSham |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: нет Всего: 3 |
У меня что-то получилось!
![]() Если использовать такой код:
то все хорошо. В буффер обмена копируется строка таблицы в виде рисунка. Копируется немного со смещением вправо, но все же копируется ![]() Тогда следующий код:
выдает ошибку, как только встречает ячейку с изображением, а на остальных работает норм. Пока не могу понять почему. --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
||||
|
|||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |