Einzelnen Beitrag anzeigen

Turbo78

Registriert seit: 19. Apr 2010
Ort: Neuried
32 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Zelleninhalt in Excel rechts ausrichten

  Alt 20. Nov 2017, 17:32
Bei mir funktioniert diese Lösung mit Excel 2010, Tokyo 10.2 und Windows 10:

Delphi-Quellcode:
  
xlBottom = -4107;
  xlCenter = -4108;
  xlDistributed = -4117;
  xlJustify = -4130;
  xlTop = -4160;
  xlLeft = -4131;
  xlRight = -4152;

function Texcel.selectrange(xfrom, yfrom, xto, yto : integer) : olevariant;
var
   ra : olevariant;
begin
  ra := fexcel.range[fexcel.cells[yfrom,xfrom],fexcel.cells[yto,xto]];
  result := ra.select;
end;

procedure Texcel.alignrange(xfrom: Integer; yfrom: Integer; xto: Integer; yto: Integer; xalign: Integer; yalign: Integer);
var
  ra : olevariant;
begin
  ra := selectrange(xfrom,yfrom,xto,yto);
  fexcel.selection.HorizontalAlignment := xalign;
  fexcel.selection.VerticalAlignment := yalign;
end;
Hierbei ist fexcel folgendermaßen deklariert:
Fexcel := createoleobject('Excel.Application');

xalign und yalign werden durch die obigen Konstanten gesetzt.

Gruß Kompi
Vielen Dank, leider habe ich mich mit diesem Thema erst seit gestern wieder befassen können.
Das Problem bei mir ist die fehlende Deklarationsdatei für die EXCEL Konstanten (und Prozeduren). Diese (falschen) habe ich aus Delphi7 übernommen:
Code:
Delphi 7
  xlBottom      = $FFFFEFF5;
  xlCenter      = $FFFFEFF4;
  xlDistributed = $FFFFEFEB;
  xlJustify     = $FFFFEFDE;
  xlTop         = $FFFFEFC0;
  xlLeft        = $FFFFEFDD;
  xlRight       = $FFFFEFC8;

Tokyo 10.2
  xlBottom      = -4107;
  xlCenter      = -4108;
  xlDistributed = -4117;
  xlJustify     = -4130;
  xlTop         = -4160;
  xlLeft        = -4131;
  xlRight       = -4152;
Wenn ich also die Delphi 7 Konstante xlCenter durch -4108 ersetze, funktioniert es bei mir ohne die vorgeschlagene Änderung zu implementieren.

Code:
//    appExcel.Selection.HorizontalAlignment := xlCenter; // funktioniert nicht
    appExcel.Selection.HorizontalAlignment := -4108; // funktioniert
Also die Frage: wo sind die Konstanten (und die Prozeduren) in Tokyo 10.2 definiert?

Vielen Dank nochmals.

Gruß, Toni
  Mit Zitat antworten Zitat