Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer) (https://www.delphipraxis.net/212990-excel-bedingter-zelleninhalt-wenn-andere-zelle-nicht-leer.html)

mmw 5. Mai 2023 20:45

AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
 
Liste der Anhänge anzeigen (Anzahl: 1)
hallo,
hier noch ein Beispiel, als Ergänzung zu #6

Delphi-Quellcode:
var
  excel_obj: OleVariant;
  xml_path,
  xlsx_name,
  sheet_name: string;
  cell_start,
  letzte_zeile,
  row_start,
  col_indx,
  sheet_indx,
  i: integer;
  my_value: OLEVariant;

function get_sheet_values: Boolean;
 var
   i: integer;
 begin
  try
   excel_obj.workbooks.open(xml_path + xlsx_name);
   excel_obj.activeworkbook.worksheets[sheet_name].activate;

   letzte_zeile := excel_obj.Worksheets[sheet_indx].Cells[excel_obj.Worksheets[sheet_indx].rows.count, col_indx].end[xlUp].row;

   for i := row_start to letzte_zeile do
    begin
     if excel_obj.Worksheets[1].cells[i, col_indx].value <> '..' then
       memo1.lines.add(excel_obj.Worksheets[sheet_indx].cells[i, col_indx].value)
     end;

    result := true;

  except
   result := false;
  end;
 end;

function write_sheet_values:Boolean;
var
   i: integer;
begin

try
 excel_obj.workbooks.add();

 for i := 0 to memo1.lines.count - 1 do
  excel_obj.activeworkbook.worksheets[1].cells[1 + i, 1].value := memo1.lines[i];

  excel_obj.activeworkbook.saveas(xml_path + 'neu.xlsx');

  result:=true;

finally
result:=false;
end;
end;

begin
memo1.clear;
excel_obj := unassigned;

 xml_path := extractfiledir(application.ExeName) + '\';
 xlsx_name := 'Mappe1.xlsx';
 sheet_name := 'Tabelle1';
 sheet_indx := 1;
 row_start:=1;
 col_indx := 4;

 excel_obj := createoleobject('Excel.application');

  try
   if get_sheet_values=True then write_sheet_values;

  finally
   excel_obj.quit;
   excel_obj := unassigned;
  end;
end;
Dient jetzt nur als Demo, ist natürlich verbesserungs bedürftig

Gruß

ConnorMcLeod 5. Mai 2023 21:07

AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
 
Supi, schau ich mir asap an, danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 Uhr.
Seite 2 von 2     12   

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