Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.46 MB
Время: 0.012 c
14-25561
Fktrc
2003-12-18 14:35
2004.01.09
Куча кодировок Unicode


14-25585
Style
2003-12-17 23:12
2004.01.09
Direct Access for MSSQL 2000


1-25410
EugenCFG
2003-12-24 14:23
2004.01.09
Мерцания при прорисовки или большой объём файлов.


1-25318
tav
2003-12-22 18:21
2004.01.09
Как строку из ListBox-а скопировать в буфер?


14-25569
Думкин
2003-12-18 07:36
2004.01.09
С днем рождения! 18 декабря.





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