AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Excel Rahmen zeichnen

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

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#1

Excel Rahmen zeichnen

  Alt 22. Mär 2017, 09:37
Moin zusammen,

ich habe ein kleines Problem in Delphi.

Ich mache bisher folgendes (funktioniert 1A):
- Exceldatei einlesen
- Spalten/Zeilen löschen
- Speichern
- Dann Einfärben, Schrift ändern, autoadjust

Wo ich aber partou nicht weiter komme, ist Rahmenlinien zu zeichnen. Ich habe schon einiges versucht was man so alles über die Google-Suche etc finden kann. Aber leider ohne erfolg, da ich in uses kein ExcelXP, Excel97 oder ähnliches einfügen kann.

Hängt das evtl. mit Delphi 10.1 starter zusammen?
Hat jemand eine Idee ohne die das in uses zu verwenden es hin zu bekommen?

Die Prozedur für das einfärben sieht so aus und durch die fehlende uses kennt er halt xlcontinous etc. nicht.:
Code:
//Exceldatei einfärben
procedure TMAin.Xls_To_Color(AXLSFile: string; Zeile : integer; Farbe : string; Text : integer);
const
  xlCellTypeLastCell = $0000000B;
var
  Excel, Sheet: OLEVariant;
  Puffer : string;
  Color : integer;
begin
  deletefile('C:\Users\' + login + '\Documents\RESUME.XLW');
  if farbe = 'Weiß' then Color := 0;
  if farbe = 'Rot' then Color := 3;
  if farbe = 'Grün' then Color := 10;
  if farbe = 'Blau' then Color := 41;
  if farbe = 'Gelb' then Color := 6;
  // Create Excel-OLE Object
  Excel := CreateOleObject('Excel.Application');
  try
    // Hide Excel
    Excel.Visible := False;
    // Open the Workbook
    Excel.Workbooks.Open(AXLSFile);
    // Sheet := XLApp.Workbooks[1].WorkSheets[1];
    Sheet := Excel.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[1];
    Puffer := inttostr(Zeile+1)+':'+inttostr(Zeile+1);
    Excel.Range[Puffer].Select;
    if text = 1 then Excel.Selection.Font.colorindex := Color else Excel.Selection.Interior.ColorIndex := Color;
    // Oberste Zeile Fett und Grau
    Excel.Range[inttostr(1)+':'+inttostr(1)].Select;
    Excel.Selection.Font.FontStyle := 'Bold';
    Excel.Selection.Interior.ColorIndex := 15 ;
    //Rahmen zeichnen
    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;
Schon mal besten Dank vorab.
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:41 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