Autor Beitrag
juelin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40

Win XP, Linux
D7 K3
BeitragVerfasst: So 27.11.11 12:05 
Hallo,
ich benutze Delphi 7.
Ich möchte ein Excelfile erstellen und habe folgenden Code:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
  var Excel: Variant;
  var exfile: String// Inhalt 'c:\abc.xls'
  var exsheet: String;  // Inhalt 'abc'
  var tof: File;
  var exzeile: integer;
  var exspalte: integer;
  var a: integer;
  a:=0;
  AssignFile(tof, exfile);
  {$i-}
  Rewrite(tof, 1);
  {$I+}
  if (IOResult = 0then
  begin
    CloseFile(tof);
    try
      Excel:=CreateOleObject('Excel.Application');
      a:=1;
    except
      ShowMessage('Excel konnte nicht gestartet werden');
    end;
    if a = 1 then
    begin
      Excel.Visible:=True;
      Excel.WorkBooks.Open(exfile);
      Excel.Sheets[exsheet].Activate;
      exzeile:=1;
      exspalte:=1;
      Excel.Cells[exzeile, exspalte].NumberFormat:='@';
      Excel.Cells[exzeile, exspalte].HorizontalAlignment:=xlHAlignLeft;
      Excel.Cells[exzeile, exspalte].Interior.Color:=clBlue;
      Excel.Cells[exzeile, exspalte].Font.Size:=10;
      Excel.Cells[exzeile, exspalte].Font.FontStyle:='Bold';
      Excel.Cells[exzeile, exspalte].Font.Color:=clYellow;
      Excel.Cells[exzeile, exspalte].Font.Name:='Courier New';
      Excel.Cells[exzeile, exspalte].Value:='Anrede'+Chr(10)+Chr(13)+'Titel';
      Excel.Workbooks.Close;
      Excel.Quit;
      Excel:= Unassigned;
    end;
  end;

Auf dem Bildschirm sieht das Excelfile gut aus (Feld Blau Schrift Gelb).
Wenn ich das Excelfile mit dem Windows-Explorer aufrufe ist aber das Feld Weiß und die Schrift Schwarz.

Was mache ich falsch?

NEU NEU NEU !!!!!!!
Jetzt habe ich herausgefunden: Beim Befehl Excel.Workbooks.Close kommen Meldungsboxen hoch.
1. Meldungsbox Microsoft Excel "Sollen Ihre Änderungen in abc.xls gespeichert werden?" Ja, Nein, Abbrechen Ich drücke Ja
2. Speichern unter Box. Der Filename steht drin. Aber unter Filetype steht "Text (Tabstopp-getrennt (*.txt)" Sollte aber Excel-Arbeirsmappe sein. Ich drücke speichern.
3. Meldungsbox "Die Datei abc.xls besteht bereits. Möchten Sie die bestehende Datei ersetzen?" Ja, Nein Ich drücje Ja.

Wie kann man diese Medungsboxen unterdrücken (automatisch abarbeiten. Und wie kann der richtige Filetype eingestellt werden. ????

Gruss
Jürgen

Moderiert von user profile iconTh69: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Topic aus Programmierwerkzeuge verschoben am Mo 28.11.2011 um 05:37
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Mi 07.12.11 06:57 
Versuchsmal mit Excel.Workbook.SaveAs

Siehe auch: msdn.microsoft.com/d...saveas(v=vs.80).aspx
Ich weiß dort ist nicht Delphi, sollte aber durch die API der gleiche Aufruf sein.

Das das ganze vor dem Close kommen muss versteht sich ja sicher von selbst.

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce