AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Delphi-OLE, Änderung wird nicht gespeichert
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi-OLE, Änderung wird nicht gespeichert

Ein Thema von hoika · begonnen am 18. Okt 2008 · letzter Beitrag vom 19. Okt 2008
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

Delphi-OLE, Änderung wird nicht gespeichert

  Alt 18. Okt 2008, 18:46
Hallo #,

das folgende Stück Code soll eine Excel-Datei öffnen,
was eintragen und die Datei wieder speichern.
Problem
Keine Fehlermeldung, es wird aber nix gespeichert !

Was mache ich falsch ?

Danke

Heiko


Delphi-Quellcode:
procedure TForm_SMS_Import.DoSave;
var
  iCol : Integer;
  sFilename : String;
  ExcelApplication0 : TExcelApplication;
  ExcelWorkbook0 : TExcelWorkbook;
  ExcelWorksheet0 : TExcelWorksheet;
  SaveChanges : OleVariant;

begin
  Button_Save.Enabled:= False;
  try
    SaveDialog2.InitialDir:= ExtractFilePath(OpenDialog1.FileName);
    if SaveDialog2.Execute=False then Exit;

    ExcelApplication0 := TExcelApplication.Create(NIL);
    ExcelWorkbook0 := TExcelWorkbook.Create(NIL);
    ExcelWorksheet0 := TExcelWorksheet.Create(NIL);
    try
      ExcelApplication0.Connect;
      ExcelApplication0.Visible[flcid]:=False;
      ExcelApplication0.UserControl:=true;

      sFilename:= OpenDialog1.FileName;
      ExcelWorkbook0.ConnectTo(ExcelApplication0.Workbooks.Open(sFilename,
           emptyParam, emptyParam, emptyParam, emptyParam, emptyParam,
           emptyParam, emptyParam, emptyParam, emptyParam, emptyParam,
           emptyParam, emptyParam, flcid));
      ExcelWorksheet0.ConnectTo(ExcelWorkbook0.Sheets.Item[1] as ExcelWorkSheet);

      ExcelWorksheet0.Range['A5','A5'].Value:= 'Test';

      ExcelWorksheet0.Cells.Item[1,1].Value:= 'Test';

(*
      SaveChanges:= True;
      ExcelWorkbook0.Close(SaveChanges, EmptyParam, EmptyParam, flcid);
*)


// ExcelApplication0.DisplayAlerts[flcid]:= True;
    finally
(*
      ExcelWorkbook0.Close(False);
*)

      SaveChanges:= True;
      ExcelWorkbook0.Save;

      ExcelWorksheet0.Disconnect;
      FreeAndNIL(ExcelWorksheet0);

      // Workbook ohne Speichern schliessen


      ExcelWorkbook0.Disconnect;
      FreeAndNil(ExcelWorkbook0);

      // Excel beenden
      ExcelApplication0.Quit;
      ExcelApplication0.Disconnect;
      FreeAndNil(ExcelApplication0);
    end;

    Label_TargetFile.Caption:= SaveDialog2.FileName;
  finally
    Button_Save.Enabled:= False;
  end;
end;
Heiko
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Delphi-OLE, Änderung wird nicht gespeichert

  Alt 19. Okt 2008, 08:39
Hallo,

hat sich erledigt,
ich hatte den falschen Dateinamen,
statt SaveDialog hatte ich OpenDialog benutzt.

Jetzt klappt es.


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz