الحفاظ على بيانات تعريف مصنف XLS الكلاسيكية
يحافظ HotXLS على سجلات بيانات تعريف BIFF8 على مستوى المصنف والتي يمكن لـ Excel وضعها في ملفات .xls الكلاسيكية. يتضمن ذلك بيانات تعريف المحفوظة بواسطة، وبيانات تعريف مشاركة المصنف، وسجلات حماية المراجعة التي لا يتم عرضها ككائنات واجهة برمجة تطبيقات عالية المستوى قابلة للتحرير
السجلات المحفوظة
WRITEACCESS($005C) اسم مستخدم Excel الذي قام بحفظ المصنف آخر مرة. يعرض HotXLS هذا من خلالIXLSWorkbook.LastSavedBy/TXLSWorkbook.LastSavedByFILESHARING($005B) وFILESHARING2($01A5) عند فتح مصنف تم تأليفه في Excel وحفظه مرة أخرىPROT4REV($01AF) وPROT4REVPASS($01BC) على بيانات تعريف حماية مراجعة المصنف أثناء دورات الفتح والحفظHIDEOBJ($008D) وTEMPLATE($0060) ذات الطول الصفري على سياسة عرض المصنف وعلامات القالبTABID($013D) وBOOKEXT($0863) على معرفات علامات تبويب الورقة وبيانات تعريف امتداد المصنفUSERSVIEWBEGIN($01AA) حتىUSERSVIEWEND($01AB) على طرق العرض المخصصة لـ Excel في العوامل العامة للمصنف والتدفقات الفرعية لورقة العمل، بما في ذلك السجلات غير المضمنة في الكتلةOBPROJوUSES-ELFSوBOOKBOOLوBACKUPوFNGROUPCOUNTوCOUNTRYوRECALCIDفي الذهاب والإياب من خلال مسار حفظ السجل الخام الحالي
واجهة برمجة التطبيقات
type
IXLSWorkbook = class
property LastSavedBy: WideString;
property EncryptionPassword: WideString;
end;
TXLSWorkbook = class
property LastSavedBy: WideString;
property EncryptionPassword: WideString;
property CreatedDate: TDateTime;
property LastSavedDate: TDateTime;
property RevisionNumber: Integer;
property EditTimeMinutes: Double;
property SharedRevisionProtected: Boolean;
property SharedRevisionPasswordHash: Word;
property WindowProtected: Boolean;
end;
خصائص التاريخ والأرقام الأربعة في SummaryInformation (CreatedDate, LastSavedDate, RevisionNumber, EditTimeMinutes) تمر بجولة حفظ واستعادة عبر دفق خصائص المستند OLE، فيبقي المصنف بعد تحميله وحفظه طوابقه الأصلية ما لم يغيّرها التطبيق
علامات الحماية الثلاث تعرض السجلات الخام المحفوظة كقيم مكتوبة: SharedRevisionProtected mirrors the PROT4REV shared-workbook revision-tracking flag, SharedRevisionPasswordHash the legacy 16-bit PROT4REVPASSWORD hash, and WindowProtected the WINDOWPROTECT التي تقفل إعدادات نافذة المصنف. وهي للقراءة والكتابة على الفئة، بحيث يمكن للتطبيقات إنشاء الحالات نفسها التي ينشئها Excel
يتم حفظ سجلات مشاركة الملفات وحماية المراجعة عن قصد كحمولات سجل BIFF خام. لا يعيد HotXLS تفسير أو إعادة كتابة علاماتها الداخلية وتجزئات كلمات المرور، لذلك يمكن لمصنف تم تأليفه في Excel المرور عبر HotXLS دون فقد بيانات التعريف هذه
تحديث اسم المستخدم الذي قام بالحفظ
uses lxHandle;
var
Workbook: TXLSWorkbook;
begin
Workbook := TXLSWorkbook.Create;
try
Workbook.Open('shared-template.xls');
Workbook.LastSavedBy := 'Build Server';
Workbook.SaveAs('shared-template-updated.xls');
finally
Workbook.Free;
end;
end;
استخدام التشفير بشكل منفصل
تعد بيانات تعريف مشاركة المصنف منفصلة عن تشفير ملف HotXLS. لكتابة ملف XLS كلاسيكي مشفر، قم بتعيين EncryptionPassword قبل الحفظ:
Workbook.EncryptionPassword := 'secret';
Workbook.SaveAs('encrypted.xls');