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 :

automatisation excel : problème de fermeture


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Points : 174
    Points
    174
    Par défaut automatisation excel : problème de fermeture
    Bonjour,
    j'ai un problème avec l'automatisation d'exel, j'ai pu afficher le fichier et tout va bien
    le problème est dans la fermeture: lorsque je ferme excel, le processus reste en marche et ne s'arrete pas
    comment je peux résoudre ce problème?
    Merci d'avance

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut ExcelApp,fermeture
    bonjour aychoucha
    simple tu aurais du voir l'intellisense.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dim AppExcel as new Excel.Application
    excelApp.Quit
    excelApp=Nothing
    maintenant en mode deboguagge s'il y a un plantage,boublie pas de fermer excel dans le taskmanager,puisque c'est planter.
    bon code..............

  3. #3
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Points : 174
    Points
    174
    Par défaut
    Bonjour,
    Merci MABROUKI
    J'ai vu le quit et si je le fait à la fin du code, la fonction se ferme avant même que je regarde le contenu du fichier Excel
    ce que je veux savoir comment résoudre ce problème et arrêter le processus lorsque je ferme excel et non pas lorsque je ferme ma form
    Merci

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Points : 38
    Points
    38
    Par défaut
    slt,
    tu fais un try catch finally pour quitter correctement ton processus excel
    dans le catch tu fermes ton workbook (sans le sauvegarder vu qu'il y a une erreur ) et dans le finally tu appelles System.Runtime.InteropServices.Marshal.ReleaseComObject

    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
     
    			catch (Exception ex)
    			{
    				//force quit without saving
    				_workbook.Close(false, _missingValue, _missingValue);
    				throw new Exception("Excel encoutered an error!", ex);
    			}
    			finally
    			{
    				_exc.Quit();
    				releaseObject(_worksheet);
    				releaseObject(_workbook);
    				releaseObject(_exc);
    			}
    		}
     
    		/// <summary>
    		/// close excel properly
    		/// </summary>
    		/// <param name="obj"></param>
    		private void releaseObject(object obj)
    		{
    			if (obj != null)
    			{
    				try
    				{
    					System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
    				}
    				catch { }
    			}
    		}

  5. #5
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Points : 174
    Points
    174
    Par défaut
    Bonjour,
    Merci aurel_le_ouf
    mais ça ne marche pas encore, l'application excel se ferme et le processue persiste encore et il ne se ferme que lorsque je ferme ma forme
    Le problème persiste encore!
    Merci

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Points : 38
    Points
    38
    Par défaut
    envoies le code ça nous aidera

  7. #7
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Points : 174
    Points
    174
    Par défaut
    Bonjour,
    pour la première fois c bon mais si je régénère mon fichier Excel alors j'aurai le même problème
    donc problème non résolu
    Merci d'avance
    Fichiers attachés Fichiers attachés

  8. #8
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut quitter une application excel
    bonjour aychoucha

    tu ne lis pas les reponses,apparement.Je l'ai deja dit tu n'as rien faire de tous ces "savants release com", ils ne servent à rien .Il faut lire Lib MSDN .
    Il n' y a rien à inventer comme un francaoui.
    code deja donne en vb.net.
    Tu dois faire dans l'ordre et proprement:
    - Quit qui affiche à l'user le message voulez-vous sauvegarder ?oui -non -annuler(prevu pour un utilisateur s'il veut sauvegarder son travail)
    - nothing que tu n'as vu (null en c# comme les nuls),pour quitter le processus Com (excel).
    code deja envoye en vb.net traduit cette fois en c#..............
    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
     
    'obtient un pointeur sur l'interface Com Excel
    Excel.Application  AppExcel =  excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
     
    // bye bye à Excel
     //liberer ces refrences avant
                    SheetPDC = null;
                    wBook = null;
                    //quitter excel
                    excelApp.Quit();
                    //ton pointeur d'interface COM pointe sur null
                    excelApp = null;
                    //inutiles
                    //ReleaseComObject(wSheetPDC);
                    //ReleaseComObject(wBook);
                    //ReleaseComObject(excelApp);
    bon code....

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/08/2008, 20h01
  2. Problème de fermeture d'excel
    Par zoom61 dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/07/2008, 10h59
  3. Connexion ADO AS400 problème de fermeture EXCEL
    Par JYL74 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/11/2007, 11h16
  4. Réponses: 8
    Dernier message: 20/09/2007, 10h31
  5. [VBA Excel/Access] problème de fermeture instantannée d'Access
    Par torky dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/07/2007, 09h30

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