none
Problème activex, word, javascript et IE RRS feed

  • Question

  • Bonjour,

    J'ai un problème avec mon activex word. En effet je souhaiterais bloquer l'écriture sur mon document word qui doit être intégrer dans mon iframe.

    Je sais intégrer un document word dans une iframe en faisant :

    Code Snippet

    <iframe id="doc" src="nomDuDoc.doc"> </iframe>



    Avec cette solution je n'arrive pas a bloquer l'écriture de mon document Word, car je ne sais pas comment récupérer l'objet activex associé.


    Pourtant je sais bloquer l'écriture d'un document word avec un objet activex en javascript :


    Code Snippet

    var wordApp= new ActiveXObject("Word.Application");


    app_word.Documents.Open("nomDuDoc.doc");


    app_word.Application.ActiveDocument.Protect(2, true, "MotDePass");




    Mais en utilisant cette méthode, cela m'ouvre Word séparément. Je ne sais pas intégrer cette objet activex dans ma page web.

    En utilisant la balise object comme ci dessous, je n'arrive pas a bloquer l'écriture de mon document Word, car je ne sais pas comment récupérer l'objet activex associé.

    Code Snippet

    <object type="application/msword" data="nomDuDoc.doc" width="300" height="200">
    alt : <a href="nomDuDoc.doc">test.doc</a>
    </object>



    Merci de bien vouloir m'aider, j'ai besoin de solutions....

    mercredi 27 août 2008 07:21

Toutes les réponses

  • Bonjour,

     

    N'est pas plus simple de faire en gros :

     

    Code Snippet

    <iframe>

    <object>documentWord</object>

    </iframe>

     

    Cordialement

    mercredi 27 août 2008 21:10
    Modérateur
  • Bonjoour,

    Tout d'abord merci pour ta réponse.

    Ta solution reviens à faire dans une iframe :

    <object type="application/msword" data="nomDuDoc.doc" width="300" height="200">
    alt : <a href="nomDuDoc.doc">test.doc</a>
    </object>

    Mais je retombe sur le même problème, je ne peux pas controler cette objet pour bloquer l'ecriture dans le document word.

    Julien



    jeudi 28 août 2008 07:11
  • Bonjour,

     

    Avez-vous essayé de récupérer en JavaScript l'objet "object" ?

    Est-ce que celui-ci ne disposerait pas des méthodes qui vous interesse ?

     

    Cordialement

     

    jeudi 28 août 2008 19:37
    Modérateur
  • Bonjour,

    Oui j'ai pensé en javascript à récupérer l'élément object mais il ne possède pas les méthodes que je recherche.
    Exemple :

    <object id="monObjet" type="application/msword" data="nomDuDoc.doc" width="300" height="200">
    alt : <a href="nomDuDoc.doc">test.doc</a>
    </object>

    Javascript :

    var obj = document.getElementById("monObjet");

    obj .Application.ActiveDocument.Protect(2, true, "MotDePass");


    Il me dis en gros qu'il ne trouve pas Application....

    Donc je suis coincé...

    Huet Julien


    vendredi 29 août 2008 08:11
  • Bonjour,

     

    Ce n'est donc pas possible à mon avis...

     

    Cordialement

     

    mercredi 3 septembre 2008 21:20
    Modérateur
  • Bon après avoir bataillé... ben j'ai une solution... mais bon elle est pas génaile car il y a plusieurs conditions a remplir.
    La première : il faut autoriser le site web en tant que site de confiance et ainsi autoriser l'exécution des activex non signé (en gros, dans la sécurité de IE j'active tout ce qui concerne les activex.)
    Puis il ne faut pas que word soit déjà lancé. En effet quand Word est déjà lancé, les iframes utilise ce process word pour afficher les documents, donc on ne peut pas les contrôler (question de sécurité évidement, imaginez un script qui pourrait modifier vos fichiers ouvert indépendamment de IE).
    Donc voila, en fait au chargement de votre page vous créez en fond un activex Word

    var wordApp= new ActiveXObject("Word.Application");
    wordApp.Visible = false;

    Et voila sur cette objet vous faites modifications souhaitées :

    for(var i =1; i < app_word.Application.CommandBars.Count ; i++)
    {
    app_word.Application.CommandBars(i).Enabled = false;
    }

    Pour désactiver les barres.
    et voila maintenant faite ds votre page html
    <iframe id="moniframe" src="monDoc.doc"> </iframe>
    Normalement il démarrera sans les barres de chargement.

    Je ne sais pas si c'est bonne manière de faire mais pour le moment ca marche... a défaut de mieux...
    mardi 28 octobre 2008 10:25