Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.037 c
14-1116835841
Yuri Btr
2005-05-23 12:10
2005.06.14
Проблема с маршрутизацией???


1-1116821409
jcrush
2005-05-23 08:10
2005.06.14
Создание динамических обьектов и работа с ними, определить имена


8-1108485618
_PG_
2005-02-15 19:40
2005.06.14
*.avi нужно сделать не доступным


14-1117058554
Piter
2005-05-26 02:02
2005.06.14
Мне понравилось :) Угадайте, что это?


14-1116400477
Иксик
2005-05-18 11:14
2005.06.14
Интервью с DiamondShark





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский