Bonjour,

J'aimerais faire en sorte qu'a la fin du script, une indication affiche si les commandes ont bien été effectués. Mon problème est que la valeur booléen renvoyé par toute les commande est tout le temps False même si elles ont bien été exécuté. Ce script a pour but d'ouvrir un fichier excel, l'actualiser, le sauvegarder et le fermer. Je précise que je découvre le PowerShell et que j'ai trouvé ce script ici : https://blog.cellenza.com/data/power...ichiers-excel/
Merci pour vos réponse

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
$excel = new-object -comobject Excel.Application


Start-Sleep -s 3



 

$excel.DisplayAlerts = $false
$excel.ScreenUpdating = $false
$excel.Visible = $false
$excel.UserControl = $false
$excel.Interactive = $false



 
$missing = [System.Reflection.Missing]::Value





echo $("Traitement du fichier : D:\Bureautique\Mes Documents\PowerShell\test\test.xlsx")
 




$excelworkbook = $excel.workbooks.Open("D:\Bureautique\Mes Documents\PowerShell\test\test.xlsx",$missing,$missing,$missing,$missing,$missing,$missing,$missing,$missing,$missing,$false,$missing,$missing,$missing)


Start-Sleep -s 2





echo "Lancement du refresh"
$result=[bool]$excelworkbook.RefreshAll()
Start-Sleep -s 2




echo "Sauvegarde"
$result2=[bool]$excelworkbook.Save()
Start-Sleep -s 2




echo "Fermeture du classeur"
$result3=[bool]$excelworkbook.Close()
Start-Sleep -s 2




 
$excel.Application.quit()






while( [System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel)){}

echo ""
echo "Rapport d'exécution"
echo "-------------------"

if($result -eq $true){
    echo "REFRESH    :    OK"
}
else
{
    echo "REFRESH    :    FAILED"
}


if($result2 -eq $true){
    echo "SAVE       :    OK"
}
else
{
    echo "SAVE       :    FAILED"
}


if($result3 -eq $true){
    echo "CLOSE      :    OK"
}
else
{
    echo "CLOSE      :    FAILED"
}

echo ""





pause