HotXLS-dokumentation

EncryptionPassword egenskap

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);