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

C# Discussion :

c# acceder à l'application/workbook en cours d'exécution


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Par défaut c# acceder à l'application/workbook en cours d'exécution
    Bonjour

    voici mon problème.

    j'ouvre un fichier excel prg.xlxs
    à partir de ce fichier je veux lancer un programme qui me permettra de modifier ma feuille excel déjà ouverte.

    le problème quand j'utilise Excel.application().Workbooks.Open("prg.xls") le programme ouvre une nouvelle fenêtre excel. Ce qui m'ennuie. car les modifications ne sont pas prises en comptes dans la premier fenêtre

    je travaille avec VS2010 et Excel 2007.

    Merci et bonne journée à tous

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 20
    Par défaut
    Bonjour,
    Vous voulez déclencher le programme manuellement ?? ou qu'il se lance à l ouverture de la feuille ??
    Je n'arrive pas a comprendre pourquoi ne pas ouvrir la feuille directement depuis le programme ??

  3. #3
    Membre éprouvé Avatar de LeCygne
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2010
    Messages : 91
    Par défaut
    Voila qui devrait répondre à votre besoin.
    La fonction retourne l'application Excel deja ouverte, ou une nouvelle si Excel n'est pas encore lance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Microsoft.Office.Interop.Excel.Application application;
    Microsoft.Office.Interop.Excel.Workbook classeur;
    Microsoft.Office.Interop.Excel.Worksheet feuille;
     
    application = Excel.RecupererInstanceActive();
    classeur = (Microsoft.Office.Interop.Excel.Workbook) application.Workbooks["NomClasseur"];
    feuille = (Microsoft.Office.Interop.Excel.Worksheet)classeur.Sheets["NomFeuille"];
    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
     
    /// <summary>
    ///  Retourne l'application Excel active si elle existe ou une nouvelle instance.
    /// </summary>
    /// <returns>Application Excel active si elle existe ou une nouvelle instance.</returns>
    private static Microsoft.Office.Interop.Excel.Application RecupererInstanceActive()
        {
        Microsoft.Office.Interop.Excel.Application application = null;
        try
            {
            application = (Microsoft.Office.Interop.Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
            }
        catch (Exception)
            {
            application = new Microsoft.Office.Interop.Excel.Application();
            }
        return application;
        }

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 20
    Par défaut
    Merci pour l'astuce après je suis pas sur que ce soit trés propre de passer par un try catch pour faire ca mais c est un autre débat.....

Discussions similaires

  1. Comment savoir si une application est en cours d'exécution
    Par DelphiCool dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 03/02/2013, 10h54
  2. impossible d'acceder à une application par un utilisateur
    Par hicham106 dans le forum Windows XP
    Réponses: 4
    Dernier message: 20/09/2007, 13h02
  3. Comment masquer une application en cours d'exécution
    Par wajdiisi2007 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/08/2007, 00h45
  4. Réponses: 4
    Dernier message: 16/07/2007, 13h15
  5. Savoir si une application est en cours d'exécution??
    Par Davidvb6 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 24/03/2006, 08h33

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