Главная страница
    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.04 c
1-1117188948
sapsi
2005-05-27 14:15
2005.06.14
архивация текстового файла программно


3-1115524614
MickL
2005-05-08 07:56
2005.06.14
BLOB поле


14-1117166797
Иксик
2005-05-27 08:06
2005.06.14
BTC


3-1115781609
Lex_!
2005-05-11 07:20
2005.06.14
Можно ли в TThread работать с базой данных


14-1117085786
yk
2005-05-26 09:36
2005.06.14
Хороший стиль программирования





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский