Returnerar or sets the password used to encrypt a BIFF8 (.xls) workbook on SaveAs. Om ett värde som inte är tomt sätts blir filen lösenordsskyddad och Excel-kompatibel: Microsoft Excel, LibreOffice Calc och andra BIFF8-läsare frågar efter lösenordet vid öppning och nekar åtkomst när det är fel. Läs/skriv WideString. (Standardvärdet är tom sträng, tillgängligt sedan v2.32.0)
Syntax
property EncryptionPassword: WideString;
Anmärkningar
Skrivvägen genererar en BIFF8 FILEPASS-post ($002F) omedelbart efter arbetsbokens BOF och RC4-krypterar varje efterföljande postkropp. Trådformatet är vMajor=1, vMinor=1 (kryptering "Office 97/2000 Compatible"). Salt och Verifier på 16 byte genereras via Windows CryptGenRandom rather than Pascal Random. Omledning av blocknyckeln vid varje 1024-byte-gräns bevaras så att stora arbetsböcker, SST CONTINUE-kedjor och strömmar med flera blad krypteras korrekt
Encryption applies to BIFF8 (xlExcel97) only — the BIFF5 save path remains plaintext. An empty EncryptionPassword behåller den äldre klartextutmatningen och är standard, så befintliga applikationer som aldrig anropar settern påverkas inte
Security note: BIFF8 RC4 med vMajor=1/vMinor=1 använder en 40-bitars nyckel, som anses bruten enligt 2025 års standard. Använd den här funktionen för kompatibilitet med Excels klassiska lösenordsskyddsgränssnitt, inte för konfidentialitet hos känsliga data. För verklig säkerhet, välj XLSX-utdata med AES
Exempel
This example saves a password-protected .xls file
Workbook.EncryptionPassword := 'secret';
Workbook.SaveAs('Confidential.xls', xlExcel97);