Maic: Öffnen eine Datei im zuständigen Programm per link?

Hi Leute,

ich hab mal wieder ein kleines Problem: ich habe vor unter ASP eine Datei zu erstellen, dann ein word dokument zu öffnen, das sich auf die vorangegangene Datei bezieht und das ganze soll nicht im Explorer stattfinden, sondern der Client soll automatisch word öffnen.

Wenn das ganze nämlich im Explorer Fenster von statten geht, dann besteht das problem, dass eine Aktualisierung von Datenfelder nicht funktioniert, ausser der user gibt den anstoss dafür. Da ich dieses aber verhindern will, wäre mir ein Tip von euch sehr hilfreich.

Danke schön

Gruss Maic.

  1. Hallo Maic,

    ASP ist eine serverseitige Sache und läuft rein auf dem Server ab. Damit kannst Du nichts auf dem Client bewirken, außer natürlich HTML, CSS, JS usw. und natürlich HTTP-Header auszuliefern. Was Du willst, musst Du mit diesen Mitteln bewerkstelligen.

    Alle mir bekannten Browser - außer dem IE - öffnen in einem solchen Fall eh Word. Problem ist also der IE (der übrigens gern auch mal die Kenntnisnahme von HTTP-Header verweigert, die ihn eigentlich davon überzeugen sollten, _nicht_ selber zuständig zu sein). Der wiederum ermöglicht (sofern man das einschaltet) das Verwenden von ActiveX. Du hast die Möglichkeit, ein ActiveX zu schreiben, das Word "standalone" öffnet und eine bestimmte Datei dort lädt. Dieses ActiveX kannst Du wiederum mit VBScript aus Deiner HTML-Seite heraus aufrufen. Eine weniger kranke Möglichkeit kenne ich nicht.

    Grüße,

    Utz

  2. Hi, hallo

    du kannst vom Server via ASP nicht anweisen, daß der Client am anderen Ende automatisch eine spezielle Applikation öffnen soll. Durch spezielle Angaben kannst du aber eine Empfehlung an den Client geben, mit welchem Programm die Datei geöffnet werden könnte.

    Deine Problemstellung scheint mir nicht besonders gut durchdacht. Wenn du in einem Word-Dokument Datenfelder aktualisieren willst, warum willst du das erst auf Client-Seite machen, der Server könnte über das Word-Objektmodell (wenn MS Word auf dem Server installiert ist) auch gleich die entsprechende Word-Datei fertig generieren.

    Für eine kommerzielle Aufgabenstellung in der Microsoft-Welt sollte eine Word oder Office-Lizenz nicht ins Gewicht fallen.

    Warum willst du erst das Word-Dokument zum Download anbieten, verbreite es doch vorher an die Stellen, die damit arbeiten sollen ...

    Tschau, tschüß,
    Frank

    1. Hi

      Deine Problemstellung scheint mir nicht besonders gut durchdacht. Wenn du in einem Word-Dokument Datenfelder aktualisieren willst, warum willst du das erst auf Client-Seite machen, der Server könnte über das Word-Objektmodell (wenn MS Word auf dem Server installiert ist) auch gleich die entsprechende Word-Datei fertig generieren.<<

      Das Problem steckt hier: Bevor das Word dokument aufgerufen wird, wird per ASP eine Datei erstellt die die Ergebnisse einer SQL Abfrage beinhaltet. D.h. eigentlich will ich ja in dem Word dokument einen Serienbrief aufrufen der mir dann eben diese Daten der SQL Abfrage einträgt. die Dokumente werden auf dem Server erstellt oder sind bereits dort vorhanden und werden auch von dort geöffnet. Ich möchte nicht, dass diese Dokumente erst beim Client zwischengespeichert werden, da es auch mal sein kann, dass man mehrer verschiedene Dokumente hintereinander öffnet.

      Ich hoffe, diesmal ist es etwas besser erklärt, ich befürchte aber nicht. :-) trotzdem vielen Dank.

      1. Hi, hallo

        Das Problem steckt hier: Bevor das Word dokument aufgerufen wird, wird per ASP eine Datei erstellt die die Ergebnisse einer SQL Abfrage beinhaltet. D.h. eigentlich will ich ja in dem Word dokument einen Serienbrief aufrufen der mir dann eben diese Daten der SQL Abfrage einträgt. die Dokumente werden auf dem Server erstellt oder sind bereits dort vorhanden und werden auch von dort geöffnet. Ich möchte nicht, dass diese Dokumente erst beim Client zwischengespeichert werden, da es auch mal sein kann, dass man mehrer verschiedene Dokumente hintereinander öffnet.

        Mein Tip: Generiere das fertige Serienbriefdokument (merge aus der DOC Vorlage und den Serienbriefdaten) direkt auf dem Server mittels dem COM Objektmodell von MS Word (welches dazu auf dem Server installiert sein muß) und biete dieses zum Download an. Dort hängt es dann am Client, ob Word-Dokumente automatisch im Explorer per Addin geöffnet werden oder du einen Speichern/Öffnen Dialog angezeigt bekommst. Dieses Verhalten kannst du aber nicht vom Server aus so beeinflussen wie du es gern hättest.

        Wäre ja noch schöner, wenn bei mir besuchte Webseiten meine Programme an und ausknipsen.

        Die von Utz vorgeschlagene Methode könnte funktionieren ist aber wirklich irgendwie "krank" :-) und eignet sich nur für homogene Umgebungen wegen der Sicherheitsaspekte von ActiveX.

        Tschau, tschüß,
        Frank