Excel Links



  • Ich muss für ein Projekt die Verknüpfungen in einem Excel-Sheet ändern.
    Die jeweiligen Zellen sind mit anderen Zellen in einer anderen Excel-Datei verküpft.

    Bei den Server-Componenten, ExcelWorkbook, gibt es eine Funktion "ChangeLink"
    diese erwartet als Parameter die alte une neue Verknüpfung.

    Habe die Funktion implementiert, ohne Fehler. Leider wird der Link nicht geändert.

    Hat jemand Erfahrung und kann mir weiterhelfen.

    Gruss 😕



  • Hi,

    wie hast du es gemacht ?

    Ich müsste das erst ausarbeiten und dazu fehlt mir die Zeit.

    Poste doch mal den Quellcode. Dann kann ich dir helfen.



  • Der Code ist eigentlich ganz einfach:
    Aus dem Serverregister die Komponenten: ExcelApplikation,ExcelWorkbook und Worksheet und diese Verknüpfen. Bei der Komponente Workbook gibt es eine Funktion die CahngeLink heisst und die als Parameter den alten, neuen und die ID der Excel-Instance verlangt.

    Wie gesagt funktioniert der Code soweit, das keine Fehler geworfen werden!
    Mit der Funktion Replace auf Worksheetebene funktioniert die Ersetzerei tadellos ich frage mich nur, was ist der unterschied zwischen ChangeLink und Replace und wie wie weiss Excel ob es nun den Zellenwert oder den Verweis auf die Zelle verändern muss!

    Eine weiter Frage die ich habe warum bekomme ich keine Returnvalue bei der Funktion Replace, ausser -1, da es mich doch interessieren würde ob die Ersetzung erfolgreich war und wieviele Items ersetzt werden konnten.

    Gibt es da eine Möglichkeit dies heraus zu finden.

    Gruss und Danke für die Bemühung



  • Der Code ist eigentlich ganz einfach:
    Aus dem Serverregister die Komponenten: ExcelApplikation,ExcelWorkbook und Worksheet und diese Verknüpfen. Bei der Komponente Workbook gibt es eine Funktion die CahngeLink heisst und die als Parameter den alten, neuen und die ID der Excel-Instance verlangt.

    Nasenbär ! 🙂

    Wie das geht weiss ich selber.

    Zitat:

    Habe die Funktion implementiert, ohne Fehler. Leider wird der Link nicht geändert.

    Ist das denn kein Fehler ?

    Mit der Funktion Replace auf Worksheetebene funktioniert die Ersetzerei tadellos ich frage mich nur, was ist der unterschied zwischen ChangeLink und Replace und wie wie weiss Excel ob es nun den Zellenwert oder den Verweis auf die Zelle verändern muss!

    wenn du den Zellenwert mit Replace ersetzt, wird auch ein eventuell vorhandener CellLink gelöscht.
    Wenn du CellLink änders, beziehst du Inhalt der Zelle auf eine andere Zelle.



  • OK, ich meinte keine Exception!
    Wie weiss ich jedoch wieviel Aenderungen gemacht wurden und ob überhaupt Aenderungen gemacht wurden?

    Gruss :p


Anmelden zum Antworten