IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

[D7/Word] Ouvrir en visualisation seulement


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut [D7/Word] Ouvrir en visualisation seulement
    Bonjour à tous,

    J'aimerais ouvrir, depuis Delphi, un fichier DOC, mais sans que l'utilisateur puisse l'enregistrer.
    J'ai pensé à la lecture seule ou à l'objet OLEcontainer, mais le comportement ne me convient pas tellement.

    L'idéal serait de pouvoir griser les boutons et menus "Enregistrer".

    Est ce possible ?

    Merci d'avance.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 190
    Par défaut
    copier le fichier dans un repertoire temporaire
    + mettre le fichier en lecture seule

    ou essayer de faire un shell execute de la visonneuse word de microsoft

  3. #3
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Bonjour WolffN,

    J'avais bien pensé à la lecture seule, mais ce comportement ne me séduit que peu...
    C'est facilement détournable et l'utilisateur n'est prévenu qu'au dernier moment.

    Par contre, le principe de la visionneuse me convient bien.
    Mais je ne savait pas qu'il y en avait une pour word.

    Comment se nomme l'exe ?
    Faut-il une installation spéciale ou est-ce installé avec Word ?

  4. #4
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Je viens de fouiller,

    En fait, il faut faire une install supplémentaire.
    C'est dommage, car mon application est utilisée sur plusieurs postes, et c'est contraignant d'imposer des installations avec l'application.
    Ca aurait été génial que la visionneuse soit installée avec Word.

    Par contre, j'ai trouvé un truc sympa:
    La procection du document (outils/protéger le document).
    Il suffit de l'automatiser par une macro.

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 40
    Par défaut
    Je propose de créer une copie temporaire du fichier DOC et de l'ouvrir via n'importe quelle utilitaire disponible.
    A la fermeture de ce fichier il sera tout betement supprimé meme si des modifications y ont été apportées. Le fichier DOC original restera intact.

  6. #6
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Bonjour NoPain,

    Oui, ça pourrait convenir, mais l'utilisateur ne comprendrait pas ce qu'il se passe.
    Entre temps, j'ai trouvé un truc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    procedure TfrmVm.acWordAffExecute(Sender: TObject);
    begin
      If (ocMain.OleObjectInterface<>nil) then Begin
        Screen.Cursor := crHourGlass;
        try
          Global_NomDoc:= ocMain.SourceDoc ;
          ocMain.Visible:=False;
          Repaint;
          ocMain.DestroyObject;
          ocMain.CreateObjectFromFile(Global_NomDoc,false);
          ocMain.DoVerb(ocMain.PrimaryVerb); // ovOpen
          Enabled:=False;
          tmrWord.Enabled:=True;
        finally
          Screen.Cursor := crDefault;
        end;
      end; //end if  }
    end;
     
    procedure TfrmVm.tmrWordTimer(Sender: TObject);
    begin
      if (ocMain.state<>osOpen)  Then begin
        Screen.Cursor := crHourGlass;
        tmrWord.Enabled:=False;
        try
          Enabled:=True;
          application.BringToFront;
          Repaint;
          ocMain.CreateLinkToFile(Global_NomDoc, false);
          ocMain.Visible := True;
          Repaint; //}
        finally //exit;
          Screen.Cursor := crDefault;
        end;
      end;
    end;
    ocMain = OleContainer
    tmrWord = Timer

    Ca crée une copie gérée par Word, le menu "Enregistrer...." change.

  7. #7
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par dacid Voir le message
    L'idéal serait de pouvoir griser les boutons et menus "Enregistrer".
    Est ce possible ?
    Regarde du coté de l'objet Commandbar :
    Dans Microsoft Office, les barres d'outils, les barres de menus et les menus contextuels sont contrôlés par programmation comme un type d'objet : les barres de commandes. Tous les éléments suivants sont représentés dans Visual Basic pour Applications par les objets CommandBar :
    Dixit C:\Program Files\Microsoft Office\OFFICE11\1036\VBAOF11.CHM

  8. #8
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Bonjour Laurent,

    Merci pour ta participation.
    Ta solution aurait pu convenir, mais maintenant que mon truc a un comportement qui me convient avec le script ci-dessus, je ne vais plus y toucher (ça peut exploser ).

    Mais c'est bon à savoir... Pour un éventuel autre besoin tordu.

    Merci à vous tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/05/2010, 17h05
  2. ouvrir et visualiser onglet via userform
    Par cimbra55 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/03/2009, 17h34
  3. VBA word - ouvrir doc page x
    Par TIREUR dans le forum VBA Word
    Réponses: 2
    Dernier message: 25/02/2007, 16h44
  4. [CR7][Word] Ouvrir un fichier Word ou excel avec CR
    Par yoyothebest dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 23/04/2005, 19h47
  5. ouvrir word a l'aide d'un bouton
    Par Loule dans le forum MFC
    Réponses: 12
    Dernier message: 19/02/2004, 14h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo