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

Dotnet Discussion :

comment fermer le processus excel sous iis


Sujet :

Dotnet

  1. #1
    Membre averti
    Inscrit en
    décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : décembre 2005
    Messages : 391
    Points : 301
    Points
    301
    Par défaut comment fermer le processus excel sous iis
    j'utilise

    Dim _xlApp As Microsoft.Office.Interop.Excel.Application = Nothing
    Dim _xlBook As Microsoft.Office.Interop.Excel.Workbook = Nothing
    Dim oRien As Object = System.Reflection.Missing.Value
    Dim _xlSheet As Microsoft.Office.Interop.Excel.Worksheet = Nothing

    et lorsque je fais un _xlApp .close()
    le processus est toujours en cours

    en win app j arrive a en lancer 3 maxi apres ils disparaissent
    mais en asp ils reste comment les faire disparaitre definitivement


    merci

  2. #2
    Membre régulier
    Inscrit en
    juin 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : juin 2003
    Messages : 82
    Points : 92
    Points
    92
    Par défaut
    ce sujet a déjà été traité pas mal de fois.

    Utilises la fonction recherche du forum.

    Mots clés : excel processus automation


    merci

  3. #3
    Membre averti
    Inscrit en
    décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : décembre 2005
    Messages : 391
    Points : 301
    Points
    301
    Par défaut
    j'utilise

    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
     
    Public Sub Close()
                Try
     
                    If Not _xlSheet Is Nothing Then
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(_xlSheet)
                        _xlSheet = Nothing
                    End If
     
                    If Not _xlBook Is Nothing Then
                        _xlBook.Close(False, Type.Missing, Type.Missing)
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(_xlBook)
                        _xlBook = Nothing
                    End If
     
                    If Not _xlApp Is Nothing Then
                        _xlApp.Quit()
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(_xlApp)
                        _xlApp = Nothing
                    End If
                Catch ex As Exception
                    Console.WriteLine(ex.Message)
                End Try
            End Sub
    j'ai essayé tous ce que j'ai pu trouver dans le forum rien ne change
    chaque fois que j'insctancie Excel.Application
    et que j'appelle ensuite le quit() le processus ne se termine pas

    aidez moi

  4. #4
    Membre averti
    Inscrit en
    décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : décembre 2005
    Messages : 391
    Points : 301
    Points
    301
    Par défaut
    quand je debug avant de faire le appQuit mais apres avoir fermer la feuille et le workbook

    dans app
    j ai plusieurs de ses propriétés avec des exceptions
    + ThisCell {"Exception de HRESULT : 0x800A03EC"} Microsoft.Office.Interop.Excel.Range
    + ThisWorkbook {"Exception de HRESULT : 0x800A03EC"} Microsoft.Office.Interop.Excel.Workbook

    peut etre cela empeche t il au processus de se fermer

  5. #5
    Membre averti
    Inscrit en
    décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : décembre 2005
    Messages : 391
    Points : 301
    Points
    301
    Par défaut
    Dim _xlApp As Microsoft.Office.Interop.Excel.Application = Nothing
    Dim _xlBook As Microsoft.Office.Interop.Excel.Workbook = Nothing
    Dim _xlSheet As Microsoft.Office.Interop.Excel.Worksheet = Nothing
    Dim ProcId As Integer

    Public Sub New(ByVal fileName As String, ByVal isReadOnly As Boolean)
    ' Liste des processus avant le mien
    Dim Process1() As Process = Process.GetProcesses()
    _xlApp = New Microsoft.Office.Interop.Excel.Application()
    ' Liste des processus après le mien : la différence me donnera l'Id du mien
    Dim Process2() As Process = Process.GetProcesses()


    Dim i, j As Integer
    Dim bMonProcessXL As Boolean
    For j = 0 To Process2.GetUpperBound(0)
    If Process2(j).ProcessName = "EXCEL" Then
    bMonProcessXL = True
    ' Parcours des processus avant le mien
    For i = 0 To Process1.GetUpperBound(0)
    If Process1(i).ProcessName = "EXCEL" Then
    If Process2(j).Id = Process1(i).Id Then
    ' S'il existait avant, ce n'�tait pas le mien
    bMonProcessXL = False
    Exit For
    End If
    End If
    Next i
    If bMonProcessXL = True Then
    ' Maintenant que j'ai son Id, je pourrai le tuer
    ' xlApp.Hinstance ne fonctionne pas avec Excel 2000
    ' alors que cette méthode marche toujours !
    ProcId = Process2(j).Id
    Exit For
    End If
    End If
    Next j

    Open(fileName, isReadOnly)
    setCurrentSheet(1)
    End Sub


    Public Sub Quitter()
    If ProcId = 0 Then Exit Sub
    Process.GetProcessById(ProcId).Kill()
    End Sub

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

Discussions similaires

  1. fermer un processus Excel
    Par sophiesallee dans le forum VBA Access
    Réponses: 6
    Dernier message: 03/10/2007, 11h42
  2. comment fermer la fenêtre principale sous IE ?
    Par renaudjuif dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/08/2006, 14h31
  3. Comment copier une feuille EXCEL sous ACCESS?
    Par PAULOM dans le forum Access
    Réponses: 7
    Dernier message: 28/04/2006, 10h01
  4. comment fermer un fichier Excel depuis Access?
    Par audrey_desgres dans le forum Access
    Réponses: 14
    Dernier message: 21/06/2005, 12h43

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