Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.14;
Скачать: CL | DM;

Вниз

Адреса ячеек в Ворде   Найти похожие ветки 

 
M_a_r_i_n_a   (2005-05-26 17:38) [0]

А можно ли узнать адреса ячеек таблицы, которая в Worde? Если да, то как это сделать?
Спасибо


 
YurikGL ©   (2005-05-26 17:44) [1]


> А можно ли узнать адреса ячеек таблицы, которая в Worde?
> Если да, то как это сделать?
> Спасибо

По каким входным параметрам?


 
M_a_r_i_n_a   (2005-05-26 17:47) [2]

Допустим, даже в самом Ворде


 
YurikGL ©   (2005-05-26 17:50) [3]


> M_a_r_i_n_a   (26.05.05 17:47) [2]

1)Что понимаешь под адресом ячейки?
2)Пусть у тебя есть 10 таблиц, в каждой по 100 ячеек... адрес какой нужен?


 
M_a_r_i_n_a   (2005-05-26 17:54) [4]

Адрес ячейки, в моем понятии, это номер строки и номер столбца. Ячейка из этого и состоит. У меня одна таблица, в которой не понятно как располагаются строки и столбцы т.к. в некоторые ячейки объеденены.


 
YurikGL ©   (2005-05-26 18:02) [5]


> У меня одна таблица, в которой не понятно как располагаются
> строки и столбцы т.к. в некоторые ячейки объеденены.

И чего надо?


 
rOOse ©   (2005-05-26 18:07) [6]

Таблицы в документе Word образуют коллекцию Tables. Их количество можем узнать так:

tcount:=WordDocument1.Tables.Count;

к отдельной таблице обращаемся по ее номеру:

i:=1;
WordDocument1.Tables.Item(i) ...,

где i - целое число. В данном случае мы обращаемся к первой таблице, а вообще i может принимать значения от 1 до WordDocument1.Tables.Count. Если нам необходимо создать таблицу самим, следует поступить так:

WordDocument1.Tables.Add(WordDocument1.Range, i, j, EmptyParam, EmptyParam);

Эта таблица - единственное, что будет в документе, так как она заменяет собой указанный в числе параметров объект Range. В данном случае получаем таблицу на i строк и j столбцов. Если уже еcть какой-то текст, который надо сохранить, совершенно аналогичным образом можем указать пределы объекта Range:

a:=5;
b:=15;
WordDocument1.Tables.Add(WordDocument1.Range(a,b), i, j, EmptyParam, EmptyParam);

Переменные a и b должны быть объявлены как OleVariant.

Ну вот, теперь у нас есть таблица. Неважно, содержалась она уже в документе или мы создали ее сами. Посмотрим, что же мы с ней можем сделать. Число столбцов и строк узнаем так:

i:=1;
k:=WordDocument1.Tables.Item(i).Columns.Count;
j:=WordDocument1.Tables.Item(i).Rows.Count;

Здесь мы опять обратились к первой таблице, но можем работать с любой - надо только правильно указать ее номер. Теперь изменим ширину столбцов или высоту строк:

WordDocument1.Tables.Item(i).Columns.Width:=90;
WordDocument1.Tables.Item(i).Rows.Height:=45;

Аналогично можем задавать размеры отдельных строк и столбцов:

WordDocument1.Tables.Item(i).Columns.Item(j).Width:=90;
WordDocument1.Tables.Item(i).Rows.Item(j).Height:=45;

Здесь j - опять таки целое число, начинается от 1. Можем обратится к отдельной ячейке, прочитать или изменить содержащийся в ней текст:

WordDocument1.Tables.Item(i).Cell(j,k).Range.Text;

Здесь j и k целые переменные, изменяются от 1 до числа строк или столбцов соответственно. Присвоив данной величине строковое выражение, увидим, что оно появилось в ячейке (j,k). Несколько непривычно, но в таблицах Word на первом месте стоит именно номер строки.


 
TUser ©   (2005-05-26 20:03) [7]

> Адрес ячейки, в моем понятии, это номер строки и номер столбца

А если использовано объединение ячеек?


 
M_a_r_i_n_a   (2005-05-26 20:26) [8]

Адреса ячеек я узнала. Но когда обращаюсь к определенной ячейке через Делфи у меня всё зависает!


 
YurikGL ©   (2005-05-27 07:26) [9]


> А если использовано объединение ячеек?

Насколько помню, у нее будет номер верхней левой из объединенных ячеек.


> Но когда обращаюсь к определенной ячейке через Делфи у меня
> всё зависает!

Как обращаешься?



Страницы: 1 вся ветка

Текущий архив: 2005.06.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.049 c
1-1117376417
aha
2005-05-29 18:20
2005.06.14
Как красиво как в Ворде например сделать функцию переименования


14-1117028731
Lexer
2005-05-25 17:45
2005.06.14
OR в C++ одним знаком


4-1114073934
Ярослав
2005-04-21 12:58
2005.06.14
Текс контрола другого приложения


1-1117073077
jcrush
2005-05-26 06:04
2005.06.14
Шифрование по паролю, косяк с пробелами


6-1111755937
Radgar
2005-03-25 16:05
2005.06.14
Ограничение посылки SendText в ServerSocket