Aus MS Visio das Zeichenblatt direkt in Datenbank speichern

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von DrZwockel.

    Aus MS Visio das Zeichenblatt direkt in Datenbank speichern

    Hallo,

    ich habe glaube ich ein sehr spezielles Problem, zu dem ich leider bei Tante Goolge keine Antworten bzw. Ansatzlösungen finden konnte.

    Es geht um die Office Anwendung MS Visio. Innerhalb der Anwendung erstellt der User auf der Grundlage diverser Vorlagenshapes ein Zeichenblatt. Dieses kann dann per "STRG + S" lokal im Format (u.a. VSSX) gespeichert werden. Diese Funktion ist soweit völlig unkritisch 8-) .

    Jetzt zu meinem Problem. Ich entwickele gerade ein AddIn unter VB.NET, welches bestimmte Abläufe innerhalb von VISIO erweitert bzw. neue Funktionen zur Erstellung dieses Zeichnungsblattes bereitstellt.
    Eine Vorgabe ist es jedoch, dass das Zeichenblatt nur im "Notfall" lokal gespeichert werden soll. Der originäre Speicherort soll eine Datenbank auf Oraclebasis sein.

    Mein erster Lösungsansatz war, dass ich, nachdem ich die Datei lokal gespeichert habe vor dort in die Datenbank wegspeichere. Dies würde voraussetzen, dass der Benutzer zwischenzeitlich nicht mal mit F12 (Speichern unter) das "Original verschiebt". Diese Lösung scheint mir zu sehr fehlerbehaftet zu sein. Es sei denn, jemand hätte hier eine super Lösung :rolleyes: .

    Ein Kollege macht den Vorschlag bzw. gab mir den Hinweis, dass der Speicherungsvorgang durch Visio selbst doch sicherlich irgendwo "umgelenkt" werden könnte ("Datenstrom"), so dass man ihn in die Datenbank "umleiten" könnte. Leider fehlt mir hierzu die Erfahrung bzw. habe ich dazu nichts im WWW gefunden.
    Hat jemand auf dieser Basis irgendwelche Erfahrungen oder hat eine möglichen Lösungsansatz? Vielleicht aus einem anderen Office-Programm (Word oder Excel)?

    Mir ist jede Hilfe willkommen ... vielen Dank!

    Gruß vom Doc
    Hallo petaod,

    zunächst einmal vielen Dank für den Tipp. Ich habe mir mal die Übersicht des Objectmodells von der Seite gezogen und schon etwas probiert. Dies scheint auf jeden Fall schon mal ein Ansatz zu sein, den Moment der Speicherung zu "erwischen". Jetzt muss ich nur noch an den Stream kommen.


    Gruß vom Doc
    Hallo,

    sorry, dass ich mich erst jetzt zurückmelde, aber irgendwie zuviel um die Ohren. Ich habe die Speichernfunktion "deaktiviert" und meine eigene dazwischengehangen. Ich speichere kurz temporär und lade die Temp-Datei sofort in die Datenbank und lösche die Temp-Datei wieder. Somit existiert nur für einen kurzen Augenblick eine Datei im System.

    Sicherlich nicht das Optimum, aber anders bekomme ich es nicht hin ... :/

    Danke für Deine Hilfe ...

    Gruß vom Doc