Einzelnen Beitrag anzeigen

freejay

Registriert seit: 26. Mai 2004
Ort: Nürnberg
272 Beiträge
 
Delphi 11 Alexandria
 
#1

Länge eines "Variant array of variant" (?) bestimm

  Alt 24. Nov 2008, 17:09
Hallo zusammen,

ich habe das Problem, dass ich nicht die leiseste Ahnung habe, wie ich die Anzahl der von LinkSources* zurückgegebenen Einträge in der Variante vLinks ermitteln soll:

Delphi-Quellcode:
procedure TfMain.UpdateLinks(FileName: TFileName);
var
  vExcel: Variant;
  vWorkbook: Variant;
  vWorksheet: Variant;
  vLinks: Variant;
  i: Integer;
begin
  vExcel := CreateOleObject('excel.application');

  vWorkbook := vExcel.WorkBooks.Open(FileName,0);
  vLinks := vWorkbook.LinkSources(1);

  for i := 1 to High(vLinks) do
    ShowMessage(vLinks[i]);

  vWorkbook.Close(SaveChanges:=false);

  vExcel.Quit;
  vExcel := UnAssigned;
end;
In VBA macht man das mit UBound(vLinks), aber UBound gibt's ja in Delphi nicht - oder?

High(vLinks) geht definitiv nicht in Delphi,
vLinks.Count auch nicht.
ich habe auch versucht, das Ganze zu casten:

Delphi-Quellcode:
procedure TfMain.UpdateLinks(FileName: TFileName);
type
  TMyArrayOfVariant = array of variant;
var
...
  myLinks: TMyArrayOfVariant;
begin
...
 myLinks := TMyArrayOfVariant(vLinks);
...
end;
funktioniert auch nicht...

Hat irgendjemand eine Idee?

Danke schon jetzt!

Freejay

*LinkSources liefert die in einem Excel-Sheet verknüpften Dateien zurück.
  Mit Zitat antworten Zitat