Показать сообщение отдельно
  #1  
Старый 21.04.2011, 19:26
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
Злость Шаблоны в Excel

Добрый вечер. Вопрос такой. Работаю с шаблоном Excel. В книге с шаблоном 5 листов, в зависимости от ситуации в конечном документе может остатся как 2 листа, так и все 5. Количество листов как видно из кода, меняется состоянием CheckBox-ов
Код HTML:
Ex := CreateOleObject('Excel.Application'); Ex.Application.EnableEvents := false; Workbook := Ex.WorkBooks.Add('C:\Proga\Config\OR.xls'); Ex.Visible := false; Ex.ActiveWorkBook.WorkSheets[1].Name:=L1; Ex.ActiveWorkBook.WorkSheets[2].Name:=L2; Ex.ActiveWorkBook.WorkSheets[3].Name:=L3; Ex.ActiveWorkBook.WorkSheets[4].Name:=L4; Ex.ActiveWorkBook.WorkSheets[5].Name:=L5; If CheckBox13.State = cbUnchecked Then Ex.ActiveWorkBook.WorkSheets[3].Delete; If CheckBox14.State = cbUnchecked Then Ex.ActiveWorkBook.WorkSheets[4].Delete; If CheckBox15.State = cbUnchecked Then Ex.ActiveWorkBook.WorkSheets[5].Delete; Ex.ActiveWorkBook.WorkSheets[L1].Range['O9'].Value:=n1; Ex.ActiveWorkBook.WorkSheets[L1].Range['V3'].Value:= u1;
Не хочет работать и все! Уже весь мозг изломал. Сделал пример так сказать (в приложении), работает. А у меня в проге не хочет. В примере сделал так
Код HTML:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; ComboBox1: TComboBox; Memo1: TMemo; Button1: TButton; CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; CheckBox4: TCheckBox; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses ComObj; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Ex, Workbook, W, L1, L2, L3, L4, L5 :Variant; t1, t2, mem :TCaption; i,j: Integer; begin t1 := Form1.Edit1.Text; t2 := Form1.ComboBox1.Text; mem := Form1.Memo1.Text; L1 :='Листок 1'; L2 :='Листок 2'; L3 :='Листок 3'; L4 :='Листок 4'; L5 :='Листок 5'; Ex := CreateOleObject('Excel.Application'); Ex.Application.EnableEvents := false; Workbook := Ex.WorkBooks.Add('C:\Shablon\Config\Shablon.xls'); Ex.Visible := false; Ex.ActiveWorkBook.WorkSheets[1].Name:=L1; Ex.ActiveWorkBook.WorkSheets[2].Name:=L2; Ex.ActiveWorkBook.WorkSheets[3].Name:=L3; Ex.ActiveWorkBook.WorkSheets[4].Name:=L4; Ex.ActiveWorkBook.WorkSheets[5].Name:=L5; Ex.ActiveWorkBook.WorkSheets[1].Range['B4'].Value:=t1; Ex.ActiveWorkBook.WorkSheets[1].Range['C4'].Value:=t2; If CheckBox3.State = cbChecked Then Ex.ActiveWorkBook.WorkSheets[5].Delete; If CheckBox2.State = cbChecked Then Ex.ActiveWorkBook.WorkSheets[4].Delete; If CheckBox1.State = cbChecked Then Ex.ActiveWorkBook.WorkSheets[3].Delete; begin for i:=1 to length(mem) do begin j:=(i div 30)+ 5; Ex.ActiveWorkBook.WorkSheets[1].Cells[j,2].value:=Ex.ActiveWorkBook.WorkSheets[1].Cells[j,2].value+mem[i]; end; begin If CheckBox4.State = cbChecked Then Ex.ActiveWorkBook.SaveAs('C:\Shablon\Config\OUT.xls'); Ex.Application.EnableEvents := true; Ex.Visible := true; end; end; end; end.
Подскажите в чем может затык быть?
Заранее благодарю за советы.
Вложения
Тип файла: rar Shablon.rar (13.1 Кбайт, 4 просмотров)
Ответить с цитированием