Enregistrer le file Excel protégé par mot de passe en XML dans C # (je connais le mot de passe)

J'ai un XLS protégé par mot de passe (datatables ne sont pas protégées, l'ajout de colonnes est désactivé). C'est le code:

_excelApp.DisplayAlerts = false; _excelApp.Visible = false; //opens workBook = _excelApp.Workbooks.Open(InputDirectory + CharacterFileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); workBook.Password = "0000"; //save workBook.SaveAs(OutputDirectoryFileName, XlFileFormat.xlXMLSpreadsheet, "0000", Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

Le mot de passe est "0000". Comment puis-je utiliser ce code? J'ai essayé de définir le mot de passe, mais il refuse d'save en tant que XML (ERREUR)

L'erreur est en français puisque je suis en français. "Le classur que vous essayez d'save est protégé par mot de passe. Les classs protégés par mot de passe ne peuvent être enregistrés dans une feuille de calcul XML. Pour save Ce file sous forme de feuille de calcul XML, vous devez d'abord supprimer le mot de passe. "

De l'aide? Merci

L'erreur traduite est:

"Le classur que vous essayez d'save est protégé par un mot de passe. Les dossiers protégés par un mot de passe ne peuvent pas être stockés dans une feuille de calcul XML. Pour save ce file en tant que feuille de calcul XML, vous devez d'abord supprimer le mot de passe". (Google translate!)

Donc, c'est par design, donc la seule voie à suivre consiste à supprimer le mot de passe, puis à le sauvegarder.

D'accord, alors, ce que j'ai dû faire, c'est ceci:

 //unprotect the workbook ExcelHelperWorkbook.Unprotect(password); //unprotect the first worksheet ((Worksheet)ExcelHelperWorkbook.Worksheets.get_Item(1)).Unprotect(password); 

Ensuite, je peux exécuter SaveAs 🙂