Sauvegarde un classeur avec un nouveau nom et/ou un nouveau type
#include <Excel.au3>
_Excel_BookSaveAs ( $oWorkbook, $sFilePath [, $iFormat = $xlWorkbookDefault [, $bOverWrite = False [, $sPassword = Default [, $sWritePassword = Default [, $bReadOnlyRecommended = False]]]]] )
$oWorkbook | Objet Workbook qui doit être sauvegardé |
$sFilePath | Chemin et nom du fichier de sauvegarde |
$iFormat | [optionnel] Type de fichier Excel a écriture. Toutes les valeurs de l'énumération XlFileFormat sont possibles. |
$bOverWrite | [optionnel] True écrase un fichier existant (par défaut = False) |
$sPassword | [optionnel] La chaîne mot de passe avec lequel protéger la feuille . Si la valeur est définie avec le mot-clé Default, aucun mot de passe ne sera utilisé (par défaut = mot-clé Default) |
$sWritePassword | [optionnel] La chaîne mot de passe d'accès en écriture avec lequel protéger la feuille. Si la valeur est le mot-clé Default, aucun mot de passe ne sera utilisé (par défaut = mot-clé Default) |
$bReadOnlyRecommended | [optionnel] True affiche un message lorsque le fichier s'ouvre, invitant à ce que le fichier soit ouvert en lecture seule (par défaut = False) |
Succès: | Retourne 1. |
Échec: | Retourne 0 et définit @error <> 0. |
@error: | 1 - $oWorkbook n'est pas un objet 2 - $iFormat n'est pas un nombre 3 - Le fichier existe, le flag d'écrasement n'est pas défini 4 - Le fichier existe mais ne peut pas être supprimé 5 - Une erreur s'est produite lors de l'enregistrement du classeur. @extended contient le code d'erreur COM retourné par la méthode SaveAs. |
A partir de Excel 2007, vous devez fournir à la fois le paramètre $iFormat et l'extension correcte du fichier dans $sFilePath.
Par exemple $iFormat = $xlExcel8 et extension ="xlsx" renverra une erreur.
Voir l'énumération XlFileFormat dans ExcelConstants.au3 pour les valeurs possibles.
#include <Excel.au3> #include <MsgBoxConstants.au3> ; Crée un objet Excel et ouvre un classeur exemple Local $oExcel = _Excel_Open() If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_BookSaveAs-Exemple", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended) Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls") If @error Then MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_BookSaveAs-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; ***************************************************************************** ; Enregistre le classeur (xls) dans un autre format (html) dans un autre répertoire et ; remplace une version existante ; ***************************************************************************** Local $sWorkbook = @TempDir & "\_Excel1.html" _Excel_BookSaveAs($oWorkbook, $sWorkbook, $xlHtml, True) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_BookSaveAs-Exemple 1", "Erreur lors de la sauvegarde du classeur '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_BookSaveAs-Exemple 1", "Workbook successfully saved as '" & $sWorkbook & "'.") ShellExecute($sWorkbook)