RayDee: Office-Datei im IFrame adressieren

Hallo beisammen,

ich möchte für eine Intranet-Anwendung Office-Dokumente in HTML-Seiten einbetten. Die Sicherheitsbeschränkungen und  IE-spezifische Programmierung sind kein Problem, da die User sowieso nur IE haben und der Intranetserver in die "vertrauenswürdige" Zone kommt.

Von der Funktionalität her hätte ich gerne die selben Möglichkeiten wie es mir das ActiveX-Object ermöglicht, also:

doc = new ActiveXObject("Word.Application");
doc.Visible=true;
doc.Documents.Open("http://192.168.1.17/[...]/xzy.doc");
doc.Resize(640,480);
docView = doc.ActiveWindow.View;
docView.Zoom.PageFit=2;

Das funktioniert ja schon alles wunderbar... allerdings öffnet new ActiveXObject("Word.Application") immer die Applikation auf dem Client (Neues Word-Fenster).

Ich möchte die Dateien in einem IFrame oder in einem <object>-Tag einbetten. Die Darstellung im IFrame ist OK, allerdings bekomme ich kein Object für das Dokument mit dem ich arbeiten könnte.
Im <object>-Tag ist schon alleine die Darstellung ziemlich schrott, 6-Seiten Word-Dokument und keine Scrollbars etc.

Bin ziemlich verloren, und wäre für jede Hilfe dankbar...

  1. Wie bekomme ich ein ActiveXObject zum Dokument im IFrame ?
  2. Wo finde ich eine Liste mit Parametern für Office-Dokumente in <object>-Tags (Steuern von Scrollbars, Zoom-Faktor o.Ä.)?
  3. Gibts evtl. noch nen ganz anderen Ansatz ?

Gruß,
Ray

PS. Ja, ich habe schon stundenlang gegoogelt, bin im MSDN versumpft / verzweifelt etc...

  1. hallo,

    ich möchte für eine Intranet-Anwendung Office-Dokumente in HTML-Seiten einbetten.

    Ich wage mal einen für mich und auch für das Forum insgesamt sehr ungewöhnlichen Vorschlag: da es dir wirklich _nur_ um eine Intranet-Lösung geht, könntest du ausnahmsweise (aber wirklich nur ausnahmsweise) deine Office-Dokumente grundsätzlich "als Webseite abspeichern" lassen. Das ist dann HTML, allerdings nicht valide und mit Unmengen proprietärem Krimskrams "angereichert". Alle deine Sorgen entfallen jedoch, weil du solche Dokumente wie normales HTML behandeln kannst.

    Wenn man gar nicht weiterkommt, ist so ein Vorschlag für eine Intranetlösung, bei der man auf Verbindungsgeschwindigkeit, Ressourcen und ähnliches keine Rücksicht nehmen muß und die Rechner der angeschlossenen Kollegen kennt, durchaus eine mögliche Alternative.

    Willst du "sowas" allerdings ins Internet stellen, würde ich sofort mit der geballten Macht der Forumsmehrheit über dich herfallen und dich teeren und federn ;-)

    Grüße aus Berlin

    Christoph S.

    1. Moin Moin !

      hallo,

      ich möchte für eine Intranet-Anwendung Office-Dokumente in HTML-Seiten einbetten.
      Ich wage mal einen für mich und auch für das Forum insgesamt sehr ungewöhnlichen Vorschlag:

      Ich habe den Verdacht, daß RayDee die Office-Dokumente auch noch bearbeiten und wieder speichern will. Das artet dann richtig in Arbeit aus, die einzige Lösung, die mir für solche Perversitäten einfällt, ist Microsofts Office-HTML-Suggorat, kombiniert mit WebDAV ("Web Folder" im MS-Jargon). Oder schlicht ein Fileserver.

      Willst du "sowas" allerdings ins Internet stellen, würde ich sofort mit der geballten Macht der Forumsmehrheit über dich herfallen und dich teeren und federn ;-)

      Nur teeren und federn? Du bist aber heute gnädig. ;-)

      Alexander

      --
      Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
      1. hi,

        Nur teeren und federn? Du bist aber heute gnädig. ;-)

        stimmt ... strafverschärfend kommt selbstverständlich dazu, daß er dreißigmal SELFHTML abschreiben müßte (handschriftlich), aber das ist ja bekanntlich Standard

        Grüße aus Berlin

        Christoph S.

        1. Moin Moin !

          hi,

          Nur teeren und federn? Du bist aber heute gnädig. ;-)
          stimmt ... strafverschärfend kommt selbstverständlich dazu, daß er dreißigmal SELFHTML abschreiben müßte (handschriftlich), aber das ist ja bekanntlich Standard

          Aber nur in sauberer Schreibschrift, so wie man's in der ersten Klasse lernt. Das hilft dann auch gleich gegen die im Laufe der Zeit angewöhnte Sauklaue.

          Wir wußten es ja schon immer: SelfHTML verbessert die Welt.

          Alexander

          --
          Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
          Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
      2. hallo Alexander,

        Ich habe den Verdacht, daß RayDee die Office-Dokumente auch noch bearbeiten und wieder speichern will. Das artet dann richtig in Arbeit aus, die einzige Lösung, die mir für solche Perversitäten einfällt, ist Microsofts Office-HTML-Suggorat, kombiniert mit WebDAV ("Web Folder" im MS-Jargon). Oder schlicht ein Fileserver.

        Nein, das ist gar nicht nötig. Es wird ja wohl einen "Server" im Intranet geben  -  oder mindestens einen Rechner, der als "master browser" auf Broadcast-Abfragen reagiert. Wenn es um Office-Dokumente geht, kann man auf diesem Server dann ein Share (eine "Freigabe") einrichten, auf das _alle_ Kollegen Zugriff haben. Ist das Firmen-Netzwerk einigermaßen ordentlich eingerichtet, hat sowieso nur der "Server" die vollständige Office-Installation, auf den Clients läuft Office als Netzwerkanwendung. Dann kann jeder Kollege doch gleich seine Office-Dokumente auf der Server-Freigabe abspeichern, eine Einbindung in HTML ist vollkommen überflüssig und einen Web- oder Fileserver braucht man gar nicht.

        Grüße aus Berlin

        Christoph S.

  2. Danke für die konstruktiven Beiträge und für's nicht lynchen ;)

    Die Erleuchtung kam plötzlich und unerwartet... das Problem ist gelöst.

    Für das Archiv und falls mal jemand vor einem ähnlichen Scherbenhaufen steht:

    <object id="IEWB" width="1024" height="768"
    classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></object>

    //Das ist das M$ ActiveX Webbrowser Control

    <script>
    IEWB.Navigate("http://ip/docFileName.doc"); //oder auch .xls, .ppt
    wordRef = IEWB.Document.Application;
    //Hier ist das gewünschte Object mit dem man jetzt allerhand machen kann
    docView = wordRef.Application.ActiveWindow.View;
    docView.Zoom.Percentage=100;
    fileName = window.prompt("filename","");
    wordRef.ActiveDocument.SaveAs(fileName);
    //etc...
    </script>

    Das alles funktioniert natürlich nur wenn die Sicherheitsbestimmungen entsprechend aufgeweicht sind (Vertrauenswürdige Sites oder ähnliches).

    Ja, es ist wohl unwahrscheinlich daß das jemand braucht, ich hasse es nur wenn man Fragen stellt und dann die Antwort nicht weitergibt...

    Gruß
    Ray