#pragma once // EXLWorkbook wrapper class #include "office/VariantableDispatch.hpp" namespace MSO::Excel { class EXLWorksheets; #pragma warning( push ) #pragma warning( disable : 26426 ) // allow variant_t initialization static const _variant_t xlWorkbookDefault = 51; static const _variant_t xlSaveAsAccessMode_xlNoChange = 1; static const _variant_t xlLocalSessionChanges = 2; #pragma warning( pop ) class EXLWorkbook : public VariantableDispatch { public: EXLWorkbook() = default; EXLWorkbook(LPDISPATCH pDispatch) : VariantableDispatch(pDispatch) {} EXLWorkbook(const EXLWorkbook& dispatchSrc) : VariantableDispatch(dispatchSrc) {} public: void Close(VARIANT SaveChanges, VARIANT Filename, VARIANT RouteWorkbook); void SaveAs(VARIANT Filename, VARIANT FileFormat, VARIANT Password, VARIANT WriteResPassword, VARIANT ReadOnlyRecommended, VARIANT CreateBackup, long AccessMode, VARIANT ConflictResolution, VARIANT AddToMru, VARIANT TextCodepage, VARIANT TextVisualLayout, VARIANT Local); LPDISPATCH get_Application(); long get_Creator(); LPDISPATCH get_Parent(); BOOL get_AcceptLabelsInFormulas(); void put_AcceptLabelsInFormulas(BOOL newValue); void Activate(); LPDISPATCH get_ActiveChart(); LPDISPATCH get_ActiveSheet(); CString get_Author(); void put_Author(LPCTSTR newValue); long get_AutoUpdateFrequency(); void put_AutoUpdateFrequency(long newValue); BOOL get_AutoUpdateSaveChanges(); void put_AutoUpdateSaveChanges(BOOL newValue); long get_ChangeHistoryDuration(); void put_ChangeHistoryDuration(long newValue); LPDISPATCH get_BuiltinDocumentProperties(); void ChangeFileAccess(long Mode, VARIANT WritePassword, VARIANT Notify); void ChangeLink(LPCTSTR Name, LPCTSTR NewName, long Type); LPDISPATCH get_Charts(); CString get_CodeName(); CString get__CodeName(); void put__CodeName(LPCTSTR newValue); VARIANT get_Colors(VARIANT IndexType); void put_Colors(VARIANT IndexType, VARIANT newValue); LPDISPATCH get_CommandBars(); CString get_Comments(); void put_Comments(LPCTSTR newValue); long get_ConflictResolution(); void put_ConflictResolution(long newValue); LPDISPATCH get_Container(); BOOL get_CreateBackup(); LPDISPATCH get_CustomDocumentProperties(); BOOL get_Date1904(); void put_Date1904(BOOL newValue); void DeleteNumberFormat(LPCTSTR NumberFormat); LPDISPATCH get_DialogSheets(); long get_DisplayDrawingObjects(); void put_DisplayDrawingObjects(long newValue); BOOL ExclusiveAccess(); long get_FileFormat(); void ForwardMailer(); CString get_FullName(); BOOL get_HasMailer(); void put_HasMailer(BOOL newValue); BOOL get_HasPassword(); BOOL get_HasRoutingSlip(); void put_HasRoutingSlip(BOOL newValue); BOOL get_IsAddin(); void put_IsAddin(BOOL newValue); CString get_Keywords(); void put_Keywords(LPCTSTR newValue); VARIANT LinkInfo(LPCTSTR Name, long LinkInfo, VARIANT Type, VARIANT EditionRef); VARIANT LinkSources(VARIANT Type); LPDISPATCH get_Mailer(); void MergeWorkbook(VARIANT Filename); LPDISPATCH get_Modules(); BOOL get_MultiUserEditing(); CString get_Name(); LPDISPATCH get_Names(); LPDISPATCH NewWindow(); CString get_OnSave(); void put_OnSave(LPCTSTR newValue); CString get_OnSheetActivate(); void put_OnSheetActivate(LPCTSTR newValue); CString get_OnSheetDeactivate(); void put_OnSheetDeactivate(LPCTSTR newValue); void OpenLinks(LPCTSTR Name, VARIANT ReadOnly, VARIANT Type); CString get_Path(); BOOL get_PersonalViewListSettings(); void put_PersonalViewListSettings(BOOL newValue); BOOL get_PersonalViewPrintSettings(); void put_PersonalViewPrintSettings(BOOL newValue); LPDISPATCH PivotCaches(); void Post(VARIANT DestName); BOOL get_PrecisionAsDisplayed(); void put_PrecisionAsDisplayed(BOOL newValue); void __PrintOut(VARIANT From, VARIANT To, VARIANT Copies, VARIANT Preview, VARIANT ActivePrinter, VARIANT PrintToFile, VARIANT Collate); void PrintPreview(VARIANT EnableChanges); void _Protect(VARIANT Password, VARIANT Structure, VARIANT Windows); void _ProtectSharing(VARIANT Filename, VARIANT Password, VARIANT WriteResPassword, VARIANT ReadOnlyRecommended, VARIANT CreateBackup, VARIANT SharingPassword); BOOL get_ProtectStructure(); BOOL get_ProtectWindows(); BOOL get_ReadOnly(); BOOL get__ReadOnlyRecommended(); void RefreshAll(); void Reply(); void ReplyAll(); void RemoveUser(long IndexType); long get_RevisionNumber(); void Route(); BOOL get_Routed(); LPDISPATCH get_RoutingSlip(); void RunAutoMacros(long Which); void Save(); void _SaveAs(VARIANT Filename, VARIANT FileFormat, VARIANT Password, VARIANT WriteResPassword, VARIANT ReadOnlyRecommended, VARIANT CreateBackup, long AccessMode, VARIANT ConflictResolution, VARIANT AddToMru, VARIANT TextCodepage, VARIANT TextVisualLayout); void SaveCopyAs(VARIANT Filename); BOOL get_Saved(); void put_Saved(BOOL newValue); BOOL get_SaveLinkValues(); void put_SaveLinkValues(BOOL newValue); void SendMail(VARIANT Recipients, VARIANT Subject, VARIANT ReturnReceipt); void SendMailer(VARIANT FileFormat, long Priority); void SetLinkOnData(LPCTSTR Name, VARIANT Procedure); LPDISPATCH get_Sheets(); BOOL get_ShowConflictHistory(); void put_ShowConflictHistory(BOOL newValue); LPDISPATCH get_Styles(); CString get_Subject(); void put_Subject(LPCTSTR newValue); CString get_Title(); void put_Title(LPCTSTR newValue); void Unprotect(VARIANT Password); void UnprotectSharing(VARIANT SharingPassword); void UpdateFromFile(); void UpdateLink(VARIANT Name, VARIANT Type); BOOL get_UpdateRemoteReferences(); void put_UpdateRemoteReferences(BOOL newValue); BOOL get_UserControl(); void put_UserControl(BOOL newValue); VARIANT get_UserStatus(); LPDISPATCH get_CustomViews(); LPDISPATCH get_Windows(); EXLWorksheets get_Worksheets(); BOOL get_WriteReserved(); CString get_WriteReservedBy(); LPDISPATCH get_Excel4IntlMacroSheets(); LPDISPATCH get_Excel4MacroSheets(); BOOL get_TemplateRemoveExtData(); void put_TemplateRemoveExtData(BOOL newValue); void HighlightChangesOptions(VARIANT When, VARIANT Who, VARIANT Where); BOOL get_HighlightChangesOnScreen(); void put_HighlightChangesOnScreen(BOOL newValue); BOOL get_KeepChangeHistory(); void put_KeepChangeHistory(BOOL newValue); BOOL get_ListChangesOnNewSheet(); void put_ListChangesOnNewSheet(BOOL newValue); void PurgeChangeHistoryNow(long Days, VARIANT sharingPassword); void AcceptAllChanges(VARIANT When, VARIANT Who, VARIANT Where); void RejectAllChanges(VARIANT When, VARIANT Who, VARIANT Where); void PivotTableWizard(VARIANT sourceType, VARIANT operableData, VARIANT tableDestination, VARIANT TableName, VARIANT RowGrand, VARIANT ColumnGrand, VARIANT SaveData, VARIANT HasAutoFormat, VARIANT AutoPage, VARIANT Reserved, VARIANT BackgroundQuery, VARIANT OptimizeCache, VARIANT PageFieldOrder, VARIANT PageFieldWrapCount, VARIANT ReadData, VARIANT Connection); void ResetColors(); LPDISPATCH get_VBProject(); void FollowHyperlink(LPCTSTR Address, VARIANT SubAddress, VARIANT NewWindow, VARIANT AddHistory, VARIANT ExtraInfo, VARIANT Method, VARIANT HeaderInfo); void AddToFavorites(); BOOL get_IsInplace(); void _PrintOut(VARIANT From, VARIANT To, VARIANT Copies, VARIANT Preview, VARIANT ActivePrinter, VARIANT PrintToFile, VARIANT Collate, VARIANT PrToFileName); void WebPagePreview(); LPDISPATCH get_PublishObjects(); LPDISPATCH get_WebOptions(); void ReloadAs(long Encoding); LPDISPATCH get_HTMLProject(); BOOL get_EnvelopeVisible(); void put_EnvelopeVisible(BOOL newValue); long get_CalculationVersion(); void Dummy17(long calcid); void sblt(LPCTSTR s); BOOL get_VBASigned(); BOOL get_ShowPivotTableFieldList(); void put_ShowPivotTableFieldList(BOOL newValue); long get_UpdateLinks(); void put_UpdateLinks(long newValue); void BreakLink(LPCTSTR Name, long Type); void Dummy16(); BOOL get_EnableAutoRecover(); void put_EnableAutoRecover(BOOL newValue); BOOL get_RemovePersonalInformation(); void put_RemovePersonalInformation(BOOL newValue); CString get_FullNameURLEncoded(); void CheckIn(VARIANT SaveChanges, VARIANT Comments, VARIANT MakePublic); BOOL CanCheckIn(); void SendForReview(VARIANT Recipients, VARIANT Subject, VARIANT ShowMessage, VARIANT IncludeAttachment); void ReplyWithChanges(VARIANT ShowMessage); void EndReview(); CString get_Password(); void put_Password(LPCTSTR newValue); CString get_WritePassword(); void put_WritePassword(LPCTSTR newValue); CString get_PasswordEncryptionProvider(); CString get_PasswordEncryptionAlgorithm(); long get_PasswordEncryptionKeyLength(); void SetPasswordEncryptionOptions(VARIANT PasswordEncryptionProvider, VARIANT PasswordEncryptionAlgorithm, VARIANT PasswordEncryptionKeyLength, VARIANT PasswordEncryptionFileProperties); BOOL get_PasswordEncryptionFileProperties(); BOOL get_ReadOnlyRecommended(); void put_ReadOnlyRecommended(BOOL newValue); void Protect(VARIANT Password, VARIANT Structure, VARIANT Windows); LPDISPATCH get_SmartTagOptions(); void RecheckSmartTags(); LPDISPATCH get_Permission(); LPDISPATCH get_SharedWorkspace(); LPDISPATCH get_Sync(); void SendFaxOverInternet(VARIANT Recipients, VARIANT Subject, VARIANT ShowMessage); LPDISPATCH get_XmlNamespaces(); LPDISPATCH get_XmlMaps(); long XmlImport(LPCTSTR Url, LPDISPATCH * ImportMap, VARIANT Overwrite, VARIANT Destination); LPDISPATCH get_SmartDocument(); LPDISPATCH get_DocumentLibraryVersions(); BOOL get_InactiveListBorderVisible(); void put_InactiveListBorderVisible(BOOL newValue); BOOL get_DisplayInkComments(); void put_DisplayInkComments(BOOL newValue); long XmlImportXml(LPCTSTR Data, LPDISPATCH * ImportMap, VARIANT Overwrite, VARIANT Destination); void SaveAsXMLData(LPCTSTR Filename, LPDISPATCH Map); void ToggleFormsDesign(); LPDISPATCH get_ContentTypeProperties(); LPDISPATCH get_Connections(); void RemoveDocumentInformation(long RemoveDocInfoType); LPDISPATCH get_Signatures(); void CheckInWithVersion(VARIANT SaveChanges, VARIANT Comments, VARIANT MakePublic, VARIANT VersionType); LPDISPATCH get_ServerPolicy(); void LockServerFile(); LPDISPATCH get_DocumentInspectors(); LPDISPATCH GetWorkflowTasks(); LPDISPATCH GetWorkflowTemplates(); void PrintOut(VARIANT From, VARIANT To, VARIANT Copies, VARIANT Preview, VARIANT ActivePrinter, VARIANT PrintToFile, VARIANT Collate, VARIANT PrToFileName, VARIANT IgnorePrintAreas); LPDISPATCH get_ServerViewableItems(); LPDISPATCH get_TableStyles(); VARIANT get_DefaultTableStyle(); void put_DefaultTableStyle(VARIANT newValue); VARIANT get_DefaultPivotTableStyle(); void put_DefaultPivotTableStyle(VARIANT newValue); BOOL get_CheckCompatibility(); void put_CheckCompatibility(BOOL newValue); BOOL get_HasVBProject(); LPDISPATCH get_CustomXMLParts(); BOOL get_Final(); void put_Final(BOOL newValue); LPDISPATCH get_Research(); LPDISPATCH get_Theme(); void ApplyTheme(LPCTSTR Filename); BOOL get_Excel8CompatibilityMode(); BOOL get_ConnectionsDisabled(); void EnableConnections(); BOOL get_ShowPivotChartActiveFields(); void put_ShowPivotChartActiveFields(BOOL newValue); void ExportAsFixedFormat(long Type, VARIANT Filename, VARIANT Quality, VARIANT IncludeDocProperties, VARIANT IgnorePrintAreas, VARIANT From, VARIANT To, VARIANT OpenAfterPublish, VARIANT FixedFormatExtClassPtr); LPDISPATCH get_IconSets(); CString get_EncryptionProvider(); void put_EncryptionProvider(LPCTSTR newValue); BOOL get_DoNotPromptForConvert(); void put_DoNotPromptForConvert(BOOL newValue); BOOL get_ForceFullCalculation(); void put_ForceFullCalculation(BOOL newValue); void ProtectSharing(VARIANT Filename, VARIANT Password, VARIANT WriteResPassword, VARIANT ReadOnlyRecommended, VARIANT CreateBackup, VARIANT SharingPassword, VARIANT FileFormat); LPDISPATCH get_SlicerCaches(); LPDISPATCH get_ActiveSlicer(); VARIANT get_DefaultSlicerStyle(); void put_DefaultSlicerStyle(VARIANT newValue); void Dummy26(); void Dummy27(); long get_AccuracyVersion(); void put_AccuracyVersion(long newValue); BOOL get_CaseSensitive(); BOOL get_UseWholeCellCriteria(); BOOL get_UseWildcards(); LPDISPATCH get_PivotTables(); LPDISPATCH get_Model(); BOOL get_ChartDataPointTrack(); void put_ChartDataPointTrack(BOOL newValue); VARIANT get_DefaultTimelineStyle(); void put_DefaultTimelineStyle(VARIANT newValue); LPDISPATCH get_Queries(); void CreateForecastSheet(LPDISPATCH Timeline, LPDISPATCH Values, VARIANT ForecastStart, VARIANT ForecastEnd, VARIANT ConfInt, VARIANT Seasonality, VARIANT DataCompletion, VARIANT Aggregation, VARIANT ChartType, VARIANT ShowStatsTable); }; } // namespace MSO::Excel