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

Windows Forms Discussion :

[C#] ouvrir fichier "doc" à l'aide d'un bouton [FAQ]


Sujet :

Windows Forms

  1. #1
    Membre régulier Avatar de AmineDev9
    Inscrit en
    Décembre 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 193
    Points : 104
    Points
    104
    Par défaut [C#] ouvrir fichier "doc" à l'aide d'un bouton
    Salut
    comment on fait pour que je clique sur le bouton Aide et que ça m'ouvre un fichier word
    merci pour vos réponses

  2. #2
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Salut.

    Voilà un tuto' qui devrait t'aider ^^

    http://jab.developpez.com/tutoriels/dotnet/word/#L1

    Bon courage !

  3. #3
    Membre régulier Avatar de AmineDev9
    Inscrit en
    Décembre 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 193
    Points : 104
    Points
    104
    Par défaut
    je suis débutant j'ai pas trouvé comment le faire
    je veut seulement que le bouton ouvre un fichier word ou text, comme lorsque j'ouvre le fichier avec double clique simple .

  4. #4
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Tu veux que le .doc soit vide pour le remplir ensuite ou tu veux ouvrir un document existant ?

  5. #5
    Membre régulier Avatar de AmineDev9
    Inscrit en
    Décembre 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 193
    Points : 104
    Points
    104
    Par défaut
    c'est juste ouvrir un document existant ,pas plus

  6. #6
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Et bien regarde le tuto' que je t'ai donné, tu trouveras ce qu'il te faut dedans.

  7. #7
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Points : 1 271
    Points
    1 271
    Par défaut
    Si tu souhaites ouvrir Word spécifiquement le tutorial devrait t'aider.
    Si tu souhaites ouvrir l'application que l'utilisateur a associé à l'extension, et afficher la boîte Open As de Windows si il n'a configuré aucune association, utilise le code suivant :
    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
    public static void LaunchFile(string fileName)
    {
      ProcessStartInfo psi = new ProcessStartInfo(fileName);
      psi.UseShellExecute = true;
      psi.ErrorDialog = true;
      string action = "openas";
      foreach (string verb in psi.Verbs)
      {
        if (string.Compare(verb, "open", true) == 0)
        {
          action = verb;
          break;
        }
      }
      psi.Verb = action;
      Process.Start(psi);
    }

  8. #8
    Membre régulier Avatar de AmineDev9
    Inscrit en
    Décembre 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 193
    Points : 104
    Points
    104
    Par défaut
    lorsque j'utilise ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Microsoft.Office.Interop.Word.Application msWord = new Microsoft.Office.Interop.Word.Application();
                object missing = System.Reflection.Missing.Value;
                object fileName = @"c:/t.doc";
                Microsoft.Office.Interop.Word.Document nvDoc;
                nvDoc = msWord.Documents.Open(ref fileName, ref missing, ref missing,
                    ref missing, ref missing, ref missing,
                    ref missing, ref missing, ref missing,
                    ref missing, ref missing, ref missing,
                    ref missing, ref missing, ref missing,
                    ref missing);
    il m'aficher l'erreur suivant ????
    Error 1 The type or namespace name 'Office' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) C:\Documents and Settings\Administrateur\Bureau\\Projet_Net\Acceuil.cs 114 23 Projet_Net

  9. #9
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Est-ce que tu as bien lu l'entête du document ? Parce que je pense que tu as manqué le 2. Préparation.

    Voilà ce qu'il te manque (je pense) :
    Avant de passer à la programmation proprement dite, il y a lieu d'ajouter une référence à Word dans votre projet. La communication entre votre application et Word se fera au moyen de la technologie OLE Automation. Toutefois, ceci sera complètement pris en charge par les dll que nous allons référencer.

    Dans Visual Studio : pour ajouter cette référence, allez dans Projet>Ajouter une référence>Onglet COM et sélectionnez Microsoft Word xx.x Object Library.

    Dans SharpDevelop : Dans votre projet, cliquez avec le bouton droit sur Reference>Ajouter une référence, Onglet COM et sélectionnez Microsoft Word xx.x Object Library.

    Dans mon cas, la version était 11.0.
    Les dll Interop.VBIDE.dll et Interop.Word.dll sont maintenant ajoutées à votre projet.

  10. #10
    Membre régulier Avatar de AmineDev9
    Inscrit en
    Décembre 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 193
    Points : 104
    Points
    104
    Par défaut
    il m'affiche maintenant l'erreur suivant :
    Error 1 The type or namespace name 'Interop' does not exist in the namespace 'Microsoft.Office' (are you missing an assembly reference?) C:\Documents and Settings\Administrateur\Bureau\Projet_Net\Acceuil.cs 114 37 Projet_Net

  11. #11
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    C'est la même erreur lol

    Tu as réussi à ajouter la référence ?

  12. #12
    Membre régulier Avatar de AmineDev9
    Inscrit en
    Décembre 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 193
    Points : 104
    Points
    104
    Par défaut
    C'est la même erreur lol

    je pense pas que c'est la meme erreur:
    Error 1 The type or namespace name 'Office' does not exist in the namespace 'Microsoft'
    Error 2 The type or namespace name 'Interop' does not exist in the namespace 'Microsoft.Office'
    j'ai réussi à faire la référence mais l'erreur 2 ?

  13. #13
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Alors là je ne sais pas...

    Je viens d'essayer de faire un nouveau projet, d'ajouter la référence à Word, un bouton et le code qui permet de se connecter à Word et d'ouvrir un document existant et ça marche...

    Montre moi ton code STP des fois qu'il y ai une erreur qui t'ai échappé...

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Points : 128
    Points
    128
    Par défaut
    Salut theking9 j'ai eu le même problème que toi il y a peu. Envoies moi ton mail et je t'envoie les DLL à rajouter (=référence)

  15. #15
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Citation Envoyé par theking9 Voir le message
    c'est juste ouvrir un document existant ,pas plus
    S'il s'agit simplement d'ouvrir un document existant, pas besoin d'Automation :
    Comment ouvrir un fichier avec l'application associée à son extension ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        // Instance de la classe Process
        System.Diagnostics.Process proc = new System.Diagnostics.Process();
        // Nom du fichier dont l'extension est connue du shell à ouvrir
        proc.StartInfo.FileName = "monfichier.doc";
        // Démarrage du processus. 
        // Word, s'il est associé aux fichiers .doc,
        // sera lancé et ouvrira le fichier monfichier.doc
        proc.Start() ;
        // On libère les ressources dont on a plus besoin.
        proc.Close(); // Attention Close ne met pas fin au processus.

  16. #16
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Points : 1 271
    Points
    1 271
    Par défaut
    Ce code va lancer une exception si aucune application n'est associée à l'extension .doc.

    Le code que j'ai fourni plus haut permet de ne pas avoir cette exception, et d'ouvrir la boîte de dialogue Open As dans ce cas.

  17. #17
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Citation Envoyé par Greybird Voir le message
    Ce code va lancer une exception si aucune application n'est associée à l'extension .doc.
    Le code que j'ai fourni plus haut permet de ne pas avoir cette exception, et d'ouvrir la boîte de dialogue Open As dans ce cas.
    Autant pour moi, je n'avais pas lu ton message.
    J'ai l'impression que theking9 non plus.

    PS : tu pourrais proposer cette solution pour mise à jour de la FAQ

  18. #18
    Membre régulier Avatar de AmineDev9
    Inscrit en
    Décembre 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 193
    Points : 104
    Points
    104
    Par défaut
    Autant pour moi, je n'avais pas lu ton message.
    J'ai l'impression que theking9 non plus.


    Merci pour vos réponse

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

Discussions similaires

  1. comment ouvrir un fichier à l'aide d'un bouton dans un formulaire?
    Par c moi dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/05/2007, 00h34
  2. Ouvrir Une Autre Base A L'aide D'un Bouton
    Par maverick91 dans le forum Access
    Réponses: 3
    Dernier message: 22/09/2006, 11h05

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