[VB.NET] Fichier Excel vérouillé avec mot de passe
	
	
		Bonjour,
J'utilise une connexion OLEDB pour ouvrir un fichier Excel, genre : "provider=Microsoft.Jet.OLEDB.4.0; data source=monfichier.xls; Extended Properties=Excel 8.0;".
Le problème se pose quand dans le fichier le classeur et les feuilles sont vérrouillés par un mot de passe. Je n'arrive plus à y accéder même avec le mot de passe. On y ajoutant l'utilisateur et mot de passe dans la connexion, ça ne marche pas.
A part dévérrouillé manuellement le fichier, comment dévérouiller le classeur et chaque feuille par code ?
Quelqu'un a-t-il déjà rencontrer le problème ? si vous avez une solution à me proposer, merci d'avance.
	 
	
	
	
		[ASPX][VB.NET] Fichier Excel vérouillé avec mot de passe
	
	
		Merci à Piotrek, car il m'a donnée une idée. En programmation, tout est possible.
Il y a 2 étapes à faire :
- dévérrouiller le classeur et la(les) feuille(s) via COM
- lire les données via OLEDB
Pour le dévérrouillage, voici la fonction :
Il ne faut pas oublier d'ajouter une référence MS Excel au projet
	Code:
	
| 12
 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
 
 | 'Dévérrouillage du classeur et de la 2ème feuille 
 
Private Function UnLockExcelFile()
 
   Dim xlApp As Excel.Application = New Excel.Application
   Dim sPwd As String = "TOTO"
   Try
        xlApp.Workbooks.open("C:\Fichier.xls")
 
        'Vérifie si la feuille est vérrouillée
       If xlApp.Workbooks(1).WorkSheets(2).ProtectContents Then
              xlApp.Workbooks(1).Worksheets(2).Unprotect(sPwd)
        End If
 
        'Vérifie si le classeur est vérrouillé
        If xlApp.Workbooks(1).ProtectStructure Then
              xlApp.Workbooks(1).Unprotect(sPwd)
        End If
 
        xlApp.Workbooks(1).Save()
        xlApp.Workbooks.Close()
        xlApp.Quit()
 
   Catch ex As Exception
        AfficheErreur(ex.Message)
   Finally
   xlApp = Nothing
   End Try
 
End Function |