en utilisant vsto, C# fx 3.5, Comment vérifier Excel Classeur ou feuille est protégé par mot de passe ou non?Comment vérifier Excel Classeur ou feuille est protégé par mot de passe ou non?
Répondre
Vérifiez la propriété HasPassword.
Vous pouvez vérifier si un classeur est protégé par mot de passe via la propriété Workbook.HasPassword. Vous pouvez définir le mot de passe de classeur via la méthode Workbook.SaveAs:
Excel.Workbook myWorkbook = ...;
if (!myWorkbook.HasPassword)
{
excelWorkbook.Application.DisplayAlerts = false;
excelWorkbook.SaveAs(
excelWorkbook.Name,
Type.Missing,
"My Password",
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing);
}
Une feuille de calcul peut avoir son contenu des cellules protégées, les objets de dessin protégés, et/ou les scénarios protégés. Ils peuvent être vérifiés via les propriétés Worksheet.ProtectContents, Worksheet.ProtectDrawingObjects et Worsksheet.ProtectScenarios, respectivement. Je ne connais aucun moyen de tester si la feuille de calcul est protégée avec un mot de passe, sinon d'essayer d'appeler Worksheet.Unprotect, en passant une chaîne vide pour le mot de passe, puis de voir si la feuille de calcul a été correctement protégée:
bool wasPasswordProtected;
try
{
myWorksheet.Unprotect(string.Empty);
// Unprotect suceeded:
wasPasswordProtected = false;
}
catch
{
// Unprotect failed:
wasPasswordProtected = true;
}
Vous pouvez définir le paramètre de protection pour la feuille de calcul via la méthode Worksheet.Protect. L'exemple suivant protégera la feuille de calcul si l'un des trois éléments de protection n'est pas défini. Il définit également un mot de passe et transmet l'argument 'UserInterfaceOnly' à 'true', ce qui signifie que seul l'utilisateur est empêché de modifier la feuille de calcul, alors que les codes tels que VBA, VB.NET ou C# feuille de travail. Définir 'UserInterfaceOnly' sur 'false' verrouillerait toutes les modifications, qu'elles soient faites par l'utilisateur ou via le code.
if(!myWorksheet.ProtectContents ||
!myWorksheet.ProtectDrawinngObjects ||
!myWorsksheet.ProtectScenarios)
{
string myPassword = "...";
bool protectContents = true;
bool protectDrawingObjects = true;
bool protectScenarios = true;
bool userInterfaceOnly = true;
myWorksheet.Protect(
myPassword,
protectDrawingObjects,
protectContents,
protectScenarios,
userInterfaceOnly,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing);
Notez que « UserInterfaceOnly » ne persiste pas lorsque le classeur est enregistré et revient à « faux » automatiquement lorsque le classeur est fermé. Si vous souhaitez également qu'il soit "true" dans toutes les sessions futures, le paramètre "UserInterfaceOnly" doit être réappliqué en appelant la méthode "Worksheet.Protect" chaque fois que le classeur est ouvert. Cela peut être fait en vous abonnant à l'événement Workbook.Open.
Vous pouvez également lire les fichiers d'aide concernant la méthode Worksheet.Protect afin de pouvoir comprendre les paramètres facultatifs, en accordant une attention particulière au paramètre 'UserInterfaceOnly'.
Mike, avez-vous des idées sur le traitement d'une feuille protégée par un mot de passe vide? –
- 1. Comment vérifier MS Access DB est protégé par mot de passe ou pas avant l'ouverture
- 2. Comment savoir si un classeur Excel est protégé
- 3. protégé par mot de passe dans ASP.net?
- 4. détecter si l'iPhone/iPad est protégé par mot de passe
- 5. lire le mot de passe protégé excel en python
- 6. Comment créer un fichier pdf protégé par mot de passe
- 7. Vérifier si un fichier PDF est protégé par mot de passe
- 8. peut WTForms vérifier deux mot de passe est ou non même quand quelqu'un registre
- 9. PDF protégé par mot de passe en utilisant C#
- 10. Ouverture d'un document PDF protégé par mot de passe
- 11. Comment valider qu'un fichier est un fichier ZIP protégé par mot de passe, en utilisant C#
- 12. Vérifiez si un fichier zip est protégé par mot de passe dans Objective-C/iPhone?
- 13. Lire le fichier excel protégé par mot de passe en utilisant OLEDB en C#
- 14. Excel VBA ou Fonction pour extraire le nom du classeur et les données du classeur
- 15. ASP.NET manuplating feuille Excel
- 16. quel est le moyen de vérifier si la cellule Excel est verrouillé ou non?
- 17. Enregistrer le mot de passe crypté et le mot de passe ou simplement stocker le mot de passe crypté?
- 18. Comment puis-je ouvrir un fichier PPT & PDF protégé par mot de passe?
- 19. Vérifiez si le fichier NSF est protégé par mot de passe ou si vous n'utilisez pas C#. Demandez une DLL pour accéder au fichier NSF sans serveur Domino.
- 20. Détermination avec C# Si un fichier de sauvegarde SQL est protégé par mot de passe
- 21. Propriété ou champ protégé par C#
- 22. Comment accéder par programmation à un site Web protégé par mot de passe?
- 23. Excel feuille de calcul
- 24. android - Comment vérifier que le processus est vivant ou non?
- 25. Comment vérifier une chaîne si elle est ASCII ou non?
- 26. Comment vérifier l'état du navigateur s'il est occupé ou non?
- 27. Comment interroger des données à partir d'un site Web https protégé par mot de passe
- 28. iPhone: Est-il possible d'ouvrir un fichier protégé par mot de passe en utilisant openURL?
- 29. Grails + Acegi: Comment gérer le renouvellement du mot de passe? Utilisateur connecté ou non connecté
- 30. Vérification de l'ouverture d'un classeur Excel
Je vois que vous avez maintenant marqué ceci comme votre réponse, shahjapan, mais sachez que cela vérifie uniquement la protection du classeur, pas la protection de la feuille de calcul. Voir ma réponse ci-dessous pour plus de détails. –