warzet
Messages postés44Date d'inscriptionlundi 27 août 2007StatutMembreDernière intervention 1 novembre 2016
-
Modifié par Whismeril le 8/05/2014 à 09:23
warzet
Messages postés44Date d'inscriptionlundi 27 août 2007StatutMembreDernière intervention 1 novembre 2016
-
10 mai 2014 à 08:47
Bonjour,
Voilà j'ai un problème pour protéger une feuille excel. En effet pour ouvrir ma base de données Access, je fais ceci:
public frmFiche_Trimestrielle_PP()
{
InitializeComponent();
// Initialise la chaine de connexion sur la base dans le meme repertoire de l'executable
this.strConex = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + @"\GestionEcoleSecondaire.mdb;Jet OLEDB:Database Password=guehi_1964";
}
Mais pour ce qui concerne la feuille Excel je fais ceic
//Start Excel and get Application object.
oXL = new Microsoft.Office.Interop.Excel.Application();
oXL.Visible = false;
//Get a new workbook.
//oWB = (Microsoft.Office.Interop.Excel._Workbook)(oXL.Workbooks.Add(System.Reflection.Missing.Value));
oWB = oXL.Workbooks.Open(Application.StartupPath + @"/Impressions/Fiche_Trimestrielle_PP.xls", M, M, M, M, M, M, M, M, M, M, M, M, M, M);
oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;
oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.Sheets[1];
oSheet.Name = "Feuil1";
oSheet.Activate();
Mais de cette façon, un message d'erreur s'affiche lorsque j'ajoute le mot de passe à ma feuille EXCEL, comment devrais-je faire alors. Merci
Whismeril
Messages postés18988Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention23 mars 2024654 9 mai 2014 à 09:44
Bonjour, quand tu as posté ton code tu t'es servi de la balise de code par défaut, ce qui a pour effet de laisser le site choisir la coloration.
Ton code n'a pas été interprété comme du C#, et par exemple les commentaires ne ressortaient pas comme tel.
J'ai juste "forcé" la coloration en C#, en cliquant là:
Whismeril
Messages postés18988Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention23 mars 2024654 9 mai 2014 à 11:52
J'ai testé ton code.
Dans le chemin de ton fichier tu as mis des / au lieu de \.
J'ai mis, l'application visible pour voir ce qui se passe, je n'ai pas de message d'erreur, et Excel me demande le mot de passe.
Maintenant, en regardant à quoi correspondent tous les M, il y en a un qui s'appelle Password et un autre qui s'appelle WriteResPassword? alors j'ai essayé ça:
Microsoft.Office.Interop.Excel.Workbook oWB = oXL.Workbooks.Open(@"G:\test Pasword.xlsx", M, M, M, "mot2passe",true, M, M, M, M, M, M, M, M, M);
La feuille s'ouvre, Excel ne me demande pas le mot de passe et le nom de la feuille est changé.