Главная страница
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.03 c
1-1117024157
Andruid
2005-05-25 16:29
2005.06.14
Как сгладить график TChart методом наименьших квадратов?


4-1114517267
zero-g
2005-04-26 16:07
2005.06.14
Глобальный перехват нажатия комбинации клавиш


14-1117134416
Narikmen
2005-05-26 23:06
2005.06.14
image1


14-1117095750
Игорь Шевченко
2005-05-26 12:22
2005.06.14
Восстановление ветки "Двойные стандарты"


14-1117168766
Тульский
2005-05-27 08:39
2005.06.14
Еще одна задачка