AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Excel Rahmen zeichnen

Ein Thema von Moombas · begonnen am 22. Mär 2017 · letzter Beitrag vom 12. Apr 2017
 
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Excel Rahmen zeichnen

  Alt 22. Mär 2017, 10:11
Ein paar allgemeine Dinge, die einem das Leben da leichter machen können:
Auch für Workbook und Ranges OLEVariant-Variablen benutzen, und dann deine Formatierungen direkt auf das Range-Objekt anwenden, anstatt immer erst zu Selecten und dann an die Selection zu gehen. Spart Zeit.

Delphi-Quellcode:
procedure TMAin.Xls_To_Color(AXLSFile: string; Zeile : integer; Farbe : string; Text : integer);
const
  xlCellTypeLastCell = $0000000B;
var
  Excel, Sheet: OLEVariant;
  wb, rg: OLEVariant;
  Puffer : string;
  Color : integer;
begin
  deletefile('C:\Users\' + login + '\Documents\RESUME.XLW');
  if farbe = 'Weißthen Color := 0;
  if farbe = 'Rotthen Color := 3;
  if farbe = 'Grünthen Color := 10;
  if farbe = 'Blauthen Color := 41;
  if farbe = 'Gelbthen Color := 6;
  // Create Excel-OLE Object
  Excel := CreateOleObject('Excel.Application');
  try
    // Hide Excel
    Excel.Visible := False;
    // Open the Workbook
    wb := Excel.Workbooks.Open(AXLSFile);
    // Sheet := XLApp.Workbooks[1].WorkSheets[1];
    Sheet := wb.WorkSheets[1];
    //Puffer := inttostr(Zeile+1)+':'+inttostr(Zeile+1);
    //Excel.Range[Puffer].Select;
    rg := Sheet.columns[Zeile+1].EntireColumn
    if text = 1 then rg.Font.colorindex := Color else rg.Interior.ColorIndex := Color;
    // Oberste Zeile Fett und Grau
    //Excel.Range[inttostr(1)+':'+inttostr(1)].Select;
    rg := Sheet.columns[1].EntireColumn
    rg.Font.FontStyle := 'Bold';
    rg.Interior.ColorIndex := 15 ;
    //Rahmen zeichnen
    rg=Excel.Range[Sheet.Cells(1,1),Sheet.Cells(Sheet.UsedRange.Rows.Count,26)]
    //Excel.Range['A1:' + 'AZ' + inttostr(Display.RowCount - 1)].select;
    //Excel.Selection.Borders[xlEdgeLeft].LineStyle := xlContinuous;
  finally
    // Save file and Quit Excel
    if not VarIsEmpty(Excel) then
    begin
      Excel.save;
      Excel.Quit;
      Excel := Unassigned;
      Sheet := Unassigned;
    end;
  end;
end;
Excel-Konstanten wie xlContinuous einfach in Excel nachschauen, was die für einen Wert haben und dann im Programm selber als Const anlegen.
Ralph
  Mit Zitat antworten Zitat
 


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:55 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