Se connecte à une instance existante d'Excel ou en crée un nouvelle
#include <Excel.au3>
_Excel_Open ( [$bVisible = True [, $bDisplayAlerts = False [, $bScreenUpdating = True [, $bInteractive = True [, $bForceNew = False]]]]] )
$bVisible | [optionnel] True spécifie que l'application sera visible (par défaut = True) |
$bDisplayAlerts | [optionnel] False supprime toutes les invites et les messages d'alerte lors de l'ouverture d'un classeur (par défaut = False) |
$bScreenUpdating | [optionnel] False supprime le rafraichissement de l'écran pour accélérer votre script (par défaut = True) |
$bInteractive | [optionnel] Si False, Excel bloque toutes les entrées clavier et souris effectuées par l'utilisateur (sauf l'entrée des boîtes de dialogue) (valeur par défaut = True) |
$bForceNew | [optionnel] True force la création d'une nouvelle instance d'Excel, même si il y a déjà une instance en cours d'exécution (par défaut = False) |
Succès: | Retourne l'objet application Excel. Définit @extended à: 0 - Excel était déjà en cours d'exécution 1 - Excel n'était pas en cours d'exécution ou $bForceNew était défini à True. Une nouvelle instance d'Excel a été créée |
Échec: | Retourne 0 et définit @error <> 0. |
@error: | 1 - Erreur renvoyée par ObjCreate. @extended contient le code d'erreur COM. |
Si $bDisplayAlerts est définie sur False et qu'un message nécessite une réponse, Excel choisit la réponse par défaut.
Pour améliorer les performances définissez $bScreenUpdating à False. L'écran ne sera pas mis à jour jusqu'à ce que vous définissiez $oExcel.ScreenUpdating à True.
Bloquer les entrées de l'utilisateur ($obInteractive = False) empêchera l'utilisateur d'interférer avec le script AutoIt.
Si la valeur est False, n'oubliez pas de la remettre à True ($oExcel.Interactive = True )
#include <Excel.au3> #include <MsgBoxConstants.au3> ; ***************************************************************************** ; Crée un objet Excel ou se connecte à une instance Excel déjà lancée ; ***************************************************************************** Local $oExcel1 = _Excel_Open() If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_Open-Exemple 1", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_Open-Exemple 1", "L'application Excel a été ouverte avec succès." & @CRLF & @CRLF & "Est-ce que _Excel_Close fermera l'application?: " & @extended)
#include <Excel.au3> #include <MsgBoxConstants.au3> ; ***************************************************************************** ; Force la création d'une nouvelle application et affiche les alertes Excel ; ***************************************************************************** _Excel_Open(Default, Default, Default, Default, True) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_Open-Exemple 2", "Erreur lors de la création d'un nouvel objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended) Local $aProcesses = ProcessList("Excel.exe") If $aProcesses[0][0] = 1 Then MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_Open-Exemple 2", "L'application Excel a été ouverte avec succès." & @CRLF & @CRLF & $aProcesses[0][0] & " Une instance d'Excel est en cours d'exécution.") Else MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_Open-Exemple 2", "L'application Excel a été ouverte avec succès." & @CRLF & @CRLF & $aProcesses[0][0] & " Une instance d'Excel est en cours d'exécution.") EndIf