Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Offenes Excel Spreadsheet übernehmen (https://www.delphipraxis.net/154356-offenes-excel-spreadsheet-uebernehmen.html)

AEMehser 8. Sep 2010 09:59

Offenes Excel Spreadsheet übernehmen
 
Hi,

ich arbeite zwar schon eine ganze Weile aus Delphi heraus mit Excel, aber jetzt stehe ich vor der Aufgabe ein schon geöffnetes Spreadsheet nur zu übernehmen.

Wenn ich das mit GetActiveOLEObject mache kann ich weder mit SaveCopyAs noch mit SaveAs speichern.
Fehlermeldung:
Die Methode SaveAs wird vom Automatisierumgsobjekt nicht unterstützt.
Wenn ich das Excel mit CreateOLEObject starte, gibts dieses Problem nicht ...

Wär super wenn mir da jemand einen Hint geben könnte, wie ich das anstelle!

Vielen Dank
Alex Mehser

Chemiker 19. Sep 2010 14:25

AW: Offenes Excel Spreadsheet übernehmen
 
Hallo AEMehser,
normalerweise sollte das SaveAs normal funktionieren. Der Fehler tritt in der Regel dann auf, wenn das Workbook nicht spezifiziert wird.
Beispiel:
Delphi-Quellcode:
var
  DateiName: TFileName;
  olevEXCELoffen: OLEVariant;
begin
  try
    olevEXCELoffen := GetActiveOleObject('Excel.Application');
  except
    ShowMessage('Excel ist nicht geöffnet !');
    Exit;
  end;
  olevEXCELoffen.Visible:= TRUE;
  olevEXCELoffen.Cells[2,1]:= '100';
  if ExcelSaveDialog.Execute then
  begin
    DateiName:= ExcelSaveDialog.FileName;
  end;
  olevEXCELoffen.Workbooks[1].SaveAs(Filename:=DateiName, FileFormat:=xlNormal);
  if NOT VarIsEmpty(olevEXCELoffen) then
  begin
    olevEXCELoffen.Quit;
    olevEXCELoffen:= Unassigned;
  end;
Bis bald Chemiker


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz