OfficeVba/xlsx/Workbook.tsf

438 lines
17 KiB
Plaintext

Type Workbook = class
public
Function Create(object, name, fullname);
Function Init(object);
private
xlsx_;
file_name_;
full_name_;
collection_;
public
Function AcceptAllChanges();
Function Activate();
Function AddToFavorite();
Function ApplyTheme();
Function BreakLink(Name, Type);
Function CanCheckIn();
Function ChangeFileAccess(Mode, WritePassword, Notify);
Function ChangeLink(Name, NewName, Type);
Function CheckIn(SaveChanges, Comments, MakePublic);
Function CheckInWithVersion(SaveChanges, Comments, MakePublic, VersionType);
Function Close(SaveChanges, FileName, RouteWorkbook); // Completed
Function ConvertComments();
Function CreateForecastSheet(Timeline, Values_, ForecastStart, ForecasetEnd, ConfInt, Seasonality, DataCompletion, Aggregation, ChartType, ShowStatsTable);
Function DeleteNumberFormat(NumberFormat);
Function EnableConnections();
Function EndReview();
Function ExclusiveAccess();
Function ExportAsFixedFormat (Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From_, To_, OpenAfterPublish, FixedFormatExtClassPtr);
Function FollowHyperlink (Address, SubAddress, NewWindow, AddHistory, ExtraInfo, Method, HeaderInfo);
Function ForwardMailer();
Function GetWorkflowTasks();
Function GetWorkflowTemplates();
Function HighlightChangesOptions(When, Who, Where_);
Function LinkInfo (Name, LinkInfo, Type, EditionRef);
Function LinkSources (Type);
Function LockServerFile();
Function MergeWorkbook (FileName);
Function NewWindow();
Function OpenLinks(Name, ReadOnly, Type);
Function PivotCaches();
Function Post();
Function PrintOut(From_, To_, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, IgnorePrintAreas);
Function PrintPreview(EnableChanges);
Function Protect(Password, Structure, Windows);
Function ProtectSharing(FileName, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, SharingPassword, FileFormat);
Function PublishToDocs();
Function PurgeChangeHistoryNow(Days, SharingPassword);
Function RefreshAll();
Function RejectAllChanges(When, Who, Where_);
Function ReloadAs(Encoding);
Function RemoveDocumentInformation(RemoveDocInfoType);
Function RemoveUser(Index);
Function Reply();
Function ReplyAll();
Function ReplyWithChanges(ShowMessage);
Function ResetColors();
Function RunAutoMacros(Which);
Function Save(); // Completed
Function SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode,
ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local); // Completed
Function SaveAsXMLData(FileName, Map);
Function SaveCopyAs(FileName); // Completed
Function SendFaxOverInternet(Recipients, Subject, ShowMessage);
Function SendForReview(Recipients, Subject, ShowMessage, IncludeAttachment);
Function SendMail(Recipients, Subject, ReturnReceipt);
Function SendMailer(FileFormat, Priority);
Function SetLinkOnData(Name, Procedure_);
Function SetPasswordEncryptionOptions(PasswordEncryptionProvider, PasswordEncryptionAlgorithm, PasswordEncryptionKeyLength, PasswordEncryptionFileProperties);
Function ToggleFormsDesign();
Function Unprotect(Password);
Function UnprotectSharing(SharingPassword);
Function UpdateFromFile();
Function UpdateLink(Name, Type);
Function WebPagePreview();
Function XmlImport(Url, ImportMap, Overwrite, Destination);
Function XmlImportXml(Data, ImportMap, Overwrite, Destination);
property AccuracyVersion read ReadAccuracyVersion write WriteAccuracyVersion;
property ActiveChart read ReadActiveChart;
property ActiveSheet read ReadActiveSheet; // Completed
property ActiveSlicer read ReadActiveSlicer;
property Application read ReadApplication;
property AutoSaveOn read ReadAutoSaveOn write WriteAutoSaveOn;
property AutoUpdateFrequency read ReadAutoUpdateSaveChanges write WriteAutoUpdateSaveChanges;
property AutoUpdateSaveChanges read ReadAutoUpdateSaveChanges write WriteAutoUpdateSaveChanges;
property BuiltinDocumentProperties read ReadBuiltinDocumentProperties; // TODO
property CalculationVersion read ReadCalculationVersion; // TODO
property CaseSensitive read ReadCaseSensitive; // TODO
property ChangeHistoryDuration read ReadChangeHistoryDuration write WirteChangeHistoryDuration;
property ChartDataPointTrack read ReadChartDataPointTrack write WriteChartDataPointTrack;
property Charts read ReadCharts; // TODO
property CheckCompatibility read ReadCheckCompatibility write WriteCheckCompatibility;
property CodeName read ReadCodeName;
property Colors read ReadColors write WriteColors;
property CommandBars read ReadCommandBars;
property ConflictResolution read ReadConflictResolution write WriteConflictResolution;
property Connections read ReadConnections;
property ConnectionsDisabled read ReadConnectionsDisabled;
property Container read ReadContainer;
property ContentTypeProperties read ReadContentTypeProperties;
property CreateBackup read ReadCreateBackup;
property Creator read ReadCreator;
property CustomDocumentProperties read ReadCustomDocumentProperties write WriteCustomDocumentProperties; // TODO
property CustomViews read ReadCustomViews;
property CustomXMLParts read ReadCustomXMLParts;
property Date1904 read ReadDate1904 write WriteDate1904;
property DefaultPivotTableStyle read ReadDefaultPivotTableStyle write WriteDefaultPivotTableStyle;
property DefaultSlicerStyle read ReadDefaultSlicerStyle write WriteDefaultSlicerStyle;
property DefaultTableStyle read ReadDefaultTableStyle write WriteDefaultTableStyle; // TODO
property DefaultTimelineStyle read ReadDefaultTimelineStyle write WriteDefaultTimelineStyle;
property DisplayDrawingObjects read ReadDisplayDrawingObjects write WriteDisplayDrawingObjects;
property DisplayInkComments read ReadDisplayInkComments write WriteDisplayInkComments;
property DocumentInspectors read ReadDocumentInspectors;
property DocumentLibraryVersions read ReadDocumentLibraryVersions;
property DoNotPromptForConvert read ReadDoNotPromptForConvert write WriteDoNotPromptForConvert;
property EnableAutoRecover read ReadEnableAutoRecover write WriteEnableAutoRecover;
property EncryptionProvider read ReadEncryptionProvider write WriteEncryptionProvider;
property EnvelopeVisible read ReadEnvelopeVisible write WriteEnvelopeVisible;
property Excel4IntlMacroSheets read ReadExcel4IntlMacroSheets;
property Excel4MacroSheets read ReadExcel4MacroSheets;
property Excel8CompatibilityMode read ReadExcel8CompatibilityMode;
property FileFormat read ReadFileFormat;
property Final read ReadFinal write WriteFinal;
property ForceFullCalculation read ReadForceFullCalculation write WriteForceFullCalculation;
property FullName read ReadFullName; // Completed
property FullNameURLEncoded read ReadFullNameURLEncoded;
property HasPassword read ReadHasPassword;
property HasVBProject read ReadHasVBProject;
property HighlightChangesOnScreen read ReadHighlightChangesOnScreen write WriteHighlightChangesOnScreen;
property IconSets read ReadIconSets;
property InactiveListBorderVisible read ReadInactiveListBorderVisible write WriteInactiveListBorderVisible;
property IsAddin read ReadIsAddin write WriteIsAddin;
property IsInplace read ReadIsInplace;
property KeepChangeHistory read ReadKeepChangeHistory write WriteKeepChangeHistory;
property ListChangesOnNewSheet read ReadListChangesOnNewSheet write WriteListChangesOnNewSheet;
property Mailer read ReadMailer write WriteMailer;
property Model read ReadModel;
property MultiUserEditing read ReadMultiUserEditing;
property Name read ReadName;
property Names read ReadNames;
property Parent read ReadParent;
property Password read ReadPassword write WritePassword; // Completed
property PasswordEncryptionAlgorithm read ReadPasswordEncryptionAlgorithm;
property PasswordEncryptionFileProperties read ReadPasswordEncryptionFileProperties;
property PasswordEncryptionKeyLength read ReadPasswordEncryptionKeyLength;
property PasswordEncryptionProvider read ReadPasswordEncryptionProvider;
property Path read ReadPath;
property Permission read ReadPermission;
property PersonalViewListSettings read ReadPersonalViewListSettings write WritePersonalViewListSettings;
property PersonalViewPrintSettings read ReadPersonalViewPrintSettings write WritePersonalViewPrintSettings;
property PivotTables read ReadPivotTables;
property PrecisionAsDisplayed read ReadPrecisionAsDisplayed write WritePrecisionAsDisplayed;
property ProtectStructure read ReadProtectStructure;
property ProtectWindows read ReadProtectWindows;
property PublishObjects read ReadPublishObjects;
property Queries read ReadQueries;
property ReadOnly read ReadReadOnly;
property ReadOnlyRecommended read ReadReadOnlyRecommended;
property RemovePersonalInformation read ReadRemovePersonalInformation write WriteRemovePersonalInformation;
property Research read ReadResearch;
property RevisionNumber read ReadRevisionNumber;
property Saved read ReadSaved write WriteSaved;
property SaveLinkValues read ReadSaveLinkValues write WriteSaveLinkValues;
property SensitivityLabel read ReadSensitivityLabel;
property ServerPolicy read ReadServerPolicy;
property ServerViewableItems read ReadServerViewableItems;
property Sheets read ReadSheets; // TODO - 差chartsheet
property ShowConflictHistory read ReadShowConflictHistory write WriteShowConflictHistory;
property ShowPivotChartActiveFields read ReadShowPivotChartActiveFields write WriteShowPivotChartActiveFields;
property ShowPivotTableFieldList read ReadShowPivotTableFieldList write WriteShowPivotTableFieldList;
property Signatures read ReadSignatures;
property SlicerCaches read ReadSlicerCaches;
property SmartDocument read ReadSmartDocument;
property Styles read ReadStyles; // TODO
property TableStyles read ReadTableStyles;
property TemplateRemoveExtData read ReadTemplateRemoveExtData write WriteTemplateRemoveExtData;
property Theme read ReadTheme;
property UpdateLinks read ReadUpdateLinks write WriteUpdateLinks;
property UpdateRemoteReferences read ReadUpdateRemoteReferences write WriteUpdateRemoteReferences;
property UserStatus read ReadUserStatus;
property UseWildcardsoperty read ReadUseWildcardsoperty;
property VBASigned read ReadVBASigned;
property VBProject read ReadVBProject;
property WebOptions read ReadWebOptions;
property Windows read ReadWindows;
property Worksheets read ReadWorkSheets; // Completed
property WritePassword read ReadWritePassword write WriteWritePassword;
property WriteReserved read ReadWriteReserved;
property WriteReservedBy read ReadWriteReservedBy;
property XmlMaps read ReadXmlMaps;
property XmlNamespaces read ReadXmlNamespaces;
Function ReadXmlNamespaces();
Function ReadXmlMaps();
Function ReadWriteReservedBy();
Function ReadWriteReserved();
Function WriteWritePassword();
Function ReadWritePassword();
Function ReadWorkSheets(index);
Function ReadWindows();
Function ReadWebOptions();
Function ReadVBProject();
Function ReadVBASigned();
Function ReadUseWildcardsoperty();
Function ReadUseWholeCellCriteria();
Function ReadUserStatus();
Function WriteUpdateRemoteReferences();
Function ReadUpdateRemoteReferences();
Function WriteUpdateLinks();
Function ReadUpdateLinks();
Function ReadTheme();
Function WriteTemplateRemoveExtData();
Function ReadTemplateRemoveExtData();
Function ReadTableStyles();
Function ReadStyles();
Function ReadSmartDocument();
Function ReadSlicerCaches();
Function ReadSignatures();
Function WriteShowPivotTableFieldList();
Function ReadShowPivotTableFieldList();
Function WriteShowPivotChartActiveFields();
Function ReadShowPivotChartActiveFields();
Function WriteShowConflictHistory();
Function ReadShowConflictHistory();
Function ReadSheets();
Function ReadServerViewableItems();
Function ReadServerPolicy();
Function ReadSensitivityLabel();
Function WriteSaveLinkValues();
Function ReadSaveLinkValues();
Function WriteSaved();
Function ReadSaved();
Function ReadRevisionNumber();
Function ReadResearch();
Function WriteRemovePersonalInformation();
Function ReadRemovePersonalInformation();
Function ReadReadOnlyRecommended();
Function ReadReadOnly();
Function ReadQueries();
Function ReadPublishObjects();
Function ReadProtectWindows();
Function ReadProtectStructure();
Function WritePrecisionAsDisplayed();
Function ReadPrecisionAsDisplayed();
Function ReadPivotTables();
Function WritePersonalViewPrintSettings();
Function ReadPersonalViewPrintSettings();
Function WritePersonalViewListSettings();
Function ReadPersonalViewListSettings();
Function ReadPermission();
Function ReadPath();
Function ReadPasswordEncryptionProvider();
Function ReadPasswordEncryptionKeyLength();
Function ReadPasswordEncryptionFileProperties();
Function ReadPasswordEncryptionAlgorithm();
Function WritePassword(passwd);
Function ReadPassword();
Function ReadParent();
Function ReadNames();
Function ReadName();
Function ReadMultiUserEditing();
Function ReadModel();
Function WriteMailer();
Function ReadMailer();
Function WriteListChangesOnNewSheet();
Function ReadListChangesOnNewSheet();
Function WriteKeepChangeHistory();
Function ReadKeepChangeHistory();
Function ReadIsInplace();
Function WriteIsAddin();
Function ReadIsAddin();
Function WriteInactiveListBorderVisible();
Function ReadInactiveListBorderVisible();
Function ReadIconSets();
Function WriteHighlightChangesOnScreen();
Function ReadHighlightChangesOnScreen();
Function ReadHasVBProject();
Function ReadHasPassword();
Function ReadFullNameURLEncoded();
Function ReadFullName();
Function WriteForceFullCalculation();
Function ReadForceFullCalculation();
Function WriteFinal();
Function ReadFinal();
Function ReadFileFormat();
Function ReadExcel8CompatibilityMode();
Function ReadExcel4MacroSheets();
Function ReadExcel4IntlMacroSheets();
Function WriteEnvelopeVisible();
Function ReadEnvelopeVisible();
Function WriteEncryptionProvider();
Function ReadEncryptionProvider();
Function WriteEnableAutoRecover();
Function ReadEnableAutoRecover();
Function WriteDoNotPromptForConvert();
Function ReadDoNotPromptForConvert();
Function ReadDocumentLibraryVersions();
Function ReadDocumentInspectors();
Function WriteDisplayInkComments();
Function ReadDisplayInkComments();
Function WriteDisplayDrawingObjects();
Function ReadDisplayDrawingObjects();
Function WriteDefaultTimelineStyle();
Function ReadDefaultTimelineStyle();
Function WriteDefaultTableStyle();
Function ReadDefaultTableStyle();
Function WriteDefaultSlicerStyle();
Function ReadDefaultSlicerStyle();
Function WriteDefaultPivotTableStyle();
Function ReadDefaultPivotTableStyle();
Function WriteDate1904();
Function ReadDate1904();
Function ReadCustomXMLParts();
Function ReadCustomViews();
Function WriteCustomDocumentProperties(value);
Function ReadCustomDocumentProperties(item);
Function ReadCreator();
Function ReadCreateBackup();
Function ReadContentTypeProperties();
Function ReadContainer;
Function ReadConnectionsDisabled();
Function ReadConnections();
Function WriteConflictResolution();
Function ReadConflictResolution();
Function ReadCommandBars();
Function WriteColors(index, value);
Function ReadColors(index);
Function ReadCodeName();
Function ReadCheckCompatibility();
Function WriteCheckCompatibility();
Function ReadCharts();
Function ReadChartDataPointTrack();
Function WriteChartDataPointTrack();
Function WirteChangeHistoryDuration();
Function ReadChangeHistoryDuration();
Function ReadCaseSensitive();
Function ReadCalculationVersion();
Function ReadBuiltinDocumentProperties();
Function ReadAutoUpdateSaveChanges();
Function WriteAutoUpdateSaveChanges();
Function ReadAutoSaveOn();
Function WriteAutoSaveOn();
Function ReadApplication();
Function ReadActiveSlicer();
Function ReadActiveSheet();
Function ReadActiveChart();
Function ReadAccuracyVersion();
Function WriteAccuracyVersion(value);
private
worksheets_;
End;
// ============== 实现 ================= //
Function Workbook.Create(object, name, fullname);
Begin
xlsx_ := object;
file_name_ := name;
full_name_ := fullname;
collection_ := class(Collection).GetInstance('workbook');
Init(object);
End;
Function Workbook.Init(object);
Begin
worksheets_ := new Worksheets(object, file_name_);
End;
// function
Function Workbook.Close(SaveChanges, FileName, RouteWorkbook);
Begin
if SaveChanges then xlsx_.Save();
if FileName then xlsx_.SaveAs("", FileName);
collection_.RemoveCollection(file_name_);
End;
Function Workbook.Save();
Begin
xlsx_.Save();
End;
Function Workbook.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended,
CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local);
Begin
xlsx_.SetPassword(Password);
xlsx_.SaveAs("", FileName);
End;
Function Workbook.SaveCopyAs(FileName);
Begin
xlsx_.SaveAs("", FileName);
End;
// property
Function Workbook.ReadWorkSheets(index);
Begin
if ifnil(index) then return worksheets_;
return worksheets_[index];
End;
Function Workbook.ReadActiveSheet();
Begin
return worksheets_.GetCollection().GetActivation();
End;
Function Workbook.ReadFullName();
Begin
return full_name_;
End;
Function Workbook.ReadFullNameURLEncoded();
Begin
return full_name_;
End;
Function Workbook.ReadName();
Begin
return file_name_;
End;
Function Workbook.WritePassword(passwd);
Begin
xlsx_.SetPassword(passwd);
End;
Function Workbook.ReadPassword();
Begin
return "******";
End;
Function Workbook.ReadPath();
Begin
return ExtractFileDir(full_name_);
End;