Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Word+C#, таблицы 
:(
    Опции темы
Alexsar
Дата 20.4.2007, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 6.5.2005

Репутация: 2
Всего: 1



есть следущий код, который создаёт таблицу в ворде

Код

//создаём таблицу исходных данных
Tables tab = Word_doc.Tables;
object DefaultTableBehavior = 2, AutoFitBehavior = 1;
Table my2 = tab.Add(range, 10, 5, ref DefaultTableBehavior, ref AutoFitBehavior);
my2.Columns.SetWidth(40, WdRulerStyle.wdAdjustNone);

........

//а вот пример заполнения ячейки 
Cell ce = my2.Cell(1, 1);
Range TEXT = ce.Range;
TEXT.Text = "hello";


вопрос: как можно объединить две ячейки, например my2.Cell(1, 1) и my2.Cell(1, 2) или my2.Cell(1, 1) и my2.Cell(2, 1)
и как обращаться к этой объединённой ячейке

для работы с вордом использую библиотеки Microsoft.Office.Interop.Word и Microsoft.Vbe.Interop
PM MAIL   Вверх
mr.DUDA
Дата 20.4.2007, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Самый простой способ: начать запись макроса в ворде, объединить две ячейки в таблице, и после завершения записи макроса проанализировать код VBA (Alt+F11 для входа в редактор). Потом перенести код VBA в C# (они будут почти идентичны).


--------------------
user posted image
PM MAIL WWW   Вверх
Alexsar
Дата 21.4.2007, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 6.5.2005

Репутация: 2
Всего: 1



TO mr.DUDA
а код не подкинешь? я с VBA не дружу smile 
PM MAIL   Вверх
mr.DUDA
Дата 21.4.2007, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Selection.Cells.Merge();


--------------------
user posted image
PM MAIL WWW   Вверх
CYBERDREAM
Дата 29.8.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



Приветствую. 
Возникла проблема как выделить эти ячейки, т.е. как их загнать в объект Word.Range
чтобы потом, в свою очередь, воспользоваться методом ...\Cells.Merge()


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
CYBERDREAM
Дата 30.8.2007, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



Разобрался. 

Код

object unit=Missing.Value;
object d=true;
.....

ce=my2.Cell(11,2); 
t=ce.Range;            //Задаем диапазон
count=1;                 //Задаем смещение
t.Select();                //Выделяем нашу ячейку (11,2)

my2.Application.Selection.MoveDown(ref unit,ref count,ref d); // Смещение на count ячеек вниз, 
         //для метода MoveRight - соответсвенно вправо. Вместе со смещением выделяем и пройденные ячейки

count=4;
my2.Application.Selection.MoveRight(ref unit,ref count,ref d);
my2.Application.Selection.Cells.Merge();                                 //Объединяем выделенные ячейки



--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0531 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.