Форум: "Основная";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
ВнизDelphi7 и Excel2000 Найти похожие ветки
← →
чайник (2003-12-17 15:24) [0]Уважаемые мастера, почему при передаче данных в таблицу Excel в первый раз грузит все нормально, если хочу повторно открыть таблицу по нажатию кнопки - молчит и не грузит. У меня windowsxp, excel2000.
код следующий:
....
private
Excel:Variant;n:OleVariant;
....
procedure Tvvod.Excel1Click(Sender: TObject);
var Sheet: Variant;
Row:Integer; it:real;
begin
if not VarIsEmpty(Excel) then Exit;
Try
dat1.q_zai.Open;
except
begin
showmessage(нет соединения с сервером");
exit;
end;
end;
try
Excel:=CreateOleObject("Excel.Application")
except
begin
Showmessage(Нет доступа к Excel");
exit;
end;
end;
n:="d:\zaim.xls";
screen.cursor:=crhourGlass;
Excel.Workbooks.add(n);
Sheet:=Excel.Workbooks[1].Sheets[1];
Row:=4;
while not dat1.q_zai.eof do
begin
it:=it+dat1.q_zaisum_s.asfloat;
Sheet.Cells[Row,1]:=dat1.q_zainame.value;
Sheet.Cells[Row,2]:=dat1.q_zainom_in.value;
Sheet.Cells[Row,3]:=dat1.q_zaisum_s.asstring;
Sheet.Cells[Row,4]:=dat1.q_zaiproz_s.asstring;
Sheet.Cells[Row,5]:=dat1.q_zaidate1.asstring;
Sheet.Cells[Row,6]:=dat1.q_zaidate2.asstring;
inc(row);
dat1.q_zai.next;
end;
Sheet.Cells[Row,1]:="Итого";
Sheet.Cells[Row,3]:=it;
screen.cursor:=crdefault;
if not VarIsEmpty(Excel) then begin
Excel.Visible := true;
end;
end;
procedure Tvvod.FormDestroy(Sender: TObject);
begin
if not VarIsEmpty(Excel) then begin
if (Excel.Workbooks.Count > 0) and (not Excel.Visible) then
begin
Excel.WindowState := Excel.xlMinimized;
Excel.Visible := true;
Application.BringToFront;
end
else
Excel.Quit;
Excel := UnAssigned;
end;
end;
Спасибо.
← →
чайник (2003-12-17 15:32) [1]прошу помощи...спасибо
← →
Карелин Артем (2003-12-17 15:34) [2]Таблицу открыл, перегнал до конца и не закрыл. Когда пытаешься перегнать второй раз курсор стоит на последней позиции.
← →
чайник (2003-12-17 15:45) [3]спасибо, в голову это даже не пришло.
← →
arf_so (2003-12-24 09:35) [4]Слушайте, господа, а как сделать, чтобы не
For i:=5 to 10 do For j:=3 to 5 do
XLApp.WorkBooks[1].WorkSheets[1].Cells[j,i]:=StringGrid.Cells[i,j]
а целиком всю таблицу воткнуть в определенное место листа Excel?
← →
Shirson (2003-12-24 11:21) [5]Какую таблицу?
← →
Романов Р.В. (2003-12-24 11:39) [6]
> arf_so (24.12.03 09:35) [4]
> Слушайте, господа, а как сделать, чтобы не
Range.Value := VariantArray;
← →
Карелин Артем (2003-12-24 13:07) [7]Романов Р.В. © (24.12.03 11:39) [6]
Это самый быстрый вариант.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c