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

Вниз

как программно щелкнуть по элементу списка   Найти похожие ветки 

 
jsnx   (2007-09-26 21:25) [0]

Идея такая, вернее я ее видел у кого-то в книжке.
Необходимо программно щелкнуть по элементу списка что-бы возникло событие OnClick, в результате строковая переменная ассоциируется с таблицей в Word, а затем должно происходить добавление строк этой таблицы.
 Пробовал вариант когда на отдельной форме рсположен ListBox и кнопка, listBox заполняется списком таблиц документа Word, а по щелчку на кнопке добавляется строка.
 Я бы хотел повесить все это на кнопку, т.е. по нажатии в таблицу ворда добавляется столько строк, сколько в DBGrid.


 
engine ©   (2007-09-26 21:38) [1]

> [0] jsnx   (26.09.07 21:25)
> программно щелкнуть по элементу списка что-бы возникло событие
> OnClick


Иди поспи лучше. А завтра, протрезвев, объяснишь чего у тебя не получается.


 
Kolan ©   (2007-09-26 21:50) [2]

Мда задача усложняется с каждой строкой поста по экспоненциальному закону&#133


 
{RASkov} ©   (2007-09-26 22:09) [3]

procedure ЩёлкПо(var ЭлементСписка: ТЭлементСписка);
begin
 ShowMessage("Я, "+ЭлементСписка.Name+", заявляю, что по мне только что щёлкнули");
end;

procedure TForm1.Button3Click(Sender: TObject);
var ЭлСпск: ТЭлементСписка;
begin
 ЭлСписок:=ТЭлементСписка.Create;
 ЭлСписок.Name:="Списка элемент";
 ЩёлкПо(ЭлСписок);  //Вот тут-то мы по нему и щелкнем
 ЭлСписок.Free;
end;



> [0] jsnx   (26.09.07 21:25)

Это не бред. Просто в [0] так подробно и понятно все написано....


 
Jsnx   (2007-09-26 22:12) [4]

Да перемудрил трохец. В общем надо добавить в вордовскую таблицу столько строк сколько их в DBGrid. И все это должно происходить по нажатию кнопки.


 
{RASkov} ©   (2007-09-26 22:17) [5]

> [4] Jsnx   (26.09.07 22:12)

Лучше не стало.
Имею ввиду [0] и [4]... :(


 
DVM ©   (2007-09-26 22:28) [6]


> В общем надо добавить в вордовскую таблицу столько строк
> сколько их в DBGrid. И все это должно происходить по нажатию
> кнопки.

И в чем сложность? Это элементарно же.


 
Вася Правильный   (2007-09-27 10:58) [7]

ListBox.SelectedIndex:=10


 
Jsnx   (2007-09-27 20:22) [8]

Спасибо Вася, вот как я это сделал:
 
procedure TForm1.Button6Click(Sender: TObject);
 var table: variant;
     a: integer;
begin
Table1.First;
 W:=CreateOleObject("Word.Application");
 W.visible:=true;
 W.Documents.add(ExtractFileDir(Application.ExeName)+"\PAN1.dot");

 W.ActiveDocument.Range(1242,1257).Select;
 W.Selection.Text:=DateToStr(Date);

 W.ActiveDocument.Range(35,36).Select;
 W.Selection.Text:=Table1RNaimen.Value;

 ListBox1.Items.Clear;
 for a:=1 to W.ActiveDocument.tables.Count do
     begin
       ListBox1.Items.Add("Таблица- "+intToStr(a));
     end;
  ListBox1.Selected[1]:=true;
  table:=W.ActiveDocument.Tables.Item(ListBox1.ItemIndex+1);
  table.rows.add;
  end;

Сдесь после нажатия кнопки создается объект ворда на основе шаблона, в который в определенные области вставляется сис. дата и значение поля таблицы, в список ListBox1 заносятся список таблиц в шаблоне, затем выбирается вторая таблица и к ней в конец добавляется пустая строка.
Правда пока не доделал, что бы количество строк соответствовало количеству записей в Table1, но ет легко.
Мож кому полезно будет сие творение.


 
Denis_ ©   (2007-09-29 16:09) [9]


> {RASkov} ©   (26.09.07 22:09) [3]

Круто! Я сразу подумал, что это не бред:)


 
evvcom ©   (2007-10-01 14:28) [10]

Жжете, пацаны. Я уже под столом :-)
Эмуляция клика: [7] + ListBox.Click; этого достаточно, если обрабатывать OnClick



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

Форум: "Основная";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.04 c
2-1195074620
alikon1
2007-11-15 00:10
2007.12.16
Назначение клавишам действий


2-1195559299
Tirael
2007-11-20 14:48
2007.12.16
как быстро и просто проверить есть ли файл на сервере?


2-1195843770
Knob
2007-11-23 21:49
2007.12.16
Браузер и соединение с ним


15-1194971813
Kick
2007-11-13 19:36
2007.12.16
delphi = pascal = языки для начинающих


2-1195342761
.dn+
2007-11-18 02:39
2007.12.16
Спецсимволы





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