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

Word Discussion :

Ouvrir un document pdf dans office avec l'application de son choix


Sujet :

Word

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Projeteur DAO, developpeur
    Inscrit en
    Octobre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur DAO, developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2012
    Messages : 39
    Points : 29
    Points
    29
    Par défaut Ouvrir un document pdf dans office avec l'application de son choix
    Bonjour à tous,
    ma question n'est pas forcément "développement" mais je pense que c'est ici que j'ai le plus de chances de trouver ...

    Je voudrais pouvoir choisir l'application avec laquelle ouvrir un objet acrobat document dans word ou excel.
    Sous windows, j'ai l'option "ouvrir avec ...", mais sous word, je n'ai que "ouvrir" - "convertir"
    Office utilise systématiquement le programme par défaut de windows lors de l'ouverture de la session windows,
    (sinon je changerai le programme par défaut windows et le tours serait joué)
    En résumé :
    Pour gérer le cartouche de mes documents office, j'utilise un objet PDF incorporé,
    pour le modifier je dispose de pdf architecte 3
    mais pdf architect n'est pas pratique pour la visualisation des PDF sous windows
    par contre, dans un document office, j'aimerais que les pdf s'ouvrent avec pdf archtitect 3,
    pour pouvoir les éditer.
    merci pour tout suggestion.
    Gégé

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Projeteur DAO, developpeur
    Inscrit en
    Octobre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur DAO, developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2012
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Salut à tous,
    comme je vois que dans sa version "sans code", mon post n'a pas trouvé de réponse,
    je pense que je devrais pouvoir arriver a mes fins en passant par la programmation.
    mon idée :
    - soit créer une petite macro vba qui s'exécute à l'ouverture du fichier word et qui change l'application par défaut pour les objet pdf
    - soit créer un plug-in (pour moi en vb.net) pour office qui permette d'avoir les mêmes options que sous windows pour l'ouverture des objets incorporé.

    je pense que la 1ère solution devrait être la plus simple ... si je trouve de la documentation sur la manière dont cette info est stockée.
    J'ai trouvé : Word.OLEFormat ou Office.MsoShapeType.msoEmbeddedOLEObject
    dans l'explorateur d'objet,
    mais je n'arrive pas à les trouver dans mon editeur vba
    est-ce que vous auriez une piste ?
    Merci
    Gégé

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 004
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 004
    Points : 24 593
    Points
    24 593
    Par défaut
    Bonjour,

    Ms Office s'appuyant sur le système pour toutes les tâches extérieures, sans code il sera impossible d'ouvrir un fichier avec un autre programme que celui réglé prévu.

    Heureusement on peut via VBA ouvrir lancer un programme et éventuellement ouvrir un fichier.

    La Faq ACCESS :

    http://access.developpez.com/faq/?page=Automation#shell

    Si tu n'es pas sous ACCESS mais beaucoup de commande sont communes. Dans le cas où celle-ci n'y serait pas, et plutôt que de faire référence à une bibliothèque ACCESS, tu peux utiliser l'API ShellExecute.

    http://access.developpez.com/faq/?page=PJVBA#PJOuvrir

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    J'ai relu les questions et ajouté à la fin de ce message d'origine...

    Juste pour être sûr de bien comprendre, parce que ce n'est pas vraiment clair dans mon idée. Tu serais, disons dans Word, et tu voudrais que Word puisse choisir un autre programme pour que le programme ouvre un fichier PDF, c'est cela ?

    Et si tu réponds oui à le première question :

    Qu'arrive-t-il ensuite ? Est-ce que le fichier PDF reste dans le programme qui l'a ouvert, ou doit-il être "retravaillé" dans Word ?

    Également, je présume que tu voudrais la même chose avec Excel ou d'autres applications d'Office ?

    P.S. Si tu ne l'as pas encore fait, tu pourrais jeter un œil dans le "bazar" de kiki29.

    http://www.developpez.net/forums/d43...ro-pdfcreator/

    Et plusieurs choses apparemment "hors-bazar" en écumant à partir de cette page:

    http://www.developpez.net/forums/f66...el/contribuez/

    - -----------------------------------------------------------------

    Ajouté:

    En relisant, je vois "l'Image" suivante :

    Tu as un document Office qui contient un objet OLE au format PDF et tu veux que ton application d'Office "oublie" les références au programme externe et se reconnecte, si on peut dire à une autre application que celle qui a créé l'objet inséré et que cette autre application puisse modifier l'objet OLE existant. Parce que si ton objet OLE est relativement simple et ne demande que des modifications mineures, il me semble avoir déjà vu une réponse de kiki29 qui parlait que Adobe Acrobat (le "gros" pas le reader installe un activeX) permettant de fabriquer et peut-être modifier des PDF. Si c'est vrai et que tu as accès à Acrobat, ou que ton propre programme fournisse un ActiveX similaire, cela pourrait peut-être te simplifier la vie.

    Sinon, je ne rejetterais pas d'emblée ton application Office (Cela remplace macro complémentaire, complément et add-in dans le jargon de Microsoft) en VB.net; compte tenu qu'il existe des composants .net (même des gratuits) capable de "travailler" le PDF.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  5. #5
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Projeteur DAO, developpeur
    Inscrit en
    Octobre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur DAO, developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2012
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Bonjour et mecri à tous les 2,
    je suis désolé pour le délai de réponse, mais je pensais m’être abonné au sujet ...

    Citation Envoyé par loufab Voir le message
    Bonjour,
    Ms Office s'appuyant sur le système pour toutes les tâches extérieures, sans code il sera impossible d'ouvrir un fichier avec un autre programme que celui réglé prévu.
    Heureusement on peut via VBA ouvrir lancer un programme et éventuellement ouvrir un fichier.
    La Faq ACCESS :
    http://access.developpez.com/faq/?page=Automation#shell
    Si tu n'es pas sous ACCESS mais beaucoup de commande sont communes. Dans le cas où celle-ci n'y serait pas, et plutôt que de faire référence à une bibliothèque ACCESS, tu peux utiliser l'API ShellExecute.
    http://access.developpez.com/faq/?page=PJVBA#PJOuvrir
    Très intéressant, je ne suis pas sous access, mais sous word. je pense que j'arriverai sans problème à adapter le code pour access à word,
    mais après avoir parcouru tout le tuto "vba pour word" la seule chose pour laquelle je n'ai pas trouvé de réponse, c'est:
    dans un document word, ou met on l'interface du programme vba ? car je n'ai pas d'onglet formulaire, où met-on le bouton pour lancer son hello world ?
    ça peut paraitre très idiot comme question, mais ça m’empêche de démarer ...

    je sais que word s'appuie sur le système pour proposer une application pour l'ouverture d'un objet, mais est il vraiment impossible de donner une autre instruction à word, via le vba ?


    Citation Envoyé par clementmarcotte Voir le message
    Bonjour,
    Juste pour être sûr de bien comprendre, parce que ce n'est pas vraiment clair dans mon idée. Tu serais, disons dans Word, et tu voudrais que Word puisse choisir un autre programme pour que le programme ouvre un fichier PDF, c'est cela ?
    Et si tu réponds oui à le première question :
    Qu'arrive-t-il ensuite ? Est-ce que le fichier PDF reste dans le programme qui l'a ouvert, ou doit-il être "retravaillé" dans Word ?
    Également, je présume que tu voudrais la même chose avec Excel ou d'autres applications d'Office ?

    P.S. Si tu ne l'as pas encore fait, tu pourrais jeter un œil dans le "bazar" de kiki29.
    http://www.developpez.net/forums/d43...ro-pdfcreator/
    Lorsque j'ouvre un document pdf ole dans word avec pdfArchitect, les modifications du document ole sont enregistrées dans le le fichier .doc
    ce qui m’ennuie, c'est que je ne veux pas pdfArchitect comme application par défaut pour les pdf.

    Pour les contributions de kiki29, je les ai déjà parcourues, mais elles ne répondent pas à ma problématique

    Citation Envoyé par clementmarcotte Voir le message
    Et plusieurs choses apparemment "hors-bazar" en écumant à partir de cette page:
    http://www.developpez.net/forums/f66...el/contribuez/
    La il y beaucoup de chose, il faut que je prenne le temps de chercher dedans .. peut être déjà la Fonction GetOject ?

    Citation Envoyé par clementmarcotte Voir le message
    Tu as un document Office qui contient un objet OLE au format PDF et tu veux que ton application d'Office "oublie" les références au programme externe et se reconnecte, si on peut dire à une autre application que celle qui a créé l'objet inséré et que cette autre application puisse modifier l'objet OLE existant. Parce que si ton objet OLE est relativement simple et ne demande que des modifications mineures, il me semble avoir déjà vu une réponse de kiki29 qui parlait que Adobe Acrobat (le "gros" pas le reader installe un activeX) permettant de fabriquer et peut-être modifier des PDF. Si c'est vrai et que tu as accès à Acrobat, ou que ton propre programme fournisse un ActiveX similaire, cela pourrait peut-être te simplifier la vie.

    Sinon, je ne rejetterais pas d'emblée ton application Office (Cela remplace macro complémentaire, complément et add-in dans le jargon de Microsoft) en VB.net; compte tenu qu'il existe des composants .net (même des gratuits) capable de "travailler" le PDF.
    Le fonctionnement que je veux est bien celui là, mais pour l'instant je n'ai pas acrobat full, seulement pdfArchitect, qui n'a pas de controles activex...
    et ce que je veux, c'est bien pouvoir lancer une application d'edition des pdf: je ne veux pas programmer un editeur de pdf, car mon besoin est d'editer ou d'ajouter du texte dans un cartouche au format pdf
    ça risque de devenir compliqué à coder ...

    Donc même en vb.net, je n'envisageais pas de programmer un editeur pdf, mais simplement un plug-in qui permet de proposer une autre application pour l'edition d'un objet ole lorsque l'on fait un clic droit dessu

    merci,

    Gégé

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par gegematic Voir le message
    Bonjour et mecri à tous les 2,


    Très intéressant, je ne suis pas sous access, mais sous word. je pense que j'arriverai sans problème à adapter le code pour access à word,
    mais après avoir parcouru tout le tuto "vba pour word" la seule chose pour laquelle je n'ai pas trouvé de réponse, c'est:
    dans un document word, ou met on l'interface du programme vba ?
    Pour atteindre l'éditeur VBA, le plus simple, c'est Alt + F11. Universel dans Office. Tu vas vite voir une petit air de famille avec celui de VB.net. Tu as fondamentalement deux choix d'emplacement :

    Dans un modèle (Normal par défaut)

    Tu fais un clic-droit sur l'icône de Normal et dans le menu contextuel, tu insères un User_Form. Ensuite l'installation des boutons et des autres contrôles. Et tu insères tes procédures dans les événements des contrôles. C'est pratiquement la même chose que dans VB.net. L'avantage du modèle, c'est que la macro est automatiquement utilisable dans tous les documents basés sur le modèle.

    Dans un document particulier

    Tu fais un clic-droit sur l'icône du document. L'avantage, ou la restriction du document, c'est que la macro est uniquement utilisable dans le document en question.



    car je n'ai pas d'onglet formulaire, où met-on le bouton pour lancer son hello world ?
    ça peut paraitre très idiot comme question, mais ça m’empêche de démarer ...
    Si tu parles d'un onglet du Ruban, c'est l'onglet "Développeur". Comme, il n'est pas affiché par défaut, il est possible qu'il ne soit pas visible. Dans ce cas, tu cliques sur l'onglet "Personnaliser le ruban" et tu coches Développeur dans la colonne de gauche, de droite plutôt, de la boîte de dialogue.

    Tu peux aussi monter un bouton dans ta barre d'outils "Accès rapide" et lui affecter ta macro.


    je sais que word s'appuie sur le système pour proposer une application pour l'ouverture d'un objet, mais est il vraiment impossible de donner une autre instruction à word, via le vba ?
    VBA, VB6 et même VB.net (encore que dans VB.net, cela va mieux avec la classe Process) ont l'instruction Shell, qui fonctionne sensiblement comme une ligne de commande. Pour les différents paramètres, il faudrait que tu regardes dans l'aide de VBA. Mais, je ne sais pas jusqu'à quel point tu pourrais "lier" ton cartouche et ton application à part que Copier-Coller. Mais là, tu peux effectivement ouvrir pratiquement n'importe quel exécutable à partir d'un bouton dans Word.


    La il y beaucoup de chose, il faut que je prenne le temps de chercher dedans .. peut être déjà la Fonction GetOject ?
    En fait GetOject est utilisé en VB6-VBA pour utiliser une instance existante d'un programme OLE pour faire les traitements en cause.
    Dans le même ordre d'idée CreateObject permet de lancer l'application OLE.

    Par exemple, tu fais une macro Word qui utilise Excel pour créer un graphique.

    GetObjet va utiliser L'Excel déjà ouvert, s'il y en a un.
    CreateObjet va ouvrir Excel à partir de rien, même si Excel est déjà ouvert; et tu vas avoir 2 ou plus d'Excel dans le gestionnaire de tâches.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Projeteur DAO, developpeur
    Inscrit en
    Octobre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur DAO, developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2012
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Merci pour toutes ces infos,
    l'interface vba pour word va m'être précieuses
    il faut que je trouve le temps de m'y mettre,
    et je retournerai le résultat de mon travail ...
    Gégé

Discussions similaires

  1. Ouvrir un document PDF dans Acrobat depuis 4D
    Par Turtle_fr dans le forum 4D
    Réponses: 2
    Dernier message: 14/11/2013, 11h43
  2. Réponses: 4
    Dernier message: 08/08/2006, 19h57
  3. [HTML] Ouvrir plusieurs fichiers pdf dans une page
    Par PrinceMaster77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 05/05/2006, 09h34
  4. ouvrir plusieurs documents pdf
    Par prodi_64 dans le forum ASP
    Réponses: 2
    Dernier message: 27/03/2006, 09h16
  5. [C#] Ouvrir un fichier PDF dans une autre fenetre
    Par ZePostman dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/03/2006, 13h41

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