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.