#pragma once // WRange wrapper class #include "office/VariantableDispatch.hpp" namespace MSO::Word { class WApplication; class WComments; class WTables; class WRange : public VariantableDispatch { public: WRange() = default; WRange(LPDISPATCH pDispatch) : VariantableDispatch(pDispatch) {} WRange(const WRange& dispatchSrc) : VariantableDispatch(dispatchSrc) {} public: CString get_Text(); void put_Text(LPCTSTR newValue); LPDISPATCH get_FormattedText(); void put_FormattedText(LPDISPATCH newValue); long get_Start(); void put_Start(long newValue); long get_End(); void put_End(long newValue); LPDISPATCH get_Font(); void put_Font(LPDISPATCH newValue); LPDISPATCH get_Duplicate(); long get_StoryType(); WTables get_Tables(); LPDISPATCH get_Words(); LPDISPATCH get_Sentences(); LPDISPATCH get_Characters(); LPDISPATCH get_Footnotes(); LPDISPATCH get_Endnotes(); WComments get_Comments(); LPDISPATCH get_Cells(); LPDISPATCH get_Sections(); LPDISPATCH get_Paragraphs(); LPDISPATCH get_Borders(); void put_Borders(LPDISPATCH newValue); LPDISPATCH get_Shading(); LPDISPATCH get_TextRetrievalMode(); void put_TextRetrievalMode(LPDISPATCH newValue); LPDISPATCH get_Fields(); LPDISPATCH get_FormFields(); LPDISPATCH get_Frames(); LPDISPATCH get_ParagraphFormat(); void put_ParagraphFormat(LPDISPATCH newValue); LPDISPATCH get_ListFormat(); LPDISPATCH get_Bookmarks(); WApplication get_Application(); long get_Creator(); LPDISPATCH get_Parent(); long get_Bold(); void put_Bold(long newValue); long get_Italic(); void put_Italic(long newValue); long get_Underline(); void put_Underline(long newValue); long get_EmphasisMark(); void put_EmphasisMark(long newValue); BOOL get_DisableCharacterSpaceGrid(); void put_DisableCharacterSpaceGrid(BOOL newValue); LPDISPATCH get_Revisions(); VARIANT get_Style(); void put_Style(VARIANT * newValue); long get_StoryLength(); long get_LanguageID(); void put_LanguageID(long newValue); LPDISPATCH get_SynonymInfo(); LPDISPATCH get_Hyperlinks(); LPDISPATCH get_ListParagraphs(); LPDISPATCH get_Subdocuments(); BOOL get_GrammarChecked(); void put_GrammarChecked(BOOL newValue); BOOL get_SpellingChecked(); void put_SpellingChecked(BOOL newValue); long get_HighlightColorIndex(); void put_HighlightColorIndex(long newValue); LPDISPATCH get_Columns(); LPDISPATCH get_Rows(); long get_CanEdit(); long get_CanPaste(); BOOL get_IsEndOfRowMark(); long get_BookmarkID(); long get_PreviousBookmarkID(); LPDISPATCH get_Find(); LPDISPATCH get_PageSetup(); void put_PageSetup(LPDISPATCH newValue); LPDISPATCH get_ShapeRange(); long get_Case(); void put_Case(long newValue); VARIANT get_Information(long Type); LPDISPATCH get_ReadabilityStatistics(); LPDISPATCH get_GrammaticalErrors(); LPDISPATCH get_SpellingErrors(); long get_Orientation(); void put_Orientation(long newValue); LPDISPATCH get_InlineShapes(); LPDISPATCH get_NextStoryRange(); long get_LanguageIDFarEast(); void put_LanguageIDFarEast(long newValue); long get_LanguageIDOther(); void put_LanguageIDOther(long newValue); void Select(); void SetRange(long Start, long End); void Collapse(VARIANT * Direction); void InsertBefore(LPCTSTR Text); void InsertAfter(LPCTSTR Text); LPDISPATCH Next(VARIANT * Unit, VARIANT * Count); LPDISPATCH Previous(VARIANT * Unit, VARIANT * Count); long StartOf(VARIANT * Unit, VARIANT * Extend); long EndOf(VARIANT * Unit, VARIANT * Extend); long Move(VARIANT * Unit, VARIANT * Count); long MoveStart(VARIANT * Unit, VARIANT * Count); long MoveEnd(VARIANT * Unit, VARIANT * Count); long MoveWhile(VARIANT * Cset, VARIANT * Count); long MoveStartWhile(VARIANT * Cset, VARIANT * Count); long MoveEndWhile(VARIANT * Cset, VARIANT * Count); long MoveUntil(VARIANT * Cset, VARIANT * Count); long MoveStartUntil(VARIANT * Cset, VARIANT * Count); long MoveEndUntil(VARIANT * Cset, VARIANT * Count); void Cut(); void Copy(); void Paste(); void InsertBreak(VARIANT * Type); void InsertFile(LPCTSTR FileName, VARIANT * Range, VARIANT * ConfirmConversions, VARIANT * Link, VARIANT * Attachment); BOOL InStory(LPDISPATCH Range); BOOL InRange(LPDISPATCH Range); long Delete(VARIANT * Unit, VARIANT * Count); void WholeStory(); long Expand(VARIANT * Unit); void InsertParagraph(); void InsertParagraphAfter(); LPDISPATCH ConvertToTableOld(VARIANT * Separator, VARIANT * NumRows, VARIANT * NumColumns, VARIANT * InitialColumnWidth, VARIANT * Format, VARIANT * ApplyBorders, VARIANT * ApplyShading, VARIANT * ApplyFont, VARIANT * ApplyColor, VARIANT * ApplyHeadingRows, VARIANT * ApplyLastRow, VARIANT * ApplyFirstColumn, VARIANT * ApplyLastColumn, VARIANT * AutoFit); void InsertDateTimeOld(VARIANT * DateTimeFormat, VARIANT * InsertAsField, VARIANT * InsertAsFullWidth); void InsertSymbol(long CharacterNumber, VARIANT * Font, VARIANT * Unicode, VARIANT * Bias); void InsertCrossReference_2002(VARIANT * ReferenceType, long ReferenceKind, VARIANT * ReferenceItem, VARIANT * InsertAsHyperlink, VARIANT * IncludePosition); void InsertCaptionXP(VARIANT * Label, VARIANT * Title, VARIANT * TitleAutoText, VARIANT * Position); void CopyAsPicture(); void SortOld(VARIANT * ExcludeHeader, VARIANT * FieldNumber, VARIANT * SortFieldType, VARIANT * SortOrder, VARIANT * FieldNumber2, VARIANT * SortFieldType2, VARIANT * SortOrder2, VARIANT * FieldNumber3, VARIANT * SortFieldType3, VARIANT * SortOrder3, VARIANT * SortColumn, VARIANT * Separator, VARIANT * CaseSensitive, VARIANT * LanguageID); void SortAscending(); void SortDescending(); BOOL IsEqual(LPDISPATCH Range); float Calculate(); LPDISPATCH GoTo(VARIANT * What, VARIANT * Which, VARIANT * Count, VARIANT * Name); LPDISPATCH GoToNext(long What); LPDISPATCH GoToPrevious(long What); void PasteSpecial(VARIANT * IconIndex, VARIANT * Link, VARIANT * Placement, VARIANT * DisplayAsIcon, VARIANT * DataType, VARIANT * IconFileName, VARIANT * IconLabel); void LookupNameProperties(); long ComputeStatistics(long Statistic); void Relocate(long Direction); void CheckSynonyms(); void SubscribeTo(LPCTSTR Edition, VARIANT * Format); void CreatePublisher(VARIANT * Edition, VARIANT * ContainsPICT, VARIANT * ContainsRTF, VARIANT * ContainsText); void InsertAutoText(); void InsertDatabase(VARIANT * Format, VARIANT * Style, VARIANT * LinkToSource, VARIANT * Connection, VARIANT * SQLStatement, VARIANT * SQLStatement1, VARIANT * PasswordDocument, VARIANT * PasswordTemplate, VARIANT * WritePasswordDocument, VARIANT * WritePasswordTemplate, VARIANT * DataSource, VARIANT * From, VARIANT * To, VARIANT * IncludeFields); void AutoFormat(); void CheckGrammar(); void CheckSpelling(VARIANT * CustomDictionary, VARIANT * IgnoreUppercase, VARIANT * AlwaysSuggest, VARIANT * CustomDictionary2, VARIANT * CustomDictionary3, VARIANT * CustomDictionary4, VARIANT * CustomDictionary5, VARIANT * CustomDictionary6, VARIANT * CustomDictionary7, VARIANT * CustomDictionary8, VARIANT * CustomDictionary9, VARIANT * CustomDictionary10); LPDISPATCH GetSpellingSuggestions(VARIANT * CustomDictionary, VARIANT * IgnoreUppercase, VARIANT * MainDictionary, VARIANT * SuggestionMode, VARIANT * CustomDictionary2, VARIANT * CustomDictionary3, VARIANT * CustomDictionary4, VARIANT * CustomDictionary5, VARIANT * CustomDictionary6, VARIANT * CustomDictionary7, VARIANT * CustomDictionary8, VARIANT * CustomDictionary9, VARIANT * CustomDictionary10); void InsertParagraphBefore(); void NextSubdocument(); void PreviousSubdocument(); void ConvertHangulAndHanja(VARIANT * ConversionsMode, VARIANT * FastConversion, VARIANT * CheckHangulEnding, VARIANT * EnableRecentOrdering, VARIANT * CustomDictionary); void PasteAsNestedTable(); void ModifyEnclosure(VARIANT * Style, VARIANT * Symbol, VARIANT * EnclosedText); void PhoneticGuide(LPCTSTR Text, long Alignment, long Raise, long FontSize, LPCTSTR FontName); void InsertDateTime(VARIANT * DateTimeFormat, VARIANT * InsertAsField, VARIANT * InsertAsFullWidth, VARIANT * DateLanguage, VARIANT * CalendarType); void Sort(VARIANT * ExcludeHeader, VARIANT * FieldNumber, VARIANT * SortFieldType, VARIANT * SortOrder, VARIANT * FieldNumber2, VARIANT * SortFieldType2, VARIANT * SortOrder2, VARIANT * FieldNumber3, VARIANT * SortFieldType3, VARIANT * SortOrder3, VARIANT * SortColumn, VARIANT * Separator, VARIANT * CaseSensitive, VARIANT * BidiSort, VARIANT * IgnoreThe, VARIANT * IgnoreKashida, VARIANT * IgnoreDiacritics, VARIANT * IgnoreHe, VARIANT * LanguageID); void DetectLanguage(); LPDISPATCH ConvertToTable(VARIANT * Separator, VARIANT * NumRows, VARIANT * NumColumns, VARIANT * InitialColumnWidth, VARIANT * Format, VARIANT * ApplyBorders, VARIANT * ApplyShading, VARIANT * ApplyFont, VARIANT * ApplyColor, VARIANT * ApplyHeadingRows, VARIANT * ApplyLastRow, VARIANT * ApplyFirstColumn, VARIANT * ApplyLastColumn, VARIANT * AutoFit, VARIANT * AutoFitBehavior, VARIANT * DefaultTableBehavior); void TCSCConverter(long WdTCSCConverterDirection, BOOL CommonTerms, BOOL UseVariants); BOOL get_LanguageDetected(); void put_LanguageDetected(BOOL newValue); float get_FitTextWidth(); void put_FitTextWidth(float newValue); long get_HorizontalInVertical(); void put_HorizontalInVertical(long newValue); long get_TwoLinesInOne(); void put_TwoLinesInOne(long newValue); BOOL get_CombineCharacters(); void put_CombineCharacters(BOOL newValue); long get_NoProofing(); void put_NoProofing(long newValue); LPDISPATCH get_TopLevelTables(); LPDISPATCH get_Scripts(); long get_CharacterWidth(); void put_CharacterWidth(long newValue); long get_Kana(); void put_Kana(long newValue); long get_BoldBi(); void put_BoldBi(long newValue); long get_ItalicBi(); void put_ItalicBi(long newValue); CString get_ID(); void put_ID(LPCTSTR newValue); LPDISPATCH get_HTMLDivisions(); LPDISPATCH get_SmartTags(); BOOL get_ShowAll(); void put_ShowAll(BOOL newValue); LPDISPATCH get_Document(); LPDISPATCH get_FootnoteOptions(); LPDISPATCH get_EndnoteOptions(); void PasteAndFormat(long Type); void PasteExcelTable(BOOL LinkedToExcel, BOOL WordFormatting, BOOL RTF); void PasteAppendTable(); LPDISPATCH get_XMLNodes(); LPDISPATCH get_XMLParentNode(); LPDISPATCH get_Editors(); CString get_XML(BOOL DataOnly); VARIANT get_EnhMetaFileBits(); LPDISPATCH GoToEditableRange(VARIANT * EditorID); void InsertXML(LPCTSTR XML, VARIANT * Transform); void InsertCaption(VARIANT * Label, VARIANT * Title, VARIANT * TitleAutoText, VARIANT * Position, VARIANT * ExcludeLabel); void InsertCrossReference(VARIANT * ReferenceType, long ReferenceKind, VARIANT * ReferenceItem, VARIANT * InsertAsHyperlink, VARIANT * IncludePosition, VARIANT * SeparateNumbers, VARIANT * SeparatorString); LPDISPATCH get_OMaths(); VARIANT get_CharacterStyle(); VARIANT get_ParagraphStyle(); VARIANT get_ListStyle(); VARIANT get_TableStyle(); LPDISPATCH get_ContentControls(); void ExportFragment(LPCTSTR FileName, long Format); CString get_WordOpenXML(); void SetListLevel(short Level); void InsertAlignmentTab(long Alignment, long RelativeTo); LPDISPATCH get_ParentContentControl(); void ImportFragment(LPCTSTR FileName, BOOL MatchDestination); void ExportAsFixedFormat(LPCTSTR OutputFileName, long ExportFormat, BOOL OpenAfterExport, long OptimizeFor, BOOL ExportCurrentPage, long Item, BOOL IncludeDocProps, BOOL KeepIRM, long CreateBookmarks, BOOL DocStructureTags, BOOL BitmapMissingFonts, BOOL UseISO19005_1, VARIANT * FixedFormatExtClassPtr); LPDISPATCH get_Locks(); LPDISPATCH get_Updates(); LPDISPATCH get_Conflicts(); long get_TextVisibleOnScreen(); void SortByHeadings(VARIANT * SortFieldType, VARIANT * SortOrder, VARIANT * CaseSensitive, VARIANT * BidiSort, VARIANT * IgnoreThe, VARIANT * IgnoreKashida, VARIANT * IgnoreDiacritics, VARIANT * IgnoreHe, VARIANT * LanguageID); }; } // namespace MSO::Word