Главная страница
    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-25527
Knight
2003-12-19 09:16
2004.01.09
Атомные часы


3-25245
yuray76
2003-12-10 12:04
2004.01.09
Gbak на удаленной машине


1-25353
Olphi
2003-12-21 13:52
2004.01.09
перключение MDI форм в меню


1-25365
АМБ
2003-12-25 13:20
2004.01.09
Горячие клавиши


3-25247
trever
2003-12-13 12:27
2004.01.09
Recordset





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