Форум: "Основная";
Текущий архив: 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]Мда задача усложняется с каждой строкой поста по экспоненциальному закону…
← →
{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.044 c