Question
Process Excel toujours actif (Résolu)
- CAPRON
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 17 ans 5 mois #2991
par CAPRON
Process Excel toujours actif (Résolu) a été créé par CAPRON
Bonjour,
Je souhaite remplir une feuille Excel depuis un script PS. Tout fonctionne correctement, mais quand le script me rend la main, j'ai toujours le process Excel.exe actif. Je suis obligé de le tué, sinon je n'arrive pas à ouvrir le document précédemment généré.
Si quelqu'un a déjà eu le problème, je suis preneur.
Cordialement.
VCPN
Mon script:
[code:1]$xls = New-Object -comobject Excel.Application
$xls.Visible = $True
$doc = $xls.Workbooks.Add()
$sheet = $class.Worksheets.Item(1)
$col=1
for($i=1;$i -le 5;$i++)
{
$sheet.Cells.Item($i,$col) = $i
$sheet.Cells.Item($i,$col+1) = $i*$i
$sheet.Cells.Item($i,$col+2) = $i*$i*$i
$sheet.Cells.Item($i,$col+3) = $i*$i*$i*$i
}
$doc.SaveAs(\"D:\Test.xls\"«»)
$xls.Quit()
Remove-Variable -Name xls[/code:1]<br><br>Message édité par: Arnaud, à: 17/10/08 14:52
Je souhaite remplir une feuille Excel depuis un script PS. Tout fonctionne correctement, mais quand le script me rend la main, j'ai toujours le process Excel.exe actif. Je suis obligé de le tué, sinon je n'arrive pas à ouvrir le document précédemment généré.
Si quelqu'un a déjà eu le problème, je suis preneur.
Cordialement.
VCPN
Mon script:
[code:1]$xls = New-Object -comobject Excel.Application
$xls.Visible = $True
$doc = $xls.Workbooks.Add()
$sheet = $class.Worksheets.Item(1)
$col=1
for($i=1;$i -le 5;$i++)
{
$sheet.Cells.Item($i,$col) = $i
$sheet.Cells.Item($i,$col+1) = $i*$i
$sheet.Cells.Item($i,$col+2) = $i*$i*$i
$sheet.Cells.Item($i,$col+3) = $i*$i*$i*$i
}
$doc.SaveAs(\"D:\Test.xls\"«»)
$xls.Quit()
Remove-Variable -Name xls[/code:1]<br><br>Message édité par: Arnaud, à: 17/10/08 14:52
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 5 mois #2992
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Process Excel
Concernant le pb du process Excel il faut forcer sa terminaison :
[code:1]$excel.quit()
$excel=$null
[GC]::collect()[/code:1]
Ou mieux utiliser le service adéquat de COM sans appel au garbage collector
[code:1][System.Runtime.Interopservices.Marshal]::ReleaseComObject($Excel)[/code:1]
Voir aussi : Getting Rid of a COM Object (Once and For All)
De mon coté si cela fonctionne avec
[code:1]$sheet = $Doc.Worksheets.Item(1)[/code:1]
[code:1]$excel.quit()
$excel=$null
[GC]::collect()[/code:1]
Ou mieux utiliser le service adéquat de COM sans appel au garbage collector
[code:1][System.Runtime.Interopservices.Marshal]::ReleaseComObject($Excel)[/code:1]
Voir aussi : Getting Rid of a COM Object (Once and For All)
De mon coté si cela fonctionne avec
[code:1]$sheet = $Doc.Worksheets.Item(1)[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- CAPRON
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 17 ans 5 mois #2994
par CAPRON
Réponse de CAPRON sur le sujet Re:Process Excel
Bonjour,
Mon souci semble résolu.
Encore merce et bravo pour votre livre.
Je me sens un peu seul aujourd'hui, je l'ai oublié à la maison. J'espère que ma petite bouledogue ne se sera pas mise au PowerShell.
Bonne journée.
VCPN
Mon souci semble résolu.
Encore merce et bravo pour votre livre.
Je me sens un peu seul aujourd'hui, je l'ai oublié à la maison. J'espère que ma petite bouledogue ne se sera pas mise au PowerShell.
Bonne journée.
VCPN
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.047 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Process Excel toujours actif (Résolu)