// ************************************************************************ //
// WARNING                                                                    
// -------                                                                    
// The types declared in this file were generated from data read from a       
// Type Library. If this type library is explicitly or indirectly (via        
// another type library referring to this type library) re-imported, or the   
// 'Refresh' command of the Type Library Editor activated while editing the   
// Type Library, the contents of this file will be regenerated and all        
// manual modifications will be lost.                                         
// ************************************************************************ //

// C++ TLBWRTR : 1.28
// File generated on 2/14/2006 12:34:27 PM from Type Library described below.

// ************************************************************************  //
// Type Lib: c:\Program Files\Microsoft OfficeXP\Office10\MSWORD.olb (1)
// LIBID: {00020905-0000-0000-C000-000000000046}
// LCID: 0
// Helpfile: c:\Program Files\Microsoft OfficeXP\Office10\VBAWD10.CHM
// HelpString: Microsoft Word 10.0 Object Library
// DepndLst: 
//   (1) v2.0 stdole, (C:\WINDOWS\System32\stdole2.tlb)
//   (2) v2.2 Office, (C:\Program Files\Common Files\Microsoft Shared\Office10\MSO.DLL)
//   (3) v5.3 VBIDE, (C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB)
// ************************************************************************ //
#ifndef   Word_XPH
#define   Word_XPH

#pragma option push -b -w-inl

#if !defined(__UTILCLS_H)
#include <utilcls.h>
#endif
#if !defined(__UTILCLS_H_VERSION) || (__UTILCLS_H_VERSION < 0x0700)
//
// The code generated by the TLIBIMP utility or the Import|TypeLibrary 
// and Import|ActiveX feature of C++Builder rely on specific versions of
// the header file UTILCLS.H found in the INCLUDE\VCL directory. If an 
// older version of the file is detected, you probably need an update/patch.
//
#error "This file requires a newer version of the header UTILCLS.H" \
       "You need to apply an update/patch to your copy of C++Builder"
#endif
#include <olectl.h>
#include <ocidl.h>
#if defined(USING_ATLVCL) || defined(USING_ATL)
#if !defined(__TLB_NO_EVENT_WRAPPERS)
#include <atl/atlmod.h>
#endif
#endif
#include "Office_XP.h"
#include "VBIDE_XP.h"


// *********************************************************************//
// Forward reference of some VCL types (to avoid including STDVCL.HPP)    
// *********************************************************************//
namespace Stdvcl {class IStrings; class IStringsDisp;}
using namespace Stdvcl;
typedef TComInterface<IStrings> IStringsPtr;
typedef TComInterface<IStringsDisp> IStringsDispPtr;

namespace Word_xp
{

// *********************************************************************//
// HelpString: Microsoft Word 10.0 Object Library
// Version:    8.2
// *********************************************************************//


// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:        
//   Type Libraries     : LIBID_xxxx                                      
//   CoClasses          : CLSID_xxxx                                      
//   DISPInterfaces     : DIID_xxxx                                       
//   Non-DISP interfaces: IID_xxxx                                        
// *********************************************************************//
extern __declspec (package) const GUID LIBID_Word;
extern __declspec (package) const GUID GUID_WdMailSystem;
extern __declspec (package) const GUID GUID_WdTemplateType;
extern __declspec (package) const GUID GUID_WdContinue;
extern __declspec (package) const GUID GUID_WdIMEMode;
extern __declspec (package) const GUID GUID_WdBaselineAlignment;
extern __declspec (package) const GUID GUID_WdIndexFilter;
extern __declspec (package) const GUID GUID_WdIndexSortBy;
extern __declspec (package) const GUID GUID_WdJustificationMode;
extern __declspec (package) const GUID GUID_WdFarEastLineBreakLevel;
extern __declspec (package) const GUID GUID_WdMultipleWordConversionsMode;
extern __declspec (package) const GUID GUID_WdColorIndex;
extern __declspec (package) const GUID GUID_WdTextureIndex;
extern __declspec (package) const GUID GUID_WdUnderline;
extern __declspec (package) const GUID GUID_WdEmphasisMark;
extern __declspec (package) const GUID GUID_WdInternationalIndex;
extern __declspec (package) const GUID GUID_WdAutoMacros;
extern __declspec (package) const GUID GUID_WdCaptionPosition;
extern __declspec (package) const GUID GUID_WdCountry;
extern __declspec (package) const GUID GUID_WdHeadingSeparator;
extern __declspec (package) const GUID GUID_WdSeparatorType;
extern __declspec (package) const GUID GUID_WdPageNumberAlignment;
extern __declspec (package) const GUID GUID_WdBorderType;
extern __declspec (package) const GUID GUID_WdBorderTypeHID;
extern __declspec (package) const GUID GUID_WdFramePosition;
extern __declspec (package) const GUID GUID_WdAnimation;
extern __declspec (package) const GUID GUID_WdCharacterCase;
extern __declspec (package) const GUID GUID_WdCharacterCaseHID;
extern __declspec (package) const GUID GUID_WdSummaryMode;
extern __declspec (package) const GUID GUID_WdSummaryLength;
extern __declspec (package) const GUID GUID_WdStyleType;
extern __declspec (package) const GUID GUID_WdUnits;
extern __declspec (package) const GUID GUID_WdGoToItem;
extern __declspec (package) const GUID GUID_WdGoToDirection;
extern __declspec (package) const GUID GUID_WdCollapseDirection;
extern __declspec (package) const GUID GUID_WdRowHeightRule;
extern __declspec (package) const GUID GUID_WdFrameSizeRule;
extern __declspec (package) const GUID GUID_WdInsertCells;
extern __declspec (package) const GUID GUID_WdDeleteCells;
extern __declspec (package) const GUID GUID_WdListApplyTo;
extern __declspec (package) const GUID GUID_WdAlertLevel;
extern __declspec (package) const GUID GUID_WdCursorType;
extern __declspec (package) const GUID GUID_WdEnableCancelKey;
extern __declspec (package) const GUID GUID_WdRulerStyle;
extern __declspec (package) const GUID GUID_WdParagraphAlignment;
extern __declspec (package) const GUID GUID_WdParagraphAlignmentHID;
extern __declspec (package) const GUID GUID_WdListLevelAlignment;
extern __declspec (package) const GUID GUID_WdRowAlignment;
extern __declspec (package) const GUID GUID_WdTabAlignment;
extern __declspec (package) const GUID GUID_WdVerticalAlignment;
extern __declspec (package) const GUID GUID_WdCellVerticalAlignment;
extern __declspec (package) const GUID GUID_WdTrailingCharacter;
extern __declspec (package) const GUID GUID_WdListGalleryType;
extern __declspec (package) const GUID GUID_WdListNumberStyle;
extern __declspec (package) const GUID GUID_WdListNumberStyleHID;
extern __declspec (package) const GUID GUID_WdNoteNumberStyle;
extern __declspec (package) const GUID GUID_WdNoteNumberStyleHID;
extern __declspec (package) const GUID GUID_WdCaptionNumberStyle;
extern __declspec (package) const GUID GUID_WdCaptionNumberStyleHID;
extern __declspec (package) const GUID GUID_WdPageNumberStyle;
extern __declspec (package) const GUID GUID_WdPageNumberStyleHID;
extern __declspec (package) const GUID GUID_WdStatistic;
extern __declspec (package) const GUID GUID_WdStatisticHID;
extern __declspec (package) const GUID GUID_WdBuiltInProperty;
extern __declspec (package) const GUID GUID_WdLineSpacing;
extern __declspec (package) const GUID GUID_WdNumberType;
extern __declspec (package) const GUID GUID_WdListType;
extern __declspec (package) const GUID GUID_WdStoryType;
extern __declspec (package) const GUID GUID_WdSaveFormat;
extern __declspec (package) const GUID GUID_WdOpenFormat;
extern __declspec (package) const GUID GUID_WdHeaderFooterIndex;
extern __declspec (package) const GUID GUID_WdTocFormat;
extern __declspec (package) const GUID GUID_WdTofFormat;
extern __declspec (package) const GUID GUID_WdToaFormat;
extern __declspec (package) const GUID GUID_WdLineStyle;
extern __declspec (package) const GUID GUID_WdLineWidth;
extern __declspec (package) const GUID GUID_WdBreakType;
extern __declspec (package) const GUID GUID_WdTabLeader;
extern __declspec (package) const GUID GUID_WdTabLeaderHID;
extern __declspec (package) const GUID GUID_WdMeasurementUnits;
extern __declspec (package) const GUID GUID_WdMeasurementUnitsHID;
extern __declspec (package) const GUID GUID_WdDropPosition;
extern __declspec (package) const GUID GUID_WdNumberingRule;
extern __declspec (package) const GUID GUID_WdFootnoteLocation;
extern __declspec (package) const GUID GUID_WdEndnoteLocation;
extern __declspec (package) const GUID GUID_WdSortSeparator;
extern __declspec (package) const GUID GUID_WdTableFieldSeparator;
extern __declspec (package) const GUID GUID_WdSortFieldType;
extern __declspec (package) const GUID GUID_WdSortFieldTypeHID;
extern __declspec (package) const GUID GUID_WdSortOrder;
extern __declspec (package) const GUID GUID_WdTableFormat;
extern __declspec (package) const GUID GUID_WdTableFormatApply;
extern __declspec (package) const GUID GUID_WdLanguageID;
extern __declspec (package) const GUID GUID_WdFieldType;
extern __declspec (package) const GUID GUID_WdBuiltinStyle;
extern __declspec (package) const GUID GUID_WdWordDialogTab;
extern __declspec (package) const GUID GUID_WdWordDialogTabHID;
extern __declspec (package) const GUID GUID_WdWordDialog;
extern __declspec (package) const GUID GUID_WdWordDialogHID;
extern __declspec (package) const GUID GUID_WdFieldKind;
extern __declspec (package) const GUID GUID_WdTextFormFieldType;
extern __declspec (package) const GUID GUID_WdChevronConvertRule;
extern __declspec (package) const GUID GUID_WdMailMergeMainDocType;
extern __declspec (package) const GUID GUID_WdMailMergeState;
extern __declspec (package) const GUID GUID_WdMailMergeDestination;
extern __declspec (package) const GUID GUID_WdMailMergeActiveRecord;
extern __declspec (package) const GUID GUID_WdMailMergeDefaultRecord;
extern __declspec (package) const GUID GUID_WdMailMergeDataSource;
extern __declspec (package) const GUID GUID_WdMailMergeComparison;
extern __declspec (package) const GUID GUID_WdBookmarkSortBy;
extern __declspec (package) const GUID GUID_WdWindowState;
extern __declspec (package) const GUID GUID_WdPictureLinkType;
extern __declspec (package) const GUID GUID_WdLinkType;
extern __declspec (package) const GUID GUID_WdWindowType;
extern __declspec (package) const GUID GUID_WdViewType;
extern __declspec (package) const GUID GUID_WdSeekView;
extern __declspec (package) const GUID GUID_WdSpecialPane;
extern __declspec (package) const GUID GUID_WdPageFit;
extern __declspec (package) const GUID GUID_WdBrowseTarget;
extern __declspec (package) const GUID GUID_WdPaperTray;
extern __declspec (package) const GUID GUID_WdOrientation;
extern __declspec (package) const GUID GUID_WdSelectionType;
extern __declspec (package) const GUID GUID_WdCaptionLabelID;
extern __declspec (package) const GUID GUID_WdReferenceType;
extern __declspec (package) const GUID GUID_WdReferenceKind;
extern __declspec (package) const GUID GUID_WdIndexFormat;
extern __declspec (package) const GUID GUID_WdIndexType;
extern __declspec (package) const GUID GUID_WdRevisionsWrap;
extern __declspec (package) const GUID GUID_WdRevisionType;
extern __declspec (package) const GUID GUID_WdRoutingSlipDelivery;
extern __declspec (package) const GUID GUID_WdRoutingSlipStatus;
extern __declspec (package) const GUID GUID_WdSectionStart;
extern __declspec (package) const GUID GUID_WdSaveOptions;
extern __declspec (package) const GUID GUID_WdDocumentKind;
extern __declspec (package) const GUID GUID_WdDocumentType;
extern __declspec (package) const GUID GUID_WdOriginalFormat;
extern __declspec (package) const GUID GUID_WdRelocate;
extern __declspec (package) const GUID GUID_WdInsertedTextMark;
extern __declspec (package) const GUID GUID_WdRevisedLinesMark;
extern __declspec (package) const GUID GUID_WdDeletedTextMark;
extern __declspec (package) const GUID GUID_WdRevisedPropertiesMark;
extern __declspec (package) const GUID GUID_WdFieldShading;
extern __declspec (package) const GUID GUID_WdDefaultFilePath;
extern __declspec (package) const GUID GUID_WdCompatibility;
extern __declspec (package) const GUID GUID_WdPaperSize;
extern __declspec (package) const GUID GUID_WdCustomLabelPageSize;
extern __declspec (package) const GUID GUID_WdProtectionType;
extern __declspec (package) const GUID GUID_WdPartOfSpeech;
extern __declspec (package) const GUID GUID_WdSubscriberFormats;
extern __declspec (package) const GUID GUID_WdEditionType;
extern __declspec (package) const GUID GUID_WdEditionOption;
extern __declspec (package) const GUID GUID_WdRelativeHorizontalPosition;
extern __declspec (package) const GUID GUID_WdRelativeVerticalPosition;
extern __declspec (package) const GUID GUID_WdHelpType;
extern __declspec (package) const GUID GUID_WdHelpTypeHID;
extern __declspec (package) const GUID GUID_WdKeyCategory;
extern __declspec (package) const GUID GUID_WdKey;
extern __declspec (package) const GUID GUID_WdOLEType;
extern __declspec (package) const GUID GUID_WdOLEVerb;
extern __declspec (package) const GUID GUID_WdOLEPlacement;
extern __declspec (package) const GUID GUID_WdEnvelopeOrientation;
extern __declspec (package) const GUID GUID_WdLetterStyle;
extern __declspec (package) const GUID GUID_WdLetterheadLocation;
extern __declspec (package) const GUID GUID_WdSalutationType;
extern __declspec (package) const GUID GUID_WdSalutationGender;
extern __declspec (package) const GUID GUID_WdMovementType;
extern __declspec (package) const GUID GUID_WdConstants;
extern __declspec (package) const GUID GUID_WdPasteDataType;
extern __declspec (package) const GUID GUID_WdPrintOutItem;
extern __declspec (package) const GUID GUID_WdPrintOutPages;
extern __declspec (package) const GUID GUID_WdPrintOutRange;
extern __declspec (package) const GUID GUID_WdDictionaryType;
extern __declspec (package) const GUID GUID_WdDictionaryTypeHID;
extern __declspec (package) const GUID GUID_WdSpellingWordType;
extern __declspec (package) const GUID GUID_WdSpellingErrorType;
extern __declspec (package) const GUID GUID_WdProofreadingErrorType;
extern __declspec (package) const GUID GUID_WdInlineShapeType;
extern __declspec (package) const GUID GUID_WdArrangeStyle;
extern __declspec (package) const GUID GUID_WdSelectionFlags;
extern __declspec (package) const GUID GUID_WdAutoVersions;
extern __declspec (package) const GUID GUID_WdOrganizerObject;
extern __declspec (package) const GUID GUID_WdFindMatch;
extern __declspec (package) const GUID GUID_WdFindWrap;
extern __declspec (package) const GUID GUID_WdInformation;
extern __declspec (package) const GUID GUID_WdWrapType;
extern __declspec (package) const GUID GUID_WdWrapSideType;
extern __declspec (package) const GUID GUID_WdOutlineLevel;
extern __declspec (package) const GUID GUID_WdTextOrientation;
extern __declspec (package) const GUID GUID_WdTextOrientationHID;
extern __declspec (package) const GUID GUID_WdPageBorderArt;
extern __declspec (package) const GUID GUID_WdBorderDistanceFrom;
extern __declspec (package) const GUID GUID_WdReplace;
extern __declspec (package) const GUID GUID_WdFontBias;
extern __declspec (package) const GUID IID__Application;
extern __declspec (package) const GUID IID__Global;
extern __declspec (package) const GUID IID_FontNames;
extern __declspec (package) const GUID IID_Languages;
extern __declspec (package) const GUID IID_Language;
extern __declspec (package) const GUID IID_Documents;
extern __declspec (package) const GUID IID__Document;
extern __declspec (package) const GUID IID_Template;
extern __declspec (package) const GUID IID_Templates;
extern __declspec (package) const GUID IID_RoutingSlip;
extern __declspec (package) const GUID IID_Bookmark;
extern __declspec (package) const GUID IID_Bookmarks;
extern __declspec (package) const GUID IID_Variable;
extern __declspec (package) const GUID IID_Variables;
extern __declspec (package) const GUID IID_RecentFile;
extern __declspec (package) const GUID IID_RecentFiles;
extern __declspec (package) const GUID IID_WINDOW;
extern __declspec (package) const GUID IID_Windows;
extern __declspec (package) const GUID IID_Pane;
extern __declspec (package) const GUID IID_Panes;
extern __declspec (package) const GUID IID_WordRange;
extern __declspec (package) const GUID IID_ListFormat;
extern __declspec (package) const GUID IID_Find;
extern __declspec (package) const GUID IID_Replacement;
extern __declspec (package) const GUID IID_Characters;
extern __declspec (package) const GUID IID_Words;
extern __declspec (package) const GUID IID_Sentences;
extern __declspec (package) const GUID IID_Sections;
extern __declspec (package) const GUID IID_Section;
extern __declspec (package) const GUID IID_Paragraphs;
extern __declspec (package) const GUID IID_Paragraph;
extern __declspec (package) const GUID IID_DropCap;
extern __declspec (package) const GUID IID_TabStops;
extern __declspec (package) const GUID IID_TabStop;
extern __declspec (package) const GUID IID__ParagraphFormat;
extern __declspec (package) const GUID IID__Font;
extern __declspec (package) const GUID IID_Table;
extern __declspec (package) const GUID IID_Row;
extern __declspec (package) const GUID IID_Column;
extern __declspec (package) const GUID IID_Cell;
extern __declspec (package) const GUID IID_Tables;
extern __declspec (package) const GUID IID_Rows;
extern __declspec (package) const GUID IID_Columns;
extern __declspec (package) const GUID IID_Cells;
extern __declspec (package) const GUID IID_AutoCorrect;
extern __declspec (package) const GUID IID_AutoCorrectEntries;
extern __declspec (package) const GUID IID_AutoCorrectEntry;
extern __declspec (package) const GUID IID_FirstLetterExceptions;
extern __declspec (package) const GUID IID_FirstLetterException;
extern __declspec (package) const GUID IID_TwoInitialCapsExceptions;
extern __declspec (package) const GUID IID_TwoInitialCapsException;
extern __declspec (package) const GUID IID_Footnotes;
extern __declspec (package) const GUID IID_Endnotes;
extern __declspec (package) const GUID IID_Comments;
extern __declspec (package) const GUID IID_Footnote;
extern __declspec (package) const GUID IID_Endnote;
extern __declspec (package) const GUID IID_Comment;
extern __declspec (package) const GUID IID_Borders;
extern __declspec (package) const GUID IID_Border;
extern __declspec (package) const GUID IID_Shading;
extern __declspec (package) const GUID IID_TextRetrievalMode;
extern __declspec (package) const GUID IID_AutoTextEntries;
extern __declspec (package) const GUID IID_AutoTextEntry;
extern __declspec (package) const GUID IID_SYSTEM;
extern __declspec (package) const GUID IID_OLEFormat;
extern __declspec (package) const GUID IID_LinkFormat;
extern __declspec (package) const GUID IID__OLEControl;
extern __declspec (package) const GUID IID_Fields;
extern __declspec (package) const GUID IID_Field;
extern __declspec (package) const GUID IID_Browser;
extern __declspec (package) const GUID IID_Styles;
extern __declspec (package) const GUID IID_Style;
extern __declspec (package) const GUID IID_Frames;
extern __declspec (package) const GUID IID_Frame;
extern __declspec (package) const GUID IID_FormFields;
extern __declspec (package) const GUID IID_FormField;
extern __declspec (package) const GUID IID_TextInput;
extern __declspec (package) const GUID IID_CheckBox;
extern __declspec (package) const GUID IID_DropDown;
extern __declspec (package) const GUID IID_ListEntries;
extern __declspec (package) const GUID IID_ListEntry;
extern __declspec (package) const GUID IID_TablesOfFigures;
extern __declspec (package) const GUID IID_TableOfFigures;
extern __declspec (package) const GUID IID_MailMerge;
extern __declspec (package) const GUID IID_MailMergeFields;
extern __declspec (package) const GUID IID_MailMergeField;
extern __declspec (package) const GUID IID_MailMergeDataSource;
extern __declspec (package) const GUID IID_MailMergeFieldNames;
extern __declspec (package) const GUID IID_MailMergeFieldName;
extern __declspec (package) const GUID IID_MailMergeDataFields;
extern __declspec (package) const GUID IID_MailMergeDataField;
extern __declspec (package) const GUID IID_Envelope;
extern __declspec (package) const GUID IID_MailingLabel;
extern __declspec (package) const GUID IID_CustomLabels;
extern __declspec (package) const GUID IID_CustomLabel;
extern __declspec (package) const GUID IID_TablesOfContents;
extern __declspec (package) const GUID IID_TableOfContents;
extern __declspec (package) const GUID IID_TablesOfAuthorities;
extern __declspec (package) const GUID IID_TableOfAuthorities;
extern __declspec (package) const GUID IID_Dialogs;
extern __declspec (package) const GUID IID_Dialog;
extern __declspec (package) const GUID IID_PageSetup;
extern __declspec (package) const GUID IID_LineNumbering;
extern __declspec (package) const GUID IID_TextColumns;
extern __declspec (package) const GUID IID_TextColumn;
extern __declspec (package) const GUID IID_WordSelection;
extern __declspec (package) const GUID IID_TablesOfAuthoritiesCategories;
extern __declspec (package) const GUID IID_TableOfAuthoritiesCategory;
extern __declspec (package) const GUID IID_CaptionLabels;
extern __declspec (package) const GUID IID_CaptionLabel;
extern __declspec (package) const GUID IID_AutoCaptions;
extern __declspec (package) const GUID IID_AutoCaption;
extern __declspec (package) const GUID IID_Indexes;
extern __declspec (package) const GUID IID_Index;
extern __declspec (package) const GUID IID_AddIn;
extern __declspec (package) const GUID IID_AddIns;
extern __declspec (package) const GUID IID_Revisions;
extern __declspec (package) const GUID IID_Revision;
extern __declspec (package) const GUID IID_Task;
extern __declspec (package) const GUID IID_Tasks;
extern __declspec (package) const GUID IID_HeadersFooters;
extern __declspec (package) const GUID IID_HeaderFooter;
extern __declspec (package) const GUID IID_PageNumbers;
extern __declspec (package) const GUID IID_PageNumber;
extern __declspec (package) const GUID IID_Subdocuments;
extern __declspec (package) const GUID IID_Subdocument;
extern __declspec (package) const GUID IID_HeadingStyles;
extern __declspec (package) const GUID IID_HeadingStyle;
extern __declspec (package) const GUID IID_StoryRanges;
extern __declspec (package) const GUID IID_ListLevel;
extern __declspec (package) const GUID IID_ListLevels;
extern __declspec (package) const GUID IID_ListTemplate;
extern __declspec (package) const GUID IID_ListTemplates;
extern __declspec (package) const GUID IID_ListParagraphs;
extern __declspec (package) const GUID IID_List;
extern __declspec (package) const GUID IID_Lists;
extern __declspec (package) const GUID IID_ListGallery;
extern __declspec (package) const GUID IID_ListGalleries;
extern __declspec (package) const GUID IID_KeyBindings;
extern __declspec (package) const GUID IID_KeysBoundTo;
extern __declspec (package) const GUID IID_KeyBinding;
extern __declspec (package) const GUID IID_FileConverter;
extern __declspec (package) const GUID IID_FileConverters;
extern __declspec (package) const GUID IID_SynonymInfo;
extern __declspec (package) const GUID IID_Hyperlinks;
extern __declspec (package) const GUID IID_Hyperlink;
extern __declspec (package) const GUID IID_Shapes;
extern __declspec (package) const GUID IID_ShapeRange;
extern __declspec (package) const GUID IID_GroupShapes;
extern __declspec (package) const GUID IID_Shape;
extern __declspec (package) const GUID IID_TextFrame;
extern __declspec (package) const GUID IID__LetterContent;
extern __declspec (package) const GUID IID_View;
extern __declspec (package) const GUID IID_Zoom;
extern __declspec (package) const GUID IID_Zooms;
extern __declspec (package) const GUID IID_InlineShape;
extern __declspec (package) const GUID IID_InlineShapes;
extern __declspec (package) const GUID IID_SpellingSuggestions;
extern __declspec (package) const GUID IID_SpellingSuggestion;
extern __declspec (package) const GUID IID_Dictionaries;
extern __declspec (package) const GUID IID_HangulHanjaConversionDictionaries;
extern __declspec (package) const GUID IID_Dictionary;
extern __declspec (package) const GUID IID_ReadabilityStatistics;
extern __declspec (package) const GUID IID_ReadabilityStatistic;
extern __declspec (package) const GUID IID_Versions;
extern __declspec (package) const GUID IID_Version;
extern __declspec (package) const GUID IID_Options;
extern __declspec (package) const GUID IID_MailMessage;
extern __declspec (package) const GUID IID_ProofreadingErrors;
extern __declspec (package) const GUID IID_Mailer;
extern __declspec (package) const GUID IID_WrapFormat;
extern __declspec (package) const GUID IID_HangulAndAlphabetExceptions;
extern __declspec (package) const GUID IID_HangulAndAlphabetException;
extern __declspec (package) const GUID IID_Adjustments;
extern __declspec (package) const GUID IID_CalloutFormat;
extern __declspec (package) const GUID IID_ColorFormat;
extern __declspec (package) const GUID IID_ConnectorFormat;
extern __declspec (package) const GUID IID_FillFormat;
extern __declspec (package) const GUID IID_FreeformBuilder;
extern __declspec (package) const GUID IID_LineFormat;
extern __declspec (package) const GUID IID_PictureFormat;
extern __declspec (package) const GUID IID_ShadowFormat;
extern __declspec (package) const GUID IID_ShapeNode;
extern __declspec (package) const GUID IID_ShapeNodes;
extern __declspec (package) const GUID IID_TextEffectFormat;
extern __declspec (package) const GUID IID_ThreeDFormat;
extern __declspec (package) const GUID DIID_ApplicationEvents;
extern __declspec (package) const GUID CLSID_WordGlobal;
extern __declspec (package) const GUID DIID_ApplicationEvents2;
extern __declspec (package) const GUID DIID_DocumentEvents;
extern __declspec (package) const GUID CLSID_WordDocument;
extern __declspec (package) const GUID CLSID_WordFont;
extern __declspec (package) const GUID CLSID_WordParagraphFormat;
extern __declspec (package) const GUID DIID_OCXEvents;
extern __declspec (package) const GUID CLSID_WordOLEControl;
extern __declspec (package) const GUID CLSID_WordLetterContent;
extern __declspec (package) const GUID IID_IApplicationEvents;
extern __declspec (package) const GUID IID_IApplicationEvents2;
extern __declspec (package) const GUID DIID_ApplicationEvents3;
extern __declspec (package) const GUID GUID_WdBrowserLevel;
extern __declspec (package) const GUID GUID_WdEnclosureType;
extern __declspec (package) const GUID GUID_WdEncloseStyle;
extern __declspec (package) const GUID GUID_WdHighAnsiText;
extern __declspec (package) const GUID GUID_WdLayoutMode;
extern __declspec (package) const GUID GUID_WdDocumentMedium;
extern __declspec (package) const GUID GUID_WdMailerPriority;
extern __declspec (package) const GUID GUID_WdDocumentViewDirection;
extern __declspec (package) const GUID GUID_WdArabicNumeral;
extern __declspec (package) const GUID GUID_WdMonthNames;
extern __declspec (package) const GUID GUID_WdCursorMovement;
extern __declspec (package) const GUID GUID_WdVisualSelection;
extern __declspec (package) const GUID GUID_WdTableDirection;
extern __declspec (package) const GUID GUID_WdFlowDirection;
extern __declspec (package) const GUID GUID_WdDiacriticColor;
extern __declspec (package) const GUID GUID_WdGutterStyle;
extern __declspec (package) const GUID GUID_WdGutterStyleOld;
extern __declspec (package) const GUID GUID_WdSectionDirection;
extern __declspec (package) const GUID GUID_WdDateLanguage;
extern __declspec (package) const GUID GUID_WdCalendarTypeBi;
extern __declspec (package) const GUID GUID_WdCalendarType;
extern __declspec (package) const GUID GUID_WdReadingOrder;
extern __declspec (package) const GUID GUID_WdHebSpellStart;
extern __declspec (package) const GUID GUID_WdAraSpeller;
extern __declspec (package) const GUID GUID_WdColor;
extern __declspec (package) const GUID GUID_WdShapePosition;
extern __declspec (package) const GUID GUID_WdTablePosition;
extern __declspec (package) const GUID GUID_WdDefaultListBehavior;
extern __declspec (package) const GUID GUID_WdDefaultTableBehavior;
extern __declspec (package) const GUID GUID_WdAutoFitBehavior;
extern __declspec (package) const GUID GUID_WdPreferredWidthType;
extern __declspec (package) const GUID GUID_WdFarEastLineBreakLanguageID;
extern __declspec (package) const GUID GUID_WdViewTypeOld;
extern __declspec (package) const GUID GUID_WdFramesetType;
extern __declspec (package) const GUID GUID_WdFramesetSizeType;
extern __declspec (package) const GUID GUID_WdFramesetNewFrameLocation;
extern __declspec (package) const GUID GUID_WdScrollbarType;
extern __declspec (package) const GUID GUID_WdTwoLinesInOneType;
extern __declspec (package) const GUID GUID_WdHorizontalInVerticalType;
extern __declspec (package) const GUID GUID_WdHorizontalLineAlignment;
extern __declspec (package) const GUID GUID_WdHorizontalLineWidthType;
extern __declspec (package) const GUID GUID_WdPhoneticGuideAlignmentType;
extern __declspec (package) const GUID GUID_WdNewDocumentType;
extern __declspec (package) const GUID GUID_WdKana;
extern __declspec (package) const GUID GUID_WdCharacterWidth;
extern __declspec (package) const GUID GUID_WdNumberStyleWordBasicBiDi;
extern __declspec (package) const GUID GUID_WdTCSCConverterDirection;
extern __declspec (package) const GUID IID_EmailAuthor;
extern __declspec (package) const GUID IID_EmailOptions;
extern __declspec (package) const GUID IID_EmailSignature;
extern __declspec (package) const GUID IID_Email;
extern __declspec (package) const GUID IID_HorizontalLineFormat;
extern __declspec (package) const GUID IID_Frameset;
extern __declspec (package) const GUID IID_DefaultWebOptions;
extern __declspec (package) const GUID IID_WebOptions;
extern __declspec (package) const GUID IID_OtherCorrectionsExceptions;
extern __declspec (package) const GUID IID_OtherCorrectionsException;
extern __declspec (package) const GUID IID_EmailSignatureEntries;
extern __declspec (package) const GUID IID_EmailSignatureEntry;
extern __declspec (package) const GUID IID_HTMLDivision;
extern __declspec (package) const GUID IID_HTMLDivisions;
extern __declspec (package) const GUID IID_DiagramNode;
extern __declspec (package) const GUID IID_DiagramNodeChildren;
extern __declspec (package) const GUID IID_DiagramNodes;
extern __declspec (package) const GUID IID_Diagram;
extern __declspec (package) const GUID IID_CustomProperty;
extern __declspec (package) const GUID IID_CustomProperties;
extern __declspec (package) const GUID IID_SmartTag;
extern __declspec (package) const GUID IID_SmartTags;
extern __declspec (package) const GUID IID_StyleSheet;
extern __declspec (package) const GUID IID_StyleSheets;
extern __declspec (package) const GUID IID_MappedDataField;
extern __declspec (package) const GUID IID_MappedDataFields;
extern __declspec (package) const GUID IID_CanvasShapes;
extern __declspec (package) const GUID IID_TableStyle;
extern __declspec (package) const GUID IID_ConditionalStyle;
extern __declspec (package) const GUID IID_FootnoteOptions;
extern __declspec (package) const GUID IID_EndnoteOptions;
extern __declspec (package) const GUID IID_Reviewers;
extern __declspec (package) const GUID IID_Reviewer;
extern __declspec (package) const GUID IID_TaskPane;
extern __declspec (package) const GUID IID_TaskPanes;
extern __declspec (package) const GUID IID_IApplicationEvents3;
extern __declspec (package) const GUID CLSID_WordApplication;
extern __declspec (package) const GUID GUID_WdDisableFeaturesIntroducedAfter;
extern __declspec (package) const GUID GUID_WdWrapTypeMerged;
extern __declspec (package) const GUID GUID_WdRecoveryType;
extern __declspec (package) const GUID GUID_WdLineEndingType;
extern __declspec (package) const GUID GUID_WdStyleSheetLinkType;
extern __declspec (package) const GUID GUID_WdStyleSheetPrecedence;
extern __declspec (package) const GUID GUID_WdEmailHTMLFidelity;
extern __declspec (package) const GUID GUID_WdMailMergeMailFormat;
extern __declspec (package) const GUID GUID_WdMappedDataFields;
extern __declspec (package) const GUID GUID_WdConditionCode;
extern __declspec (package) const GUID GUID_WdCompareTarget;
extern __declspec (package) const GUID GUID_WdMergeTarget;
extern __declspec (package) const GUID GUID_WdUseFormattingFrom;
extern __declspec (package) const GUID GUID_WdRevisionsView;
extern __declspec (package) const GUID GUID_WdRevisionsMode;
extern __declspec (package) const GUID GUID_WdRevisionsBalloonWidthType;
extern __declspec (package) const GUID GUID_WdRevisionsBalloonPrintOrientation;
extern __declspec (package) const GUID GUID_WdRevisionsBalloonMargin;
extern __declspec (package) const GUID GUID_WdTaskPanes;
extern __declspec (package) const GUID GUID_WdShowFilter;
extern __declspec (package) const GUID GUID_WdMergeSubType;
extern __declspec (package) const GUID GUID_WdDocumentDirection;
extern __declspec (package) const GUID GUID_WdLanguageID2000;

// *********************************************************************//
// Forward declaration of types defined in TypeLibrary                    
// *********************************************************************//
enum      WdMailSystem;
enum      WdTemplateType;
enum      WdContinue;
enum      WdIMEMode;
enum      WdBaselineAlignment;
enum      WdIndexFilter;
enum      WdIndexSortBy;
enum      WdJustificationMode;
enum      WdFarEastLineBreakLevel;
enum      WdMultipleWordConversionsMode;
enum      WdColorIndex;
enum      WdTextureIndex;
enum      WdUnderline;
enum      WdEmphasisMark;
enum      WdInternationalIndex;
enum      WdAutoMacros;
enum      WdCaptionPosition;
enum      WdCountry;
enum      WdHeadingSeparator;
enum      WdSeparatorType;
enum      WdPageNumberAlignment;
enum      WdBorderType;
enum      WdBorderTypeHID;
enum      WdFramePosition;
enum      WdAnimation;
enum      WdCharacterCase;
enum      WdCharacterCaseHID;
enum      WdSummaryMode;
enum      WdSummaryLength;
enum      WdStyleType;
enum      WdUnits;
enum      WdGoToItem;
enum      WdGoToDirection;
enum      WdCollapseDirection;
enum      WdRowHeightRule;
enum      WdFrameSizeRule;
enum      WdInsertCells;
enum      WdDeleteCells;
enum      WdListApplyTo;
enum      WdAlertLevel;
enum      WdCursorType;
enum      WdEnableCancelKey;
enum      WdRulerStyle;
enum      WdParagraphAlignment;
enum      WdParagraphAlignmentHID;
enum      WdListLevelAlignment;
enum      WdRowAlignment;
enum      WdTabAlignment;
enum      WdVerticalAlignment;
enum      WdCellVerticalAlignment;
enum      WdTrailingCharacter;
enum      WdListGalleryType;
enum      WdListNumberStyle;
enum      WdListNumberStyleHID;
enum      WdNoteNumberStyle;
enum      WdNoteNumberStyleHID;
enum      WdCaptionNumberStyle;
enum      WdCaptionNumberStyleHID;
enum      WdPageNumberStyle;
enum      WdPageNumberStyleHID;
enum      WdStatistic;
enum      WdStatisticHID;
enum      WdBuiltInProperty;
enum      WdLineSpacing;
enum      WdNumberType;
enum      WdListType;
enum      WdStoryType;
enum      WdSaveFormat;
enum      WdOpenFormat;
enum      WdHeaderFooterIndex;
enum      WdTocFormat;
enum      WdTofFormat;
enum      WdToaFormat;
enum      WdLineStyle;
enum      WdLineWidth;
enum      WdBreakType;
enum      WdTabLeader;
enum      WdTabLeaderHID;
enum      WdMeasurementUnits;
enum      WdMeasurementUnitsHID;
enum      WdDropPosition;
enum      WdNumberingRule;
enum      WdFootnoteLocation;
enum      WdEndnoteLocation;
enum      WdSortSeparator;
enum      WdTableFieldSeparator;
enum      WdSortFieldType;
enum      WdSortFieldTypeHID;
enum      WdSortOrder;
enum      WdTableFormat;
enum      WdTableFormatApply;
enum      WdLanguageID;
enum      WdFieldType;
enum      WdBuiltinStyle;
enum      WdWordDialogTab;
enum      WdWordDialogTabHID;
enum      WdWordDialog;
enum      WdWordDialogHID;
enum      WdFieldKind;
enum      WdTextFormFieldType;
enum      WdChevronConvertRule;
enum      WdMailMergeMainDocType;
enum      WdMailMergeState;
enum      WdMailMergeDestination;
enum      WdMailMergeActiveRecord;
enum      WdMailMergeDefaultRecord;
enum      WdMailMergeDataSource;
enum      WdMailMergeComparison;
enum      WdBookmarkSortBy;
enum      WdWindowState;
enum      WdPictureLinkType;
enum      WdLinkType;
enum      WdWindowType;
enum      WdViewType;
enum      WdSeekView;
enum      WdSpecialPane;
enum      WdPageFit;
enum      WdBrowseTarget;
enum      WdPaperTray;
enum      WdOrientation;
enum      WdSelectionType;
enum      WdCaptionLabelID;
enum      WdReferenceType;
enum      WdReferenceKind;
enum      WdIndexFormat;
enum      WdIndexType;
enum      WdRevisionsWrap;
enum      WdRevisionType;
enum      WdRoutingSlipDelivery;
enum      WdRoutingSlipStatus;
enum      WdSectionStart;
enum      WdSaveOptions;
enum      WdDocumentKind;
enum      WdDocumentType;
enum      WdOriginalFormat;
enum      WdRelocate;
enum      WdInsertedTextMark;
enum      WdRevisedLinesMark;
enum      WdDeletedTextMark;
enum      WdRevisedPropertiesMark;
enum      WdFieldShading;
enum      WdDefaultFilePath;
enum      WdCompatibility;
enum      WdPaperSize;
enum      WdCustomLabelPageSize;
enum      WdProtectionType;
enum      WdPartOfSpeech;
enum      WdSubscriberFormats;
enum      WdEditionType;
enum      WdEditionOption;
enum      WdRelativeHorizontalPosition;
enum      WdRelativeVerticalPosition;
enum      WdHelpType;
enum      WdHelpTypeHID;
enum      WdKeyCategory;
enum      WdKey;
enum      WdOLEType;
enum      WdOLEVerb;
enum      WdOLEPlacement;
enum      WdEnvelopeOrientation;
enum      WdLetterStyle;
enum      WdLetterheadLocation;
enum      WdSalutationType;
enum      WdSalutationGender;
enum      WdMovementType;
enum      WdConstants;
enum      WdPasteDataType;
enum      WdPrintOutItem;
enum      WdPrintOutPages;
enum      WdPrintOutRange;
enum      WdDictionaryType;
enum      WdDictionaryTypeHID;
enum      WdSpellingWordType;
enum      WdSpellingErrorType;
enum      WdProofreadingErrorType;
enum      WdInlineShapeType;
enum      WdArrangeStyle;
enum      WdSelectionFlags;
enum      WdAutoVersions;
enum      WdOrganizerObject;
enum      WdFindMatch;
enum      WdFindWrap;
enum      WdInformation;
enum      WdWrapType;
enum      WdWrapSideType;
enum      WdOutlineLevel;
enum      WdTextOrientation;
enum      WdTextOrientationHID;
enum      WdPageBorderArt;
enum      WdBorderDistanceFrom;
enum      WdReplace;
enum      WdFontBias;
enum      WdBrowserLevel;
enum      WdEnclosureType;
enum      WdEncloseStyle;
enum      WdHighAnsiText;
enum      WdLayoutMode;
enum      WdDocumentMedium;
enum      WdMailerPriority;
enum      WdDocumentViewDirection;
enum      WdArabicNumeral;
enum      WdMonthNames;
enum      WdCursorMovement;
enum      WdVisualSelection;
enum      WdTableDirection;
enum      WdFlowDirection;
enum      WdDiacriticColor;
enum      WdGutterStyle;
enum      WdGutterStyleOld;
enum      WdSectionDirection;
enum      WdDateLanguage;
enum      WdCalendarTypeBi;
enum      WdCalendarType;
enum      WdReadingOrder;
enum      WdHebSpellStart;
enum      WdAraSpeller;
enum      WdColor;
enum      WdShapePosition;
enum      WdTablePosition;
enum      WdDefaultListBehavior;
enum      WdDefaultTableBehavior;
enum      WdAutoFitBehavior;
enum      WdPreferredWidthType;
enum      WdFarEastLineBreakLanguageID;
enum      WdViewTypeOld;
enum      WdFramesetType;
enum      WdFramesetSizeType;
enum      WdFramesetNewFrameLocation;
enum      WdScrollbarType;
enum      WdTwoLinesInOneType;
enum      WdHorizontalInVerticalType;
enum      WdHorizontalLineAlignment;
enum      WdHorizontalLineWidthType;
enum      WdPhoneticGuideAlignmentType;
enum      WdNewDocumentType;
enum      WdKana;
enum      WdCharacterWidth;
enum      WdNumberStyleWordBasicBiDi;
enum      WdTCSCConverterDirection;
enum      WdDisableFeaturesIntroducedAfter;
enum      WdWrapTypeMerged;
enum      WdRecoveryType;
enum      WdLineEndingType;
enum      WdStyleSheetLinkType;
enum      WdStyleSheetPrecedence;
enum      WdEmailHTMLFidelity;
enum      WdMailMergeMailFormat;
enum      WdMappedDataFields;
enum      WdConditionCode;
enum      WdCompareTarget;
enum      WdMergeTarget;
enum      WdUseFormattingFrom;
enum      WdRevisionsView;
enum      WdRevisionsMode;
enum      WdRevisionsBalloonWidthType;
enum      WdRevisionsBalloonPrintOrientation;
enum      WdRevisionsBalloonMargin;
enum      WdTaskPanes;
enum      WdShowFilter;
enum      WdMergeSubType;
enum      WdDocumentDirection;
enum      WdLanguageID2000;
interface DECLSPEC_UUID("{00020970-0000-0000-C000-000000000046}") _Application;
typedef TComInterface<_Application, &IID__Application> _ApplicationPtr;

interface DECLSPEC_UUID("{000209B9-0000-0000-C000-000000000046}") _Global;
typedef TComInterface<_Global, &IID__Global> _GlobalPtr;

interface DECLSPEC_UUID("{0002096F-0000-0000-C000-000000000046}") FontNames;
typedef TComInterface<FontNames, &IID_FontNames> FontNamesPtr;

interface DECLSPEC_UUID("{0002096E-0000-0000-C000-000000000046}") Languages;
typedef TComInterface<Languages, &IID_Languages> LanguagesPtr;

interface DECLSPEC_UUID("{0002096D-0000-0000-C000-000000000046}") Language;
typedef TComInterface<Language, &IID_Language> LanguagePtr;

interface DECLSPEC_UUID("{0002096C-0000-0000-C000-000000000046}") Documents;
typedef TComInterface<Documents, &IID_Documents> DocumentsPtr;

interface DECLSPEC_UUID("{0002096B-0000-0000-C000-000000000046}") _Document;
typedef TComInterface<_Document, &IID__Document> _DocumentPtr;

interface DECLSPEC_UUID("{0002096A-0000-0000-C000-000000000046}") Template;
typedef TComInterface<Template, &IID_Template> TemplatePtr;

interface DECLSPEC_UUID("{000209A2-0000-0000-C000-000000000046}") Templates;
typedef TComInterface<Templates, &IID_Templates> TemplatesPtr;

interface DECLSPEC_UUID("{00020969-0000-0000-C000-000000000046}") RoutingSlip;
typedef TComInterface<RoutingSlip, &IID_RoutingSlip> RoutingSlipPtr;

interface DECLSPEC_UUID("{00020968-0000-0000-C000-000000000046}") Bookmark;
typedef TComInterface<Bookmark, &IID_Bookmark> BookmarkPtr;

interface DECLSPEC_UUID("{00020967-0000-0000-C000-000000000046}") Bookmarks;
typedef TComInterface<Bookmarks, &IID_Bookmarks> BookmarksPtr;

interface DECLSPEC_UUID("{00020966-0000-0000-C000-000000000046}") Variable;
typedef TComInterface<Variable, &IID_Variable> VariablePtr;

interface DECLSPEC_UUID("{00020965-0000-0000-C000-000000000046}") Variables;
typedef TComInterface<Variables, &IID_Variables> VariablesPtr;

interface DECLSPEC_UUID("{00020964-0000-0000-C000-000000000046}") RecentFile;
typedef TComInterface<RecentFile, &IID_RecentFile> RecentFilePtr;

interface DECLSPEC_UUID("{00020963-0000-0000-C000-000000000046}") RecentFiles;
typedef TComInterface<RecentFiles, &IID_RecentFiles> RecentFilesPtr;

interface DECLSPEC_UUID("{00020962-0000-0000-C000-000000000046}") WINDOW;
typedef TComInterface<WINDOW, &IID_WINDOW> WINDOWPtr;

interface DECLSPEC_UUID("{00020961-0000-0000-C000-000000000046}") Windows;
typedef TComInterface<Windows, &IID_Windows> WindowsPtr;

interface DECLSPEC_UUID("{00020960-0000-0000-C000-000000000046}") Pane;
typedef TComInterface<Pane, &IID_Pane> PanePtr;

interface DECLSPEC_UUID("{0002095F-0000-0000-C000-000000000046}") Panes;
typedef TComInterface<Panes, &IID_Panes> PanesPtr;

interface DECLSPEC_UUID("{0002095E-0000-0000-C000-000000000046}") WordRange;
typedef TComInterface<WordRange, &IID_WordRange> WordRangePtr;

interface DECLSPEC_UUID("{000209C0-0000-0000-C000-000000000046}") ListFormat;
typedef TComInterface<ListFormat, &IID_ListFormat> ListFormatPtr;

interface DECLSPEC_UUID("{000209B0-0000-0000-C000-000000000046}") Find;
typedef TComInterface<Find, &IID_Find> FindPtr;

interface DECLSPEC_UUID("{000209B1-0000-0000-C000-000000000046}") Replacement;
typedef TComInterface<Replacement, &IID_Replacement> ReplacementPtr;

interface DECLSPEC_UUID("{0002095D-0000-0000-C000-000000000046}") Characters;
typedef TComInterface<Characters, &IID_Characters> CharactersPtr;

interface DECLSPEC_UUID("{0002095C-0000-0000-C000-000000000046}") Words;
typedef TComInterface<Words, &IID_Words> WordsPtr;

interface DECLSPEC_UUID("{0002095B-0000-0000-C000-000000000046}") Sentences;
typedef TComInterface<Sentences, &IID_Sentences> SentencesPtr;

interface DECLSPEC_UUID("{0002095A-0000-0000-C000-000000000046}") Sections;
typedef TComInterface<Sections, &IID_Sections> SectionsPtr;

interface DECLSPEC_UUID("{00020959-0000-0000-C000-000000000046}") Section;
typedef TComInterface<Section, &IID_Section> SectionPtr;

interface DECLSPEC_UUID("{00020958-0000-0000-C000-000000000046}") Paragraphs;
typedef TComInterface<Paragraphs, &IID_Paragraphs> ParagraphsPtr;

interface DECLSPEC_UUID("{00020957-0000-0000-C000-000000000046}") Paragraph;
typedef TComInterface<Paragraph, &IID_Paragraph> ParagraphPtr;

interface DECLSPEC_UUID("{00020956-0000-0000-C000-000000000046}") DropCap;
typedef TComInterface<DropCap, &IID_DropCap> DropCapPtr;

interface DECLSPEC_UUID("{00020955-0000-0000-C000-000000000046}") TabStops;
typedef TComInterface<TabStops, &IID_TabStops> TabStopsPtr;

interface DECLSPEC_UUID("{00020954-0000-0000-C000-000000000046}") TabStop;
typedef TComInterface<TabStop, &IID_TabStop> TabStopPtr;

interface DECLSPEC_UUID("{00020953-0000-0000-C000-000000000046}") _ParagraphFormat;
typedef TComInterface<_ParagraphFormat, &IID__ParagraphFormat> _ParagraphFormatPtr;

interface DECLSPEC_UUID("{00020952-0000-0000-C000-000000000046}") _Font;
typedef TComInterface<_Font, &IID__Font> _FontPtr;

interface DECLSPEC_UUID("{00020951-0000-0000-C000-000000000046}") Table;
typedef TComInterface<Table, &IID_Table> TablePtr;

interface DECLSPEC_UUID("{00020950-0000-0000-C000-000000000046}") Row;
typedef TComInterface<Row, &IID_Row> RowPtr;

interface DECLSPEC_UUID("{0002094F-0000-0000-C000-000000000046}") Column;
typedef TComInterface<Column, &IID_Column> ColumnPtr;

interface DECLSPEC_UUID("{0002094E-0000-0000-C000-000000000046}") Cell;
typedef TComInterface<Cell, &IID_Cell> CellPtr;

interface DECLSPEC_UUID("{0002094D-0000-0000-C000-000000000046}") Tables;
typedef TComInterface<Tables, &IID_Tables> TablesPtr;

interface DECLSPEC_UUID("{0002094C-0000-0000-C000-000000000046}") Rows;
typedef TComInterface<Rows, &IID_Rows> RowsPtr;

interface DECLSPEC_UUID("{0002094B-0000-0000-C000-000000000046}") Columns;
typedef TComInterface<Columns, &IID_Columns> ColumnsPtr;

interface DECLSPEC_UUID("{0002094A-0000-0000-C000-000000000046}") Cells;
typedef TComInterface<Cells, &IID_Cells> CellsPtr;

interface DECLSPEC_UUID("{00020949-0000-0000-C000-000000000046}") AutoCorrect;
typedef TComInterface<AutoCorrect, &IID_AutoCorrect> AutoCorrectPtr;

interface DECLSPEC_UUID("{00020948-0000-0000-C000-000000000046}") AutoCorrectEntries;
typedef TComInterface<AutoCorrectEntries, &IID_AutoCorrectEntries> AutoCorrectEntriesPtr;

interface DECLSPEC_UUID("{00020947-0000-0000-C000-000000000046}") AutoCorrectEntry;
typedef TComInterface<AutoCorrectEntry, &IID_AutoCorrectEntry> AutoCorrectEntryPtr;

interface DECLSPEC_UUID("{00020946-0000-0000-C000-000000000046}") FirstLetterExceptions;
typedef TComInterface<FirstLetterExceptions, &IID_FirstLetterExceptions> FirstLetterExceptionsPtr;

interface DECLSPEC_UUID("{00020945-0000-0000-C000-000000000046}") FirstLetterException;
typedef TComInterface<FirstLetterException, &IID_FirstLetterException> FirstLetterExceptionPtr;

interface DECLSPEC_UUID("{00020944-0000-0000-C000-000000000046}") TwoInitialCapsExceptions;
typedef TComInterface<TwoInitialCapsExceptions, &IID_TwoInitialCapsExceptions> TwoInitialCapsExceptionsPtr;

interface DECLSPEC_UUID("{00020943-0000-0000-C000-000000000046}") TwoInitialCapsException;
typedef TComInterface<TwoInitialCapsException, &IID_TwoInitialCapsException> TwoInitialCapsExceptionPtr;

interface DECLSPEC_UUID("{00020942-0000-0000-C000-000000000046}") Footnotes;
typedef TComInterface<Footnotes, &IID_Footnotes> FootnotesPtr;

interface DECLSPEC_UUID("{00020941-0000-0000-C000-000000000046}") Endnotes;
typedef TComInterface<Endnotes, &IID_Endnotes> EndnotesPtr;

interface DECLSPEC_UUID("{00020940-0000-0000-C000-000000000046}") Comments;
typedef TComInterface<Comments, &IID_Comments> CommentsPtr;

interface DECLSPEC_UUID("{0002093F-0000-0000-C000-000000000046}") Footnote;
typedef TComInterface<Footnote, &IID_Footnote> FootnotePtr;

interface DECLSPEC_UUID("{0002093E-0000-0000-C000-000000000046}") Endnote;
typedef TComInterface<Endnote, &IID_Endnote> EndnotePtr;

interface DECLSPEC_UUID("{0002093D-0000-0000-C000-000000000046}") Comment;
typedef TComInterface<Comment, &IID_Comment> CommentPtr;

interface DECLSPEC_UUID("{0002093C-0000-0000-C000-000000000046}") Borders;
typedef TComInterface<Borders, &IID_Borders> BordersPtr;

interface DECLSPEC_UUID("{0002093B-0000-0000-C000-000000000046}") Border;
typedef TComInterface<Border, &IID_Border> BorderPtr;

interface DECLSPEC_UUID("{0002093A-0000-0000-C000-000000000046}") Shading;
typedef TComInterface<Shading, &IID_Shading> ShadingPtr;

interface DECLSPEC_UUID("{00020939-0000-0000-C000-000000000046}") TextRetrievalMode;
typedef TComInterface<TextRetrievalMode, &IID_TextRetrievalMode> TextRetrievalModePtr;

interface DECLSPEC_UUID("{00020937-0000-0000-C000-000000000046}") AutoTextEntries;
typedef TComInterface<AutoTextEntries, &IID_AutoTextEntries> AutoTextEntriesPtr;

interface DECLSPEC_UUID("{00020936-0000-0000-C000-000000000046}") AutoTextEntry;
typedef TComInterface<AutoTextEntry, &IID_AutoTextEntry> AutoTextEntryPtr;

interface DECLSPEC_UUID("{00020935-0000-0000-C000-000000000046}") SYSTEM;
typedef TComInterface<SYSTEM, &IID_SYSTEM> SYSTEMPtr;

interface DECLSPEC_UUID("{00020933-0000-0000-C000-000000000046}") OLEFormat;
typedef TComInterface<OLEFormat, &IID_OLEFormat> OLEFormatPtr;

interface DECLSPEC_UUID("{00020931-0000-0000-C000-000000000046}") LinkFormat;
typedef TComInterface<LinkFormat, &IID_LinkFormat> LinkFormatPtr;

interface DECLSPEC_UUID("{000209A4-0000-0000-C000-000000000046}") _OLEControl;
typedef TComInterface<_OLEControl, &IID__OLEControl> _OLEControlPtr;

interface DECLSPEC_UUID("{00020930-0000-0000-C000-000000000046}") Fields;
typedef TComInterface<Fields, &IID_Fields> FieldsPtr;

interface DECLSPEC_UUID("{0002092F-0000-0000-C000-000000000046}") Field;
typedef TComInterface<Field, &IID_Field> FieldPtr;

interface DECLSPEC_UUID("{0002092E-0000-0000-C000-000000000046}") Browser;
typedef TComInterface<Browser, &IID_Browser> BrowserPtr;

interface DECLSPEC_UUID("{0002092D-0000-0000-C000-000000000046}") Styles;
typedef TComInterface<Styles, &IID_Styles> StylesPtr;

interface DECLSPEC_UUID("{0002092C-0000-0000-C000-000000000046}") Style;
typedef TComInterface<Style, &IID_Style> StylePtr;

interface DECLSPEC_UUID("{0002092B-0000-0000-C000-000000000046}") Frames;
typedef TComInterface<Frames, &IID_Frames> FramesPtr;

interface DECLSPEC_UUID("{0002092A-0000-0000-C000-000000000046}") Frame;
typedef TComInterface<Frame, &IID_Frame> FramePtr;

interface DECLSPEC_UUID("{00020929-0000-0000-C000-000000000046}") FormFields;
typedef TComInterface<FormFields, &IID_FormFields> FormFieldsPtr;

interface DECLSPEC_UUID("{00020928-0000-0000-C000-000000000046}") FormField;
typedef TComInterface<FormField, &IID_FormField> FormFieldPtr;

interface DECLSPEC_UUID("{00020927-0000-0000-C000-000000000046}") TextInput;
typedef TComInterface<TextInput, &IID_TextInput> TextInputPtr;

interface DECLSPEC_UUID("{00020926-0000-0000-C000-000000000046}") CheckBox;
typedef TComInterface<CheckBox, &IID_CheckBox> CheckBoxPtr;

interface DECLSPEC_UUID("{00020925-0000-0000-C000-000000000046}") DropDown;
typedef TComInterface<DropDown, &IID_DropDown> DropDownPtr;

interface DECLSPEC_UUID("{00020924-0000-0000-C000-000000000046}") ListEntries;
typedef TComInterface<ListEntries, &IID_ListEntries> ListEntriesPtr;

interface DECLSPEC_UUID("{00020923-0000-0000-C000-000000000046}") ListEntry;
typedef TComInterface<ListEntry, &IID_ListEntry> ListEntryPtr;

interface DECLSPEC_UUID("{00020922-0000-0000-C000-000000000046}") TablesOfFigures;
typedef TComInterface<TablesOfFigures, &IID_TablesOfFigures> TablesOfFiguresPtr;

interface DECLSPEC_UUID("{00020921-0000-0000-C000-000000000046}") TableOfFigures;
typedef TComInterface<TableOfFigures, &IID_TableOfFigures> TableOfFiguresPtr;

interface DECLSPEC_UUID("{00020920-0000-0000-C000-000000000046}") MailMerge;
typedef TComInterface<MailMerge, &IID_MailMerge> MailMergePtr;

interface DECLSPEC_UUID("{0002091F-0000-0000-C000-000000000046}") MailMergeFields;
typedef TComInterface<MailMergeFields, &IID_MailMergeFields> MailMergeFieldsPtr;

interface DECLSPEC_UUID("{0002091E-0000-0000-C000-000000000046}") MailMergeField;
typedef TComInterface<MailMergeField, &IID_MailMergeField> MailMergeFieldPtr;

interface DECLSPEC_UUID("{0002091D-0000-0000-C000-000000000046}") MailMergeDataSource;
typedef TComInterface<MailMergeDataSource, &IID_MailMergeDataSource> MailMergeDataSourcePtr;

interface DECLSPEC_UUID("{0002091C-0000-0000-C000-000000000046}") MailMergeFieldNames;
typedef TComInterface<MailMergeFieldNames, &IID_MailMergeFieldNames> MailMergeFieldNamesPtr;

interface DECLSPEC_UUID("{0002091B-0000-0000-C000-000000000046}") MailMergeFieldName;
typedef TComInterface<MailMergeFieldName, &IID_MailMergeFieldName> MailMergeFieldNamePtr;

interface DECLSPEC_UUID("{0002091A-0000-0000-C000-000000000046}") MailMergeDataFields;
typedef TComInterface<MailMergeDataFields, &IID_MailMergeDataFields> MailMergeDataFieldsPtr;

interface DECLSPEC_UUID("{00020919-0000-0000-C000-000000000046}") MailMergeDataField;
typedef TComInterface<MailMergeDataField, &IID_MailMergeDataField> MailMergeDataFieldPtr;

interface DECLSPEC_UUID("{00020918-0000-0000-C000-000000000046}") Envelope;
typedef TComInterface<Envelope, &IID_Envelope> EnvelopePtr;

interface DECLSPEC_UUID("{00020917-0000-0000-C000-000000000046}") MailingLabel;
typedef TComInterface<MailingLabel, &IID_MailingLabel> MailingLabelPtr;

interface DECLSPEC_UUID("{00020916-0000-0000-C000-000000000046}") CustomLabels;
typedef TComInterface<CustomLabels, &IID_CustomLabels> CustomLabelsPtr;

interface DECLSPEC_UUID("{00020915-0000-0000-C000-000000000046}") CustomLabel;
typedef TComInterface<CustomLabel, &IID_CustomLabel> CustomLabelPtr;

interface DECLSPEC_UUID("{00020914-0000-0000-C000-000000000046}") TablesOfContents;
typedef TComInterface<TablesOfContents, &IID_TablesOfContents> TablesOfContentsPtr;

interface DECLSPEC_UUID("{00020913-0000-0000-C000-000000000046}") TableOfContents;
typedef TComInterface<TableOfContents, &IID_TableOfContents> TableOfContentsPtr;

interface DECLSPEC_UUID("{00020912-0000-0000-C000-000000000046}") TablesOfAuthorities;
typedef TComInterface<TablesOfAuthorities, &IID_TablesOfAuthorities> TablesOfAuthoritiesPtr;

interface DECLSPEC_UUID("{00020911-0000-0000-C000-000000000046}") TableOfAuthorities;
typedef TComInterface<TableOfAuthorities, &IID_TableOfAuthorities> TableOfAuthoritiesPtr;

interface DECLSPEC_UUID("{00020910-0000-0000-C000-000000000046}") Dialogs;
typedef TComInterface<Dialogs, &IID_Dialogs> DialogsPtr;

interface DECLSPEC_UUID("{000209B8-0000-0000-C000-000000000046}") Dialog;
typedef TComInterface<Dialog, &IID_Dialog> DialogPtr;

interface DECLSPEC_UUID("{00020971-0000-0000-C000-000000000046}") PageSetup;
typedef TComInterface<PageSetup, &IID_PageSetup> PageSetupPtr;

interface DECLSPEC_UUID("{00020972-0000-0000-C000-000000000046}") LineNumbering;
typedef TComInterface<LineNumbering, &IID_LineNumbering> LineNumberingPtr;

interface DECLSPEC_UUID("{00020973-0000-0000-C000-000000000046}") TextColumns;
typedef TComInterface<TextColumns, &IID_TextColumns> TextColumnsPtr;

interface DECLSPEC_UUID("{00020974-0000-0000-C000-000000000046}") TextColumn;
typedef TComInterface<TextColumn, &IID_TextColumn> TextColumnPtr;

interface DECLSPEC_UUID("{00020975-0000-0000-C000-000000000046}") WordSelection;
typedef TComInterface<WordSelection, &IID_WordSelection> WordSelectionPtr;

interface DECLSPEC_UUID("{00020976-0000-0000-C000-000000000046}") TablesOfAuthoritiesCategories;
typedef TComInterface<TablesOfAuthoritiesCategories, &IID_TablesOfAuthoritiesCategories> TablesOfAuthoritiesCategoriesPtr;

interface DECLSPEC_UUID("{00020977-0000-0000-C000-000000000046}") TableOfAuthoritiesCategory;
typedef TComInterface<TableOfAuthoritiesCategory, &IID_TableOfAuthoritiesCategory> TableOfAuthoritiesCategoryPtr;

interface DECLSPEC_UUID("{00020978-0000-0000-C000-000000000046}") CaptionLabels;
typedef TComInterface<CaptionLabels, &IID_CaptionLabels> CaptionLabelsPtr;

interface DECLSPEC_UUID("{00020979-0000-0000-C000-000000000046}") CaptionLabel;
typedef TComInterface<CaptionLabel, &IID_CaptionLabel> CaptionLabelPtr;

interface DECLSPEC_UUID("{0002097A-0000-0000-C000-000000000046}") AutoCaptions;
typedef TComInterface<AutoCaptions, &IID_AutoCaptions> AutoCaptionsPtr;

interface DECLSPEC_UUID("{0002097B-0000-0000-C000-000000000046}") AutoCaption;
typedef TComInterface<AutoCaption, &IID_AutoCaption> AutoCaptionPtr;

interface DECLSPEC_UUID("{0002097C-0000-0000-C000-000000000046}") Indexes;
typedef TComInterface<Indexes, &IID_Indexes> IndexesPtr;

interface DECLSPEC_UUID("{0002097D-0000-0000-C000-000000000046}") Index;
typedef TComInterface<Index, &IID_Index> IndexPtr;

interface DECLSPEC_UUID("{0002097E-0000-0000-C000-000000000046}") AddIn;
typedef TComInterface<AddIn, &IID_AddIn> AddInPtr;

interface DECLSPEC_UUID("{0002097F-0000-0000-C000-000000000046}") AddIns;
typedef TComInterface<AddIns, &IID_AddIns> AddInsPtr;

interface DECLSPEC_UUID("{00020980-0000-0000-C000-000000000046}") Revisions;
typedef TComInterface<Revisions, &IID_Revisions> RevisionsPtr;

interface DECLSPEC_UUID("{00020981-0000-0000-C000-000000000046}") Revision;
typedef TComInterface<Revision, &IID_Revision> RevisionPtr;

interface DECLSPEC_UUID("{00020982-0000-0000-C000-000000000046}") Task;
typedef TComInterface<Task, &IID_Task> TaskPtr;

interface DECLSPEC_UUID("{00020983-0000-0000-C000-000000000046}") Tasks;
typedef TComInterface<Tasks, &IID_Tasks> TasksPtr;

interface DECLSPEC_UUID("{00020984-0000-0000-C000-000000000046}") HeadersFooters;
typedef TComInterface<HeadersFooters, &IID_HeadersFooters> HeadersFootersPtr;

interface DECLSPEC_UUID("{00020985-0000-0000-C000-000000000046}") HeaderFooter;
typedef TComInterface<HeaderFooter, &IID_HeaderFooter> HeaderFooterPtr;

interface DECLSPEC_UUID("{00020986-0000-0000-C000-000000000046}") PageNumbers;
typedef TComInterface<PageNumbers, &IID_PageNumbers> PageNumbersPtr;

interface DECLSPEC_UUID("{00020987-0000-0000-C000-000000000046}") PageNumber;
typedef TComInterface<PageNumber, &IID_PageNumber> PageNumberPtr;

interface DECLSPEC_UUID("{00020988-0000-0000-C000-000000000046}") Subdocuments;
typedef TComInterface<Subdocuments, &IID_Subdocuments> SubdocumentsPtr;

interface DECLSPEC_UUID("{00020989-0000-0000-C000-000000000046}") Subdocument;
typedef TComInterface<Subdocument, &IID_Subdocument> SubdocumentPtr;

interface DECLSPEC_UUID("{0002098A-0000-0000-C000-000000000046}") HeadingStyles;
typedef TComInterface<HeadingStyles, &IID_HeadingStyles> HeadingStylesPtr;

interface DECLSPEC_UUID("{0002098B-0000-0000-C000-000000000046}") HeadingStyle;
typedef TComInterface<HeadingStyle, &IID_HeadingStyle> HeadingStylePtr;

interface DECLSPEC_UUID("{0002098C-0000-0000-C000-000000000046}") StoryRanges;
typedef TComInterface<StoryRanges, &IID_StoryRanges> StoryRangesPtr;

interface DECLSPEC_UUID("{0002098D-0000-0000-C000-000000000046}") ListLevel;
typedef TComInterface<ListLevel, &IID_ListLevel> ListLevelPtr;

interface DECLSPEC_UUID("{0002098E-0000-0000-C000-000000000046}") ListLevels;
typedef TComInterface<ListLevels, &IID_ListLevels> ListLevelsPtr;

interface DECLSPEC_UUID("{0002098F-0000-0000-C000-000000000046}") ListTemplate;
typedef TComInterface<ListTemplate, &IID_ListTemplate> ListTemplatePtr;

interface DECLSPEC_UUID("{00020990-0000-0000-C000-000000000046}") ListTemplates;
typedef TComInterface<ListTemplates, &IID_ListTemplates> ListTemplatesPtr;

interface DECLSPEC_UUID("{00020991-0000-0000-C000-000000000046}") ListParagraphs;
typedef TComInterface<ListParagraphs, &IID_ListParagraphs> ListParagraphsPtr;

interface DECLSPEC_UUID("{00020992-0000-0000-C000-000000000046}") List;
typedef TComInterface<List, &IID_List> ListPtr;

interface DECLSPEC_UUID("{00020993-0000-0000-C000-000000000046}") Lists;
typedef TComInterface<Lists, &IID_Lists> ListsPtr;

interface DECLSPEC_UUID("{00020994-0000-0000-C000-000000000046}") ListGallery;
typedef TComInterface<ListGallery, &IID_ListGallery> ListGalleryPtr;

interface DECLSPEC_UUID("{00020995-0000-0000-C000-000000000046}") ListGalleries;
typedef TComInterface<ListGalleries, &IID_ListGalleries> ListGalleriesPtr;

interface DECLSPEC_UUID("{00020996-0000-0000-C000-000000000046}") KeyBindings;
typedef TComInterface<KeyBindings, &IID_KeyBindings> KeyBindingsPtr;

interface DECLSPEC_UUID("{00020997-0000-0000-C000-000000000046}") KeysBoundTo;
typedef TComInterface<KeysBoundTo, &IID_KeysBoundTo> KeysBoundToPtr;

interface DECLSPEC_UUID("{00020998-0000-0000-C000-000000000046}") KeyBinding;
typedef TComInterface<KeyBinding, &IID_KeyBinding> KeyBindingPtr;

interface DECLSPEC_UUID("{00020999-0000-0000-C000-000000000046}") FileConverter;
typedef TComInterface<FileConverter, &IID_FileConverter> FileConverterPtr;

interface DECLSPEC_UUID("{0002099A-0000-0000-C000-000000000046}") FileConverters;
typedef TComInterface<FileConverters, &IID_FileConverters> FileConvertersPtr;

interface DECLSPEC_UUID("{0002099B-0000-0000-C000-000000000046}") SynonymInfo;
typedef TComInterface<SynonymInfo, &IID_SynonymInfo> SynonymInfoPtr;

interface DECLSPEC_UUID("{0002099C-0000-0000-C000-000000000046}") Hyperlinks;
typedef TComInterface<Hyperlinks, &IID_Hyperlinks> HyperlinksPtr;

interface DECLSPEC_UUID("{0002099D-0000-0000-C000-000000000046}") Hyperlink;
typedef TComInterface<Hyperlink, &IID_Hyperlink> HyperlinkPtr;

interface DECLSPEC_UUID("{0002099F-0000-0000-C000-000000000046}") Shapes;
typedef TComInterface<Shapes, &IID_Shapes> ShapesPtr;

interface DECLSPEC_UUID("{000209B5-0000-0000-C000-000000000046}") ShapeRange;
typedef TComInterface<ShapeRange, &IID_ShapeRange> ShapeRangePtr;

interface DECLSPEC_UUID("{000209B6-0000-0000-C000-000000000046}") GroupShapes;
typedef TComInterface<GroupShapes, &IID_GroupShapes> GroupShapesPtr;

interface DECLSPEC_UUID("{000209A0-0000-0000-C000-000000000046}") Shape;
typedef TComInterface<Shape, &IID_Shape> ShapePtr;

interface DECLSPEC_UUID("{000209B2-0000-0000-C000-000000000046}") TextFrame;
typedef TComInterface<TextFrame, &IID_TextFrame> TextFramePtr;

interface DECLSPEC_UUID("{000209A1-0000-0000-C000-000000000046}") _LetterContent;
typedef TComInterface<_LetterContent, &IID__LetterContent> _LetterContentPtr;

interface DECLSPEC_UUID("{000209A5-0000-0000-C000-000000000046}") View;
typedef TComInterface<View, &IID_View> ViewPtr;

interface DECLSPEC_UUID("{000209A6-0000-0000-C000-000000000046}") Zoom;
typedef TComInterface<Zoom, &IID_Zoom> ZoomPtr;

interface DECLSPEC_UUID("{000209A7-0000-0000-C000-000000000046}") Zooms;
typedef TComInterface<Zooms, &IID_Zooms> ZoomsPtr;

interface DECLSPEC_UUID("{000209A8-0000-0000-C000-000000000046}") InlineShape;
typedef TComInterface<InlineShape, &IID_InlineShape> InlineShapePtr;

interface DECLSPEC_UUID("{000209A9-0000-0000-C000-000000000046}") InlineShapes;
typedef TComInterface<InlineShapes, &IID_InlineShapes> InlineShapesPtr;

interface DECLSPEC_UUID("{000209AA-0000-0000-C000-000000000046}") SpellingSuggestions;
typedef TComInterface<SpellingSuggestions, &IID_SpellingSuggestions> SpellingSuggestionsPtr;

interface DECLSPEC_UUID("{000209AB-0000-0000-C000-000000000046}") SpellingSuggestion;
typedef TComInterface<SpellingSuggestion, &IID_SpellingSuggestion> SpellingSuggestionPtr;

interface DECLSPEC_UUID("{000209AC-0000-0000-C000-000000000046}") Dictionaries;
typedef TComInterface<Dictionaries, &IID_Dictionaries> DictionariesPtr;

interface DECLSPEC_UUID("{000209E0-0000-0000-C000-000000000046}") HangulHanjaConversionDictionaries;
typedef TComInterface<HangulHanjaConversionDictionaries, &IID_HangulHanjaConversionDictionaries> HangulHanjaConversionDictionariesPtr;

interface DECLSPEC_UUID("{000209AD-0000-0000-C000-000000000046}") Dictionary;
typedef TComInterface<Dictionary, &IID_Dictionary> DictionaryPtr;

interface DECLSPEC_UUID("{000209AE-0000-0000-C000-000000000046}") ReadabilityStatistics;
typedef TComInterface<ReadabilityStatistics, &IID_ReadabilityStatistics> ReadabilityStatisticsPtr;

interface DECLSPEC_UUID("{000209AF-0000-0000-C000-000000000046}") ReadabilityStatistic;
typedef TComInterface<ReadabilityStatistic, &IID_ReadabilityStatistic> ReadabilityStatisticPtr;

interface DECLSPEC_UUID("{000209B3-0000-0000-C000-000000000046}") Versions;
typedef TComInterface<Versions, &IID_Versions> VersionsPtr;

interface DECLSPEC_UUID("{000209B4-0000-0000-C000-000000000046}") Version;
typedef TComInterface<Version, &IID_Version> VersionPtr;

interface DECLSPEC_UUID("{000209B7-0000-0000-C000-000000000046}") Options;
typedef TComInterface<Options, &IID_Options> OptionsPtr;

interface DECLSPEC_UUID("{000209BA-0000-0000-C000-000000000046}") MailMessage;
typedef TComInterface<MailMessage, &IID_MailMessage> MailMessagePtr;

interface DECLSPEC_UUID("{000209BB-0000-0000-C000-000000000046}") ProofreadingErrors;
typedef TComInterface<ProofreadingErrors, &IID_ProofreadingErrors> ProofreadingErrorsPtr;

interface DECLSPEC_UUID("{000209BD-0000-0000-C000-000000000046}") Mailer;
typedef TComInterface<Mailer, &IID_Mailer> MailerPtr;

interface DECLSPEC_UUID("{000209C3-0000-0000-C000-000000000046}") WrapFormat;
typedef TComInterface<WrapFormat, &IID_WrapFormat> WrapFormatPtr;

interface DECLSPEC_UUID("{000209D1-0000-0000-C000-000000000046}") HangulAndAlphabetExceptions;
typedef TComInterface<HangulAndAlphabetExceptions, &IID_HangulAndAlphabetExceptions> HangulAndAlphabetExceptionsPtr;

interface DECLSPEC_UUID("{000209D2-0000-0000-C000-000000000046}") HangulAndAlphabetException;
typedef TComInterface<HangulAndAlphabetException, &IID_HangulAndAlphabetException> HangulAndAlphabetExceptionPtr;

interface DECLSPEC_UUID("{000209C4-0000-0000-C000-000000000046}") Adjustments;
typedef TComInterface<Adjustments, &IID_Adjustments> AdjustmentsPtr;

interface DECLSPEC_UUID("{000209C5-0000-0000-C000-000000000046}") CalloutFormat;
typedef TComInterface<CalloutFormat, &IID_CalloutFormat> CalloutFormatPtr;

interface DECLSPEC_UUID("{000209C6-0000-0000-C000-000000000046}") ColorFormat;
typedef TComInterface<ColorFormat, &IID_ColorFormat> ColorFormatPtr;

interface DECLSPEC_UUID("{000209C7-0000-0000-C000-000000000046}") ConnectorFormat;
typedef TComInterface<ConnectorFormat, &IID_ConnectorFormat> ConnectorFormatPtr;

interface DECLSPEC_UUID("{000209C8-0000-0000-C000-000000000046}") FillFormat;
typedef TComInterface<FillFormat, &IID_FillFormat> FillFormatPtr;

interface DECLSPEC_UUID("{000209C9-0000-0000-C000-000000000046}") FreeformBuilder;
typedef TComInterface<FreeformBuilder, &IID_FreeformBuilder> FreeformBuilderPtr;

interface DECLSPEC_UUID("{000209CA-0000-0000-C000-000000000046}") LineFormat;
typedef TComInterface<LineFormat, &IID_LineFormat> LineFormatPtr;

interface DECLSPEC_UUID("{000209CB-0000-0000-C000-000000000046}") PictureFormat;
typedef TComInterface<PictureFormat, &IID_PictureFormat> PictureFormatPtr;

interface DECLSPEC_UUID("{000209CC-0000-0000-C000-000000000046}") ShadowFormat;
typedef TComInterface<ShadowFormat, &IID_ShadowFormat> ShadowFormatPtr;

interface DECLSPEC_UUID("{000209CD-0000-0000-C000-000000000046}") ShapeNode;
typedef TComInterface<ShapeNode, &IID_ShapeNode> ShapeNodePtr;

interface DECLSPEC_UUID("{000209CE-0000-0000-C000-000000000046}") ShapeNodes;
typedef TComInterface<ShapeNodes, &IID_ShapeNodes> ShapeNodesPtr;

interface DECLSPEC_UUID("{000209CF-0000-0000-C000-000000000046}") TextEffectFormat;
typedef TComInterface<TextEffectFormat, &IID_TextEffectFormat> TextEffectFormatPtr;

interface DECLSPEC_UUID("{000209D0-0000-0000-C000-000000000046}") ThreeDFormat;
typedef TComInterface<ThreeDFormat, &IID_ThreeDFormat> ThreeDFormatPtr;

interface DECLSPEC_UUID("{000209F7-0000-0000-C000-000000000046}") ApplicationEvents;
typedef TComInterface<ApplicationEvents, &DIID_ApplicationEvents> ApplicationEventsPtr;

interface DECLSPEC_UUID("{000209FE-0000-0000-C000-000000000046}") ApplicationEvents2;
typedef TComInterface<ApplicationEvents2, &DIID_ApplicationEvents2> ApplicationEvents2Ptr;

interface DECLSPEC_UUID("{000209F6-0000-0000-C000-000000000046}") DocumentEvents;
typedef TComInterface<DocumentEvents, &DIID_DocumentEvents> DocumentEventsPtr;

interface DECLSPEC_UUID("{000209F3-0000-0000-C000-000000000046}") OCXEvents;
typedef TComInterface<OCXEvents, &DIID_OCXEvents> OCXEventsPtr;

interface DECLSPEC_UUID("{000209F7-0001-0000-C000-000000000046}") IApplicationEvents;
typedef TComInterface<IApplicationEvents, &IID_IApplicationEvents> IApplicationEventsPtr;

interface DECLSPEC_UUID("{000209FE-0001-0000-C000-000000000046}") IApplicationEvents2;
typedef TComInterface<IApplicationEvents2, &IID_IApplicationEvents2> IApplicationEvents2Ptr;

interface DECLSPEC_UUID("{00020A00-0000-0000-C000-000000000046}") ApplicationEvents3;
typedef TComInterface<ApplicationEvents3, &DIID_ApplicationEvents3> ApplicationEvents3Ptr;

interface DECLSPEC_UUID("{000209D7-0000-0000-C000-000000000046}") EmailAuthor;
typedef TComInterface<EmailAuthor, &IID_EmailAuthor> EmailAuthorPtr;

interface DECLSPEC_UUID("{000209DB-0000-0000-C000-000000000046}") EmailOptions;
typedef TComInterface<EmailOptions, &IID_EmailOptions> EmailOptionsPtr;

interface DECLSPEC_UUID("{000209DC-0000-0000-C000-000000000046}") EmailSignature;
typedef TComInterface<EmailSignature, &IID_EmailSignature> EmailSignaturePtr;

interface DECLSPEC_UUID("{000209DD-0000-0000-C000-000000000046}") Email;
typedef TComInterface<Email, &IID_Email> EmailPtr;

interface DECLSPEC_UUID("{000209DE-0000-0000-C000-000000000046}") HorizontalLineFormat;
typedef TComInterface<HorizontalLineFormat, &IID_HorizontalLineFormat> HorizontalLineFormatPtr;

interface DECLSPEC_UUID("{000209E2-0000-0000-C000-000000000046}") Frameset;
typedef TComInterface<Frameset, &IID_Frameset> FramesetPtr;

interface DECLSPEC_UUID("{000209E3-0000-0000-C000-000000000046}") DefaultWebOptions;
typedef TComInterface<DefaultWebOptions, &IID_DefaultWebOptions> DefaultWebOptionsPtr;

interface DECLSPEC_UUID("{000209E4-0000-0000-C000-000000000046}") WebOptions;
typedef TComInterface<WebOptions, &IID_WebOptions> WebOptionsPtr;

interface DECLSPEC_UUID("{000209DF-0000-0000-C000-000000000046}") OtherCorrectionsExceptions;
typedef TComInterface<OtherCorrectionsExceptions, &IID_OtherCorrectionsExceptions> OtherCorrectionsExceptionsPtr;

interface DECLSPEC_UUID("{000209E1-0000-0000-C000-000000000046}") OtherCorrectionsException;
typedef TComInterface<OtherCorrectionsException, &IID_OtherCorrectionsException> OtherCorrectionsExceptionPtr;

interface DECLSPEC_UUID("{000209E5-0000-0000-C000-000000000046}") EmailSignatureEntries;
typedef TComInterface<EmailSignatureEntries, &IID_EmailSignatureEntries> EmailSignatureEntriesPtr;

interface DECLSPEC_UUID("{000209E6-0000-0000-C000-000000000046}") EmailSignatureEntry;
typedef TComInterface<EmailSignatureEntry, &IID_EmailSignatureEntry> EmailSignatureEntryPtr;

interface DECLSPEC_UUID("{000209E7-0000-0000-C000-000000000046}") HTMLDivision;
typedef TComInterface<HTMLDivision, &IID_HTMLDivision> HTMLDivisionPtr;

interface DECLSPEC_UUID("{000209E8-0000-0000-C000-000000000046}") HTMLDivisions;
typedef TComInterface<HTMLDivisions, &IID_HTMLDivisions> HTMLDivisionsPtr;

interface DECLSPEC_UUID("{000209E9-0000-0000-C000-000000000046}") DiagramNode;
typedef TComInterface<DiagramNode, &IID_DiagramNode> DiagramNodePtr;

interface DECLSPEC_UUID("{000209EA-0000-0000-C000-000000000046}") DiagramNodeChildren;
typedef TComInterface<DiagramNodeChildren, &IID_DiagramNodeChildren> DiagramNodeChildrenPtr;

interface DECLSPEC_UUID("{000209EB-0000-0000-C000-000000000046}") DiagramNodes;
typedef TComInterface<DiagramNodes, &IID_DiagramNodes> DiagramNodesPtr;

interface DECLSPEC_UUID("{000209EC-0000-0000-C000-000000000046}") Diagram;
typedef TComInterface<Diagram, &IID_Diagram> DiagramPtr;

interface DECLSPEC_UUID("{B923FDE0-F08C-11D3-91B0-00105A0A19FD}") CustomProperty;
typedef TComInterface<CustomProperty, &IID_CustomProperty> CustomPropertyPtr;

interface DECLSPEC_UUID("{B923FDE1-F08C-11D3-91B0-00105A0A19FD}") CustomProperties;
typedef TComInterface<CustomProperties, &IID_CustomProperties> CustomPropertiesPtr;

interface DECLSPEC_UUID("{000209ED-0000-0000-C000-000000000046}") SmartTag;
typedef TComInterface<SmartTag, &IID_SmartTag> SmartTagPtr;

interface DECLSPEC_UUID("{000209EE-0000-0000-C000-000000000046}") SmartTags;
typedef TComInterface<SmartTags, &IID_SmartTags> SmartTagsPtr;

interface DECLSPEC_UUID("{000209EF-0000-0000-C000-000000000046}") StyleSheet;
typedef TComInterface<StyleSheet, &IID_StyleSheet> StyleSheetPtr;

interface DECLSPEC_UUID("{07B7CC7E-E66C-11D3-9454-00105AA31A08}") StyleSheets;
typedef TComInterface<StyleSheets, &IID_StyleSheets> StyleSheetsPtr;

interface DECLSPEC_UUID("{5D311669-EA51-11D3-87CC-00105AA31A34}") MappedDataField;
typedef TComInterface<MappedDataField, &IID_MappedDataField> MappedDataFieldPtr;

interface DECLSPEC_UUID("{799A6814-EA41-11D3-87CC-00105AA31A34}") MappedDataFields;
typedef TComInterface<MappedDataFields, &IID_MappedDataFields> MappedDataFieldsPtr;

interface DECLSPEC_UUID("{396F9073-F9FD-11D3-8EA0-0050049A1A01}") CanvasShapes;
typedef TComInterface<CanvasShapes, &IID_CanvasShapes> CanvasShapesPtr;

interface DECLSPEC_UUID("{B7564E97-0519-4C68-B400-3803E7C63242}") TableStyle;
typedef TComInterface<TableStyle, &IID_TableStyle> TableStylePtr;

interface DECLSPEC_UUID("{1498F56D-ED33-41F9-B37B-EF30E50B08AC}") ConditionalStyle;
typedef TComInterface<ConditionalStyle, &IID_ConditionalStyle> ConditionalStylePtr;

interface DECLSPEC_UUID("{BEA85A24-D7DA-4F3D-B58C-ED90FB01D615}") FootnoteOptions;
typedef TComInterface<FootnoteOptions, &IID_FootnoteOptions> FootnoteOptionsPtr;

interface DECLSPEC_UUID("{BF043168-F4DE-4E7C-B206-741A8B3EF71A}") EndnoteOptions;
typedef TComInterface<EndnoteOptions, &IID_EndnoteOptions> EndnoteOptionsPtr;

interface DECLSPEC_UUID("{12DCDC9A-5418-48A3-BBE6-EB57BAE275E8}") Reviewers;
typedef TComInterface<Reviewers, &IID_Reviewers> ReviewersPtr;

interface DECLSPEC_UUID("{47CEF4AE-DC32-4220-8AA5-19CCC0E6633A}") Reviewer;
typedef TComInterface<Reviewer, &IID_Reviewer> ReviewerPtr;

interface DECLSPEC_UUID("{B9F1A4E2-0D0A-43B7-8495-139E7ACBD840}") TaskPane;
typedef TComInterface<TaskPane, &IID_TaskPane> TaskPanePtr;

interface DECLSPEC_UUID("{E6AAEC05-E543-4085-BA92-9BF7D2474F5C}") TaskPanes;
typedef TComInterface<TaskPanes, &IID_TaskPanes> TaskPanesPtr;

interface DECLSPEC_UUID("{00020A00-0001-0000-C000-000000000046}") IApplicationEvents3;
typedef TComInterface<IApplicationEvents3, &IID_IApplicationEvents3> IApplicationEvents3Ptr;


// *********************************************************************//
// Declaration of CoClasses defined in Type Library                       
// (NOTE: Here we map each CoClass to its Default Interface)              
//                                                                        
// The LIBID_OF_ macro(s) map a LIBID_OF_CoClassName to the GUID of this  
// TypeLibrary. It simplifies the updating of macros when CoClass name    
// change.                                                                
// *********************************************************************//
typedef _Global WordGlobal;
typedef _GlobalPtr WordGlobalPtr;
typedef _Document WordDocument;
typedef _DocumentPtr WordDocumentPtr;
typedef _Font WordFont;
typedef _FontPtr WordFontPtr;
typedef _ParagraphFormat WordParagraphFormat;
typedef _ParagraphFormatPtr WordParagraphFormatPtr;
typedef _OLEControl WordOLEControl;
typedef _OLEControlPtr WordOLEControlPtr;
typedef _LetterContent WordLetterContent;
typedef _LetterContentPtr WordLetterContentPtr;
typedef _Application WordApplication;
typedef _ApplicationPtr WordApplicationPtr;

#define LIBID_OF_WordGlobal (&LIBID_Word)
#define LIBID_OF_WordDocument (&LIBID_Word)
#define LIBID_OF_WordFont (&LIBID_Word)
#define LIBID_OF_WordParagraphFormat (&LIBID_Word)
#define LIBID_OF_WordOLEControl (&LIBID_Word)
#define LIBID_OF_WordLetterContent (&LIBID_Word)
#define LIBID_OF_WordApplication (&LIBID_Word)

// *********************************************************************//
// Declaration of Enumerations defined in Type Library                    
// *********************************************************************//
typedef enum WdMailSystem
{
  wdNoMailSystem = 0, 
  wdMAPI = 1, 
  wdPowerTalk = 2, 
  wdMAPIandPowerTalk = 3
} WdMailSystem;

typedef enum WdTemplateType
{
  wdNormalTemplate = 0, 
  wdGlobalTemplate = 1, 
  wdAttachedTemplate = 2
} WdTemplateType;

typedef enum WdContinue
{
  wdContinueDisabled = 0, 
  wdResetList = 1, 
  wdContinueList = 2
} WdContinue;

typedef enum WdIMEMode
{
  wdIMEModeNoControl = 0, 
  wdIMEModeOn = 1, 
  wdIMEModeOff = 2, 
  wdIMEModeHiragana = 4, 
  wdIMEModeKatakana = 5, 
  wdIMEModeKatakanaHalf = 6, 
  wdIMEModeAlphaFull = 7, 
  wdIMEModeAlpha = 8, 
  wdIMEModeHangulFull = 9, 
  wdIMEModeHangul = 10
} WdIMEMode;

typedef enum WdBaselineAlignment
{
  wdBaselineAlignTop = 0, 
  wdBaselineAlignCenter = 1, 
  wdBaselineAlignBaseline = 2, 
  wdBaselineAlignFarEast50 = 3, 
  wdBaselineAlignAuto = 4
} WdBaselineAlignment;

typedef enum WdIndexFilter
{
  wdIndexFilterNone = 0, 
  wdIndexFilterAiueo = 1, 
  wdIndexFilterAkasatana = 2, 
  wdIndexFilterChosung = 3, 
  wdIndexFilterLow = 4, 
  wdIndexFilterMedium = 5, 
  wdIndexFilterFull = 6
} WdIndexFilter;

typedef enum WdIndexSortBy
{
  wdIndexSortByStroke = 0, 
  wdIndexSortBySyllable = 1
} WdIndexSortBy;

typedef enum WdJustificationMode
{
  wdJustificationModeExpand = 0, 
  wdJustificationModeCompress = 1, 
  wdJustificationModeCompressKana = 2
} WdJustificationMode;

typedef enum WdFarEastLineBreakLevel
{
  wdFarEastLineBreakLevelNormal = 0, 
  wdFarEastLineBreakLevelStrict = 1, 
  wdFarEastLineBreakLevelCustom = 2
} WdFarEastLineBreakLevel;

typedef enum WdMultipleWordConversionsMode
{
  wdHangulToHanja = 0, 
  wdHanjaToHangul = 1
} WdMultipleWordConversionsMode;

typedef enum WdColorIndex
{
  wdAuto = 0, 
  wdBlack = 1, 
  wdBlue = 2, 
  wdTurquoise = 3, 
  wdBrightGreen = 4, 
  wdPink = 5, 
  wdRed = 6, 
  wdYellow = 7, 
  wdWhite = 8, 
  wdDarkBlue = 9, 
  wdTeal = 10, 
  wdGreen = 11, 
  wdViolet = 12, 
  wdDarkRed = 13, 
  wdDarkYellow = 14, 
  wdGray50 = 15, 
  wdGray25 = 16, 
  wdByAuthor = 0xFFFFFFFF, 
  wdNoHighlight = 0
} WdColorIndex;

typedef enum WdTextureIndex
{
  wdTextureNone = 0, 
  wdTexture2Pt5Percent = 25, 
  wdTexture5Percent = 50, 
  wdTexture7Pt5Percent = 75, 
  wdTexture10Percent = 100, 
  wdTexture12Pt5Percent = 125, 
  wdTexture15Percent = 150, 
  wdTexture17Pt5Percent = 175, 
  wdTexture20Percent = 200, 
  wdTexture22Pt5Percent = 225, 
  wdTexture25Percent = 250, 
  wdTexture27Pt5Percent = 275, 
  wdTexture30Percent = 300, 
  wdTexture32Pt5Percent = 325, 
  wdTexture35Percent = 350, 
  wdTexture37Pt5Percent = 375, 
  wdTexture40Percent = 400, 
  wdTexture42Pt5Percent = 425, 
  wdTexture45Percent = 450, 
  wdTexture47Pt5Percent = 475, 
  wdTexture50Percent = 500, 
  wdTexture52Pt5Percent = 525, 
  wdTexture55Percent = 550, 
  wdTexture57Pt5Percent = 575, 
  wdTexture60Percent = 600, 
  wdTexture62Pt5Percent = 625, 
  wdTexture65Percent = 650, 
  wdTexture67Pt5Percent = 675, 
  wdTexture70Percent = 700, 
  wdTexture72Pt5Percent = 725, 
  wdTexture75Percent = 750, 
  wdTexture77Pt5Percent = 775, 
  wdTexture80Percent = 800, 
  wdTexture82Pt5Percent = 825, 
  wdTexture85Percent = 850, 
  wdTexture87Pt5Percent = 875, 
  wdTexture90Percent = 900, 
  wdTexture92Pt5Percent = 925, 
  wdTexture95Percent = 950, 
  wdTexture97Pt5Percent = 975, 
  wdTextureSolid = 1000, 
  wdTextureDarkHorizontal = 0xFFFFFFFF, 
  wdTextureDarkVertical = 0xFFFFFFFE, 
  wdTextureDarkDiagonalDown = 0xFFFFFFFD, 
  wdTextureDarkDiagonalUp = 0xFFFFFFFC, 
  wdTextureDarkCross = 0xFFFFFFFB, 
  wdTextureDarkDiagonalCross = 0xFFFFFFFA, 
  wdTextureHorizontal = 0xFFFFFFF9, 
  wdTextureVertical = 0xFFFFFFF8, 
  wdTextureDiagonalDown = 0xFFFFFFF7, 
  wdTextureDiagonalUp = 0xFFFFFFF6, 
  wdTextureCross = 0xFFFFFFF5, 
  wdTextureDiagonalCross = 0xFFFFFFF4
} WdTextureIndex;

typedef enum WdUnderline
{
  wdUnderlineNone = 0, 
  wdUnderlineSingle = 1, 
  wdUnderlineWords = 2, 
  wdUnderlineDouble = 3, 
  wdUnderlineDotted = 4, 
  wdUnderlineThick = 6, 
  wdUnderlineDash = 7, 
  wdUnderlineDotDash = 9, 
  wdUnderlineDotDotDash = 10, 
  wdUnderlineWavy = 11, 
  wdUnderlineWavyHeavy = 27, 
  wdUnderlineDottedHeavy = 20, 
  wdUnderlineDashHeavy = 23, 
  wdUnderlineDotDashHeavy = 25, 
  wdUnderlineDotDotDashHeavy = 26, 
  wdUnderlineDashLong = 39, 
  wdUnderlineDashLongHeavy = 55, 
  wdUnderlineWavyDouble = 43
} WdUnderline;

typedef enum WdEmphasisMark
{
  wdEmphasisMarkNone = 0, 
  wdEmphasisMarkOverSolidCircle = 1, 
  wdEmphasisMarkOverComma = 2, 
  wdEmphasisMarkOverWhiteCircle = 3, 
  wdEmphasisMarkUnderSolidCircle = 4
} WdEmphasisMark;

typedef enum WdInternationalIndex
{
  wdListSeparator = 17, 
  wdDecimalSeparator = 18, 
  wdThousandsSeparator = 19, 
  wdCurrencyCode = 20, 
  wd24HourClock = 21, 
  wdInternationalAM = 22, 
  wdInternationalPM = 23, 
  wdTimeSeparator = 24, 
  wdDateSeparator = 25, 
  wdProductLanguageID = 26
} WdInternationalIndex;

typedef enum WdAutoMacros
{
  wdAutoExec = 0, 
  wdAutoNew = 1, 
  wdAutoOpen = 2, 
  wdAutoClose = 3, 
  wdAutoExit = 4
} WdAutoMacros;

typedef enum WdCaptionPosition
{
  wdCaptionPositionAbove = 0, 
  wdCaptionPositionBelow = 1
} WdCaptionPosition;

typedef enum WdCountry
{
  wdUS = 1, 
  wdCanada = 2, 
  wdLatinAmerica = 3, 
  wdNetherlands = 31, 
  wdFrance = 33, 
  wdSpain = 34, 
  wdItaly = 39, 
  wdUK = 44, 
  wdDenmark = 45, 
  wdSweden = 46, 
  wdNorway = 47, 
  wdGermany = 49, 
  wdPeru = 51, 
  wdMexico = 52, 
  wdArgentina = 54, 
  wdBrazil = 55, 
  wdChile = 56, 
  wdVenezuela = 58, 
  wdJapan = 81, 
  wdTaiwan = 886, 
  wdChina = 86, 
  wdKorea = 82, 
  wdFinland = 358, 
  wdIceland = 354
} WdCountry;

typedef enum WdHeadingSeparator
{
  wdHeadingSeparatorNone = 0, 
  wdHeadingSeparatorBlankLine = 1, 
  wdHeadingSeparatorLetter = 2, 
  wdHeadingSeparatorLetterLow = 3, 
  wdHeadingSeparatorLetterFull = 4
} WdHeadingSeparator;

typedef enum WdSeparatorType
{
  wdSeparatorHyphen = 0, 
  wdSeparatorPeriod = 1, 
  wdSeparatorColon = 2, 
  wdSeparatorEmDash = 3, 
  wdSeparatorEnDash = 4
} WdSeparatorType;

typedef enum WdPageNumberAlignment
{
  wdAlignPageNumberLeft = 0, 
  wdAlignPageNumberCenter = 1, 
  wdAlignPageNumberRight = 2, 
  wdAlignPageNumberInside = 3, 
  wdAlignPageNumberOutside = 4
} WdPageNumberAlignment;

typedef enum WdBorderType
{
  wdBorderTop = 0xFFFFFFFF, 
  wdBorderLeft = 0xFFFFFFFE, 
  wdBorderBottom = 0xFFFFFFFD, 
  wdBorderRight = 0xFFFFFFFC, 
  wdBorderHorizontal = 0xFFFFFFFB, 
  wdBorderVertical = 0xFFFFFFFA, 
  wdBorderDiagonalDown = 0xFFFFFFF9, 
  wdBorderDiagonalUp = 0xFFFFFFF8
} WdBorderType;

typedef enum WdBorderTypeHID
{
  emptyenum = 0
} WdBorderTypeHID;

typedef enum WdFramePosition
{
  wdFrameTop = 0xFFF0BDC1, 
  wdFrameLeft = 0xFFF0BDC2, 
  wdFrameBottom = 0xFFF0BDC3, 
  wdFrameRight = 0xFFF0BDC4, 
  wdFrameCenter = 0xFFF0BDC5, 
  wdFrameInside = 0xFFF0BDC6, 
  wdFrameOutside = 0xFFF0BDC7
} WdFramePosition;

typedef enum WdAnimation
{
  wdAnimationNone = 0, 
  wdAnimationLasVegasLights = 1, 
  wdAnimationBlinkingBackground = 2, 
  wdAnimationSparkleText = 3, 
  wdAnimationMarchingBlackAnts = 4, 
  wdAnimationMarchingRedAnts = 5, 
  wdAnimationShimmer = 6
} WdAnimation;

typedef enum WdCharacterCase
{
  wdNextCase = 0xFFFFFFFF, 
  wdLowerCase = 0, 
  wdUpperCase = 1, 
  wdTitleWord = 2, 
  wdTitleSentence = 4, 
  wdToggleCase = 5, 
  wdHalfWidth = 6, 
  wdFullWidth = 7, 
  wdKatakana = 8, 
  wdHiragana = 9
} WdCharacterCase;

typedef enum WdCharacterCaseHID
{
  emptyenum_ = 0
} WdCharacterCaseHID;

typedef enum WdSummaryMode
{
  wdSummaryModeHighlight = 0, 
  wdSummaryModeHideAllButSummary = 1, 
  wdSummaryModeInsert = 2, 
  wdSummaryModeCreateNew = 3
} WdSummaryMode;

typedef enum WdSummaryLength
{
  wd10Sentences = 0xFFFFFFFE, 
  wd20Sentences = 0xFFFFFFFD, 
  wd100Words = 0xFFFFFFFC, 
  wd500Words = 0xFFFFFFFB, 
  wd10Percent = 0xFFFFFFFA, 
  wd25Percent = 0xFFFFFFF9, 
  wd50Percent = 0xFFFFFFF8, 
  wd75Percent = 0xFFFFFFF7
} WdSummaryLength;

typedef enum WdStyleType
{
  wdStyleTypeParagraph = 1, 
  wdStyleTypeCharacter = 2, 
  wdStyleTypeTable = 3, 
  wdStyleTypeList = 4
} WdStyleType;

typedef enum WdUnits
{
  wdCharacter = 1, 
  wdWord = 2, 
  wdSentence = 3, 
  wdParagraph = 4, 
  wdLine = 5, 
  wdStory = 6, 
  wdScreen = 7, 
  wdSection = 8, 
  wdColumn = 9, 
  wdRow = 10, 
  wdWindow = 11, 
  wdCell = 12, 
  wdCharacterFormatting = 13, 
  wdParagraphFormatting = 14, 
  wdTable = 15, 
  wdItem = 16
} WdUnits;

typedef enum WdGoToItem
{
  wdGoToBookmark = 0xFFFFFFFF, 
  wdGoToSection = 0, 
  wdGoToPage = 1, 
  wdGoToTable = 2, 
  wdGoToLine = 3, 
  wdGoToFootnote = 4, 
  wdGoToEndnote = 5, 
  wdGoToComment = 6, 
  wdGoToField = 7, 
  wdGoToGraphic = 8, 
  wdGoToObject = 9, 
  wdGoToEquation = 10, 
  wdGoToHeading = 11, 
  wdGoToPercent = 12, 
  wdGoToSpellingError = 13, 
  wdGoToGrammaticalError = 14, 
  wdGoToProofreadingError = 15
} WdGoToItem;

typedef enum WdGoToDirection
{
  wdGoToFirst = 1, 
  wdGoToLast = 0xFFFFFFFF, 
  wdGoToNext = 2, 
  wdGoToRelative = 2, 
  wdGoToPrevious = 3, 
  wdGoToAbsolute = 1
} WdGoToDirection;

typedef enum WdCollapseDirection
{
  wdCollapseStart = 1, 
  wdCollapseEnd = 0
} WdCollapseDirection;

typedef enum WdRowHeightRule
{
  wdRowHeightAuto = 0, 
  wdRowHeightAtLeast = 1, 
  wdRowHeightExactly = 2
} WdRowHeightRule;

typedef enum WdFrameSizeRule
{
  wdFrameAuto = 0, 
  wdFrameAtLeast = 1, 
  wdFrameExact = 2
} WdFrameSizeRule;

typedef enum WdInsertCells
{
  wdInsertCellsShiftRight = 0, 
  wdInsertCellsShiftDown = 1, 
  wdInsertCellsEntireRow = 2, 
  wdInsertCellsEntireColumn = 3
} WdInsertCells;

typedef enum WdDeleteCells
{
  wdDeleteCellsShiftLeft = 0, 
  wdDeleteCellsShiftUp = 1, 
  wdDeleteCellsEntireRow = 2, 
  wdDeleteCellsEntireColumn = 3
} WdDeleteCells;

typedef enum WdListApplyTo
{
  wdListApplyToWholeList = 0, 
  wdListApplyToThisPointForward = 1, 
  wdListApplyToSelection = 2
} WdListApplyTo;

typedef enum WdAlertLevel
{
  wdAlertsNone = 0, 
  wdAlertsMessageBox = 0xFFFFFFFE, 
  wdAlertsAll = 0xFFFFFFFF
} WdAlertLevel;

typedef enum WdCursorType
{
  wdCursorWait = 0, 
  wdCursorIBeam = 1, 
  wdCursorNormal = 2, 
  wdCursorNorthwestArrow = 3
} WdCursorType;

typedef enum WdEnableCancelKey
{
  wdCancelDisabled = 0, 
  wdCancelInterrupt = 1
} WdEnableCancelKey;

typedef enum WdRulerStyle
{
  wdAdjustNone = 0, 
  wdAdjustProportional = 1, 
  wdAdjustFirstColumn = 2, 
  wdAdjustSameWidth = 3
} WdRulerStyle;

typedef enum WdParagraphAlignment
{
  wdAlignParagraphLeft = 0, 
  wdAlignParagraphCenter = 1, 
  wdAlignParagraphRight = 2, 
  wdAlignParagraphJustify = 3, 
  wdAlignParagraphDistribute = 4, 
  wdAlignParagraphJustifyMed = 5, 
  wdAlignParagraphJustifyHi = 7, 
  wdAlignParagraphJustifyLow = 8, 
  wdAlignParagraphThaiJustify = 9
} WdParagraphAlignment;

typedef enum WdParagraphAlignmentHID
{
  emptyenum__ = 0
} WdParagraphAlignmentHID;

typedef enum WdListLevelAlignment
{
  wdListLevelAlignLeft = 0, 
  wdListLevelAlignCenter = 1, 
  wdListLevelAlignRight = 2
} WdListLevelAlignment;

typedef enum WdRowAlignment
{
  wdAlignRowLeft = 0, 
  wdAlignRowCenter = 1, 
  wdAlignRowRight = 2
} WdRowAlignment;

typedef enum WdTabAlignment
{
  wdAlignTabLeft = 0, 
  wdAlignTabCenter = 1, 
  wdAlignTabRight = 2, 
  wdAlignTabDecimal = 3, 
  wdAlignTabBar = 4, 
  wdAlignTabList = 6
} WdTabAlignment;

typedef enum WdVerticalAlignment
{
  wdAlignVerticalTop = 0, 
  wdAlignVerticalCenter = 1, 
  wdAlignVerticalJustify = 2, 
  wdAlignVerticalBottom = 3
} WdVerticalAlignment;

typedef enum WdCellVerticalAlignment
{
  wdCellAlignVerticalTop = 0, 
  wdCellAlignVerticalCenter = 1, 
  wdCellAlignVerticalBottom = 3
} WdCellVerticalAlignment;

typedef enum WdTrailingCharacter
{
  wdTrailingTab = 0, 
  wdTrailingSpace = 1, 
  wdTrailingNone = 2
} WdTrailingCharacter;

typedef enum WdListGalleryType
{
  wdBulletGallery = 1, 
  wdNumberGallery = 2, 
  wdOutlineNumberGallery = 3
} WdListGalleryType;

typedef enum WdListNumberStyle
{
  wdListNumberStyleArabic = 0, 
  wdListNumberStyleUppercaseRoman = 1, 
  wdListNumberStyleLowercaseRoman = 2, 
  wdListNumberStyleUppercaseLetter = 3, 
  wdListNumberStyleLowercaseLetter = 4, 
  wdListNumberStyleOrdinal = 5, 
  wdListNumberStyleCardinalText = 6, 
  wdListNumberStyleOrdinalText = 7, 
  wdListNumberStyleKanji = 10, 
  wdListNumberStyleKanjiDigit = 11, 
  wdListNumberStyleAiueoHalfWidth = 12, 
  wdListNumberStyleIrohaHalfWidth = 13, 
  wdListNumberStyleArabicFullWidth = 14, 
  wdListNumberStyleKanjiTraditional = 16, 
  wdListNumberStyleKanjiTraditional2 = 17, 
  wdListNumberStyleNumberInCircle = 18, 
  wdListNumberStyleAiueo = 20, 
  wdListNumberStyleIroha = 21, 
  wdListNumberStyleArabicLZ = 22, 
  wdListNumberStyleBullet = 23, 
  wdListNumberStyleGanada = 24, 
  wdListNumberStyleChosung = 25, 
  wdListNumberStyleGBNum1 = 26, 
  wdListNumberStyleGBNum2 = 27, 
  wdListNumberStyleGBNum3 = 28, 
  wdListNumberStyleGBNum4 = 29, 
  wdListNumberStyleZodiac1 = 30, 
  wdListNumberStyleZodiac2 = 31, 
  wdListNumberStyleZodiac3 = 32, 
  wdListNumberStyleTradChinNum1 = 33, 
  wdListNumberStyleTradChinNum2 = 34, 
  wdListNumberStyleTradChinNum3 = 35, 
  wdListNumberStyleTradChinNum4 = 36, 
  wdListNumberStyleSimpChinNum1 = 37, 
  wdListNumberStyleSimpChinNum2 = 38, 
  wdListNumberStyleSimpChinNum3 = 39, 
  wdListNumberStyleSimpChinNum4 = 40, 
  wdListNumberStyleHanjaRead = 41, 
  wdListNumberStyleHanjaReadDigit = 42, 
  wdListNumberStyleHangul = 43, 
  wdListNumberStyleHanja = 44, 
  wdListNumberStyleHebrew1 = 45, 
  wdListNumberStyleArabic1 = 46, 
  wdListNumberStyleHebrew2 = 47, 
  wdListNumberStyleArabic2 = 48, 
  wdListNumberStyleHindiLetter1 = 49, 
  wdListNumberStyleHindiLetter2 = 50, 
  wdListNumberStyleHindiArabic = 51, 
  wdListNumberStyleHindiCardinalText = 52, 
  wdListNumberStyleThaiLetter = 53, 
  wdListNumberStyleThaiArabic = 54, 
  wdListNumberStyleThaiCardinalText = 55, 
  wdListNumberStyleVietCardinalText = 56, 
  wdListNumberStyleLowercaseRussian = 58, 
  wdListNumberStyleUppercaseRussian = 59, 
  wdListNumberStylePictureBullet = 249, 
  wdListNumberStyleLegal = 253, 
  wdListNumberStyleLegalLZ = 254, 
  wdListNumberStyleNone = 255
} WdListNumberStyle;

typedef enum WdListNumberStyleHID
{
  emptyenum___ = 0
} WdListNumberStyleHID;

typedef enum WdNoteNumberStyle
{
  wdNoteNumberStyleArabic = 0, 
  wdNoteNumberStyleUppercaseRoman = 1, 
  wdNoteNumberStyleLowercaseRoman = 2, 
  wdNoteNumberStyleUppercaseLetter = 3, 
  wdNoteNumberStyleLowercaseLetter = 4, 
  wdNoteNumberStyleSymbol = 9, 
  wdNoteNumberStyleArabicFullWidth = 14, 
  wdNoteNumberStyleKanji = 10, 
  wdNoteNumberStyleKanjiDigit = 11, 
  wdNoteNumberStyleKanjiTraditional = 16, 
  wdNoteNumberStyleNumberInCircle = 18, 
  wdNoteNumberStyleHanjaRead = 41, 
  wdNoteNumberStyleHanjaReadDigit = 42, 
  wdNoteNumberStyleTradChinNum1 = 33, 
  wdNoteNumberStyleTradChinNum2 = 34, 
  wdNoteNumberStyleSimpChinNum1 = 37, 
  wdNoteNumberStyleSimpChinNum2 = 38, 
  wdNoteNumberStyleHebrewLetter1 = 45, 
  wdNoteNumberStyleArabicLetter1 = 46, 
  wdNoteNumberStyleHebrewLetter2 = 47, 
  wdNoteNumberStyleArabicLetter2 = 48, 
  wdNoteNumberStyleHindiLetter1 = 49, 
  wdNoteNumberStyleHindiLetter2 = 50, 
  wdNoteNumberStyleHindiArabic = 51, 
  wdNoteNumberStyleHindiCardinalText = 52, 
  wdNoteNumberStyleThaiLetter = 53, 
  wdNoteNumberStyleThaiArabic = 54, 
  wdNoteNumberStyleThaiCardinalText = 55, 
  wdNoteNumberStyleVietCardinalText = 56
} WdNoteNumberStyle;

typedef enum WdNoteNumberStyleHID
{
  emptyenum____ = 0
} WdNoteNumberStyleHID;

typedef enum WdCaptionNumberStyle
{
  wdCaptionNumberStyleArabic = 0, 
  wdCaptionNumberStyleUppercaseRoman = 1, 
  wdCaptionNumberStyleLowercaseRoman = 2, 
  wdCaptionNumberStyleUppercaseLetter = 3, 
  wdCaptionNumberStyleLowercaseLetter = 4, 
  wdCaptionNumberStyleArabicFullWidth = 14, 
  wdCaptionNumberStyleKanji = 10, 
  wdCaptionNumberStyleKanjiDigit = 11, 
  wdCaptionNumberStyleKanjiTraditional = 16, 
  wdCaptionNumberStyleNumberInCircle = 18, 
  wdCaptionNumberStyleGanada = 24, 
  wdCaptionNumberStyleChosung = 25, 
  wdCaptionNumberStyleZodiac1 = 30, 
  wdCaptionNumberStyleZodiac2 = 31, 
  wdCaptionNumberStyleHanjaRead = 41, 
  wdCaptionNumberStyleHanjaReadDigit = 42, 
  wdCaptionNumberStyleTradChinNum2 = 34, 
  wdCaptionNumberStyleTradChinNum3 = 35, 
  wdCaptionNumberStyleSimpChinNum2 = 38, 
  wdCaptionNumberStyleSimpChinNum3 = 39, 
  wdCaptionNumberStyleHebrewLetter1 = 45, 
  wdCaptionNumberStyleArabicLetter1 = 46, 
  wdCaptionNumberStyleHebrewLetter2 = 47, 
  wdCaptionNumberStyleArabicLetter2 = 48, 
  wdCaptionNumberStyleHindiLetter1 = 49, 
  wdCaptionNumberStyleHindiLetter2 = 50, 
  wdCaptionNumberStyleHindiArabic = 51, 
  wdCaptionNumberStyleHindiCardinalText = 52, 
  wdCaptionNumberStyleThaiLetter = 53, 
  wdCaptionNumberStyleThaiArabic = 54, 
  wdCaptionNumberStyleThaiCardinalText = 55, 
  wdCaptionNumberStyleVietCardinalText = 56
} WdCaptionNumberStyle;

typedef enum WdCaptionNumberStyleHID
{
  emptyenum_____ = 0
} WdCaptionNumberStyleHID;

typedef enum WdPageNumberStyle
{
  wdPageNumberStyleArabic = 0, 
  wdPageNumberStyleUppercaseRoman = 1, 
  wdPageNumberStyleLowercaseRoman = 2, 
  wdPageNumberStyleUppercaseLetter = 3, 
  wdPageNumberStyleLowercaseLetter = 4, 
  wdPageNumberStyleArabicFullWidth = 14, 
  wdPageNumberStyleKanji = 10, 
  wdPageNumberStyleKanjiDigit = 11, 
  wdPageNumberStyleKanjiTraditional = 16, 
  wdPageNumberStyleNumberInCircle = 18, 
  wdPageNumberStyleHanjaRead = 41, 
  wdPageNumberStyleHanjaReadDigit = 42, 
  wdPageNumberStyleTradChinNum1 = 33, 
  wdPageNumberStyleTradChinNum2 = 34, 
  wdPageNumberStyleSimpChinNum1 = 37, 
  wdPageNumberStyleSimpChinNum2 = 38, 
  wdPageNumberStyleHebrewLetter1 = 45, 
  wdPageNumberStyleArabicLetter1 = 46, 
  wdPageNumberStyleHebrewLetter2 = 47, 
  wdPageNumberStyleArabicLetter2 = 48, 
  wdPageNumberStyleHindiLetter1 = 49, 
  wdPageNumberStyleHindiLetter2 = 50, 
  wdPageNumberStyleHindiArabic = 51, 
  wdPageNumberStyleHindiCardinalText = 52, 
  wdPageNumberStyleThaiLetter = 53, 
  wdPageNumberStyleThaiArabic = 54, 
  wdPageNumberStyleThaiCardinalText = 55, 
  wdPageNumberStyleVietCardinalText = 56, 
  wdPageNumberStyleNumberInDash = 57
} WdPageNumberStyle;

typedef enum WdPageNumberStyleHID
{
  emptyenum______ = 0
} WdPageNumberStyleHID;

typedef enum WdStatistic
{
  wdStatisticWords = 0, 
  wdStatisticLines = 1, 
  wdStatisticPages = 2, 
  wdStatisticCharacters = 3, 
  wdStatisticParagraphs = 4, 
  wdStatisticCharactersWithSpaces = 5, 
  wdStatisticFarEastCharacters = 6
} WdStatistic;

typedef enum WdStatisticHID
{
  emptyenum_______ = 0
} WdStatisticHID;

typedef enum WdBuiltInProperty
{
  wdPropertyTitle = 1, 
  wdPropertySubject = 2, 
  wdPropertyAuthor = 3, 
  wdPropertyKeywords = 4, 
  wdPropertyComments = 5, 
  wdPropertyTemplate = 6, 
  wdPropertyLastAuthor = 7, 
  wdPropertyRevision = 8, 
  wdPropertyAppName = 9, 
  wdPropertyTimeLastPrinted = 10, 
  wdPropertyTimeCreated = 11, 
  wdPropertyTimeLastSaved = 12, 
  wdPropertyVBATotalEdit = 13, 
  wdPropertyPages = 14, 
  wdPropertyWords = 15, 
  wdPropertyCharacters = 16, 
  wdPropertySecurity = 17, 
  wdPropertyCategory = 18, 
  wdPropertyFormat = 19, 
  wdPropertyManager = 20, 
  wdPropertyCompany = 21, 
  wdPropertyBytes = 22, 
  wdPropertyLines = 23, 
  wdPropertyParas = 24, 
  wdPropertySlides = 25, 
  wdPropertyNotes = 26, 
  wdPropertyHiddenSlides = 27, 
  wdPropertyMMClips = 28, 
  wdPropertyHyperlinkBase = 29, 
  wdPropertyCharsWSpaces = 30
} WdBuiltInProperty;

typedef enum WdLineSpacing
{
  wdLineSpaceSingle = 0, 
  wdLineSpace1pt5 = 1, 
  wdLineSpaceDouble = 2, 
  wdLineSpaceAtLeast = 3, 
  wdLineSpaceExactly = 4, 
  wdLineSpaceMultiple = 5
} WdLineSpacing;

typedef enum WdNumberType
{
  wdNumberParagraph = 1, 
  wdNumberListNum = 2, 
  wdNumberAllNumbers = 3
} WdNumberType;

typedef enum WdListType
{
  wdListNoNumbering = 0, 
  wdListListNumOnly = 1, 
  wdListBullet = 2, 
  wdListSimpleNumbering = 3, 
  wdListOutlineNumbering = 4, 
  wdListMixedNumbering = 5, 
  wdListPictureBullet = 6
} WdListType;

typedef enum WdStoryType
{
  wdMainTextStory = 1, 
  wdFootnotesStory = 2, 
  wdEndnotesStory = 3, 
  wdCommentsStory = 4, 
  wdTextFrameStory = 5, 
  wdEvenPagesHeaderStory = 6, 
  wdPrimaryHeaderStory = 7, 
  wdEvenPagesFooterStory = 8, 
  wdPrimaryFooterStory = 9, 
  wdFirstPageHeaderStory = 10, 
  wdFirstPageFooterStory = 11
} WdStoryType;

typedef enum WdSaveFormat
{
  wdFormatDocument = 0, 
  wdFormatTemplate = 1, 
  wdFormatText = 2, 
  wdFormatTextLineBreaks = 3, 
  wdFormatDOSText = 4, 
  wdFormatDOSTextLineBreaks = 5, 
  wdFormatRTF = 6, 
  wdFormatUnicodeText = 7, 
  wdFormatEncodedText = 7, 
  wdFormatHTML = 8, 
  wdFormatWebArchive = 9, 
  wdFormatFilteredHTML = 10
} WdSaveFormat;

typedef enum WdOpenFormat
{
  wdOpenFormatAuto = 0, 
  wdOpenFormatDocument = 1, 
  wdOpenFormatTemplate = 2, 
  wdOpenFormatRTF = 3, 
  wdOpenFormatText = 4, 
  wdOpenFormatUnicodeText = 5, 
  wdOpenFormatEncodedText = 5, 
  wdOpenFormatAllWord = 6, 
  wdOpenFormatWebPages = 7
} WdOpenFormat;

typedef enum WdHeaderFooterIndex
{
  wdHeaderFooterPrimary = 1, 
  wdHeaderFooterFirstPage = 2, 
  wdHeaderFooterEvenPages = 3
} WdHeaderFooterIndex;

typedef enum WdTocFormat
{
  wdTOCTemplate = 0, 
  wdTOCClassic = 1, 
  wdTOCDistinctive = 2, 
  wdTOCFancy = 3, 
  wdTOCModern = 4, 
  wdTOCFormal = 5, 
  wdTOCSimple = 6
} WdTocFormat;

typedef enum WdTofFormat
{
  wdTOFTemplate = 0, 
  wdTOFClassic = 1, 
  wdTOFDistinctive = 2, 
  wdTOFCentered = 3, 
  wdTOFFormal = 4, 
  wdTOFSimple = 5
} WdTofFormat;

typedef enum WdToaFormat
{
  wdTOATemplate = 0, 
  wdTOAClassic = 1, 
  wdTOADistinctive = 2, 
  wdTOAFormal = 3, 
  wdTOASimple = 4
} WdToaFormat;

typedef enum WdLineStyle
{
  wdLineStyleNone = 0, 
  wdLineStyleSingle = 1, 
  wdLineStyleDot = 2, 
  wdLineStyleDashSmallGap = 3, 
  wdLineStyleDashLargeGap = 4, 
  wdLineStyleDashDot = 5, 
  wdLineStyleDashDotDot = 6, 
  wdLineStyleDouble = 7, 
  wdLineStyleTriple = 8, 
  wdLineStyleThinThickSmallGap = 9, 
  wdLineStyleThickThinSmallGap = 10, 
  wdLineStyleThinThickThinSmallGap = 11, 
  wdLineStyleThinThickMedGap = 12, 
  wdLineStyleThickThinMedGap = 13, 
  wdLineStyleThinThickThinMedGap = 14, 
  wdLineStyleThinThickLargeGap = 15, 
  wdLineStyleThickThinLargeGap = 16, 
  wdLineStyleThinThickThinLargeGap = 17, 
  wdLineStyleSingleWavy = 18, 
  wdLineStyleDoubleWavy = 19, 
  wdLineStyleDashDotStroked = 20, 
  wdLineStyleEmboss3D = 21, 
  wdLineStyleEngrave3D = 22, 
  wdLineStyleOutset = 23, 
  wdLineStyleInset = 24
} WdLineStyle;

typedef enum WdLineWidth
{
  wdLineWidth025pt = 2, 
  wdLineWidth050pt = 4, 
  wdLineWidth075pt = 6, 
  wdLineWidth100pt = 8, 
  wdLineWidth150pt = 12, 
  wdLineWidth225pt = 18, 
  wdLineWidth300pt = 24, 
  wdLineWidth450pt = 36, 
  wdLineWidth600pt = 48
} WdLineWidth;

typedef enum WdBreakType
{
  wdSectionBreakNextPage = 2, 
  wdSectionBreakContinuous = 3, 
  wdSectionBreakEvenPage = 4, 
  wdSectionBreakOddPage = 5, 
  wdLineBreak = 6, 
  wdPageBreak = 7, 
  wdColumnBreak = 8, 
  wdLineBreakClearLeft = 9, 
  wdLineBreakClearRight = 10, 
  wdTextWrappingBreak = 11
} WdBreakType;

typedef enum WdTabLeader
{
  wdTabLeaderSpaces = 0, 
  wdTabLeaderDots = 1, 
  wdTabLeaderDashes = 2, 
  wdTabLeaderLines = 3, 
  wdTabLeaderHeavy = 4, 
  wdTabLeaderMiddleDot = 5
} WdTabLeader;

typedef enum WdTabLeaderHID
{
  emptyenum________ = 0
} WdTabLeaderHID;

typedef enum WdMeasurementUnits
{
  wdInches = 0, 
  wdCentimeters = 1, 
  wdMillimeters = 2, 
  wdPoints = 3, 
  wdPicas = 4
} WdMeasurementUnits;

typedef enum WdMeasurementUnitsHID
{
  emptyenum_________ = 0
} WdMeasurementUnitsHID;

typedef enum WdDropPosition
{
  wdDropNone = 0, 
  wdDropNormal = 1, 
  wdDropMargin = 2
} WdDropPosition;

typedef enum WdNumberingRule
{
  wdRestartContinuous = 0, 
  wdRestartSection = 1, 
  wdRestartPage = 2
} WdNumberingRule;

typedef enum WdFootnoteLocation
{
  wdBottomOfPage = 0, 
  wdBeneathText = 1
} WdFootnoteLocation;

typedef enum WdEndnoteLocation
{
  wdEndOfSection = 0, 
  wdEndOfDocument = 1
} WdEndnoteLocation;

typedef enum WdSortSeparator
{
  wdSortSeparateByTabs = 0, 
  wdSortSeparateByCommas = 1, 
  wdSortSeparateByDefaultTableSeparator = 2
} WdSortSeparator;

typedef enum WdTableFieldSeparator
{
  wdSeparateByParagraphs = 0, 
  wdSeparateByTabs = 1, 
  wdSeparateByCommas = 2, 
  wdSeparateByDefaultListSeparator = 3
} WdTableFieldSeparator;

typedef enum WdSortFieldType
{
  wdSortFieldAlphanumeric = 0, 
  wdSortFieldNumeric = 1, 
  wdSortFieldDate = 2, 
  wdSortFieldSyllable = 3, 
  wdSortFieldJapanJIS = 4, 
  wdSortFieldStroke = 5, 
  wdSortFieldKoreaKS = 6
} WdSortFieldType;

typedef enum WdSortFieldTypeHID
{
  emptyenum__________ = 0
} WdSortFieldTypeHID;

typedef enum WdSortOrder
{
  wdSortOrderAscending = 0, 
  wdSortOrderDescending = 1
} WdSortOrder;

typedef enum WdTableFormat
{
  wdTableFormatNone = 0, 
  wdTableFormatSimple1 = 1, 
  wdTableFormatSimple2 = 2, 
  wdTableFormatSimple3 = 3, 
  wdTableFormatClassic1 = 4, 
  wdTableFormatClassic2 = 5, 
  wdTableFormatClassic3 = 6, 
  wdTableFormatClassic4 = 7, 
  wdTableFormatColorful1 = 8, 
  wdTableFormatColorful2 = 9, 
  wdTableFormatColorful3 = 10, 
  wdTableFormatColumns1 = 11, 
  wdTableFormatColumns2 = 12, 
  wdTableFormatColumns3 = 13, 
  wdTableFormatColumns4 = 14, 
  wdTableFormatColumns5 = 15, 
  wdTableFormatGrid1 = 16, 
  wdTableFormatGrid2 = 17, 
  wdTableFormatGrid3 = 18, 
  wdTableFormatGrid4 = 19, 
  wdTableFormatGrid5 = 20, 
  wdTableFormatGrid6 = 21, 
  wdTableFormatGrid7 = 22, 
  wdTableFormatGrid8 = 23, 
  wdTableFormatList1 = 24, 
  wdTableFormatList2 = 25, 
  wdTableFormatList3 = 26, 
  wdTableFormatList4 = 27, 
  wdTableFormatList5 = 28, 
  wdTableFormatList6 = 29, 
  wdTableFormatList7 = 30, 
  wdTableFormatList8 = 31, 
  wdTableFormat3DEffects1 = 32, 
  wdTableFormat3DEffects2 = 33, 
  wdTableFormat3DEffects3 = 34, 
  wdTableFormatContemporary = 35, 
  wdTableFormatElegant = 36, 
  wdTableFormatProfessional = 37, 
  wdTableFormatSubtle1 = 38, 
  wdTableFormatSubtle2 = 39, 
  wdTableFormatWeb1 = 40, 
  wdTableFormatWeb2 = 41, 
  wdTableFormatWeb3 = 42
} WdTableFormat;

typedef enum WdTableFormatApply
{
  wdTableFormatApplyBorders = 1, 
  wdTableFormatApplyShading = 2, 
  wdTableFormatApplyFont = 4, 
  wdTableFormatApplyColor = 8, 
  wdTableFormatApplyAutoFit = 16, 
  wdTableFormatApplyHeadingRows = 32, 
  wdTableFormatApplyLastRow = 64, 
  wdTableFormatApplyFirstColumn = 128, 
  wdTableFormatApplyLastColumn = 256
} WdTableFormatApply;

typedef enum WdLanguageID
{
  wdLanguageNone = 0, 
  wdNoProofing = 1024, 
  wdAfrikaans = 1078, 
  wdAlbanian = 1052, 
  wdAmharic = 1118, 
  wdArabicAlgeria = 5121, 
  wdArabicBahrain = 15361, 
  wdArabicEgypt = 3073, 
  wdArabicIraq = 2049, 
  wdArabicJordan = 11265, 
  wdArabicKuwait = 13313, 
  wdArabicLebanon = 12289, 
  wdArabicLibya = 4097, 
  wdArabicMorocco = 6145, 
  wdArabicOman = 8193, 
  wdArabicQatar = 16385, 
  wdArabic = 1025, 
  wdArabicSyria = 10241, 
  wdArabicTunisia = 7169, 
  wdArabicUAE = 14337, 
  wdArabicYemen = 9217, 
  wdArmenian = 1067, 
  wdAssamese = 1101, 
  wdAzeriCyrillic = 2092, 
  wdAzeriLatin = 1068, 
  wdBasque = 1069, 
  wdByelorussian = 1059, 
  wdBengali = 1093, 
  wdBulgarian = 1026, 
  wdBurmese = 1109, 
  wdCatalan = 1027, 
  wdCherokee = 1116, 
  wdChineseHongKongSAR = 3076, 
  wdChineseMacaoSAR = 5124, 
  wdSimplifiedChinese = 2052, 
  wdChineseSingapore = 4100, 
  wdTraditionalChinese = 1028, 
  wdCroatian = 1050, 
  wdCzech = 1029, 
  wdDanish = 1030, 
  wdDivehi = 1125, 
  wdBelgianDutch = 2067, 
  wdDutch = 1043, 
  wdDzongkhaBhutan = 2129, 
  wdEdo = 1126, 
  wdEnglishAUS = 3081, 
  wdEnglishBelize = 10249, 
  wdEnglishCanadian = 4105, 
  wdEnglishCaribbean = 9225, 
  wdEnglishIreland = 6153, 
  wdEnglishJamaica = 8201, 
  wdEnglishNewZealand = 5129, 
  wdEnglishPhilippines = 13321, 
  wdEnglishSouthAfrica = 7177, 
  wdEnglishTrinidadTobago = 11273, 
  wdEnglishUK = 2057, 
  wdEnglishUS = 1033, 
  wdEnglishZimbabwe = 12297, 
  wdEnglishIndonesia = 14345, 
  wdEstonian = 1061, 
  wdFaeroese = 1080, 
  wdFarsi = 1065, 
  wdFilipino = 1124, 
  wdFinnish = 1035, 
  wdFulfulde = 1127, 
  wdBelgianFrench = 2060, 
  wdFrenchCameroon = 11276, 
  wdFrenchCanadian = 3084, 
  wdFrenchCotedIvoire = 12300, 
  wdFrench = 1036, 
  wdFrenchLuxembourg = 5132, 
  wdFrenchMali = 13324, 
  wdFrenchMonaco = 6156, 
  wdFrenchReunion = 8204, 
  wdFrenchSenegal = 10252, 
  wdFrenchMorocco = 14348, 
  wdFrenchHaiti = 15372, 
  wdSwissFrench = 4108, 
  wdFrenchWestIndies = 7180, 
  wdFrenchZaire = 9228, 
  wdFrisianNetherlands = 1122, 
  wdGaelicIreland = 2108, 
  wdGaelicScotland = 1084, 
  wdGalician = 1110, 
  wdGeorgian = 1079, 
  wdGermanAustria = 3079, 
  wdGerman = 1031, 
  wdGermanLiechtenstein = 5127, 
  wdGermanLuxembourg = 4103, 
  wdSwissGerman = 2055, 
  wdGreek = 1032, 
  wdGuarani = 1140, 
  wdGujarati = 1095, 
  wdHausa = 1128, 
  wdHawaiian = 1141, 
  wdHebrew = 1037, 
  wdHindi = 1081, 
  wdHungarian = 1038, 
  wdIbibio = 1129, 
  wdIcelandic = 1039, 
  wdIgbo = 1136, 
  wdIndonesian = 1057, 
  wdInuktitut = 1117, 
  wdItalian = 1040, 
  wdSwissItalian = 2064, 
  wdJapanese = 1041, 
  wdKannada = 1099, 
  wdKanuri = 1137, 
  wdKashmiri = 1120, 
  wdKazakh = 1087, 
  wdKhmer = 1107, 
  wdKirghiz = 1088, 
  wdKonkani = 1111, 
  wdKorean = 1042, 
  wdKyrgyz = 1088, 
  wdLao = 1108, 
  wdLatin = 1142, 
  wdLatvian = 1062, 
  wdLithuanian = 1063, 
  wdMacedonian = 1071, 
  wdMalaysian = 1086, 
  wdMalayBruneiDarussalam = 2110, 
  wdMalayalam = 1100, 
  wdMaltese = 1082, 
  wdManipuri = 1112, 
  wdMarathi = 1102, 
  wdMongolian = 1104, 
  wdNepali = 1121, 
  wdNorwegianBokmol = 1044, 
  wdNorwegianNynorsk = 2068, 
  wdOriya = 1096, 
  wdOromo = 1138, 
  wdPashto = 1123, 
  wdPolish = 1045, 
  wdBrazilianPortuguese = 1046, 
  wdPortuguese = 2070, 
  wdPunjabi = 1094, 
  wdRhaetoRomanic = 1047, 
  wdRomanianMoldova = 2072, 
  wdRomanian = 1048, 
  wdRussianMoldova = 2073, 
  wdRussian = 1049, 
  wdSamiLappish = 1083, 
  wdSanskrit = 1103, 
  wdSerbianCyrillic = 3098, 
  wdSerbianLatin = 2074, 
  wdSinhalese = 1115, 
  wdSindhi = 1113, 
  wdSindhiPakistan = 2137, 
  wdSlovak = 1051, 
  wdSlovenian = 1060, 
  wdSomali = 1143, 
  wdSorbian = 1070, 
  wdSpanishArgentina = 11274, 
  wdSpanishBolivia = 16394, 
  wdSpanishChile = 13322, 
  wdSpanishColombia = 9226, 
  wdSpanishCostaRica = 5130, 
  wdSpanishDominicanRepublic = 7178, 
  wdSpanishEcuador = 12298, 
  wdSpanishElSalvador = 17418, 
  wdSpanishGuatemala = 4106, 
  wdSpanishHonduras = 18442, 
  wdMexicanSpanish = 2058, 
  wdSpanishNicaragua = 19466, 
  wdSpanishPanama = 6154, 
  wdSpanishParaguay = 15370, 
  wdSpanishPeru = 10250, 
  wdSpanishPuertoRico = 20490, 
  wdSpanishModernSort = 3082, 
  wdSpanish = 1034, 
  wdSpanishUruguay = 14346, 
  wdSpanishVenezuela = 8202, 
  wdSesotho = 1072, 
  wdSutu = 1072, 
  wdSwahili = 1089, 
  wdSwedishFinland = 2077, 
  wdSwedish = 1053, 
  wdSyriac = 1114, 
  wdTajik = 1064, 
  wdTamazight = 1119, 
  wdTamazightLatin = 2143, 
  wdTamil = 1097, 
  wdTatar = 1092, 
  wdTelugu = 1098, 
  wdThai = 1054, 
  wdTibetan = 1105, 
  wdTigrignaEthiopic = 1139, 
  wdTigrignaEritrea = 2163, 
  wdTsonga = 1073, 
  wdTswana = 1074, 
  wdTurkish = 1055, 
  wdTurkmen = 1090, 
  wdUkrainian = 1058, 
  wdUrdu = 1056, 
  wdUzbekCyrillic = 2115, 
  wdUzbekLatin = 1091, 
  wdVenda = 1075, 
  wdVietnamese = 1066, 
  wdWelsh = 1106, 
  wdXhosa = 1076, 
  wdYi = 1144, 
  wdYiddish = 1085, 
  wdYoruba = 1130, 
  wdZulu = 1077
} WdLanguageID;

typedef enum WdFieldType
{
  wdFieldEmpty = 0xFFFFFFFF, 
  wdFieldRef = 3, 
  wdFieldIndexEntry = 4, 
  wdFieldFootnoteRef = 5, 
  wdFieldSet = 6, 
  wdFieldIf = 7, 
  wdFieldIndex = 8, 
  wdFieldTOCEntry = 9, 
  wdFieldStyleRef = 10, 
  wdFieldRefDoc = 11, 
  wdFieldSequence = 12, 
  wdFieldTOC = 13, 
  wdFieldInfo = 14, 
  wdFieldTitle = 15, 
  wdFieldSubject = 16, 
  wdFieldAuthor = 17, 
  wdFieldKeyWord = 18, 
  wdFieldComments = 19, 
  wdFieldLastSavedBy = 20, 
  wdFieldCreateDate = 21, 
  wdFieldSaveDate = 22, 
  wdFieldPrintDate = 23, 
  wdFieldRevisionNum = 24, 
  wdFieldEditTime = 25, 
  wdFieldNumPages = 26, 
  wdFieldNumWords = 27, 
  wdFieldNumChars = 28, 
  wdFieldFileName = 29, 
  wdFieldTemplate = 30, 
  wdFieldDate = 31, 
  wdFieldTime = 32, 
  wdFieldPage = 33, 
  wdFieldExpression = 34, 
  wdFieldQuote = 35, 
  wdFieldInclude = 36, 
  wdFieldPageRef = 37, 
  wdFieldAsk = 38, 
  wdFieldFillIn = 39, 
  wdFieldData = 40, 
  wdFieldNext = 41, 
  wdFieldNextIf = 42, 
  wdFieldSkipIf = 43, 
  wdFieldMergeRec = 44, 
  wdFieldDDE = 45, 
  wdFieldDDEAuto = 46, 
  wdFieldGlossary = 47, 
  wdFieldPrint = 48, 
  wdFieldFormula = 49, 
  wdFieldGoToButton = 50, 
  wdFieldMacroButton = 51, 
  wdFieldAutoNumOutline = 52, 
  wdFieldAutoNumLegal = 53, 
  wdFieldAutoNum = 54, 
  wdFieldImport = 55, 
  wdFieldLink = 56, 
  wdFieldSymbol = 57, 
  wdFieldEmbed = 58, 
  wdFieldMergeField = 59, 
  wdFieldUserName = 60, 
  wdFieldUserInitials = 61, 
  wdFieldUserAddress = 62, 
  wdFieldBarCode = 63, 
  wdFieldDocVariable = 64, 
  wdFieldSection = 65, 
  wdFieldSectionPages = 66, 
  wdFieldIncludePicture = 67, 
  wdFieldIncludeText = 68, 
  wdFieldFileSize = 69, 
  wdFieldFormTextInput = 70, 
  wdFieldFormCheckBox = 71, 
  wdFieldNoteRef = 72, 
  wdFieldTOA = 73, 
  wdFieldTOAEntry = 74, 
  wdFieldMergeSeq = 75, 
  wdFieldPrivate = 77, 
  wdFieldDatabase = 78, 
  wdFieldAutoText = 79, 
  wdFieldCompare = 80, 
  wdFieldAddin = 81, 
  wdFieldSubscriber = 82, 
  wdFieldFormDropDown = 83, 
  wdFieldAdvance = 84, 
  wdFieldDocProperty = 85, 
  wdFieldOCX = 87, 
  wdFieldHyperlink = 88, 
  wdFieldAutoTextList = 89, 
  wdFieldListNum = 90, 
  wdFieldHTMLActiveX = 91, 
  wdFieldBidiOutline = 92, 
  wdFieldAddressBlock = 93, 
  wdFieldGreetingLine = 94, 
  wdFieldShape = 95
} WdFieldType;

typedef enum WdBuiltinStyle
{
  wdStyleNormal = 0xFFFFFFFF, 
  wdStyleEnvelopeAddress = 0xFFFFFFDB, 
  wdStyleEnvelopeReturn = 0xFFFFFFDA, 
  wdStyleBodyText = 0xFFFFFFBD, 
  wdStyleHeading1 = 0xFFFFFFFE, 
  wdStyleHeading2 = 0xFFFFFFFD, 
  wdStyleHeading3 = 0xFFFFFFFC, 
  wdStyleHeading4 = 0xFFFFFFFB, 
  wdStyleHeading5 = 0xFFFFFFFA, 
  wdStyleHeading6 = 0xFFFFFFF9, 
  wdStyleHeading7 = 0xFFFFFFF8, 
  wdStyleHeading8 = 0xFFFFFFF7, 
  wdStyleHeading9 = 0xFFFFFFF6, 
  wdStyleIndex1 = 0xFFFFFFF5, 
  wdStyleIndex2 = 0xFFFFFFF4, 
  wdStyleIndex3 = 0xFFFFFFF3, 
  wdStyleIndex4 = 0xFFFFFFF2, 
  wdStyleIndex5 = 0xFFFFFFF1, 
  wdStyleIndex6 = 0xFFFFFFF0, 
  wdStyleIndex7 = 0xFFFFFFEF, 
  wdStyleIndex8 = 0xFFFFFFEE, 
  wdStyleIndex9 = 0xFFFFFFED, 
  wdStyleTOC1 = 0xFFFFFFEC, 
  wdStyleTOC2 = 0xFFFFFFEB, 
  wdStyleTOC3 = 0xFFFFFFEA, 
  wdStyleTOC4 = 0xFFFFFFE9, 
  wdStyleTOC5 = 0xFFFFFFE8, 
  wdStyleTOC6 = 0xFFFFFFE7, 
  wdStyleTOC7 = 0xFFFFFFE6, 
  wdStyleTOC8 = 0xFFFFFFE5, 
  wdStyleTOC9 = 0xFFFFFFE4, 
  wdStyleNormalIndent = 0xFFFFFFE3, 
  wdStyleFootnoteText = 0xFFFFFFE2, 
  wdStyleCommentText = 0xFFFFFFE1, 
  wdStyleHeader = 0xFFFFFFE0, 
  wdStyleFooter = 0xFFFFFFDF, 
  wdStyleIndexHeading = 0xFFFFFFDE, 
  wdStyleCaption = 0xFFFFFFDD, 
  wdStyleTableOfFigures = 0xFFFFFFDC, 
  wdStyleFootnoteReference = 0xFFFFFFD9, 
  wdStyleCommentReference = 0xFFFFFFD8, 
  wdStyleLineNumber = 0xFFFFFFD7, 
  wdStylePageNumber = 0xFFFFFFD6, 
  wdStyleEndnoteReference = 0xFFFFFFD5, 
  wdStyleEndnoteText = 0xFFFFFFD4, 
  wdStyleTableOfAuthorities = 0xFFFFFFD3, 
  wdStyleMacroText = 0xFFFFFFD2, 
  wdStyleTOAHeading = 0xFFFFFFD1, 
  wdStyleList = 0xFFFFFFD0, 
  wdStyleListBullet = 0xFFFFFFCF, 
  wdStyleListNumber = 0xFFFFFFCE, 
  wdStyleList2 = 0xFFFFFFCD, 
  wdStyleList3 = 0xFFFFFFCC, 
  wdStyleList4 = 0xFFFFFFCB, 
  wdStyleList5 = 0xFFFFFFCA, 
  wdStyleListBullet2 = 0xFFFFFFC9, 
  wdStyleListBullet3 = 0xFFFFFFC8, 
  wdStyleListBullet4 = 0xFFFFFFC7, 
  wdStyleListBullet5 = 0xFFFFFFC6, 
  wdStyleListNumber2 = 0xFFFFFFC5, 
  wdStyleListNumber3 = 0xFFFFFFC4, 
  wdStyleListNumber4 = 0xFFFFFFC3, 
  wdStyleListNumber5 = 0xFFFFFFC2, 
  wdStyleTitle = 0xFFFFFFC1, 
  wdStyleClosing = 0xFFFFFFC0, 
  wdStyleSignature = 0xFFFFFFBF, 
  wdStyleDefaultParagraphFont = 0xFFFFFFBE, 
  wdStyleBodyTextIndent = 0xFFFFFFBC, 
  wdStyleListContinue = 0xFFFFFFBB, 
  wdStyleListContinue2 = 0xFFFFFFBA, 
  wdStyleListContinue3 = 0xFFFFFFB9, 
  wdStyleListContinue4 = 0xFFFFFFB8, 
  wdStyleListContinue5 = 0xFFFFFFB7, 
  wdStyleMessageHeader = 0xFFFFFFB6, 
  wdStyleSubtitle = 0xFFFFFFB5, 
  wdStyleSalutation = 0xFFFFFFB4, 
  wdStyleDate = 0xFFFFFFB3, 
  wdStyleBodyTextFirstIndent = 0xFFFFFFB2, 
  wdStyleBodyTextFirstIndent2 = 0xFFFFFFB1, 
  wdStyleNoteHeading = 0xFFFFFFB0, 
  wdStyleBodyText2 = 0xFFFFFFAF, 
  wdStyleBodyText3 = 0xFFFFFFAE, 
  wdStyleBodyTextIndent2 = 0xFFFFFFAD, 
  wdStyleBodyTextIndent3 = 0xFFFFFFAC, 
  wdStyleBlockQuotation = 0xFFFFFFAB, 
  wdStyleHyperlink = 0xFFFFFFAA, 
  wdStyleHyperlinkFollowed = 0xFFFFFFA9, 
  wdStyleStrong = 0xFFFFFFA8, 
  wdStyleEmphasis = 0xFFFFFFA7, 
  wdStyleNavPane = 0xFFFFFFA6, 
  wdStylePlainText = 0xFFFFFFA5, 
  wdStyleHtmlNormal = 0xFFFFFFA1, 
  wdStyleHtmlAcronym = 0xFFFFFFA0, 
  wdStyleHtmlAddress = 0xFFFFFF9F, 
  wdStyleHtmlCite = 0xFFFFFF9E, 
  wdStyleHtmlCode = 0xFFFFFF9D, 
  wdStyleHtmlDfn = 0xFFFFFF9C, 
  wdStyleHtmlKbd = 0xFFFFFF9B, 
  wdStyleHtmlPre = 0xFFFFFF9A, 
  wdStyleHtmlSamp = 0xFFFFFF99, 
  wdStyleHtmlTt = 0xFFFFFF98, 
  wdStyleHtmlVar = 0xFFFFFF97, 
  wdStyleNormalTable = 0xFFFFFF96
} WdBuiltinStyle;

typedef enum WdWordDialogTab
{
  wdDialogToolsOptionsTabView = 204, 
  wdDialogToolsOptionsTabGeneral = 203, 
  wdDialogToolsOptionsTabEdit = 224, 
  wdDialogToolsOptionsTabPrint = 208, 
  wdDialogToolsOptionsTabSave = 209, 
  wdDialogToolsOptionsTabProofread = 211, 
  wdDialogToolsOptionsTabTrackChanges = 386, 
  wdDialogToolsOptionsTabUserInfo = 213, 
  wdDialogToolsOptionsTabCompatibility = 525, 
  wdDialogToolsOptionsTabTypography = 739, 
  wdDialogToolsOptionsTabFileLocations = 225, 
  wdDialogToolsOptionsTabFuzzy = 790, 
  wdDialogToolsOptionsTabHangulHanjaConversion = 786, 
  wdDialogToolsOptionsTabBidi = 1029, 
  wdDialogToolsOptionsTabSecurity = 1361, 
  wdDialogFilePageSetupTabMargins = 150000, 
  wdDialogFilePageSetupTabPaper = 150001, 
  wdDialogFilePageSetupTabLayout = 150003, 
  wdDialogFilePageSetupTabCharsLines = 150004, 
  wdDialogInsertSymbolTabSymbols = 200000, 
  wdDialogInsertSymbolTabSpecialCharacters = 200001, 
  wdDialogNoteOptionsTabAllFootnotes = 300000, 
  wdDialogNoteOptionsTabAllEndnotes = 300001, 
  wdDialogInsertIndexAndTablesTabIndex = 400000, 
  wdDialogInsertIndexAndTablesTabTableOfContents = 400001, 
  wdDialogInsertIndexAndTablesTabTableOfFigures = 400002, 
  wdDialogInsertIndexAndTablesTabTableOfAuthorities = 400003, 
  wdDialogOrganizerTabStyles = 500000, 
  wdDialogOrganizerTabAutoText = 500001, 
  wdDialogOrganizerTabCommandBars = 500002, 
  wdDialogOrganizerTabMacros = 500003, 
  wdDialogFormatFontTabFont = 600000, 
  wdDialogFormatFontTabCharacterSpacing = 600001, 
  wdDialogFormatFontTabAnimation = 600002, 
  wdDialogFormatBordersAndShadingTabBorders = 700000, 
  wdDialogFormatBordersAndShadingTabPageBorder = 700001, 
  wdDialogFormatBordersAndShadingTabShading = 700002, 
  wdDialogToolsEnvelopesAndLabelsTabEnvelopes = 800000, 
  wdDialogToolsEnvelopesAndLabelsTabLabels = 800001, 
  wdDialogFormatParagraphTabIndentsAndSpacing = 1000000, 
  wdDialogFormatParagraphTabTextFlow = 1000001, 
  wdDialogFormatParagraphTabTeisai = 1000002, 
  wdDialogFormatDrawingObjectTabColorsAndLines = 1200000, 
  wdDialogFormatDrawingObjectTabSize = 1200001, 
  wdDialogFormatDrawingObjectTabPosition = 1200002, 
  wdDialogFormatDrawingObjectTabWrapping = 1200003, 
  wdDialogFormatDrawingObjectTabPicture = 1200004, 
  wdDialogFormatDrawingObjectTabTextbox = 1200005, 
  wdDialogFormatDrawingObjectTabWeb = 1200006, 
  wdDialogFormatDrawingObjectTabHR = 1200007, 
  wdDialogToolsAutoCorrectExceptionsTabFirstLetter = 1400000, 
  wdDialogToolsAutoCorrectExceptionsTabInitialCaps = 1400001, 
  wdDialogToolsAutoCorrectExceptionsTabHangulAndAlphabet = 1400002, 
  wdDialogToolsAutoCorrectExceptionsTabIac = 1400003, 
  wdDialogFormatBulletsAndNumberingTabBulleted = 1500000, 
  wdDialogFormatBulletsAndNumberingTabNumbered = 1500001, 
  wdDialogFormatBulletsAndNumberingTabOutlineNumbered = 1500002, 
  wdDialogLetterWizardTabLetterFormat = 1600000, 
  wdDialogLetterWizardTabRecipientInfo = 1600001, 
  wdDialogLetterWizardTabOtherElements = 1600002, 
  wdDialogLetterWizardTabSenderInfo = 1600003, 
  wdDialogToolsAutoManagerTabAutoCorrect = 1700000, 
  wdDialogToolsAutoManagerTabAutoFormatAsYouType = 1700001, 
  wdDialogToolsAutoManagerTabAutoText = 1700002, 
  wdDialogToolsAutoManagerTabAutoFormat = 1700003, 
  wdDialogToolsAutoManagerTabSmartTags = 1700004, 
  wdDialogTablePropertiesTabTable = 1800000, 
  wdDialogTablePropertiesTabRow = 1800001, 
  wdDialogTablePropertiesTabColumn = 1800002, 
  wdDialogTablePropertiesTabCell = 1800003, 
  wdDialogEmailOptionsTabSignature = 1900000, 
  wdDialogEmailOptionsTabStationary = 1900001, 
  wdDialogEmailOptionsTabQuoting = 1900002, 
  wdDialogWebOptionsBrowsers = 2000000, 
  wdDialogWebOptionsGeneral = 2000000, 
  wdDialogWebOptionsFiles = 2000001, 
  wdDialogWebOptionsPictures = 2000002, 
  wdDialogWebOptionsEncoding = 2000003, 
  wdDialogWebOptionsFonts = 2000004, 
  wdDialogToolsOptionsTabAcetate = 1266
} WdWordDialogTab;

typedef enum WdWordDialogTabHID
{
  wdDialogFilePageSetupTabPaperSize = 150001, 
  wdDialogFilePageSetupTabPaperSource = 150002
} WdWordDialogTabHID;

typedef enum WdWordDialog
{
  wdDialogHelpAbout = 9, 
  wdDialogHelpWordPerfectHelp = 10, 
  wdDialogDocumentStatistics = 78, 
  wdDialogFileNew = 79, 
  wdDialogFileOpen = 80, 
  wdDialogMailMergeOpenDataSource = 81, 
  wdDialogMailMergeOpenHeaderSource = 82, 
  wdDialogFileSaveAs = 84, 
  wdDialogFileSummaryInfo = 86, 
  wdDialogToolsTemplates = 87, 
  wdDialogFilePrint = 88, 
  wdDialogFilePrintSetup = 97, 
  wdDialogFileFind = 99, 
  wdDialogFormatAddrFonts = 103, 
  wdDialogEditPasteSpecial = 111, 
  wdDialogEditFind = 112, 
  wdDialogEditReplace = 117, 
  wdDialogEditStyle = 120, 
  wdDialogEditLinks = 124, 
  wdDialogEditObject = 125, 
  wdDialogTableToText = 128, 
  wdDialogTextToTable = 127, 
  wdDialogTableInsertTable = 129, 
  wdDialogTableInsertCells = 130, 
  wdDialogTableInsertRow = 131, 
  wdDialogTableDeleteCells = 133, 
  wdDialogTableSplitCells = 137, 
  wdDialogTableRowHeight = 142, 
  wdDialogTableColumnWidth = 143, 
  wdDialogToolsCustomize = 152, 
  wdDialogInsertBreak = 159, 
  wdDialogInsertSymbol = 162, 
  wdDialogInsertPicture = 163, 
  wdDialogInsertFile = 164, 
  wdDialogInsertDateTime = 165, 
  wdDialogInsertField = 166, 
  wdDialogInsertMergeField = 167, 
  wdDialogInsertBookmark = 168, 
  wdDialogMarkIndexEntry = 169, 
  wdDialogInsertIndex = 170, 
  wdDialogInsertTableOfContents = 171, 
  wdDialogInsertObject = 172, 
  wdDialogToolsCreateEnvelope = 173, 
  wdDialogFormatFont = 174, 
  wdDialogFormatParagraph = 175, 
  wdDialogFormatSectionLayout = 176, 
  wdDialogFormatColumns = 177, 
  wdDialogFileDocumentLayout = 178, 
  wdDialogFilePageSetup = 178, 
  wdDialogFormatTabs = 179, 
  wdDialogFormatStyle = 180, 
  wdDialogFormatDefineStyleFont = 181, 
  wdDialogFormatDefineStylePara = 182, 
  wdDialogFormatDefineStyleTabs = 183, 
  wdDialogFormatDefineStyleFrame = 184, 
  wdDialogFormatDefineStyleBorders = 185, 
  wdDialogFormatDefineStyleLang = 186, 
  wdDialogFormatPicture = 187, 
  wdDialogToolsLanguage = 188, 
  wdDialogFormatBordersAndShading = 189, 
  wdDialogFormatFrame = 190, 
  wdDialogToolsThesaurus = 194, 
  wdDialogToolsHyphenation = 195, 
  wdDialogToolsBulletsNumbers = 196, 
  wdDialogToolsHighlightChanges = 197, 
  wdDialogToolsRevisions = 197, 
  wdDialogToolsCompareDocuments = 198, 
  wdDialogTableSort = 199, 
  wdDialogToolsOptionsGeneral = 203, 
  wdDialogToolsOptionsView = 204, 
  wdDialogToolsAdvancedSettings = 206, 
  wdDialogToolsOptionsPrint = 208, 
  wdDialogToolsOptionsSave = 209, 
  wdDialogToolsOptionsSpellingAndGrammar = 211, 
  wdDialogToolsOptionsUserInfo = 213, 
  wdDialogToolsMacroRecord = 214, 
  wdDialogToolsMacro = 215, 
  wdDialogWindowActivate = 220, 
  wdDialogFormatRetAddrFonts = 221, 
  wdDialogOrganizer = 222, 
  wdDialogToolsOptionsEdit = 224, 
  wdDialogToolsOptionsFileLocations = 225, 
  wdDialogToolsWordCount = 228, 
  wdDialogControlRun = 235, 
  wdDialogInsertPageNumbers = 294, 
  wdDialogFormatPageNumber = 298, 
  wdDialogCopyFile = 300, 
  wdDialogFormatChangeCase = 322, 
  wdDialogUpdateTOC = 331, 
  wdDialogInsertDatabase = 341, 
  wdDialogTableFormula = 348, 
  wdDialogFormFieldOptions = 353, 
  wdDialogInsertCaption = 357, 
  wdDialogInsertCaptionNumbering = 358, 
  wdDialogInsertAutoCaption = 359, 
  wdDialogFormFieldHelp = 361, 
  wdDialogInsertCrossReference = 367, 
  wdDialogInsertFootnote = 370, 
  wdDialogNoteOptions = 373, 
  wdDialogToolsAutoCorrect = 378, 
  wdDialogToolsOptionsTrackChanges = 386, 
  wdDialogConvertObject = 392, 
  wdDialogInsertAddCaption = 402, 
  wdDialogConnect = 420, 
  wdDialogToolsCustomizeKeyboard = 432, 
  wdDialogToolsCustomizeMenus = 433, 
  wdDialogToolsMergeDocuments = 435, 
  wdDialogMarkTableOfContentsEntry = 442, 
  wdDialogFileMacPageSetupGX = 444, 
  wdDialogFilePrintOneCopy = 445, 
  wdDialogEditFrame = 458, 
  wdDialogMarkCitation = 463, 
  wdDialogTableOfContentsOptions = 470, 
  wdDialogInsertTableOfAuthorities = 471, 
  wdDialogInsertTableOfFigures = 472, 
  wdDialogInsertIndexAndTables = 473, 
  wdDialogInsertFormField = 483, 
  wdDialogFormatDropCap = 488, 
  wdDialogToolsCreateLabels = 489, 
  wdDialogToolsProtectDocument = 503, 
  wdDialogFormatStyleGallery = 505, 
  wdDialogToolsAcceptRejectChanges = 506, 
  wdDialogHelpWordPerfectHelpOptions = 511, 
  wdDialogToolsUnprotectDocument = 521, 
  wdDialogToolsOptionsCompatibility = 525, 
  wdDialogTableOfCaptionsOptions = 551, 
  wdDialogTableAutoFormat = 563, 
  wdDialogMailMergeFindRecord = 569, 
  wdDialogReviewAfmtRevisions = 570, 
  wdDialogViewZoom = 577, 
  wdDialogToolsProtectSection = 578, 
  wdDialogFontSubstitution = 581, 
  wdDialogInsertSubdocument = 583, 
  wdDialogNewToolbar = 586, 
  wdDialogToolsEnvelopesAndLabels = 607, 
  wdDialogFormatCallout = 610, 
  wdDialogTableFormatCell = 612, 
  wdDialogToolsCustomizeMenuBar = 615, 
  wdDialogFileRoutingSlip = 624, 
  wdDialogEditTOACategory = 625, 
  wdDialogToolsManageFields = 631, 
  wdDialogDrawSnapToGrid = 633, 
  wdDialogDrawAlign = 634, 
  wdDialogMailMergeCreateDataSource = 642, 
  wdDialogMailMergeCreateHeaderSource = 643, 
  wdDialogMailMerge = 676, 
  wdDialogMailMergeCheck = 677, 
  wdDialogMailMergeHelper = 680, 
  wdDialogMailMergeQueryOptions = 681, 
  wdDialogFileMacPageSetup = 685, 
  wdDialogListCommands = 723, 
  wdDialogEditCreatePublisher = 732, 
  wdDialogEditSubscribeTo = 733, 
  wdDialogEditPublishOptions = 735, 
  wdDialogEditSubscribeOptions = 736, 
  wdDialogFileMacCustomPageSetupGX = 737, 
  wdDialogToolsOptionsTypography = 739, 
  wdDialogToolsAutoCorrectExceptions = 762, 
  wdDialogToolsOptionsAutoFormatAsYouType = 778, 
  wdDialogMailMergeUseAddressBook = 779, 
  wdDialogToolsHangulHanjaConversion = 784, 
  wdDialogToolsOptionsFuzzy = 790, 
  wdDialogEditGoToOld = 811, 
  wdDialogInsertNumber = 812, 
  wdDialogLetterWizard = 821, 
  wdDialogFormatBulletsAndNumbering = 824, 
  wdDialogToolsSpellingAndGrammar = 828, 
  wdDialogToolsCreateDirectory = 833, 
  wdDialogTableWrapping = 854, 
  wdDialogFormatTheme = 855, 
  wdDialogTableProperties = 861, 
  wdDialogEmailOptions = 863, 
  wdDialogCreateAutoText = 872, 
  wdDialogToolsAutoSummarize = 874, 
  wdDialogToolsGrammarSettings = 885, 
  wdDialogEditGoTo = 896, 
  wdDialogWebOptions = 898, 
  wdDialogInsertHyperlink = 925, 
  wdDialogToolsAutoManager = 915, 
  wdDialogFileVersions = 945, 
  wdDialogToolsOptionsAutoFormat = 959, 
  wdDialogFormatDrawingObject = 960, 
  wdDialogToolsOptions = 974, 
  wdDialogFitText = 983, 
  wdDialogEditAutoText = 985, 
  wdDialogPhoneticGuide = 986, 
  wdDialogToolsDictionary = 989, 
  wdDialogFileSaveVersion = 1007, 
  wdDialogToolsOptionsBidi = 1029, 
  wdDialogFrameSetProperties = 1074, 
  wdDialogTableTableOptions = 1080, 
  wdDialogTableCellOptions = 1081, 
  wdDialogIMESetDefault = 1094, 
  wdDialogTCSCTranslator = 1156, 
  wdDialogHorizontalInVertical = 1160, 
  wdDialogTwoLinesInOne = 1161, 
  wdDialogFormatEncloseCharacters = 1162, 
  wdDialogConsistencyChecker = 1121, 
  wdDialogToolsOptionsSmartTag = 1395, 
  wdDialogFormatStylesCustom = 1248, 
  wdDialogCSSLinks = 1261, 
  wdDialogInsertWebComponent = 1324, 
  wdDialogToolsOptionsEditCopyPaste = 1356, 
  wdDialogToolsOptionsSecurity = 1361, 
  wdDialogSearch = 1363, 
  wdDialogShowRepairs = 1381, 
  wdDialogMailMergeInsertAsk = 4047, 
  wdDialogMailMergeInsertFillIn = 4048, 
  wdDialogMailMergeInsertIf = 4049, 
  wdDialogMailMergeInsertNextIf = 4053, 
  wdDialogMailMergeInsertSet = 4054, 
  wdDialogMailMergeInsertSkipIf = 4055, 
  wdDialogMailMergeFieldMapping = 1304, 
  wdDialogMailMergeInsertAddressBlock = 1305, 
  wdDialogMailMergeInsertGreetingLine = 1306, 
  wdDialogMailMergeInsertFields = 1307, 
  wdDialogMailMergeRecipients = 1308, 
  wdDialogMailMergeFindRecipient = 1326, 
  wdDialogMailMergeSetDocumentType = 1339
} WdWordDialog;

typedef enum WdWordDialogHID
{
  emptyenum___________ = 0
} WdWordDialogHID;

typedef enum WdFieldKind
{
  wdFieldKindNone = 0, 
  wdFieldKindHot = 1, 
  wdFieldKindWarm = 2, 
  wdFieldKindCold = 3
} WdFieldKind;

typedef enum WdTextFormFieldType
{
  wdRegularText = 0, 
  wdNumberText = 1, 
  wdDateText = 2, 
  wdCurrentDateText = 3, 
  wdCurrentTimeText = 4, 
  wdCalculationText = 5
} WdTextFormFieldType;

typedef enum WdChevronConvertRule
{
  wdNeverConvert = 0, 
  wdAlwaysConvert = 1, 
  wdAskToNotConvert = 2, 
  wdAskToConvert = 3
} WdChevronConvertRule;

typedef enum WdMailMergeMainDocType
{
  wdNotAMergeDocument = 0xFFFFFFFF, 
  wdFormLetters = 0, 
  wdMailingLabels = 1, 
  wdEnvelopes = 2, 
  wdCatalog = 3, 
  wdEMail = 4, 
  wdFax = 5, 
  wdDirectory = 3
} WdMailMergeMainDocType;

typedef enum WdMailMergeState
{
  wdNormalDocument = 0, 
  wdMainDocumentOnly = 1, 
  wdMainAndDataSource = 2, 
  wdMainAndHeader = 3, 
  wdMainAndSourceAndHeader = 4, 
  wdDataSource = 5
} WdMailMergeState;

typedef enum WdMailMergeDestination
{
  wdSendToNewDocument = 0, 
  wdSendToPrinter = 1, 
  wdSendToEmail = 2, 
  wdSendToFax = 3
} WdMailMergeDestination;

typedef enum WdMailMergeActiveRecord
{
  wdNoActiveRecord = 0xFFFFFFFF, 
  wdNextRecord = 0xFFFFFFFE, 
  wdPreviousRecord = 0xFFFFFFFD, 
  wdFirstRecord = 0xFFFFFFFC, 
  wdLastRecord = 0xFFFFFFFB, 
  wdFirstDataSourceRecord = 0xFFFFFFFA, 
  wdLastDataSourceRecord = 0xFFFFFFF9, 
  wdNextDataSourceRecord = 0xFFFFFFF8, 
  wdPreviousDataSourceRecord = 0xFFFFFFF7
} WdMailMergeActiveRecord;

typedef enum WdMailMergeDefaultRecord
{
  wdDefaultFirstRecord = 1, 
  wdDefaultLastRecord = 0xFFFFFFF0
} WdMailMergeDefaultRecord;

typedef enum WdMailMergeDataSource
{
  wdNoMergeInfo = 0xFFFFFFFF, 
  wdMergeInfoFromWord = 0, 
  wdMergeInfoFromAccessDDE = 1, 
  wdMergeInfoFromExcelDDE = 2, 
  wdMergeInfoFromMSQueryDDE = 3, 
  wdMergeInfoFromODBC = 4, 
  wdMergeInfoFromODSO = 5
} WdMailMergeDataSource;

typedef enum WdMailMergeComparison
{
  wdMergeIfEqual = 0, 
  wdMergeIfNotEqual = 1, 
  wdMergeIfLessThan = 2, 
  wdMergeIfGreaterThan = 3, 
  wdMergeIfLessThanOrEqual = 4, 
  wdMergeIfGreaterThanOrEqual = 5, 
  wdMergeIfIsBlank = 6, 
  wdMergeIfIsNotBlank = 7
} WdMailMergeComparison;

typedef enum WdBookmarkSortBy
{
  wdSortByName = 0, 
  wdSortByLocation = 1
} WdBookmarkSortBy;

typedef enum WdWindowState
{
  wdWindowStateNormal = 0, 
  wdWindowStateMaximize = 1, 
  wdWindowStateMinimize = 2
} WdWindowState;

typedef enum WdPictureLinkType
{
  wdLinkNone = 0, 
  wdLinkDataInDoc = 1, 
  wdLinkDataOnDisk = 2
} WdPictureLinkType;

typedef enum WdLinkType
{
  wdLinkTypeOLE = 0, 
  wdLinkTypePicture = 1, 
  wdLinkTypeText = 2, 
  wdLinkTypeReference = 3, 
  wdLinkTypeInclude = 4, 
  wdLinkTypeImport = 5, 
  wdLinkTypeDDE = 6, 
  wdLinkTypeDDEAuto = 7
} WdLinkType;

typedef enum WdWindowType
{
  wdWindowDocument = 0, 
  wdWindowTemplate = 1
} WdWindowType;

typedef enum WdViewType
{
  wdNormalView = 1, 
  wdOutlineView = 2, 
  wdPrintView = 3, 
  wdPrintPreview = 4, 
  wdMasterView = 5, 
  wdWebView = 6
} WdViewType;

typedef enum WdSeekView
{
  wdSeekMainDocument = 0, 
  wdSeekPrimaryHeader = 1, 
  wdSeekFirstPageHeader = 2, 
  wdSeekEvenPagesHeader = 3, 
  wdSeekPrimaryFooter = 4, 
  wdSeekFirstPageFooter = 5, 
  wdSeekEvenPagesFooter = 6, 
  wdSeekFootnotes = 7, 
  wdSeekEndnotes = 8, 
  wdSeekCurrentPageHeader = 9, 
  wdSeekCurrentPageFooter = 10
} WdSeekView;

typedef enum WdSpecialPane
{
  wdPaneNone = 0, 
  wdPanePrimaryHeader = 1, 
  wdPaneFirstPageHeader = 2, 
  wdPaneEvenPagesHeader = 3, 
  wdPanePrimaryFooter = 4, 
  wdPaneFirstPageFooter = 5, 
  wdPaneEvenPagesFooter = 6, 
  wdPaneFootnotes = 7, 
  wdPaneEndnotes = 8, 
  wdPaneFootnoteContinuationNotice = 9, 
  wdPaneFootnoteContinuationSeparator = 10, 
  wdPaneFootnoteSeparator = 11, 
  wdPaneEndnoteContinuationNotice = 12, 
  wdPaneEndnoteContinuationSeparator = 13, 
  wdPaneEndnoteSeparator = 14, 
  wdPaneComments = 15, 
  wdPaneCurrentPageHeader = 16, 
  wdPaneCurrentPageFooter = 17, 
  wdPaneRevisions = 18
} WdSpecialPane;

typedef enum WdPageFit
{
  wdPageFitNone = 0, 
  wdPageFitFullPage = 1, 
  wdPageFitBestFit = 2, 
  wdPageFitTextFit = 3
} WdPageFit;

typedef enum WdBrowseTarget
{
  wdBrowsePage = 1, 
  wdBrowseSection = 2, 
  wdBrowseComment = 3, 
  wdBrowseFootnote = 4, 
  wdBrowseEndnote = 5, 
  wdBrowseField = 6, 
  wdBrowseTable = 7, 
  wdBrowseGraphic = 8, 
  wdBrowseHeading = 9, 
  wdBrowseEdit = 10, 
  wdBrowseFind = 11, 
  wdBrowseGoTo = 12
} WdBrowseTarget;

typedef enum WdPaperTray
{
  wdPrinterDefaultBin = 0, 
  wdPrinterUpperBin = 1, 
  wdPrinterOnlyBin = 1, 
  wdPrinterLowerBin = 2, 
  wdPrinterMiddleBin = 3, 
  wdPrinterManualFeed = 4, 
  wdPrinterEnvelopeFeed = 5, 
  wdPrinterManualEnvelopeFeed = 6, 
  wdPrinterAutomaticSheetFeed = 7, 
  wdPrinterTractorFeed = 8, 
  wdPrinterSmallFormatBin = 9, 
  wdPrinterLargeFormatBin = 10, 
  wdPrinterLargeCapacityBin = 11, 
  wdPrinterPaperCassette = 14, 
  wdPrinterFormSource = 15
} WdPaperTray;

typedef enum WdOrientation
{
  wdOrientPortrait = 0, 
  wdOrientLandscape = 1
} WdOrientation;

typedef enum WdSelectionType
{
  wdNoSelection = 0, 
  wdSelectionIP = 1, 
  wdSelectionNormal = 2, 
  wdSelectionFrame = 3, 
  wdSelectionColumn = 4, 
  wdSelectionRow = 5, 
  wdSelectionBlock = 6, 
  wdSelectionInlineShape = 7, 
  wdSelectionShape = 8
} WdSelectionType;

typedef enum WdCaptionLabelID
{
  wdCaptionFigure = 0xFFFFFFFF, 
  wdCaptionTable = 0xFFFFFFFE, 
  wdCaptionEquation = 0xFFFFFFFD
} WdCaptionLabelID;

typedef enum WdReferenceType
{
  wdRefTypeNumberedItem = 0, 
  wdRefTypeHeading = 1, 
  wdRefTypeBookmark = 2, 
  wdRefTypeFootnote = 3, 
  wdRefTypeEndnote = 4
} WdReferenceType;

typedef enum WdReferenceKind
{
  wdContentText = 0xFFFFFFFF, 
  wdNumberRelativeContext = 0xFFFFFFFE, 
  wdNumberNoContext = 0xFFFFFFFD, 
  wdNumberFullContext = 0xFFFFFFFC, 
  wdEntireCaption = 2, 
  wdOnlyLabelAndNumber = 3, 
  wdOnlyCaptionText = 4, 
  wdFootnoteNumber = 5, 
  wdEndnoteNumber = 6, 
  wdPageNumber = 7, 
  wdPosition = 15, 
  wdFootnoteNumberFormatted = 16, 
  wdEndnoteNumberFormatted = 17
} WdReferenceKind;

typedef enum WdIndexFormat
{
  wdIndexTemplate = 0, 
  wdIndexClassic = 1, 
  wdIndexFancy = 2, 
  wdIndexModern = 3, 
  wdIndexBulleted = 4, 
  wdIndexFormal = 5, 
  wdIndexSimple = 6
} WdIndexFormat;

typedef enum WdIndexType
{
  wdIndexIndent = 0, 
  wdIndexRunin = 1
} WdIndexType;

typedef enum WdRevisionsWrap
{
  wdWrapNever = 0, 
  wdWrapAlways = 1, 
  wdWrapAsk = 2
} WdRevisionsWrap;

typedef enum WdRevisionType
{
  wdNoRevision = 0, 
  wdRevisionInsert = 1, 
  wdRevisionDelete = 2, 
  wdRevisionProperty = 3, 
  wdRevisionParagraphNumber = 4, 
  wdRevisionDisplayField = 5, 
  wdRevisionReconcile = 6, 
  wdRevisionConflict = 7, 
  wdRevisionStyle = 8, 
  wdRevisionReplace = 9, 
  wdRevisionParagraphProperty = 10, 
  wdRevisionTableProperty = 11, 
  wdRevisionSectionProperty = 12, 
  wdRevisionStyleDefinition = 13
} WdRevisionType;

typedef enum WdRoutingSlipDelivery
{
  wdOneAfterAnother = 0, 
  wdAllAtOnce = 1
} WdRoutingSlipDelivery;

typedef enum WdRoutingSlipStatus
{
  wdNotYetRouted = 0, 
  wdRouteInProgress = 1, 
  wdRouteComplete = 2
} WdRoutingSlipStatus;

typedef enum WdSectionStart
{
  wdSectionContinuous = 0, 
  wdSectionNewColumn = 1, 
  wdSectionNewPage = 2, 
  wdSectionEvenPage = 3, 
  wdSectionOddPage = 4
} WdSectionStart;

typedef enum WdSaveOptions
{
  wdDoNotSaveChanges = 0, 
  wdSaveChanges = 0xFFFFFFFF, 
  wdPromptToSaveChanges = 0xFFFFFFFE
} WdSaveOptions;

typedef enum WdDocumentKind
{
  wdDocumentNotSpecified = 0, 
  wdDocumentLetter = 1, 
  wdDocumentEmail = 2
} WdDocumentKind;

typedef enum WdDocumentType
{
  wdTypeDocument = 0, 
  wdTypeTemplate = 1, 
  wdTypeFrameset = 2
} WdDocumentType;

typedef enum WdOriginalFormat
{
  wdWordDocument = 0, 
  wdOriginalDocumentFormat = 1, 
  wdPromptUser = 2
} WdOriginalFormat;

typedef enum WdRelocate
{
  wdRelocateUp = 0, 
  wdRelocateDown = 1
} WdRelocate;

typedef enum WdInsertedTextMark
{
  wdInsertedTextMarkNone = 0, 
  wdInsertedTextMarkBold = 1, 
  wdInsertedTextMarkItalic = 2, 
  wdInsertedTextMarkUnderline = 3, 
  wdInsertedTextMarkDoubleUnderline = 4, 
  wdInsertedTextMarkColorOnly = 5, 
  wdInsertedTextMarkStrikeThrough = 6
} WdInsertedTextMark;

typedef enum WdRevisedLinesMark
{
  wdRevisedLinesMarkNone = 0, 
  wdRevisedLinesMarkLeftBorder = 1, 
  wdRevisedLinesMarkRightBorder = 2, 
  wdRevisedLinesMarkOutsideBorder = 3
} WdRevisedLinesMark;

typedef enum WdDeletedTextMark
{
  wdDeletedTextMarkHidden = 0, 
  wdDeletedTextMarkStrikeThrough = 1, 
  wdDeletedTextMarkCaret = 2, 
  wdDeletedTextMarkPound = 3, 
  wdDeletedTextMarkNone = 4, 
  wdDeletedTextMarkBold = 5, 
  wdDeletedTextMarkItalic = 6, 
  wdDeletedTextMarkUnderline = 7, 
  wdDeletedTextMarkDoubleUnderline = 8, 
  wdDeletedTextMarkColorOnly = 9
} WdDeletedTextMark;

typedef enum WdRevisedPropertiesMark
{
  wdRevisedPropertiesMarkNone = 0, 
  wdRevisedPropertiesMarkBold = 1, 
  wdRevisedPropertiesMarkItalic = 2, 
  wdRevisedPropertiesMarkUnderline = 3, 
  wdRevisedPropertiesMarkDoubleUnderline = 4, 
  wdRevisedPropertiesMarkColorOnly = 5, 
  wdRevisedPropertiesMarkStrikeThrough = 6
} WdRevisedPropertiesMark;

typedef enum WdFieldShading
{
  wdFieldShadingNever = 0, 
  wdFieldShadingAlways = 1, 
  wdFieldShadingWhenSelected = 2
} WdFieldShading;

typedef enum WdDefaultFilePath
{
  wdDocumentsPath = 0, 
  wdPicturesPath = 1, 
  wdUserTemplatesPath = 2, 
  wdWorkgroupTemplatesPath = 3, 
  wdUserOptionsPath = 4, 
  wdAutoRecoverPath = 5, 
  wdToolsPath = 6, 
  wdTutorialPath = 7, 
  wdStartupPath = 8, 
  wdProgramPath = 9, 
  wdGraphicsFiltersPath = 10, 
  wdTextConvertersPath = 11, 
  wdProofingToolsPath = 12, 
  wdTempFilePath = 13, 
  wdCurrentFolderPath = 14, 
  wdStyleGalleryPath = 15, 
  wdBorderArtPath = 19
} WdDefaultFilePath;

typedef enum WdCompatibility
{
  wdNoTabHangIndent = 1, 
  wdNoSpaceRaiseLower = 2, 
  wdPrintColBlack = 3, 
  wdWrapTrailSpaces = 4, 
  wdNoColumnBalance = 5, 
  wdConvMailMergeEsc = 6, 
  wdSuppressSpBfAfterPgBrk = 7, 
  wdSuppressTopSpacing = 8, 
  wdOrigWordTableRules = 9, 
  wdTransparentMetafiles = 10, 
  wdShowBreaksInFrames = 11, 
  wdSwapBordersFacingPages = 12, 
  wdLeaveBackslashAlone = 13, 
  wdExpandShiftReturn = 14, 
  wdDontULTrailSpace = 15, 
  wdDontBalanceSingleByteDoubleByteWidth = 16, 
  wdSuppressTopSpacingMac5 = 17, 
  wdSpacingInWholePoints = 18, 
  wdPrintBodyTextBeforeHeader = 19, 
  wdNoLeading = 20, 
  wdNoSpaceForUL = 21, 
  wdMWSmallCaps = 22, 
  wdNoExtraLineSpacing = 23, 
  wdTruncateFontHeight = 24, 
  wdSubFontBySize = 25, 
  wdUsePrinterMetrics = 26, 
  wdWW6BorderRules = 27, 
  wdExactOnTop = 28, 
  wdSuppressBottomSpacing = 29, 
  wdWPSpaceWidth = 30, 
  wdWPJustification = 31, 
  wdLineWrapLikeWord6 = 32, 
  wdShapeLayoutLikeWW8 = 33, 
  wdFootnoteLayoutLikeWW8 = 34, 
  wdDontUseHTMLParagraphAutoSpacing = 35, 
  wdDontAdjustLineHeightInTable = 36, 
  wdForgetLastTabAlignment = 37, 
  wdAutospaceLikeWW7 = 38, 
  wdAlignTablesRowByRow = 39, 
  wdLayoutRawTableWidth = 40, 
  wdLayoutTableRowsApart = 41, 
  wdUseWord97LineBreakingRules = 42, 
  wdDontBreakWrappedTables = 43, 
  wdDontSnapTextToGridInTableWithObjects = 44, 
  wdSelectFieldWithFirstOrLastCharacter = 45, 
  wdApplyBreakingRules = 46, 
  wdDontWrapTextWithPunctuation = 47, 
  wdDontUseAsianBreakRulesInGrid = 48
} WdCompatibility;

typedef enum WdPaperSize
{
  wdPaper10x14 = 0, 
  wdPaper11x17 = 1, 
  wdPaperLetter = 2, 
  wdPaperLetterSmall = 3, 
  wdPaperLegal = 4, 
  wdPaperExecutive = 5, 
  wdPaperA3 = 6, 
  wdPaperA4 = 7, 
  wdPaperA4Small = 8, 
  wdPaperA5 = 9, 
  wdPaperB4 = 10, 
  wdPaperB5 = 11, 
  wdPaperCSheet = 12, 
  wdPaperDSheet = 13, 
  wdPaperESheet = 14, 
  wdPaperFanfoldLegalGerman = 15, 
  wdPaperFanfoldStdGerman = 16, 
  wdPaperFanfoldUS = 17, 
  wdPaperFolio = 18, 
  wdPaperLedger = 19, 
  wdPaperNote = 20, 
  wdPaperQuarto = 21, 
  wdPaperStatement = 22, 
  wdPaperTabloid = 23, 
  wdPaperEnvelope9 = 24, 
  wdPaperEnvelope10 = 25, 
  wdPaperEnvelope11 = 26, 
  wdPaperEnvelope12 = 27, 
  wdPaperEnvelope14 = 28, 
  wdPaperEnvelopeB4 = 29, 
  wdPaperEnvelopeB5 = 30, 
  wdPaperEnvelopeB6 = 31, 
  wdPaperEnvelopeC3 = 32, 
  wdPaperEnvelopeC4 = 33, 
  wdPaperEnvelopeC5 = 34, 
  wdPaperEnvelopeC6 = 35, 
  wdPaperEnvelopeC65 = 36, 
  wdPaperEnvelopeDL = 37, 
  wdPaperEnvelopeItaly = 38, 
  wdPaperEnvelopeMonarch = 39, 
  wdPaperEnvelopePersonal = 40, 
  wdPaperCustom = 41
} WdPaperSize;

typedef enum WdCustomLabelPageSize
{
  wdCustomLabelLetter = 0, 
  wdCustomLabelLetterLS = 1, 
  wdCustomLabelA4 = 2, 
  wdCustomLabelA4LS = 3, 
  wdCustomLabelA5 = 4, 
  wdCustomLabelA5LS = 5, 
  wdCustomLabelB5 = 6, 
  wdCustomLabelMini = 7, 
  wdCustomLabelFanfold = 8, 
  wdCustomLabelVertHalfSheet = 9, 
  wdCustomLabelVertHalfSheetLS = 10, 
  wdCustomLabelHigaki = 11, 
  wdCustomLabelHigakiLS = 12, 
  wdCustomLabelB4JIS = 13
} WdCustomLabelPageSize;

typedef enum WdProtectionType
{
  wdNoProtection = 0xFFFFFFFF, 
  wdAllowOnlyRevisions = 0, 
  wdAllowOnlyComments = 1, 
  wdAllowOnlyFormFields = 2
} WdProtectionType;

typedef enum WdPartOfSpeech
{
  wdAdjective = 0, 
  wdNoun = 1, 
  wdAdverb = 2, 
  wdVerb = 3, 
  wdPronoun = 4, 
  wdConjunction = 5, 
  wdPreposition = 6, 
  wdInterjection = 7, 
  wdIdiom = 8, 
  wdOther = 9
} WdPartOfSpeech;

typedef enum WdSubscriberFormats
{
  wdSubscriberBestFormat = 0, 
  wdSubscriberRTF = 1, 
  wdSubscriberText = 2, 
  wdSubscriberPict = 4
} WdSubscriberFormats;

typedef enum WdEditionType
{
  wdPublisher = 0, 
  wdSubscriber = 1
} WdEditionType;

typedef enum WdEditionOption
{
  wdCancelPublisher = 0, 
  wdSendPublisher = 1, 
  wdSelectPublisher = 2, 
  wdAutomaticUpdate = 3, 
  wdManualUpdate = 4, 
  wdChangeAttributes = 5, 
  wdUpdateSubscriber = 6, 
  wdOpenSource = 7
} WdEditionOption;

typedef enum WdRelativeHorizontalPosition
{
  wdRelativeHorizontalPositionMargin = 0, 
  wdRelativeHorizontalPositionPage = 1, 
  wdRelativeHorizontalPositionColumn = 2, 
  wdRelativeHorizontalPositionCharacter = 3
} WdRelativeHorizontalPosition;

typedef enum WdRelativeVerticalPosition
{
  wdRelativeVerticalPositionMargin = 0, 
  wdRelativeVerticalPositionPage = 1, 
  wdRelativeVerticalPositionParagraph = 2, 
  wdRelativeVerticalPositionLine = 3
} WdRelativeVerticalPosition;

typedef enum WdHelpType
{
  wdHelp = 0, 
  wdHelpAbout = 1, 
  wdHelpActiveWindow = 2, 
  wdHelpContents = 3, 
  wdHelpExamplesAndDemos = 4, 
  wdHelpIndex = 5, 
  wdHelpKeyboard = 6, 
  wdHelpPSSHelp = 7, 
  wdHelpQuickPreview = 8, 
  wdHelpSearch = 9, 
  wdHelpUsingHelp = 10, 
  wdHelpIchitaro = 11, 
  wdHelpPE2 = 12, 
  wdHelpHWP = 13
} WdHelpType;

typedef enum WdHelpTypeHID
{
  emptyenum____________ = 0
} WdHelpTypeHID;

typedef enum WdKeyCategory
{
  wdKeyCategoryNil = 0xFFFFFFFF, 
  wdKeyCategoryDisable = 0, 
  wdKeyCategoryCommand = 1, 
  wdKeyCategoryMacro = 2, 
  wdKeyCategoryFont = 3, 
  wdKeyCategoryAutoText = 4, 
  wdKeyCategoryStyle = 5, 
  wdKeyCategorySymbol = 6, 
  wdKeyCategoryPrefix = 7
} WdKeyCategory;

typedef enum WdKey
{
  wdNoKey = 255, 
  wdKeyShift = 256, 
  wdKeyControl = 512, 
  wdKeyCommand = 512, 
  wdKeyAlt = 1024, 
  wdKeyOption = 1024, 
  wdKeyA = 65, 
  wdKeyB = 66, 
  wdKeyC = 67, 
  wdKeyD = 68, 
  wdKeyE = 69, 
  wdKeyF = 70, 
  wdKeyG = 71, 
  wdKeyH = 72, 
  wdKeyI = 73, 
  wdKeyJ = 74, 
  wdKeyK = 75, 
  wdKeyL = 76, 
  wdKeyM = 77, 
  wdKeyN = 78, 
  wdKeyO = 79, 
  wdKeyP = 80, 
  wdKeyQ = 81, 
  wdKeyR = 82, 
  wdKeyS = 83, 
  wdKeyT = 84, 
  wdKeyU = 85, 
  wdKeyV = 86, 
  wdKeyW = 87, 
  wdKeyX = 88, 
  wdKeyY = 89, 
  wdKeyZ = 90, 
  wdKey0 = 48, 
  wdKey1 = 49, 
  wdKey2 = 50, 
  wdKey3 = 51, 
  wdKey4 = 52, 
  wdKey5 = 53, 
  wdKey6 = 54, 
  wdKey7 = 55, 
  wdKey8 = 56, 
  wdKey9 = 57, 
  wdKeyBackspace = 8, 
  wdKeyTab = 9, 
  wdKeyNumeric5Special = 12, 
  wdKeyReturn = 13, 
  wdKeyPause = 19, 
  wdKeyEsc = 27, 
  wdKeySpacebar = 32, 
  wdKeyPageUp = 33, 
  wdKeyPageDown = 34, 
  wdKeyEnd = 35, 
  wdKeyHome = 36, 
  wdKeyInsert = 45, 
  wdKeyDelete = 46, 
  wdKeyNumeric0 = 96, 
  wdKeyNumeric1 = 97, 
  wdKeyNumeric2 = 98, 
  wdKeyNumeric3 = 99, 
  wdKeyNumeric4 = 100, 
  wdKeyNumeric5 = 101, 
  wdKeyNumeric6 = 102, 
  wdKeyNumeric7 = 103, 
  wdKeyNumeric8 = 104, 
  wdKeyNumeric9 = 105, 
  wdKeyNumericMultiply = 106, 
  wdKeyNumericAdd = 107, 
  wdKeyNumericSubtract = 109, 
  wdKeyNumericDecimal = 110, 
  wdKeyNumericDivide = 111, 
  wdKeyF1 = 112, 
  wdKeyF2 = 113, 
  wdKeyF3 = 114, 
  wdKeyF4 = 115, 
  wdKeyF5 = 116, 
  wdKeyF6 = 117, 
  wdKeyF7 = 118, 
  wdKeyF8 = 119, 
  wdKeyF9 = 120, 
  wdKeyF10 = 121, 
  wdKeyF11 = 122, 
  wdKeyF12 = 123, 
  wdKeyF13 = 124, 
  wdKeyF14 = 125, 
  wdKeyF15 = 126, 
  wdKeyF16 = 127, 
  wdKeyScrollLock = 145, 
  wdKeySemiColon = 186, 
  wdKeyEquals = 187, 
  wdKeyComma = 188, 
  wdKeyHyphen = 189, 
  wdKeyPeriod = 190, 
  wdKeySlash = 191, 
  wdKeyBackSingleQuote = 192, 
  wdKeyOpenSquareBrace = 219, 
  wdKeyBackSlash = 220, 
  wdKeyCloseSquareBrace = 221, 
  wdKeySingleQuote = 222
} WdKey;

typedef enum WdOLEType
{
  wdOLELink = 0, 
  wdOLEEmbed = 1, 
  wdOLEControl = 2
} WdOLEType;

typedef enum WdOLEVerb
{
  wdOLEVerbPrimary = 0, 
  wdOLEVerbShow = 0xFFFFFFFF, 
  wdOLEVerbOpen = 0xFFFFFFFE, 
  wdOLEVerbHide = 0xFFFFFFFD, 
  wdOLEVerbUIActivate = 0xFFFFFFFC, 
  wdOLEVerbInPlaceActivate = 0xFFFFFFFB, 
  wdOLEVerbDiscardUndoState = 0xFFFFFFFA
} WdOLEVerb;

typedef enum WdOLEPlacement
{
  wdInLine = 0, 
  wdFloatOverText = 1
} WdOLEPlacement;

typedef enum WdEnvelopeOrientation
{
  wdLeftPortrait = 0, 
  wdCenterPortrait = 1, 
  wdRightPortrait = 2, 
  wdLeftLandscape = 3, 
  wdCenterLandscape = 4, 
  wdRightLandscape = 5, 
  wdLeftClockwise = 6, 
  wdCenterClockwise = 7, 
  wdRightClockwise = 8
} WdEnvelopeOrientation;

typedef enum WdLetterStyle
{
  wdFullBlock = 0, 
  wdModifiedBlock = 1, 
  wdSemiBlock = 2
} WdLetterStyle;

typedef enum WdLetterheadLocation
{
  wdLetterTop = 0, 
  wdLetterBottom = 1, 
  wdLetterLeft = 2, 
  wdLetterRight = 3
} WdLetterheadLocation;

typedef enum WdSalutationType
{
  wdSalutationInformal = 0, 
  wdSalutationFormal = 1, 
  wdSalutationBusiness = 2, 
  wdSalutationOther = 3
} WdSalutationType;

typedef enum WdSalutationGender
{
  wdGenderFemale = 0, 
  wdGenderMale = 1, 
  wdGenderNeutral = 2, 
  wdGenderUnknown = 3
} WdSalutationGender;

typedef enum WdMovementType
{
  wdMove = 0, 
  wdExtend = 1
} WdMovementType;

typedef enum WdConstants
{
  wdUndefined = 9999999, 
  wdToggle = 9999998, 
  wdForward = 1073741823, 
  wdBackward = 0xC0000001, 
  wdAutoPosition = 0, 
  wdFirst = 1, 
  wdCreatorCode = 1297307460
} WdConstants;

typedef enum WdPasteDataType
{
  wdPasteOLEObject = 0, 
  wdPasteRTF = 1, 
  wdPasteText = 2, 
  wdPasteMetafilePicture = 3, 
  wdPasteBitmap = 4, 
  wdPasteDeviceIndependentBitmap = 5, 
  wdPasteHyperlink = 7, 
  wdPasteShape = 8, 
  wdPasteEnhancedMetafile = 9, 
  wdPasteHTML = 10
} WdPasteDataType;

typedef enum WdPrintOutItem
{
  wdPrintDocumentContent = 0, 
  wdPrintProperties = 1, 
  wdPrintComments = 2, 
  wdPrintMarkup = 2, 
  wdPrintStyles = 3, 
  wdPrintAutoTextEntries = 4, 
  wdPrintKeyAssignments = 5, 
  wdPrintEnvelope = 6, 
  wdPrintDocumentWithMarkup = 7
} WdPrintOutItem;

typedef enum WdPrintOutPages
{
  wdPrintAllPages = 0, 
  wdPrintOddPagesOnly = 1, 
  wdPrintEvenPagesOnly = 2
} WdPrintOutPages;

typedef enum WdPrintOutRange
{
  wdPrintAllDocument = 0, 
  wdPrintSelection = 1, 
  wdPrintCurrentPage = 2, 
  wdPrintFromTo = 3, 
  wdPrintRangeOfPages = 4
} WdPrintOutRange;

typedef enum WdDictionaryType
{
  wdSpelling = 0, 
  wdGrammar = 1, 
  wdThesaurus = 2, 
  wdHyphenation = 3, 
  wdSpellingComplete = 4, 
  wdSpellingCustom = 5, 
  wdSpellingLegal = 6, 
  wdSpellingMedical = 7, 
  wdHangulHanjaConversion = 8, 
  wdHangulHanjaConversionCustom = 9
} WdDictionaryType;

typedef enum WdDictionaryTypeHID
{
  emptyenum_____________ = 0
} WdDictionaryTypeHID;

typedef enum WdSpellingWordType
{
  wdSpellword = 0, 
  wdWildcard = 1, 
  wdAnagram = 2
} WdSpellingWordType;

typedef enum WdSpellingErrorType
{
  wdSpellingCorrect = 0, 
  wdSpellingNotInDictionary = 1, 
  wdSpellingCapitalization = 2
} WdSpellingErrorType;

typedef enum WdProofreadingErrorType
{
  wdSpellingError = 0, 
  wdGrammaticalError = 1
} WdProofreadingErrorType;

typedef enum WdInlineShapeType
{
  wdInlineShapeEmbeddedOLEObject = 1, 
  wdInlineShapeLinkedOLEObject = 2, 
  wdInlineShapePicture = 3, 
  wdInlineShapeLinkedPicture = 4, 
  wdInlineShapeOLEControlObject = 5, 
  wdInlineShapeHorizontalLine = 6, 
  wdInlineShapePictureHorizontalLine = 7, 
  wdInlineShapeLinkedPictureHorizontalLine = 8, 
  wdInlineShapePictureBullet = 9, 
  wdInlineShapeScriptAnchor = 10, 
  wdInlineShapeOWSAnchor = 11
} WdInlineShapeType;

typedef enum WdArrangeStyle
{
  wdTiled = 0, 
  wdIcons = 1
} WdArrangeStyle;

typedef enum WdSelectionFlags
{
  wdSelStartActive = 1, 
  wdSelAtEOL = 2, 
  wdSelOvertype = 4, 
  wdSelActive = 8, 
  wdSelReplace = 16
} WdSelectionFlags;

typedef enum WdAutoVersions
{
  wdAutoVersionOff = 0, 
  wdAutoVersionOnClose = 1
} WdAutoVersions;

typedef enum WdOrganizerObject
{
  wdOrganizerObjectStyles = 0, 
  wdOrganizerObjectAutoText = 1, 
  wdOrganizerObjectCommandBars = 2, 
  wdOrganizerObjectProjectItems = 3
} WdOrganizerObject;

typedef enum WdFindMatch
{
  wdMatchParagraphMark = 65551, 
  wdMatchTabCharacter = 9, 
  wdMatchCommentMark = 5, 
  wdMatchAnyCharacter = 65599, 
  wdMatchAnyDigit = 65567, 
  wdMatchAnyLetter = 65583, 
  wdMatchCaretCharacter = 11, 
  wdMatchColumnBreak = 14, 
  wdMatchEmDash = 8212, 
  wdMatchEnDash = 8211, 
  wdMatchEndnoteMark = 65555, 
  wdMatchField = 19, 
  wdMatchFootnoteMark = 65554, 
  wdMatchGraphic = 1, 
  wdMatchManualLineBreak = 65551, 
  wdMatchManualPageBreak = 65564, 
  wdMatchNonbreakingHyphen = 30, 
  wdMatchNonbreakingSpace = 160, 
  wdMatchOptionalHyphen = 31, 
  wdMatchSectionBreak = 65580, 
  wdMatchWhiteSpace = 65655
} WdFindMatch;

typedef enum WdFindWrap
{
  wdFindStop = 0, 
  wdFindContinue = 1, 
  wdFindAsk = 2
} WdFindWrap;

typedef enum WdInformation
{
  wdActiveEndAdjustedPageNumber = 1, 
  wdActiveEndSectionNumber = 2, 
  wdActiveEndPageNumber = 3, 
  wdNumberOfPagesInDocument = 4, 
  wdHorizontalPositionRelativeToPage = 5, 
  wdVerticalPositionRelativeToPage = 6, 
  wdHorizontalPositionRelativeToTextBoundary = 7, 
  wdVerticalPositionRelativeToTextBoundary = 8, 
  wdFirstCharacterColumnNumber = 9, 
  wdFirstCharacterLineNumber = 10, 
  wdFrameIsSelected = 11, 
  wdWithInTable = 12, 
  wdStartOfRangeRowNumber = 13, 
  wdEndOfRangeRowNumber = 14, 
  wdMaximumNumberOfRows = 15, 
  wdStartOfRangeColumnNumber = 16, 
  wdEndOfRangeColumnNumber = 17, 
  wdMaximumNumberOfColumns = 18, 
  wdZoomPercentage = 19, 
  wdSelectionMode = 20, 
  wdCapsLock = 21, 
  wdNumLock = 22, 
  wdOverType = 23, 
  wdRevisionMarking = 24, 
  wdInFootnoteEndnotePane = 25, 
  wdInCommentPane = 26, 
  wdInHeaderFooter = 28, 
  wdAtEndOfRowMarker = 31, 
  wdReferenceOfType = 32, 
  wdHeaderFooterType = 33, 
  wdInMasterDocument = 34, 
  wdInFootnote = 35, 
  wdInEndnote = 36, 
  wdInWordMail = 37, 
  wdInClipboard = 38
} WdInformation;

typedef enum WdWrapType
{
  wdWrapSquare = 0, 
  wdWrapTight = 1, 
  wdWrapThrough = 2, 
  wdWrapNone = 3, 
  wdWrapTopBottom = 4, 
  wdWrapInline = 7
} WdWrapType;

typedef enum WdWrapSideType
{
  wdWrapBoth = 0, 
  wdWrapLeft = 1, 
  wdWrapRight = 2, 
  wdWrapLargest = 3
} WdWrapSideType;

typedef enum WdOutlineLevel
{
  wdOutlineLevel1 = 1, 
  wdOutlineLevel2 = 2, 
  wdOutlineLevel3 = 3, 
  wdOutlineLevel4 = 4, 
  wdOutlineLevel5 = 5, 
  wdOutlineLevel6 = 6, 
  wdOutlineLevel7 = 7, 
  wdOutlineLevel8 = 8, 
  wdOutlineLevel9 = 9, 
  wdOutlineLevelBodyText = 10
} WdOutlineLevel;

typedef enum WdTextOrientation
{
  wdTextOrientationHorizontal = 0, 
  wdTextOrientationUpward = 2, 
  wdTextOrientationDownward = 3, 
  wdTextOrientationVerticalFarEast = 1, 
  wdTextOrientationHorizontalRotatedFarEast = 4
} WdTextOrientation;

typedef enum WdTextOrientationHID
{
  emptyenum______________ = 0
} WdTextOrientationHID;

typedef enum WdPageBorderArt
{
  wdArtApples = 1, 
  wdArtMapleMuffins = 2, 
  wdArtCakeSlice = 3, 
  wdArtCandyCorn = 4, 
  wdArtIceCreamCones = 5, 
  wdArtChampagneBottle = 6, 
  wdArtPartyGlass = 7, 
  wdArtChristmasTree = 8, 
  wdArtTrees = 9, 
  wdArtPalmsColor = 10, 
  wdArtBalloons3Colors = 11, 
  wdArtBalloonsHotAir = 12, 
  wdArtPartyFavor = 13, 
  wdArtConfettiStreamers = 14, 
  wdArtHearts = 15, 
  wdArtHeartBalloon = 16, 
  wdArtStars3D = 17, 
  wdArtStarsShadowed = 18, 
  wdArtStars = 19, 
  wdArtSun = 20, 
  wdArtEarth2 = 21, 
  wdArtEarth1 = 22, 
  wdArtPeopleHats = 23, 
  wdArtSombrero = 24, 
  wdArtPencils = 25, 
  wdArtPackages = 26, 
  wdArtClocks = 27, 
  wdArtFirecrackers = 28, 
  wdArtRings = 29, 
  wdArtMapPins = 30, 
  wdArtConfetti = 31, 
  wdArtCreaturesButterfly = 32, 
  wdArtCreaturesLadyBug = 33, 
  wdArtCreaturesFish = 34, 
  wdArtBirdsFlight = 35, 
  wdArtScaredCat = 36, 
  wdArtBats = 37, 
  wdArtFlowersRoses = 38, 
  wdArtFlowersRedRose = 39, 
  wdArtPoinsettias = 40, 
  wdArtHolly = 41, 
  wdArtFlowersTiny = 42, 
  wdArtFlowersPansy = 43, 
  wdArtFlowersModern2 = 44, 
  wdArtFlowersModern1 = 45, 
  wdArtWhiteFlowers = 46, 
  wdArtVine = 47, 
  wdArtFlowersDaisies = 48, 
  wdArtFlowersBlockPrint = 49, 
  wdArtDecoArchColor = 50, 
  wdArtFans = 51, 
  wdArtFilm = 52, 
  wdArtLightning1 = 53, 
  wdArtCompass = 54, 
  wdArtDoubleD = 55, 
  wdArtClassicalWave = 56, 
  wdArtShadowedSquares = 57, 
  wdArtTwistedLines1 = 58, 
  wdArtWaveline = 59, 
  wdArtQuadrants = 60, 
  wdArtCheckedBarColor = 61, 
  wdArtSwirligig = 62, 
  wdArtPushPinNote1 = 63, 
  wdArtPushPinNote2 = 64, 
  wdArtPumpkin1 = 65, 
  wdArtEggsBlack = 66, 
  wdArtCup = 67, 
  wdArtHeartGray = 68, 
  wdArtGingerbreadMan = 69, 
  wdArtBabyPacifier = 70, 
  wdArtBabyRattle = 71, 
  wdArtCabins = 72, 
  wdArtHouseFunky = 73, 
  wdArtStarsBlack = 74, 
  wdArtSnowflakes = 75, 
  wdArtSnowflakeFancy = 76, 
  wdArtSkyrocket = 77, 
  wdArtSeattle = 78, 
  wdArtMusicNotes = 79, 
  wdArtPalmsBlack = 80, 
  wdArtMapleLeaf = 81, 
  wdArtPaperClips = 82, 
  wdArtShorebirdTracks = 83, 
  wdArtPeople = 84, 
  wdArtPeopleWaving = 85, 
  wdArtEclipsingSquares2 = 86, 
  wdArtHypnotic = 87, 
  wdArtDiamondsGray = 88, 
  wdArtDecoArch = 89, 
  wdArtDecoBlocks = 90, 
  wdArtCirclesLines = 91, 
  wdArtPapyrus = 92, 
  wdArtWoodwork = 93, 
  wdArtWeavingBraid = 94, 
  wdArtWeavingRibbon = 95, 
  wdArtWeavingAngles = 96, 
  wdArtArchedScallops = 97, 
  wdArtSafari = 98, 
  wdArtCelticKnotwork = 99, 
  wdArtCrazyMaze = 100, 
  wdArtEclipsingSquares1 = 101, 
  wdArtBirds = 102, 
  wdArtFlowersTeacup = 103, 
  wdArtNorthwest = 104, 
  wdArtSouthwest = 105, 
  wdArtTribal6 = 106, 
  wdArtTribal4 = 107, 
  wdArtTribal3 = 108, 
  wdArtTribal2 = 109, 
  wdArtTribal5 = 110, 
  wdArtXIllusions = 111, 
  wdArtZanyTriangles = 112, 
  wdArtPyramids = 113, 
  wdArtPyramidsAbove = 114, 
  wdArtConfettiGrays = 115, 
  wdArtConfettiOutline = 116, 
  wdArtConfettiWhite = 117, 
  wdArtMosaic = 118, 
  wdArtLightning2 = 119, 
  wdArtHeebieJeebies = 120, 
  wdArtLightBulb = 121, 
  wdArtGradient = 122, 
  wdArtTriangleParty = 123, 
  wdArtTwistedLines2 = 124, 
  wdArtMoons = 125, 
  wdArtOvals = 126, 
  wdArtDoubleDiamonds = 127, 
  wdArtChainLink = 128, 
  wdArtTriangles = 129, 
  wdArtTribal1 = 130, 
  wdArtMarqueeToothed = 131, 
  wdArtSharksTeeth = 132, 
  wdArtSawtooth = 133, 
  wdArtSawtoothGray = 134, 
  wdArtPostageStamp = 135, 
  wdArtWeavingStrips = 136, 
  wdArtZigZag = 137, 
  wdArtCrossStitch = 138, 
  wdArtGems = 139, 
  wdArtCirclesRectangles = 140, 
  wdArtCornerTriangles = 141, 
  wdArtCreaturesInsects = 142, 
  wdArtZigZagStitch = 143, 
  wdArtCheckered = 144, 
  wdArtCheckedBarBlack = 145, 
  wdArtMarquee = 146, 
  wdArtBasicWhiteDots = 147, 
  wdArtBasicWideMidline = 148, 
  wdArtBasicWideOutline = 149, 
  wdArtBasicWideInline = 150, 
  wdArtBasicThinLines = 151, 
  wdArtBasicWhiteDashes = 152, 
  wdArtBasicWhiteSquares = 153, 
  wdArtBasicBlackSquares = 154, 
  wdArtBasicBlackDashes = 155, 
  wdArtBasicBlackDots = 156, 
  wdArtStarsTop = 157, 
  wdArtCertificateBanner = 158, 
  wdArtHandmade1 = 159, 
  wdArtHandmade2 = 160, 
  wdArtTornPaper = 161, 
  wdArtTornPaperBlack = 162, 
  wdArtCouponCutoutDashes = 163, 
  wdArtCouponCutoutDots = 164
} WdPageBorderArt;

typedef enum WdBorderDistanceFrom
{
  wdBorderDistanceFromText = 0, 
  wdBorderDistanceFromPageEdge = 1
} WdBorderDistanceFrom;

typedef enum WdReplace
{
  wdReplaceNone = 0, 
  wdReplaceOne = 1, 
  wdReplaceAll = 2
} WdReplace;

typedef enum WdFontBias
{
  wdFontBiasDontCare = 255, 
  wdFontBiasDefault = 0, 
  wdFontBiasFareast = 1
} WdFontBias;

typedef enum WdBrowserLevel
{
  wdBrowserLevelV4 = 0, 
  wdBrowserLevelMicrosoftInternetExplorer5 = 1, 
  wdBrowserLevelMicrosoftInternetExplorer6 = 2
} WdBrowserLevel;

typedef enum WdEnclosureType
{
  wdEnclosureCircle = 0, 
  wdEnclosureSquare = 1, 
  wdEnclosureTriangle = 2, 
  wdEnclosureDiamond = 3
} WdEnclosureType;

typedef enum WdEncloseStyle
{
  wdEncloseStyleNone = 0, 
  wdEncloseStyleSmall = 1, 
  wdEncloseStyleLarge = 2
} WdEncloseStyle;

typedef enum WdHighAnsiText
{
  wdHighAnsiIsFarEast = 0, 
  wdHighAnsiIsHighAnsi = 1, 
  wdAutoDetectHighAnsiFarEast = 2
} WdHighAnsiText;

typedef enum WdLayoutMode
{
  wdLayoutModeDefault = 0, 
  wdLayoutModeGrid = 1, 
  wdLayoutModeLineGrid = 2, 
  wdLayoutModeGenko = 3
} WdLayoutMode;

typedef enum WdDocumentMedium
{
  wdEmailMessage = 0, 
  wdDocument = 1, 
  wdWebPage = 2
} WdDocumentMedium;

typedef enum WdMailerPriority
{
  wdPriorityNormal = 1, 
  wdPriorityLow = 2, 
  wdPriorityHigh = 3
} WdMailerPriority;

typedef enum WdDocumentViewDirection
{
  wdDocumentViewRtl = 0, 
  wdDocumentViewLtr = 1
} WdDocumentViewDirection;

typedef enum WdArabicNumeral
{
  wdNumeralArabic = 0, 
  wdNumeralHindi = 1, 
  wdNumeralContext = 2, 
  wdNumeralSystem = 3
} WdArabicNumeral;

typedef enum WdMonthNames
{
  wdMonthNamesArabic = 0, 
  wdMonthNamesEnglish = 1, 
  wdMonthNamesFrench = 2
} WdMonthNames;

typedef enum WdCursorMovement
{
  wdCursorMovementLogical = 0, 
  wdCursorMovementVisual = 1
} WdCursorMovement;

typedef enum WdVisualSelection
{
  wdVisualSelectionBlock = 0, 
  wdVisualSelectionContinuous = 1
} WdVisualSelection;

typedef enum WdTableDirection
{
  wdTableDirectionRtl = 0, 
  wdTableDirectionLtr = 1
} WdTableDirection;

typedef enum WdFlowDirection
{
  wdFlowLtr = 0, 
  wdFlowRtl = 1
} WdFlowDirection;

typedef enum WdDiacriticColor
{
  wdDiacriticColorBidi = 0, 
  wdDiacriticColorLatin = 1
} WdDiacriticColor;

typedef enum WdGutterStyle
{
  wdGutterPosLeft = 0, 
  wdGutterPosTop = 1, 
  wdGutterPosRight = 2
} WdGutterStyle;

typedef enum WdGutterStyleOld
{
  wdGutterStyleLatin = 0xFFFFFFF6, 
  wdGutterStyleBidi = 2
} WdGutterStyleOld;

typedef enum WdSectionDirection
{
  wdSectionDirectionRtl = 0, 
  wdSectionDirectionLtr = 1
} WdSectionDirection;

typedef enum WdDateLanguage
{
  wdDateLanguageBidi = 10, 
  wdDateLanguageLatin = 1033
} WdDateLanguage;

typedef enum WdCalendarTypeBi
{
  wdCalendarTypeBidi = 99, 
  wdCalendarTypeGregorian = 100
} WdCalendarTypeBi;

typedef enum WdCalendarType
{
  wdCalendarWestern = 0, 
  wdCalendarArabic = 1, 
  wdCalendarHebrew = 2, 
  wdCalendarChina = 3, 
  wdCalendarJapan = 4, 
  wdCalendarThai = 5, 
  wdCalendarKorean = 6, 
  wdCalendarSakaEra = 7
} WdCalendarType;

typedef enum WdReadingOrder
{
  wdReadingOrderRtl = 0, 
  wdReadingOrderLtr = 1
} WdReadingOrder;

typedef enum WdHebSpellStart
{
  wdFullScript = 0, 
  wdPartialScript = 1, 
  wdMixedScript = 2, 
  wdMixedAuthorizedScript = 3
} WdHebSpellStart;

typedef enum WdAraSpeller
{
  wdNone = 0, 
  wdInitialAlef = 1, 
  wdFinalYaa = 2, 
  wdBoth = 3
} WdAraSpeller;

typedef enum WdColor
{
  wdColorAutomatic = 0xFF000000, 
  wdColorBlack = 0, 
  wdColorBlue = 16711680, 
  wdColorTurquoise = 16776960, 
  wdColorBrightGreen = 65280, 
  wdColorPink = 16711935, 
  wdColorRed = 255, 
  wdColorYellow = 65535, 
  wdColorWhite = 16777215, 
  wdColorDarkBlue = 8388608, 
  wdColorTeal = 8421376, 
  wdColorGreen = 32768, 
  wdColorViolet = 8388736, 
  wdColorDarkRed = 128, 
  wdColorDarkYellow = 32896, 
  wdColorBrown = 13209, 
  wdColorOliveGreen = 13107, 
  wdColorDarkGreen = 13056, 
  wdColorDarkTeal = 6697728, 
  wdColorIndigo = 10040115, 
  wdColorOrange = 26367, 
  wdColorBlueGray = 10053222, 
  wdColorLightOrange = 39423, 
  wdColorLime = 52377, 
  wdColorSeaGreen = 6723891, 
  wdColorAqua = 13421619, 
  wdColorLightBlue = 16737843, 
  wdColorGold = 52479, 
  wdColorSkyBlue = 16763904, 
  wdColorPlum = 6697881, 
  wdColorRose = 13408767, 
  wdColorTan = 10079487, 
  wdColorLightYellow = 10092543, 
  wdColorLightGreen = 13434828, 
  wdColorLightTurquoise = 16777164, 
  wdColorPaleBlue = 16764057, 
  wdColorLavender = 16751052, 
  wdColorGray05 = 15987699, 
  wdColorGray10 = 15132390, 
  wdColorGray125 = 14737632, 
  wdColorGray15 = 14277081, 
  wdColorGray20 = 13421772, 
  wdColorGray25 = 12632256, 
  wdColorGray30 = 11776947, 
  wdColorGray35 = 10921638, 
  wdColorGray375 = 10526880, 
  wdColorGray40 = 10066329, 
  wdColorGray45 = 9211020, 
  wdColorGray50 = 8421504, 
  wdColorGray55 = 7566195, 
  wdColorGray60 = 6710886, 
  wdColorGray625 = 6316128, 
  wdColorGray65 = 5855577, 
  wdColorGray70 = 5000268, 
  wdColorGray75 = 4210752, 
  wdColorGray80 = 3355443, 
  wdColorGray85 = 2500134, 
  wdColorGray875 = 2105376, 
  wdColorGray90 = 1644825, 
  wdColorGray95 = 789516
} WdColor;

typedef enum WdShapePosition
{
  wdShapeTop = 0xFFF0BDC1, 
  wdShapeLeft = 0xFFF0BDC2, 
  wdShapeBottom = 0xFFF0BDC3, 
  wdShapeRight = 0xFFF0BDC4, 
  wdShapeCenter = 0xFFF0BDC5, 
  wdShapeInside = 0xFFF0BDC6, 
  wdShapeOutside = 0xFFF0BDC7
} WdShapePosition;

typedef enum WdTablePosition
{
  wdTableTop = 0xFFF0BDC1, 
  wdTableLeft = 0xFFF0BDC2, 
  wdTableBottom = 0xFFF0BDC3, 
  wdTableRight = 0xFFF0BDC4, 
  wdTableCenter = 0xFFF0BDC5, 
  wdTableInside = 0xFFF0BDC6, 
  wdTableOutside = 0xFFF0BDC7
} WdTablePosition;

typedef enum WdDefaultListBehavior
{
  wdWord8ListBehavior = 0, 
  wdWord9ListBehavior = 1, 
  wdWord10ListBehavior = 2
} WdDefaultListBehavior;

typedef enum WdDefaultTableBehavior
{
  wdWord8TableBehavior = 0, 
  wdWord9TableBehavior = 1
} WdDefaultTableBehavior;

typedef enum WdAutoFitBehavior
{
  wdAutoFitFixed = 0, 
  wdAutoFitContent = 1, 
  wdAutoFitWindow = 2
} WdAutoFitBehavior;

typedef enum WdPreferredWidthType
{
  wdPreferredWidthAuto = 1, 
  wdPreferredWidthPercent = 2, 
  wdPreferredWidthPoints = 3
} WdPreferredWidthType;

typedef enum WdFarEastLineBreakLanguageID
{
  wdLineBreakJapanese = 1041, 
  wdLineBreakKorean = 1042, 
  wdLineBreakSimplifiedChinese = 2052, 
  wdLineBreakTraditionalChinese = 1028
} WdFarEastLineBreakLanguageID;

typedef enum WdViewTypeOld
{
  wdPageView = 3, 
  wdOnlineView = 6
} WdViewTypeOld;

typedef enum WdFramesetType
{
  wdFramesetTypeFrameset = 0, 
  wdFramesetTypeFrame = 1
} WdFramesetType;

typedef enum WdFramesetSizeType
{
  wdFramesetSizeTypePercent = 0, 
  wdFramesetSizeTypeFixed = 1, 
  wdFramesetSizeTypeRelative = 2
} WdFramesetSizeType;

typedef enum WdFramesetNewFrameLocation
{
  wdFramesetNewFrameAbove = 0, 
  wdFramesetNewFrameBelow = 1, 
  wdFramesetNewFrameRight = 2, 
  wdFramesetNewFrameLeft = 3
} WdFramesetNewFrameLocation;

typedef enum WdScrollbarType
{
  wdScrollbarTypeAuto = 0, 
  wdScrollbarTypeYes = 1, 
  wdScrollbarTypeNo = 2
} WdScrollbarType;

typedef enum WdTwoLinesInOneType
{
  wdTwoLinesInOneNone = 0, 
  wdTwoLinesInOneNoBrackets = 1, 
  wdTwoLinesInOneParentheses = 2, 
  wdTwoLinesInOneSquareBrackets = 3, 
  wdTwoLinesInOneAngleBrackets = 4, 
  wdTwoLinesInOneCurlyBrackets = 5
} WdTwoLinesInOneType;

typedef enum WdHorizontalInVerticalType
{
  wdHorizontalInVerticalNone = 0, 
  wdHorizontalInVerticalFitInLine = 1, 
  wdHorizontalInVerticalResizeLine = 2
} WdHorizontalInVerticalType;

typedef enum WdHorizontalLineAlignment
{
  wdHorizontalLineAlignLeft = 0, 
  wdHorizontalLineAlignCenter = 1, 
  wdHorizontalLineAlignRight = 2
} WdHorizontalLineAlignment;

typedef enum WdHorizontalLineWidthType
{
  wdHorizontalLinePercentWidth = 0xFFFFFFFF, 
  wdHorizontalLineFixedWidth = 0xFFFFFFFE
} WdHorizontalLineWidthType;

typedef enum WdPhoneticGuideAlignmentType
{
  wdPhoneticGuideAlignmentCenter = 0, 
  wdPhoneticGuideAlignmentZeroOneZero = 1, 
  wdPhoneticGuideAlignmentOneTwoOne = 2, 
  wdPhoneticGuideAlignmentLeft = 3, 
  wdPhoneticGuideAlignmentRight = 4, 
  wdPhoneticGuideAlignmentRightVertical = 5
} WdPhoneticGuideAlignmentType;

typedef enum WdNewDocumentType
{
  wdNewBlankDocument = 0, 
  wdNewWebPage = 1, 
  wdNewEmailMessage = 2, 
  wdNewFrameset = 3
} WdNewDocumentType;

typedef enum WdKana
{
  wdKanaKatakana = 8, 
  wdKanaHiragana = 9
} WdKana;

typedef enum WdCharacterWidth
{
  wdWidthHalfWidth = 6, 
  wdWidthFullWidth = 7
} WdCharacterWidth;

typedef enum WdNumberStyleWordBasicBiDi
{
  wdListNumberStyleBidi1 = 49, 
  wdListNumberStyleBidi2 = 50, 
  wdCaptionNumberStyleBidiLetter1 = 49, 
  wdCaptionNumberStyleBidiLetter2 = 50, 
  wdNoteNumberStyleBidiLetter1 = 49, 
  wdNoteNumberStyleBidiLetter2 = 50, 
  wdPageNumberStyleBidiLetter1 = 49, 
  wdPageNumberStyleBidiLetter2 = 50
} WdNumberStyleWordBasicBiDi;

typedef enum WdTCSCConverterDirection
{
  wdTCSCConverterDirectionSCTC = 0, 
  wdTCSCConverterDirectionTCSC = 1, 
  wdTCSCConverterDirectionAuto = 2
} WdTCSCConverterDirection;

typedef enum WdDisableFeaturesIntroducedAfter
{
  wd70 = 0, 
  wd70FE = 1, 
  wd80 = 2
} WdDisableFeaturesIntroducedAfter;

typedef enum WdWrapTypeMerged
{
  wdWrapMergeInline = 0, 
  wdWrapMergeSquare = 1, 
  wdWrapMergeTight = 2, 
  wdWrapMergeBehind = 3, 
  wdWrapMergeFront = 4, 
  wdWrapMergeThrough = 5, 
  wdWrapMergeTopBottom = 6
} WdWrapTypeMerged;

typedef enum WdRecoveryType
{
  wdPasteDefault = 0, 
  wdSingleCellText = 5, 
  wdSingleCellTable = 6, 
  wdListContinueNumbering = 7, 
  wdListRestartNumbering = 8, 
  wdTableInsertAsRows = 11, 
  wdTableAppendTable = 10, 
  wdTableOriginalFormatting = 12, 
  wdChartPicture = 13, 
  wdChart = 14, 
  wdChartLinked = 15, 
  wdFormatOriginalFormatting = 16, 
  wdFormatSurroundingFormattingWithEmphasis = 20, 
  wdFormatPlainText = 22, 
  wdTableOverwriteCells = 23, 
  wdListCombineWithExistingList = 24, 
  wdListDontMerge = 25
} WdRecoveryType;

typedef enum WdLineEndingType
{
  wdCRLF = 0, 
  wdCROnly = 1, 
  wdLFOnly = 2, 
  wdLFCR = 3, 
  wdLSPS = 4
} WdLineEndingType;

typedef enum WdStyleSheetLinkType
{
  wdStyleSheetLinkTypeLinked = 0, 
  wdStyleSheetLinkTypeImported = 1
} WdStyleSheetLinkType;

typedef enum WdStyleSheetPrecedence
{
  wdStyleSheetPrecedenceHigher = 0xFFFFFFFF, 
  wdStyleSheetPrecedenceLower = 0xFFFFFFFE, 
  wdStyleSheetPrecedenceHighest = 1, 
  wdStyleSheetPrecedenceLowest = 0
} WdStyleSheetPrecedence;

typedef enum WdEmailHTMLFidelity
{
  wdEmailHTMLFidelityLow = 1, 
  wdEmailHTMLFidelityMedium = 2, 
  wdEmailHTMLFidelityHigh = 3
} WdEmailHTMLFidelity;

typedef enum WdMailMergeMailFormat
{
  wdMailFormatPlainText = 0, 
  wdMailFormatHTML = 1
} WdMailMergeMailFormat;

typedef enum WdMappedDataFields
{
  wdUniqueIdentifier = 1, 
  wdCourtesyTitle = 2, 
  wdFirstName = 3, 
  wdMiddleName = 4, 
  wdLastName = 5, 
  wdSuffix = 6, 
  wdNickname = 7, 
  wdJobTitle = 8, 
  wdCompany = 9, 
  wdAddress1 = 10, 
  wdAddress2 = 11, 
  wdCity = 12, 
  wdState = 13, 
  wdPostalCode = 14, 
  wdCountryRegion = 15, 
  wdBusinessPhone = 16, 
  wdBusinessFax = 17, 
  wdHomePhone = 18, 
  wdHomeFax = 19, 
  wdEmailAddress = 20, 
  wdWebPageURL = 21, 
  wdSpouseCourtesyTitle = 22, 
  wdSpouseFirstName = 23, 
  wdSpouseMiddleName = 24, 
  wdSpouseLastName = 25, 
  wdSpouseNickname = 26, 
  wdRubyFirstName = 27, 
  wdRubyLastName = 28, 
  wdAddress3 = 29, 
  wdDepartment = 30
} WdMappedDataFields;

typedef enum WdConditionCode
{
  wdFirstRow = 0, 
  wdLastRow = 1, 
  wdOddRowBanding = 2, 
  wdEvenRowBanding = 3, 
  wdFirstColumn = 4, 
  wdLastColumn = 5, 
  wdOddColumnBanding = 6, 
  wdEvenColumnBanding = 7, 
  wdNECell = 8, 
  wdNWCell = 9, 
  wdSECell = 10, 
  wdSWCell = 11
} WdConditionCode;

typedef enum WdCompareTarget
{
  wdCompareTargetSelected = 0, 
  wdCompareTargetCurrent = 1, 
  wdCompareTargetNew = 2
} WdCompareTarget;

typedef enum WdMergeTarget
{
  wdMergeTargetSelected = 0, 
  wdMergeTargetCurrent = 1, 
  wdMergeTargetNew = 2
} WdMergeTarget;

typedef enum WdUseFormattingFrom
{
  wdFormattingFromCurrent = 0, 
  wdFormattingFromSelected = 1, 
  wdFormattingFromPrompt = 2
} WdUseFormattingFrom;

typedef enum WdRevisionsView
{
  wdRevisionsViewFinal = 0, 
  wdRevisionsViewOriginal = 1
} WdRevisionsView;

typedef enum WdRevisionsMode
{
  wdBalloonRevisions = 0, 
  wdInLineRevisions = 1
} WdRevisionsMode;

typedef enum WdRevisionsBalloonWidthType
{
  wdBalloonWidthPercent = 0, 
  wdBalloonWidthPoints = 1
} WdRevisionsBalloonWidthType;

typedef enum WdRevisionsBalloonPrintOrientation
{
  wdBalloonPrintOrientationAuto = 0, 
  wdBalloonPrintOrientationPreserve = 1, 
  wdBalloonPrintOrientationForceLandscape = 2
} WdRevisionsBalloonPrintOrientation;

typedef enum WdRevisionsBalloonMargin
{
  wdLeftMargin = 0, 
  wdRightMargin = 1
} WdRevisionsBalloonMargin;

typedef enum WdTaskPanes
{
  wdTaskPaneFormatting = 0, 
  wdTaskPaneRevealFormatting = 1, 
  wdTaskPaneMailMerge = 2, 
  wdTaskPaneTranslate = 3, 
  wdTaskPaneSearch = 4
} WdTaskPanes;

typedef enum WdShowFilter
{
  wdShowFilterStylesAvailable = 0, 
  wdShowFilterStylesInUse = 1, 
  wdShowFilterStylesAll = 2, 
  wdShowFilterFormattingInUse = 3, 
  wdShowFilterFormattingAvailable = 4
} WdShowFilter;

typedef enum WdMergeSubType
{
  wdMergeSubTypeOther = 0, 
  wdMergeSubTypeAccess = 1, 
  wdMergeSubTypeOAL = 2, 
  wdMergeSubTypeOLEDBWord = 3, 
  wdMergeSubTypeWorks = 4, 
  wdMergeSubTypeOLEDBText = 5, 
  wdMergeSubTypeOutlook = 6, 
  wdMergeSubTypeWord = 7, 
  wdMergeSubTypeWord2000 = 8
} WdMergeSubType;

typedef enum WdDocumentDirection
{
  wdLeftToRight = 0, 
  wdRightToLeft = 1
} WdDocumentDirection;

typedef enum WdLanguageID2000
{
  wdChineseHongKong = 3076, 
  wdChineseMacao = 5124, 
  wdEnglishTrinidad = 11273
} WdLanguageID2000;

// *********************************************************************//
// Interface: _Application
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020970-0000-0000-C000-000000000046}
// *********************************************************************//
interface _Application  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Documents(Word_xp::Documents** prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Windoz(Word_xp::Windows** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveDocument(Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_WordBasic(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_RecentFiles(Word_xp::RecentFiles** prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_NormalTemplate(Word_xp::Template** prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_System(Word_xp::SYSTEM** prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_AutoCorrect(Word_xp::AutoCorrect** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_FontNames(Word_xp::FontNames** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_LandscapeFontNames(Word_xp::FontNames** prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_PortraitFontNames(Word_xp::FontNames** prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_Languages(Word_xp::Languages** prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_Assistant(Office_xp::Assistant** prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_Browser(Word_xp::Browser** prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_FileConverters(Word_xp::FileConverters** prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_MailingLabel(Word_xp::MailingLabel** prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_Dialogs(Word_xp::Dialogs** prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE get_CaptionLabels(Word_xp::CaptionLabels** prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE get_AutoCaptions(Word_xp::AutoCaptions** prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE get_AddIns(Word_xp::AddIns** prop/*[out,retval]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE get_Visible(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE set_Visible(VARIANT_BOOL prop/*[in]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE get_Version(BSTR* prop/*[out,retval]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE get_ScreenUpdating(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE set_ScreenUpdating(VARIANT_BOOL prop/*[in]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE get_PrintPreview(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE set_PrintPreview(VARIANT_BOOL prop/*[in]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE get_Tasks(Word_xp::Tasks** prop/*[out,retval]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayStatusBar(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayStatusBar(VARIANT_BOOL prop/*[in]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE get_SpecialMode(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE get_UsableWidth(long* prop/*[out,retval]*/) = 0; // [33]
  virtual HRESULT STDMETHODCALLTYPE get_UsableHeight(long* prop/*[out,retval]*/) = 0; // [34]
  virtual HRESULT STDMETHODCALLTYPE get_MathCoprocessorAvailable(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [36]
  virtual HRESULT STDMETHODCALLTYPE get_MouseAvailable(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [37]
  virtual HRESULT STDMETHODCALLTYPE get_International(Word_xp::WdInternationalIndex Index/*[in]*/, 
                                                      VARIANT* prop/*[out,retval]*/) = 0; // [46]
  virtual HRESULT STDMETHODCALLTYPE get_Build(BSTR* prop/*[out,retval]*/) = 0; // [47]
  virtual HRESULT STDMETHODCALLTYPE get_CapsLock(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [48]
  virtual HRESULT STDMETHODCALLTYPE get_NumLock(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [49]
  virtual HRESULT STDMETHODCALLTYPE get_UserName(BSTR* prop/*[out,retval]*/) = 0; // [52]
  virtual HRESULT STDMETHODCALLTYPE set_UserName(BSTR prop/*[in]*/) = 0; // [52]
  virtual HRESULT STDMETHODCALLTYPE get_UserInitials(BSTR* prop/*[out,retval]*/) = 0; // [53]
  virtual HRESULT STDMETHODCALLTYPE set_UserInitials(BSTR prop/*[in]*/) = 0; // [53]
  virtual HRESULT STDMETHODCALLTYPE get_UserAddress(BSTR* prop/*[out,retval]*/) = 0; // [54]
  virtual HRESULT STDMETHODCALLTYPE set_UserAddress(BSTR prop/*[in]*/) = 0; // [54]
  virtual HRESULT STDMETHODCALLTYPE get_MacroContainer(LPDISPATCH* prop/*[out,retval]*/) = 0; // [55]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayRecentFiles(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [56]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayRecentFiles(VARIANT_BOOL prop/*[in]*/) = 0; // [56]
  virtual HRESULT STDMETHODCALLTYPE get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/) = 0; // [57]
  virtual HRESULT STDMETHODCALLTYPE get_SynonymInfo(BSTR Word/*[in]*/, 
                                                    VARIANT* LanguageID/*[in,opt]*/, 
                                                    Word_xp::SynonymInfo** prop/*[out,retval]*/) = 0; // [59]
  virtual HRESULT STDMETHODCALLTYPE get_VBE(Vbide_xp::VBE** prop/*[out,retval]*/) = 0; // [61]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultSaveFormat(BSTR* prop/*[out,retval]*/) = 0; // [64]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultSaveFormat(BSTR prop/*[in]*/) = 0; // [64]
  virtual HRESULT STDMETHODCALLTYPE get_ListGalleries(Word_xp::ListGalleries** prop/*[out,retval]*/) = 0; // [65]
  virtual HRESULT STDMETHODCALLTYPE get_ActivePrinter(BSTR* prop/*[out,retval]*/) = 0; // [66]
  virtual HRESULT STDMETHODCALLTYPE set_ActivePrinter(BSTR prop/*[in]*/) = 0; // [66]
  virtual HRESULT STDMETHODCALLTYPE get_Templates(Word_xp::Templates** prop/*[out,retval]*/) = 0; // [67]
  virtual HRESULT STDMETHODCALLTYPE get_CustomizationContext(LPDISPATCH* prop/*[out,retval]*/) = 0; // [68]
  virtual HRESULT STDMETHODCALLTYPE set_CustomizationContext(LPDISPATCH prop/*[in]*/) = 0; // [68]
  virtual HRESULT STDMETHODCALLTYPE get_KeyBindings(Word_xp::KeyBindings** prop/*[out,retval]*/) = 0; // [69]
  virtual HRESULT STDMETHODCALLTYPE get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                                    BSTR Command/*[in]*/, 
                                                    VARIANT* CommandParameter/*[in,opt]*/, 
                                                    Word_xp::KeysBoundTo** prop/*[out,retval]*/) = 0; // [70]
  virtual HRESULT STDMETHODCALLTYPE get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                                Word_xp::KeyBinding** prop/*[out,retval]*/) = 0; // [71]
  virtual HRESULT STDMETHODCALLTYPE get_Caption(BSTR* prop/*[out,retval]*/) = 0; // [80]
  virtual HRESULT STDMETHODCALLTYPE set_Caption(BSTR prop/*[in]*/) = 0; // [80]
  virtual HRESULT STDMETHODCALLTYPE get_Path(BSTR* prop/*[out,retval]*/) = 0; // [81]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayScrollBars(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [82]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayScrollBars(VARIANT_BOOL prop/*[in]*/) = 0; // [82]
  virtual HRESULT STDMETHODCALLTYPE get_StartupPath(BSTR* prop/*[out,retval]*/) = 0; // [83]
  virtual HRESULT STDMETHODCALLTYPE set_StartupPath(BSTR prop/*[in]*/) = 0; // [83]
  virtual HRESULT STDMETHODCALLTYPE get_BackgroundSavingStatus(long* prop/*[out,retval]*/) = 0; // [85]
  virtual HRESULT STDMETHODCALLTYPE get_BackgroundPrintingStatus(long* prop/*[out,retval]*/) = 0; // [86]
  virtual HRESULT STDMETHODCALLTYPE get_Left(long* prop/*[out,retval]*/) = 0; // [87]
  virtual HRESULT STDMETHODCALLTYPE set_Left(long prop/*[in]*/) = 0; // [87]
  virtual HRESULT STDMETHODCALLTYPE get_Top(long* prop/*[out,retval]*/) = 0; // [88]
  virtual HRESULT STDMETHODCALLTYPE set_Top(long prop/*[in]*/) = 0; // [88]
  virtual HRESULT STDMETHODCALLTYPE get_Width(long* prop/*[out,retval]*/) = 0; // [89]
  virtual HRESULT STDMETHODCALLTYPE set_Width(long prop/*[in]*/) = 0; // [89]
  virtual HRESULT STDMETHODCALLTYPE get_Height(long* prop/*[out,retval]*/) = 0; // [90]
  virtual HRESULT STDMETHODCALLTYPE set_Height(long prop/*[in]*/) = 0; // [90]
  virtual HRESULT STDMETHODCALLTYPE get_WindowState(Word_xp::WdWindowState* prop/*[out,retval]*/) = 0; // [91]
  virtual HRESULT STDMETHODCALLTYPE set_WindowState(Word_xp::WdWindowState prop/*[in]*/) = 0; // [91]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayAutoCompleteTips(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [92]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayAutoCompleteTips(VARIANT_BOOL prop/*[in]*/) = 0; // [92]
  virtual HRESULT STDMETHODCALLTYPE get_Options(Word_xp::Options** prop/*[out,retval]*/) = 0; // [93]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayAlerts(Word_xp::WdAlertLevel* prop/*[out,retval]*/) = 0; // [94]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayAlerts(Word_xp::WdAlertLevel prop/*[in]*/) = 0; // [94]
  virtual HRESULT STDMETHODCALLTYPE get_CustomDictionaries(Word_xp::Dictionaries** prop/*[out,retval]*/) = 0; // [95]
  virtual HRESULT STDMETHODCALLTYPE get_PathSeparator(BSTR* prop/*[out,retval]*/) = 0; // [96]
  virtual HRESULT STDMETHODCALLTYPE set_StatusBar(BSTR Param1/*[in]*/) = 0; // [97]
  virtual HRESULT STDMETHODCALLTYPE get_MAPIAvailable(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [98]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayScreenTips(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [99]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayScreenTips(VARIANT_BOOL prop/*[in]*/) = 0; // [99]
  virtual HRESULT STDMETHODCALLTYPE get_EnableCancelKey(Word_xp::WdEnableCancelKey* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_EnableCancelKey(Word_xp::WdEnableCancelKey prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_UserControl(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_FileSearch(Office_xp::FileSearch** prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_MailSystem(Word_xp::WdMailSystem* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultTableSeparator(BSTR* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultTableSeparator(BSTR prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_ShowVisualBasicEditor(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_ShowVisualBasicEditor(VARIANT_BOOL prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_BrowseExtraFileTypes(BSTR* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE set_BrowseExtraFileTypes(BSTR prop/*[in]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_IsObjectValid(LPDISPATCH Object/*[in]*/, 
                                                      VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_HangulHanjaDictionaries(Word_xp::HangulHanjaConversionDictionaries** prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_MailMessage(Word_xp::MailMessage** prop/*[out,retval]*/) = 0; // [348]
  virtual HRESULT STDMETHODCALLTYPE get_FocusInMailHeader(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [386]
  virtual HRESULT STDMETHODCALLTYPE Quit(VARIANT* SaveChanges/*[in,opt]*/= TNoParam(), 
                                         VARIANT* OriginalFormat/*[in,opt]*/= TNoParam(), 
                                         VARIANT* RouteDocument/*[in,opt]*/= TNoParam()) = 0; // [1105]
  virtual HRESULT STDMETHODCALLTYPE ScreenRefresh(void) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE PrintOutOld(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                                VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                                VARIANT* From/*[in,opt]*/= TNoParam(), 
                                                VARIANT* To/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                                VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                                VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                                VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam()) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE LookupNameProperties(BSTR Name/*[in]*/) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE SubstituteFont(BSTR UnavailableFont/*[in]*/, 
                                                   BSTR SubstituteFont/*[in]*/) = 0; // [304]
  virtual HRESULT STDMETHODCALLTYPE Repeat(VARIANT* Times/*[in,opt]*/, 
                                           VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [305]
  virtual HRESULT STDMETHODCALLTYPE DDEExecute(long Channel/*[in]*/, BSTR Command/*[in]*/) = 0; // [310]
  virtual HRESULT STDMETHODCALLTYPE DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/, 
                                                long* prop/*[out,retval]*/) = 0; // [311]
  virtual HRESULT STDMETHODCALLTYPE DDEPoke(long Channel/*[in]*/, BSTR Item/*[in]*/, 
                                            BSTR Data/*[in]*/) = 0; // [312]
  virtual HRESULT STDMETHODCALLTYPE DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/, 
                                               BSTR* prop/*[out,retval]*/) = 0; // [313]
  virtual HRESULT STDMETHODCALLTYPE DDETerminate(long Channel/*[in]*/) = 0; // [314]
  virtual HRESULT STDMETHODCALLTYPE DDETerminateAll(void) = 0; // [315]
  virtual HRESULT STDMETHODCALLTYPE BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, 
                                                 VARIANT* Arg2/*[in,opt]*/, 
                                                 VARIANT* Arg3/*[in,opt]*/, 
                                                 VARIANT* Arg4/*[in,opt]*/, 
                                                 long* prop/*[out,retval]*/) = 0; // [316]
  virtual HRESULT STDMETHODCALLTYPE KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                              BSTR* prop/*[out,retval]*/) = 0; // [317]
  virtual HRESULT STDMETHODCALLTYPE OrganizerCopy(BSTR Source/*[in]*/, BSTR Destination/*[in]*/, 
                                                  BSTR Name/*[in]*/, 
                                                  Word_xp::WdOrganizerObject Object/*[in]*/) = 0; // [318]
  virtual HRESULT STDMETHODCALLTYPE OrganizerDelete(BSTR Source/*[in]*/, BSTR Name/*[in]*/, 
                                                    Word_xp::WdOrganizerObject Object/*[in]*/) = 0; // [319]
  virtual HRESULT STDMETHODCALLTYPE OrganizerRename(BSTR Source/*[in]*/, BSTR Name/*[in]*/, 
                                                    BSTR NewName/*[in]*/, 
                                                    Word_xp::WdOrganizerObject Object/*[in]*/) = 0; // [320]
  virtual HRESULT STDMETHODCALLTYPE AddAddress(LPSAFEARRAY* TagID/*[in]*/, 
                                               LPSAFEARRAY* Value/*[in]*/) = 0; // [321]
  virtual HRESULT STDMETHODCALLTYPE GetAddress(VARIANT* Name/*[in,opt]*/, 
                                               VARIANT* AddressProperties/*[in,opt]*/, 
                                               VARIANT* UseAutoText/*[in,opt]*/, 
                                               VARIANT* DisplaySelectDialog/*[in,opt]*/, 
                                               VARIANT* SelectDialog/*[in,opt]*/, 
                                               VARIANT* CheckNamesDialog/*[in,opt]*/, 
                                               VARIANT* RecentAddressesChoice/*[in,opt]*/, 
                                               VARIANT* UpdateRecentAddresses/*[in,opt]*/, 
                                               BSTR* prop/*[out,retval]*/) = 0; // [322]
  virtual HRESULT STDMETHODCALLTYPE CheckGrammar(BSTR String/*[in]*/, 
                                                 VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [323]
  virtual HRESULT STDMETHODCALLTYPE CheckSpelling(BSTR Word/*[in]*/, 
                                                  VARIANT* CustomDictionary/*[in,opt]*/, 
                                                  VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                                  VARIANT* MainDictionary/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary2/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary3/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary4/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary5/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary6/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary7/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary8/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary9/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary10/*[in,opt]*/, 
                                                  VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [324]
  virtual HRESULT STDMETHODCALLTYPE ResetIgnoreAll(void) = 0; // [326]
  virtual HRESULT STDMETHODCALLTYPE GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                                           VARIANT* CustomDictionary/*[in,opt]*/, 
                                                           VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                                           VARIANT* MainDictionary/*[in,opt]*/, 
                                                           VARIANT* SuggestionMode/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary2/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary3/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary4/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary5/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary6/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary7/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary8/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary9/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary10/*[in,opt]*/, 
                                                           Word_xp::SpellingSuggestions** prop/*[out,retval]*/) = 0; // [327]
  virtual HRESULT STDMETHODCALLTYPE GoBack(void) = 0; // [328]
  virtual HRESULT STDMETHODCALLTYPE Help(VARIANT* HelpType/*[in]*/) = 0; // [329]
  virtual HRESULT STDMETHODCALLTYPE AutomaticChange(void) = 0; // [330]
  virtual HRESULT STDMETHODCALLTYPE ShowMe(void) = 0; // [331]
  virtual HRESULT STDMETHODCALLTYPE HelpTool(void) = 0; // [332]
  virtual HRESULT STDMETHODCALLTYPE NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/) = 0; // [345]
  virtual HRESULT STDMETHODCALLTYPE ListCommands(VARIANT_BOOL ListAllCommands/*[in]*/) = 0; // [346]
  virtual HRESULT STDMETHODCALLTYPE ShowClipboard(void) = 0; // [349]
  virtual HRESULT STDMETHODCALLTYPE OnTime(VARIANT* When/*[in]*/, BSTR Name/*[in]*/, 
                                           VARIANT* Tolerance/*[in,opt]*/= TNoParam()) = 0; // [350]
  virtual HRESULT STDMETHODCALLTYPE NextLetter(void) = 0; // [351]
  virtual HRESULT STDMETHODCALLTYPE MountVolume(BSTR Zone/*[in]*/, BSTR Server/*[in]*/, 
                                                BSTR Volume/*[in]*/, VARIANT* User/*[in,opt]*/, 
                                                VARIANT* UserPassword/*[in,opt]*/, 
                                                VARIANT* VolumePassword/*[in,opt]*/, 
                                                short* prop/*[out,retval]*/) = 0; // [353]
  virtual HRESULT STDMETHODCALLTYPE CleanString(BSTR String/*[in]*/, BSTR* prop/*[out,retval]*/) = 0; // [354]
  virtual HRESULT STDMETHODCALLTYPE SendFax(void) = 0; // [356]
  virtual HRESULT STDMETHODCALLTYPE ChangeFileOpenDirectory(BSTR Path/*[in]*/) = 0; // [357]
  virtual HRESULT STDMETHODCALLTYPE RunOld(BSTR MacroName/*[in]*/) = 0; // [358]
  virtual HRESULT STDMETHODCALLTYPE GoForward(void) = 0; // [359]
  virtual HRESULT STDMETHODCALLTYPE Move(long Left/*[in]*/, long Top/*[in]*/) = 0; // [360]
  virtual HRESULT STDMETHODCALLTYPE Resize(long Width/*[in]*/, long Height/*[in]*/) = 0; // [361]
  virtual HRESULT STDMETHODCALLTYPE InchesToPoints(float Inches/*[in]*/, float* prop/*[out,retval]*/) = 0; // [370]
  virtual HRESULT STDMETHODCALLTYPE CentimetersToPoints(float Centimeters/*[in]*/, 
                                                        float* prop/*[out,retval]*/) = 0; // [371]
  virtual HRESULT STDMETHODCALLTYPE MillimetersToPoints(float Millimeters/*[in]*/, 
                                                        float* prop/*[out,retval]*/) = 0; // [372]
  virtual HRESULT STDMETHODCALLTYPE PicasToPoints(float Picas/*[in]*/, float* prop/*[out,retval]*/) = 0; // [373]
  virtual HRESULT STDMETHODCALLTYPE LinesToPoints(float Lines/*[in]*/, float* prop/*[out,retval]*/) = 0; // [374]
  virtual HRESULT STDMETHODCALLTYPE PointsToInches(float Points/*[in]*/, float* prop/*[out,retval]*/) = 0; // [380]
  virtual HRESULT STDMETHODCALLTYPE PointsToCentimeters(float Points/*[in]*/, 
                                                        float* prop/*[out,retval]*/) = 0; // [381]
  virtual HRESULT STDMETHODCALLTYPE PointsToMillimeters(float Points/*[in]*/, 
                                                        float* prop/*[out,retval]*/) = 0; // [382]
  virtual HRESULT STDMETHODCALLTYPE PointsToPicas(float Points/*[in]*/, float* prop/*[out,retval]*/) = 0; // [383]
  virtual HRESULT STDMETHODCALLTYPE PointsToLines(float Points/*[in]*/, float* prop/*[out,retval]*/) = 0; // [384]
  virtual HRESULT STDMETHODCALLTYPE Activate(void) = 0; // [385]
  virtual HRESULT STDMETHODCALLTYPE PointsToPixels(float Points/*[in]*/, 
                                                   VARIANT* fVertical/*[in,opt]*/, 
                                                   float* prop/*[out,retval]*/) = 0; // [387]
  virtual HRESULT STDMETHODCALLTYPE PixelsToPoints(float Pixels/*[in]*/, 
                                                   VARIANT* fVertical/*[in,opt]*/, 
                                                   float* prop/*[out,retval]*/) = 0; // [388]
  virtual HRESULT STDMETHODCALLTYPE KeyboardLatin(void) = 0; // [400]
  virtual HRESULT STDMETHODCALLTYPE KeyboardBidi(void) = 0; // [401]
  virtual HRESULT STDMETHODCALLTYPE ToggleKeyboard(void) = 0; // [402]
  virtual HRESULT STDMETHODCALLTYPE Keyboard(long LangId/*[in,def,opt]*/, long* prop/*[out,retval]*/) = 0; // [446]
  virtual HRESULT STDMETHODCALLTYPE ProductCode(BSTR* prop/*[out,retval]*/) = 0; // [404]
  virtual HRESULT STDMETHODCALLTYPE DefaultWebOptions(Word_xp::DefaultWebOptions** prop/*[out,retval]*/) = 0; // [405]
  virtual HRESULT STDMETHODCALLTYPE DiscussionSupport(VARIANT* Range/*[in]*/, VARIANT* cid/*[in]*/, 
                                                      VARIANT* piCSE/*[in]*/) = 0; // [407]
  virtual HRESULT STDMETHODCALLTYPE SetDefaultTheme(BSTR Name/*[in]*/, 
                                                    Word_xp::WdDocumentMedium DocumentType/*[in]*/) = 0; // [414]
  virtual HRESULT STDMETHODCALLTYPE GetDefaultTheme(Word_xp::WdDocumentMedium DocumentType/*[in]*/, 
                                                    BSTR* prop/*[out,retval]*/) = 0; // [416]
  virtual HRESULT STDMETHODCALLTYPE get_EmailOptions(Word_xp::EmailOptions** prop/*[out,retval]*/) = 0; // [389]
  virtual HRESULT STDMETHODCALLTYPE get_Language(Office_xp::MsoLanguageID* prop/*[out,retval]*/) = 0; // [391]
  virtual HRESULT STDMETHODCALLTYPE get_COMAddIns(Office_xp::COMAddIns** prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_CheckLanguage(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE set_CheckLanguage(VARIANT_BOOL prop/*[in]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageSettings(Office_xp::LanguageSettings** prop/*[out,retval]*/) = 0; // [403]
  virtual HRESULT STDMETHODCALLTYPE get_Dummy1(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [406]
  virtual HRESULT STDMETHODCALLTYPE get_AnswerWizard(Office_xp::AnswerWizard** prop/*[out,retval]*/) = 0; // [409]
  virtual HRESULT STDMETHODCALLTYPE get_FeatureInstall(Office_xp::MsoFeatureInstall* prop/*[out,retval]*/) = 0; // [447]
  virtual HRESULT STDMETHODCALLTYPE set_FeatureInstall(Office_xp::MsoFeatureInstall prop/*[in]*/) = 0; // [447]
  virtual HRESULT STDMETHODCALLTYPE PrintOut2000(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* From/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* To/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam()) = 0; // [444]
  virtual HRESULT STDMETHODCALLTYPE Run(BSTR MacroName/*[in]*/, VARIANT* varg1/*[in,opt]*/, 
                                        VARIANT* varg2/*[in,opt]*/, VARIANT* varg3/*[in,opt]*/, 
                                        VARIANT* varg4/*[in,opt]*/, VARIANT* varg5/*[in,opt]*/, 
                                        VARIANT* varg6/*[in,opt]*/, VARIANT* varg7/*[in,opt]*/, 
                                        VARIANT* varg8/*[in,opt]*/, VARIANT* varg9/*[in,opt]*/, 
                                        VARIANT* varg10/*[in,opt]*/, VARIANT* varg11/*[in,opt]*/, 
                                        VARIANT* varg12/*[in,opt]*/, VARIANT* varg13/*[in,opt]*/, 
                                        VARIANT* varg14/*[in,opt]*/, VARIANT* varg15/*[in,opt]*/, 
                                        VARIANT* varg16/*[in,opt]*/, VARIANT* varg17/*[in,opt]*/, 
                                        VARIANT* varg18/*[in,opt]*/, VARIANT* varg19/*[in,opt]*/, 
                                        VARIANT* varg20/*[in,opt]*/, VARIANT* varg21/*[in,opt]*/, 
                                        VARIANT* varg22/*[in,opt]*/, VARIANT* varg23/*[in,opt]*/, 
                                        VARIANT* varg24/*[in,opt]*/, VARIANT* varg25/*[in,opt]*/, 
                                        VARIANT* varg26/*[in,opt]*/, VARIANT* varg27/*[in,opt]*/, 
                                        VARIANT* varg28/*[in,opt]*/, VARIANT* varg29/*[in,opt]*/, 
                                        VARIANT* varg30/*[in,opt]*/, VARIANT* prop/*[out,retval]*/) = 0; // [445]
  virtual HRESULT STDMETHODCALLTYPE PrintOut(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                             VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                             VARIANT* From/*[in,opt]*/= TNoParam(), 
                                             VARIANT* To/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                             VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam()) = 0; // [448]
  virtual HRESULT STDMETHODCALLTYPE get_AutomationSecurity(Office_xp::MsoAutomationSecurity* prop/*[out,retval]*/) = 0; // [449]
  virtual HRESULT STDMETHODCALLTYPE set_AutomationSecurity(Office_xp::MsoAutomationSecurity prop/*[in]*/) = 0; // [449]
  virtual HRESULT STDMETHODCALLTYPE get_FileDialog(Office_xp::MsoFileDialogType FileDialogType/*[in]*/, 
                                                   Office_xp::FileDialog** prop/*[out,retval]*/) = 0; // [450]
  virtual HRESULT STDMETHODCALLTYPE get_EmailTemplate(BSTR* prop/*[out,retval]*/) = 0; // [451]
  virtual HRESULT STDMETHODCALLTYPE set_EmailTemplate(BSTR prop/*[in]*/) = 0; // [451]
  virtual HRESULT STDMETHODCALLTYPE get_ShowWindowsInTaskbar(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [452]
  virtual HRESULT STDMETHODCALLTYPE set_ShowWindowsInTaskbar(VARIANT_BOOL prop/*[in]*/) = 0; // [452]
  virtual HRESULT STDMETHODCALLTYPE get_NewDocument(Office_xp::NewFile** prop/*[out,retval]*/) = 0; // [454]
  virtual HRESULT STDMETHODCALLTYPE get_ShowStartupDialog(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [455]
  virtual HRESULT STDMETHODCALLTYPE set_ShowStartupDialog(VARIANT_BOOL prop/*[in]*/) = 0; // [455]
  virtual HRESULT STDMETHODCALLTYPE get_AutoCorrectEmail(Word_xp::AutoCorrect** prop/*[out,retval]*/) = 0; // [456]
  virtual HRESULT STDMETHODCALLTYPE get_TaskPanes(Word_xp::TaskPanes** prop/*[out,retval]*/) = 0; // [457]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultLegalBlackline(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [459]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultLegalBlackline(VARIANT_BOOL prop/*[in]*/) = 0; // [459]
  virtual HRESULT STDMETHODCALLTYPE Dummy2(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [458]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  Word_xp::DocumentsPtr __fastcall get_Documents(void)
  {
    Word_xp::DocumentsPtr prop;
    OLECHECK(this->get_Documents(&prop));
    return prop;
  }

  Word_xp::WindowsPtr __fastcall get_Windoz(void)
  {
    Word_xp::WindowsPtr prop;
    OLECHECK(this->get_Windoz(&prop));
    return prop;
  }

  Word_xp::WordDocumentPtr __fastcall get_ActiveDocument(void)
  {
    Word_xp::WordDocumentPtr prop;
    OLECHECK(this->get_ActiveDocument(&prop));
    return prop;
  }

  Word_xp::WINDOWPtr __fastcall get_ActiveWindow(void)
  {
    Word_xp::WINDOWPtr prop;
    OLECHECK(this->get_ActiveWindow(&prop));
    return prop;
  }

  Word_xp::WordSelectionPtr __fastcall get_Selection(void)
  {
    Word_xp::WordSelectionPtr prop;
    OLECHECK(this->get_Selection(&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_WordBasic(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_WordBasic((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::RecentFilesPtr __fastcall get_RecentFiles(void)
  {
    Word_xp::RecentFilesPtr prop;
    OLECHECK(this->get_RecentFiles(&prop));
    return prop;
  }

  Word_xp::TemplatePtr __fastcall get_NormalTemplate(void)
  {
    Word_xp::TemplatePtr prop;
    OLECHECK(this->get_NormalTemplate(&prop));
    return prop;
  }

  Word_xp::SYSTEMPtr __fastcall get_System(void)
  {
    Word_xp::SYSTEMPtr prop;
    OLECHECK(this->get_System(&prop));
    return prop;
  }

  Word_xp::AutoCorrectPtr __fastcall get_AutoCorrect(void)
  {
    Word_xp::AutoCorrectPtr prop;
    OLECHECK(this->get_AutoCorrect(&prop));
    return prop;
  }

  Word_xp::FontNamesPtr __fastcall get_FontNames(void)
  {
    Word_xp::FontNamesPtr prop;
    OLECHECK(this->get_FontNames(&prop));
    return prop;
  }

  Word_xp::FontNamesPtr __fastcall get_LandscapeFontNames(void)
  {
    Word_xp::FontNamesPtr prop;
    OLECHECK(this->get_LandscapeFontNames(&prop));
    return prop;
  }

  Word_xp::FontNamesPtr __fastcall get_PortraitFontNames(void)
  {
    Word_xp::FontNamesPtr prop;
    OLECHECK(this->get_PortraitFontNames(&prop));
    return prop;
  }

  Word_xp::LanguagesPtr __fastcall get_Languages(void)
  {
    Word_xp::LanguagesPtr prop;
    OLECHECK(this->get_Languages(&prop));
    return prop;
  }

  Office_xp::AssistantPtr __fastcall get_Assistant(void)
  {
    Office_xp::AssistantPtr prop;
    OLECHECK(this->get_Assistant(&prop));
    return prop;
  }

  Word_xp::BrowserPtr __fastcall get_Browser(void)
  {
    Word_xp::BrowserPtr prop;
    OLECHECK(this->get_Browser(&prop));
    return prop;
  }

  Word_xp::FileConvertersPtr __fastcall get_FileConverters(void)
  {
    Word_xp::FileConvertersPtr prop;
    OLECHECK(this->get_FileConverters(&prop));
    return prop;
  }

  Word_xp::MailingLabelPtr __fastcall get_MailingLabel(void)
  {
    Word_xp::MailingLabelPtr prop;
    OLECHECK(this->get_MailingLabel(&prop));
    return prop;
  }

  Word_xp::DialogsPtr __fastcall get_Dialogs(void)
  {
    Word_xp::DialogsPtr prop;
    OLECHECK(this->get_Dialogs(&prop));
    return prop;
  }

  Word_xp::CaptionLabelsPtr __fastcall get_CaptionLabels(void)
  {
    Word_xp::CaptionLabelsPtr prop;
    OLECHECK(this->get_CaptionLabels(&prop));
    return prop;
  }

  Word_xp::AutoCaptionsPtr __fastcall get_AutoCaptions(void)
  {
    Word_xp::AutoCaptionsPtr prop;
    OLECHECK(this->get_AutoCaptions(&prop));
    return prop;
  }

  Word_xp::AddInsPtr __fastcall get_AddIns(void)
  {
    Word_xp::AddInsPtr prop;
    OLECHECK(this->get_AddIns(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Visible(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Visible((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_Version(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Version((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ScreenUpdating(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ScreenUpdating((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintPreview(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintPreview((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::TasksPtr __fastcall get_Tasks(void)
  {
    Word_xp::TasksPtr prop;
    OLECHECK(this->get_Tasks(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayStatusBar(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayStatusBar((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SpecialMode(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SpecialMode((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_UsableWidth(void)
  {
    long prop;
    OLECHECK(this->get_UsableWidth((long*)&prop));
    return prop;
  }

  long __fastcall get_UsableHeight(void)
  {
    long prop;
    OLECHECK(this->get_UsableHeight((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MathCoprocessorAvailable(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MathCoprocessorAvailable((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MouseAvailable(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MouseAvailable((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT __fastcall get_International(Word_xp::WdInternationalIndex Index/*[in]*/)
  {
    VARIANT prop;
    OLECHECK(this->get_International(Index, (VARIANT*)&prop));
    return prop;
  }

  BSTR __fastcall get_Build(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Build((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CapsLock(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CapsLock((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_NumLock(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_NumLock((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_UserName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_UserName((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_UserInitials(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_UserInitials((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_UserAddress(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_UserAddress((BSTR*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_MacroContainer(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_MacroContainer((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayRecentFiles(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayRecentFiles((VARIANT_BOOL*)&prop));
    return prop;
  }

  Office_xp::CommandBarsPtr __fastcall get_CommandBars(void)
  {
    Office_xp::CommandBarsPtr prop;
    OLECHECK(this->get_CommandBars(&prop));
    return prop;
  }

  Word_xp::SynonymInfo* __fastcall get_SynonymInfo(BSTR Word/*[in]*/, 
                                                   VARIANT* LanguageID/*[in,opt]*/= TNoParam())
  {
    Word_xp::SynonymInfo* prop = 0;
    OLECHECK(this->get_SynonymInfo(Word, LanguageID, (Word_xp::SynonymInfo**)&prop));
    return prop;
  }

  Vbide_xp::VBEPtr __fastcall get_VBE(void)
  {
    Vbide_xp::VBEPtr prop;
    OLECHECK(this->get_VBE(&prop));
    return prop;
  }

  BSTR __fastcall get_DefaultSaveFormat(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_DefaultSaveFormat((BSTR*)&prop));
    return prop;
  }

  Word_xp::ListGalleriesPtr __fastcall get_ListGalleries(void)
  {
    Word_xp::ListGalleriesPtr prop;
    OLECHECK(this->get_ListGalleries(&prop));
    return prop;
  }

  BSTR __fastcall get_ActivePrinter(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ActivePrinter((BSTR*)&prop));
    return prop;
  }

  Word_xp::TemplatesPtr __fastcall get_Templates(void)
  {
    Word_xp::TemplatesPtr prop;
    OLECHECK(this->get_Templates(&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_CustomizationContext(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_CustomizationContext((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::KeyBindingsPtr __fastcall get_KeyBindings(void)
  {
    Word_xp::KeyBindingsPtr prop;
    OLECHECK(this->get_KeyBindings(&prop));
    return prop;
  }

  Word_xp::KeysBoundTo* __fastcall get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                                   BSTR Command/*[in]*/, 
                                                   VARIANT* CommandParameter/*[in,opt]*/= TNoParam())
  {
    Word_xp::KeysBoundTo* prop = 0;
    OLECHECK(this->get_KeysBoundTo(KeyCategory, Command, CommandParameter, (Word_xp::KeysBoundTo**)&prop));
    return prop;
  }

  Word_xp::KeyBinding* __fastcall get_FindKey(long KeyCode/*[in]*/, 
                                              VARIANT* KeyCode2/*[in,opt]*/= TNoParam())
  {
    Word_xp::KeyBinding* prop = 0;
    OLECHECK(this->get_FindKey(KeyCode, KeyCode2, (Word_xp::KeyBinding**)&prop));
    return prop;
  }

  BSTR __fastcall get_Caption(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Caption((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Path(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Path((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayScrollBars(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayScrollBars((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_StartupPath(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_StartupPath((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_BackgroundSavingStatus(void)
  {
    long prop;
    OLECHECK(this->get_BackgroundSavingStatus((long*)&prop));
    return prop;
  }

  long __fastcall get_BackgroundPrintingStatus(void)
  {
    long prop;
    OLECHECK(this->get_BackgroundPrintingStatus((long*)&prop));
    return prop;
  }

  long __fastcall get_Left(void)
  {
    long prop;
    OLECHECK(this->get_Left((long*)&prop));
    return prop;
  }

  long __fastcall get_Top(void)
  {
    long prop;
    OLECHECK(this->get_Top((long*)&prop));
    return prop;
  }

  long __fastcall get_Width(void)
  {
    long prop;
    OLECHECK(this->get_Width((long*)&prop));
    return prop;
  }

  long __fastcall get_Height(void)
  {
    long prop;
    OLECHECK(this->get_Height((long*)&prop));
    return prop;
  }

  Word_xp::WdWindowState __fastcall get_WindowState(void)
  {
    Word_xp::WdWindowState prop;
    OLECHECK(this->get_WindowState((Word_xp::WdWindowState*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayAutoCompleteTips(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayAutoCompleteTips((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::OptionsPtr __fastcall get_Options(void)
  {
    Word_xp::OptionsPtr prop;
    OLECHECK(this->get_Options(&prop));
    return prop;
  }

  Word_xp::WdAlertLevel __fastcall get_DisplayAlerts(void)
  {
    Word_xp::WdAlertLevel prop;
    OLECHECK(this->get_DisplayAlerts((Word_xp::WdAlertLevel*)&prop));
    return prop;
  }

  Word_xp::DictionariesPtr __fastcall get_CustomDictionaries(void)
  {
    Word_xp::DictionariesPtr prop;
    OLECHECK(this->get_CustomDictionaries(&prop));
    return prop;
  }

  BSTR __fastcall get_PathSeparator(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_PathSeparator((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MAPIAvailable(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MAPIAvailable((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayScreenTips(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayScreenTips((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdEnableCancelKey __fastcall get_EnableCancelKey(void)
  {
    Word_xp::WdEnableCancelKey prop;
    OLECHECK(this->get_EnableCancelKey((Word_xp::WdEnableCancelKey*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UserControl(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UserControl((VARIANT_BOOL*)&prop));
    return prop;
  }

  Office_xp::FileSearchPtr __fastcall get_FileSearch(void)
  {
    Office_xp::FileSearchPtr prop;
    OLECHECK(this->get_FileSearch(&prop));
    return prop;
  }

  Word_xp::WdMailSystem __fastcall get_MailSystem(void)
  {
    Word_xp::WdMailSystem prop;
    OLECHECK(this->get_MailSystem((Word_xp::WdMailSystem*)&prop));
    return prop;
  }

  BSTR __fastcall get_DefaultTableSeparator(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_DefaultTableSeparator((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowVisualBasicEditor(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowVisualBasicEditor((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_BrowseExtraFileTypes(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_BrowseExtraFileTypes((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsObjectValid(LPDISPATCH Object/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsObjectValid(Object, (VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::HangulHanjaConversionDictionariesPtr __fastcall get_HangulHanjaDictionaries(void)
  {
    Word_xp::HangulHanjaConversionDictionariesPtr prop;
    OLECHECK(this->get_HangulHanjaDictionaries(&prop));
    return prop;
  }

  Word_xp::MailMessagePtr __fastcall get_MailMessage(void)
  {
    Word_xp::MailMessagePtr prop;
    OLECHECK(this->get_MailMessage(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FocusInMailHeader(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FocusInMailHeader((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall Repeat(VARIANT* Times/*[in,opt]*/= TNoParam())
  {
    VARIANT_BOOL prop;
    OLECHECK(this->Repeat(Times, (VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/)
  {
    long prop;
    OLECHECK(this->DDEInitiate(App, Topic, (long*)&prop));
    return prop;
  }

  BSTR __fastcall DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/)
  {
    BSTR prop = 0;
    OLECHECK(this->DDERequest(Channel, Item, (BSTR*)&prop));
    return prop;
  }

  long __fastcall BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/= TNoParam(), 
                               VARIANT* Arg3/*[in,opt]*/= TNoParam(), 
                               VARIANT* Arg4/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->BuildKeyCode(Arg1, Arg2, Arg3, Arg4, (long*)&prop));
    return prop;
  }

  BSTR __fastcall KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/= TNoParam())
  {
    BSTR prop = 0;
    OLECHECK(this->KeyString(KeyCode, KeyCode2, (BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall GetAddress(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                             VARIANT* AddressProperties/*[in,opt]*/= TNoParam(), 
                             VARIANT* UseAutoText/*[in,opt]*/= TNoParam(), 
                             VARIANT* DisplaySelectDialog/*[in,opt]*/= TNoParam(), 
                             VARIANT* SelectDialog/*[in,opt]*/= TNoParam(), 
                             VARIANT* CheckNamesDialog/*[in,opt]*/= TNoParam(), 
                             VARIANT* RecentAddressesChoice/*[in,opt]*/= TNoParam(), 
                             VARIANT* UpdateRecentAddresses/*[in,opt]*/= TNoParam())
  {
    BSTR prop = 0;
    OLECHECK(this->GetAddress(Name, AddressProperties, UseAutoText, DisplaySelectDialog, 
                              SelectDialog, CheckNamesDialog, RecentAddressesChoice, 
                              UpdateRecentAddresses, (BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall CheckGrammar(BSTR String/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->CheckGrammar(String, (VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall CheckSpelling(BSTR Word/*[in]*/, 
                                        VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                        VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                        VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam())
  {
    VARIANT_BOOL prop;
    OLECHECK(this->CheckSpelling(Word, CustomDictionary, IgnoreUppercase, MainDictionary, 
                                 CustomDictionary2, CustomDictionary3, CustomDictionary4, 
                                 CustomDictionary5, CustomDictionary6, CustomDictionary7, 
                                 CustomDictionary8, CustomDictionary9, CustomDictionary10, (VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::SpellingSuggestions* __fastcall GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                                                  VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* SuggestionMode/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam())
  {
    Word_xp::SpellingSuggestions* prop = 0;
    OLECHECK(this->GetSpellingSuggestions(Word, CustomDictionary, IgnoreUppercase, MainDictionary, 
                                          SuggestionMode, CustomDictionary2, CustomDictionary3, 
                                          CustomDictionary4, CustomDictionary5, CustomDictionary6, 
                                          CustomDictionary7, CustomDictionary8, CustomDictionary9, 
                                          CustomDictionary10, (Word_xp::SpellingSuggestions**)&prop));
    return prop;
  }

  Word_xp::WINDOW* __fastcall NewWindow(void)
  {
    Word_xp::WINDOW* prop = 0;
    OLECHECK(this->NewWindow((Word_xp::WINDOW**)&prop));
    return prop;
  }

  short __fastcall MountVolume(BSTR Zone/*[in]*/, BSTR Server/*[in]*/, BSTR Volume/*[in]*/, 
                               VARIANT* User/*[in,opt]*/= TNoParam(), 
                               VARIANT* UserPassword/*[in,opt]*/= TNoParam(), 
                               VARIANT* VolumePassword/*[in,opt]*/= TNoParam())
  {
    short prop;
    OLECHECK(this->MountVolume(Zone, Server, Volume, User, UserPassword, VolumePassword, (short*)&prop));
    return prop;
  }

  BSTR __fastcall CleanString(BSTR String/*[in]*/)
  {
    BSTR prop = 0;
    OLECHECK(this->CleanString(String, (BSTR*)&prop));
    return prop;
  }

  float __fastcall InchesToPoints(float Inches/*[in]*/)
  {
    float prop;
    OLECHECK(this->InchesToPoints(Inches, (float*)&prop));
    return prop;
  }

  float __fastcall CentimetersToPoints(float Centimeters/*[in]*/)
  {
    float prop;
    OLECHECK(this->CentimetersToPoints(Centimeters, (float*)&prop));
    return prop;
  }

  float __fastcall MillimetersToPoints(float Millimeters/*[in]*/)
  {
    float prop;
    OLECHECK(this->MillimetersToPoints(Millimeters, (float*)&prop));
    return prop;
  }

  float __fastcall PicasToPoints(float Picas/*[in]*/)
  {
    float prop;
    OLECHECK(this->PicasToPoints(Picas, (float*)&prop));
    return prop;
  }

  float __fastcall LinesToPoints(float Lines/*[in]*/)
  {
    float prop;
    OLECHECK(this->LinesToPoints(Lines, (float*)&prop));
    return prop;
  }

  float __fastcall PointsToInches(float Points/*[in]*/)
  {
    float prop;
    OLECHECK(this->PointsToInches(Points, (float*)&prop));
    return prop;
  }

  float __fastcall PointsToCentimeters(float Points/*[in]*/)
  {
    float prop;
    OLECHECK(this->PointsToCentimeters(Points, (float*)&prop));
    return prop;
  }

  float __fastcall PointsToMillimeters(float Points/*[in]*/)
  {
    float prop;
    OLECHECK(this->PointsToMillimeters(Points, (float*)&prop));
    return prop;
  }

  float __fastcall PointsToPicas(float Points/*[in]*/)
  {
    float prop;
    OLECHECK(this->PointsToPicas(Points, (float*)&prop));
    return prop;
  }

  float __fastcall PointsToLines(float Points/*[in]*/)
  {
    float prop;
    OLECHECK(this->PointsToLines(Points, (float*)&prop));
    return prop;
  }

  float __fastcall PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/= TNoParam())
  {
    float prop;
    OLECHECK(this->PointsToPixels(Points, fVertical, (float*)&prop));
    return prop;
  }

  float __fastcall PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/= TNoParam())
  {
    float prop;
    OLECHECK(this->PixelsToPoints(Pixels, fVertical, (float*)&prop));
    return prop;
  }

  long __fastcall Keyboard(long LangId/*[in,def,opt]*/)
  {
    long prop;
    OLECHECK(this->Keyboard(LangId, (long*)&prop));
    return prop;
  }

  BSTR __fastcall ProductCode(void)
  {
    BSTR prop = 0;
    OLECHECK(this->ProductCode((BSTR*)&prop));
    return prop;
  }

  Word_xp::DefaultWebOptions* __fastcall DefaultWebOptions(void)
  {
    Word_xp::DefaultWebOptions* prop = 0;
    OLECHECK(this->DefaultWebOptions((Word_xp::DefaultWebOptions**)&prop));
    return prop;
  }

  BSTR __fastcall GetDefaultTheme(Word_xp::WdDocumentMedium DocumentType/*[in]*/)
  {
    BSTR prop = 0;
    OLECHECK(this->GetDefaultTheme(DocumentType, (BSTR*)&prop));
    return prop;
  }

  Word_xp::EmailOptionsPtr __fastcall get_EmailOptions(void)
  {
    Word_xp::EmailOptionsPtr prop;
    OLECHECK(this->get_EmailOptions(&prop));
    return prop;
  }

  Office_xp::MsoLanguageID __fastcall get_Language(void)
  {
    Office_xp::MsoLanguageID prop;
    OLECHECK(this->get_Language((Office_xp::MsoLanguageID*)&prop));
    return prop;
  }

  Office_xp::COMAddInsPtr __fastcall get_COMAddIns(void)
  {
    Office_xp::COMAddInsPtr prop;
    OLECHECK(this->get_COMAddIns(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CheckLanguage(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CheckLanguage((VARIANT_BOOL*)&prop));
    return prop;
  }

  Office_xp::LanguageSettingsPtr __fastcall get_LanguageSettings(void)
  {
    Office_xp::LanguageSettingsPtr prop;
    OLECHECK(this->get_LanguageSettings(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Dummy1(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Dummy1((VARIANT_BOOL*)&prop));
    return prop;
  }

  Office_xp::AnswerWizardPtr __fastcall get_AnswerWizard(void)
  {
    Office_xp::AnswerWizardPtr prop;
    OLECHECK(this->get_AnswerWizard(&prop));
    return prop;
  }

  Office_xp::MsoFeatureInstall __fastcall get_FeatureInstall(void)
  {
    Office_xp::MsoFeatureInstall prop;
    OLECHECK(this->get_FeatureInstall((Office_xp::MsoFeatureInstall*)&prop));
    return prop;
  }

  VARIANT __fastcall Run(BSTR MacroName/*[in]*/, VARIANT* varg1/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg2/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg3/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg4/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg5/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg6/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg7/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg8/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg9/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg10/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg11/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg12/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg13/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg14/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg15/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg16/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg17/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg18/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg19/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg20/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg21/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg22/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg23/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg24/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg25/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg26/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg27/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg28/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg29/*[in,opt]*/= TNoParam(), 
                         VARIANT* varg30/*[in,opt]*/= TNoParam())
  {
    VARIANT prop;
    OLECHECK(this->Run(MacroName, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, 
                       varg10, varg11, varg12, varg13, varg14, varg15, varg16, varg17, varg18, 
                       varg19, varg20, varg21, varg22, varg23, varg24, varg25, varg26, varg27, 
                       varg28, varg29, varg30, (VARIANT*)&prop));
    return prop;
  }

  Office_xp::MsoAutomationSecurity __fastcall get_AutomationSecurity(void)
  {
    Office_xp::MsoAutomationSecurity prop;
    OLECHECK(this->get_AutomationSecurity((Office_xp::MsoAutomationSecurity*)&prop));
    return prop;
  }

  Office_xp::FileDialog* __fastcall get_FileDialog(Office_xp::MsoFileDialogType FileDialogType/*[in]*/)
  {
    Office_xp::FileDialog* prop = 0;
    OLECHECK(this->get_FileDialog(FileDialogType, (Office_xp::FileDialog**)&prop));
    return prop;
  }

  BSTR __fastcall get_EmailTemplate(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_EmailTemplate((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowWindowsInTaskbar(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowWindowsInTaskbar((VARIANT_BOOL*)&prop));
    return prop;
  }

  Office_xp::NewFilePtr __fastcall get_NewDocument(void)
  {
    Office_xp::NewFilePtr prop;
    OLECHECK(this->get_NewDocument(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowStartupDialog(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowStartupDialog((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::AutoCorrectPtr __fastcall get_AutoCorrectEmail(void)
  {
    Word_xp::AutoCorrectPtr prop;
    OLECHECK(this->get_AutoCorrectEmail(&prop));
    return prop;
  }

  Word_xp::TaskPanesPtr __fastcall get_TaskPanes(void)
  {
    Word_xp::TaskPanesPtr prop;
    OLECHECK(this->get_TaskPanes(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DefaultLegalBlackline(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DefaultLegalBlackline((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall Dummy2(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->Dummy2((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::DocumentsPtr Documents = {read = get_Documents};
  __property   Word_xp::WindowsPtr Windoz = {read = get_Windoz};
  __property   Word_xp::WordDocumentPtr ActiveDocument = {read = get_ActiveDocument};
  __property   Word_xp::WINDOWPtr ActiveWindow = {read = get_ActiveWindow};
  __property   Word_xp::WordSelectionPtr Selection = {read = get_Selection};
  __property   LPDISPATCH      WordBasic = {read = get_WordBasic};
  __property   Word_xp::RecentFilesPtr RecentFiles = {read = get_RecentFiles};
  __property   Word_xp::TemplatePtr NormalTemplate = {read = get_NormalTemplate};
  __property   Word_xp::SYSTEMPtr System = {read = get_System};
  __property   Word_xp::AutoCorrectPtr AutoCorrect = {read = get_AutoCorrect};
  __property   Word_xp::FontNamesPtr FontNames = {read = get_FontNames};
  __property   Word_xp::FontNamesPtr LandscapeFontNames = {read = get_LandscapeFontNames};
  __property   Word_xp::FontNamesPtr PortraitFontNames = {read = get_PortraitFontNames};
  __property   Word_xp::LanguagesPtr Languages = {read = get_Languages};
  __property   Office_xp::AssistantPtr Assistant = {read = get_Assistant};
  __property   Word_xp::BrowserPtr Browser = {read = get_Browser};
  __property   Word_xp::FileConvertersPtr FileConverters = {read = get_FileConverters};
  __property   Word_xp::MailingLabelPtr MailingLabel = {read = get_MailingLabel};
  __property   Word_xp::DialogsPtr Dialogs = {read = get_Dialogs};
  __property   Word_xp::CaptionLabelsPtr CaptionLabels = {read = get_CaptionLabels};
  __property   Word_xp::AutoCaptionsPtr AutoCaptions = {read = get_AutoCaptions};
  __property   Word_xp::AddInsPtr AddIns = {read = get_AddIns};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};
  __property   BSTR            Version = {read = get_Version};
  __property   VARIANT_BOOL    ScreenUpdating = {read = get_ScreenUpdating, write = set_ScreenUpdating};
  __property   VARIANT_BOOL    PrintPreview = {read = get_PrintPreview, write = set_PrintPreview};
  __property   Word_xp::TasksPtr Tasks = {read = get_Tasks};
  __property   VARIANT_BOOL    DisplayStatusBar = {read = get_DisplayStatusBar, write = set_DisplayStatusBar};
  __property   VARIANT_BOOL    SpecialMode = {read = get_SpecialMode};
  __property   long            UsableWidth = {read = get_UsableWidth};
  __property   long            UsableHeight = {read = get_UsableHeight};
  __property   VARIANT_BOOL    MathCoprocessorAvailable = {read = get_MathCoprocessorAvailable};
  __property   VARIANT_BOOL    MouseAvailable = {read = get_MouseAvailable};
  __property   BSTR            Build = {read = get_Build};
  __property   VARIANT_BOOL    CapsLock = {read = get_CapsLock};
  __property   VARIANT_BOOL    NumLock = {read = get_NumLock};
  __property   BSTR            UserName = {read = get_UserName, write = set_UserName};
  __property   BSTR            UserInitials = {read = get_UserInitials, write = set_UserInitials};
  __property   BSTR            UserAddress = {read = get_UserAddress, write = set_UserAddress};
  __property   LPDISPATCH      MacroContainer = {read = get_MacroContainer};
  __property   VARIANT_BOOL    DisplayRecentFiles = {read = get_DisplayRecentFiles, write = set_DisplayRecentFiles};
  __property   Office_xp::CommandBarsPtr CommandBars = {read = get_CommandBars};
  __property   Vbide_xp::VBEPtr VBE = {read = get_VBE};
  __property   BSTR            DefaultSaveFormat = {read = get_DefaultSaveFormat, write = set_DefaultSaveFormat};
  __property   Word_xp::ListGalleriesPtr ListGalleries = {read = get_ListGalleries};
  __property   BSTR            ActivePrinter = {read = get_ActivePrinter, write = set_ActivePrinter};
  __property   Word_xp::TemplatesPtr Templates = {read = get_Templates};
  __property   LPDISPATCH      CustomizationContext = {read = get_CustomizationContext, write = set_CustomizationContext};
  __property   Word_xp::KeyBindingsPtr KeyBindings = {read = get_KeyBindings};
  __property   BSTR            Caption = {read = get_Caption, write = set_Caption};
  __property   BSTR            Path = {read = get_Path};
  __property   VARIANT_BOOL    DisplayScrollBars = {read = get_DisplayScrollBars, write = set_DisplayScrollBars};
  __property   BSTR            StartupPath = {read = get_StartupPath, write = set_StartupPath};
  __property   long            BackgroundSavingStatus = {read = get_BackgroundSavingStatus};
  __property   long            BackgroundPrintingStatus = {read = get_BackgroundPrintingStatus};
  __property   long            Left = {read = get_Left, write = set_Left};
  __property   long            Top = {read = get_Top, write = set_Top};
  __property   long            Width = {read = get_Width, write = set_Width};
  __property   long            Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdWindowState WindowState = {read = get_WindowState, write = set_WindowState};
  __property   VARIANT_BOOL    DisplayAutoCompleteTips = {read = get_DisplayAutoCompleteTips, write = set_DisplayAutoCompleteTips};
  __property   Word_xp::OptionsPtr Options = {read = get_Options};
  __property   Word_xp::WdAlertLevel DisplayAlerts = {read = get_DisplayAlerts, write = set_DisplayAlerts};
  __property   Word_xp::DictionariesPtr CustomDictionaries = {read = get_CustomDictionaries};
  __property   BSTR            PathSeparator = {read = get_PathSeparator};
  __property   BSTR            StatusBar = {write = set_StatusBar};
  __property   VARIANT_BOOL    MAPIAvailable = {read = get_MAPIAvailable};
  __property   VARIANT_BOOL    DisplayScreenTips = {read = get_DisplayScreenTips, write = set_DisplayScreenTips};
  __property   Word_xp::WdEnableCancelKey EnableCancelKey = {read = get_EnableCancelKey, write = set_EnableCancelKey};
  __property   VARIANT_BOOL    UserControl = {read = get_UserControl};
  __property   Office_xp::FileSearchPtr FileSearch = {read = get_FileSearch};
  __property   Word_xp::WdMailSystem MailSystem = {read = get_MailSystem};
  __property   BSTR            DefaultTableSeparator = {read = get_DefaultTableSeparator, write = set_DefaultTableSeparator};
  __property   VARIANT_BOOL    ShowVisualBasicEditor = {read = get_ShowVisualBasicEditor, write = set_ShowVisualBasicEditor};
  __property   BSTR            BrowseExtraFileTypes = {read = get_BrowseExtraFileTypes, write = set_BrowseExtraFileTypes};
  __property   Word_xp::HangulHanjaConversionDictionariesPtr HangulHanjaDictionaries = {read = get_HangulHanjaDictionaries};
  __property   Word_xp::MailMessagePtr MailMessage = {read = get_MailMessage};
  __property   VARIANT_BOOL    FocusInMailHeader = {read = get_FocusInMailHeader};
  __property   Word_xp::EmailOptionsPtr EmailOptions = {read = get_EmailOptions};
  __property   Office_xp::MsoLanguageID Language = {read = get_Language};
  __property   Office_xp::COMAddInsPtr COMAddIns = {read = get_COMAddIns};
  __property   VARIANT_BOOL    CheckLanguage = {read = get_CheckLanguage, write = set_CheckLanguage};
  __property   Office_xp::LanguageSettingsPtr LanguageSettings = {read = get_LanguageSettings};
  __property   VARIANT_BOOL    Dummy1 = {read = get_Dummy1};
  __property   Office_xp::AnswerWizardPtr AnswerWizard = {read = get_AnswerWizard};
  __property   Office_xp::MsoFeatureInstall FeatureInstall = {read = get_FeatureInstall, write = set_FeatureInstall};
  __property   Office_xp::MsoAutomationSecurity AutomationSecurity = {read = get_AutomationSecurity, write = set_AutomationSecurity};
  __property   BSTR            EmailTemplate = {read = get_EmailTemplate, write = set_EmailTemplate};
  __property   VARIANT_BOOL    ShowWindowsInTaskbar = {read = get_ShowWindowsInTaskbar, write = set_ShowWindowsInTaskbar};
  __property   Office_xp::NewFilePtr NewDocument = {read = get_NewDocument};
  __property   VARIANT_BOOL    ShowStartupDialog = {read = get_ShowStartupDialog, write = set_ShowStartupDialog};
  __property   Word_xp::AutoCorrectPtr AutoCorrectEmail = {read = get_AutoCorrectEmail};
  __property   Word_xp::TaskPanesPtr TaskPanes = {read = get_TaskPanes};
  __property   VARIANT_BOOL    DefaultLegalBlackline = {read = get_DefaultLegalBlackline, write = set_DefaultLegalBlackline};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: _Global
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B9-0000-0000-C000-000000000046}
// *********************************************************************//
interface _Global  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Documents(Word_xp::Documents** prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Windoz(Word_xp::Windows** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveDocument(Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_WordBasic(LPDISPATCH* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_PrintPreview(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE set_PrintPreview(VARIANT_BOOL prop/*[in]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE get_RecentFiles(Word_xp::RecentFiles** prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_NormalTemplate(Word_xp::Template** prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_System(Word_xp::SYSTEM** prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_AutoCorrect(Word_xp::AutoCorrect** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_FontNames(Word_xp::FontNames** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_LandscapeFontNames(Word_xp::FontNames** prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_PortraitFontNames(Word_xp::FontNames** prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_Languages(Word_xp::Languages** prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_Assistant(Office_xp::Assistant** prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_FileConverters(Word_xp::FileConverters** prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_Dialogs(Word_xp::Dialogs** prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE get_CaptionLabels(Word_xp::CaptionLabels** prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE get_AutoCaptions(Word_xp::AutoCaptions** prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE get_AddIns(Word_xp::AddIns** prop/*[out,retval]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE get_Tasks(Word_xp::Tasks** prop/*[out,retval]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE get_MacroContainer(LPDISPATCH* prop/*[out,retval]*/) = 0; // [55]
  virtual HRESULT STDMETHODCALLTYPE get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/) = 0; // [57]
  virtual HRESULT STDMETHODCALLTYPE get_SynonymInfo(BSTR Word/*[in]*/, 
                                                    VARIANT* LanguageID/*[in,opt]*/, 
                                                    Word_xp::SynonymInfo** prop/*[out,retval]*/) = 0; // [59]
  virtual HRESULT STDMETHODCALLTYPE get_VBE(Vbide_xp::VBE** prop/*[out,retval]*/) = 0; // [61]
  virtual HRESULT STDMETHODCALLTYPE get_ListGalleries(Word_xp::ListGalleries** prop/*[out,retval]*/) = 0; // [65]
  virtual HRESULT STDMETHODCALLTYPE get_ActivePrinter(BSTR* prop/*[out,retval]*/) = 0; // [66]
  virtual HRESULT STDMETHODCALLTYPE set_ActivePrinter(BSTR prop/*[in]*/) = 0; // [66]
  virtual HRESULT STDMETHODCALLTYPE get_Templates(Word_xp::Templates** prop/*[out,retval]*/) = 0; // [67]
  virtual HRESULT STDMETHODCALLTYPE get_CustomizationContext(LPDISPATCH* prop/*[out,retval]*/) = 0; // [68]
  virtual HRESULT STDMETHODCALLTYPE set_CustomizationContext(LPDISPATCH prop/*[in]*/) = 0; // [68]
  virtual HRESULT STDMETHODCALLTYPE get_KeyBindings(Word_xp::KeyBindings** prop/*[out,retval]*/) = 0; // [69]
  virtual HRESULT STDMETHODCALLTYPE get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                                    BSTR Command/*[in]*/, 
                                                    VARIANT* CommandParameter/*[in,opt]*/, 
                                                    Word_xp::KeysBoundTo** prop/*[out,retval]*/) = 0; // [70]
  virtual HRESULT STDMETHODCALLTYPE get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                                Word_xp::KeyBinding** prop/*[out,retval]*/) = 0; // [71]
  virtual HRESULT STDMETHODCALLTYPE get_Options(Word_xp::Options** prop/*[out,retval]*/) = 0; // [93]
  virtual HRESULT STDMETHODCALLTYPE get_CustomDictionaries(Word_xp::Dictionaries** prop/*[out,retval]*/) = 0; // [95]
  virtual HRESULT STDMETHODCALLTYPE set_StatusBar(BSTR Param1/*[in]*/) = 0; // [97]
  virtual HRESULT STDMETHODCALLTYPE get_ShowVisualBasicEditor(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_ShowVisualBasicEditor(VARIANT_BOOL prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_IsObjectValid(LPDISPATCH Object/*[in]*/, 
                                                      VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_HangulHanjaDictionaries(Word_xp::HangulHanjaConversionDictionaries** prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE Repeat(VARIANT* Times/*[in,opt]*/, 
                                           VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [305]
  virtual HRESULT STDMETHODCALLTYPE DDEExecute(long Channel/*[in]*/, BSTR Command/*[in]*/) = 0; // [310]
  virtual HRESULT STDMETHODCALLTYPE DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/, 
                                                long* prop/*[out,retval]*/) = 0; // [311]
  virtual HRESULT STDMETHODCALLTYPE DDEPoke(long Channel/*[in]*/, BSTR Item/*[in]*/, 
                                            BSTR Data/*[in]*/) = 0; // [312]
  virtual HRESULT STDMETHODCALLTYPE DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/, 
                                               BSTR* prop/*[out,retval]*/) = 0; // [313]
  virtual HRESULT STDMETHODCALLTYPE DDETerminate(long Channel/*[in]*/) = 0; // [314]
  virtual HRESULT STDMETHODCALLTYPE DDETerminateAll(void) = 0; // [315]
  virtual HRESULT STDMETHODCALLTYPE BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, 
                                                 VARIANT* Arg2/*[in,opt]*/, 
                                                 VARIANT* Arg3/*[in,opt]*/, 
                                                 VARIANT* Arg4/*[in,opt]*/, 
                                                 long* prop/*[out,retval]*/) = 0; // [316]
  virtual HRESULT STDMETHODCALLTYPE KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                              BSTR* prop/*[out,retval]*/) = 0; // [317]
  virtual HRESULT STDMETHODCALLTYPE CheckSpelling(BSTR Word/*[in]*/, 
                                                  VARIANT* CustomDictionary/*[in,opt]*/, 
                                                  VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                                  VARIANT* MainDictionary/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary2/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary3/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary4/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary5/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary6/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary7/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary8/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary9/*[in,opt]*/, 
                                                  VARIANT* CustomDictionary10/*[in,opt]*/, 
                                                  VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [324]
  virtual HRESULT STDMETHODCALLTYPE GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                                           VARIANT* CustomDictionary/*[in,opt]*/, 
                                                           VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                                           VARIANT* MainDictionary/*[in,opt]*/, 
                                                           VARIANT* SuggestionMode/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary2/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary3/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary4/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary5/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary6/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary7/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary8/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary9/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary10/*[in,opt]*/, 
                                                           Word_xp::SpellingSuggestions** prop/*[out,retval]*/) = 0; // [327]
  virtual HRESULT STDMETHODCALLTYPE Help(VARIANT* HelpType/*[in]*/) = 0; // [329]
  virtual HRESULT STDMETHODCALLTYPE NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/) = 0; // [345]
  virtual HRESULT STDMETHODCALLTYPE CleanString(BSTR String/*[in]*/, BSTR* prop/*[out,retval]*/) = 0; // [354]
  virtual HRESULT STDMETHODCALLTYPE ChangeFileOpenDirectory(BSTR Path/*[in]*/) = 0; // [355]
  virtual HRESULT STDMETHODCALLTYPE InchesToPoints(float Inches/*[in]*/, float* prop/*[out,retval]*/) = 0; // [370]
  virtual HRESULT STDMETHODCALLTYPE CentimetersToPoints(float Centimeters/*[in]*/, 
                                                        float* prop/*[out,retval]*/) = 0; // [371]
  virtual HRESULT STDMETHODCALLTYPE MillimetersToPoints(float Millimeters/*[in]*/, 
                                                        float* prop/*[out,retval]*/) = 0; // [372]
  virtual HRESULT STDMETHODCALLTYPE PicasToPoints(float Picas/*[in]*/, float* prop/*[out,retval]*/) = 0; // [373]
  virtual HRESULT STDMETHODCALLTYPE LinesToPoints(float Lines/*[in]*/, float* prop/*[out,retval]*/) = 0; // [374]
  virtual HRESULT STDMETHODCALLTYPE PointsToInches(float Points/*[in]*/, float* prop/*[out,retval]*/) = 0; // [380]
  virtual HRESULT STDMETHODCALLTYPE PointsToCentimeters(float Points/*[in]*/, 
                                                        float* prop/*[out,retval]*/) = 0; // [381]
  virtual HRESULT STDMETHODCALLTYPE PointsToMillimeters(float Points/*[in]*/, 
                                                        float* prop/*[out,retval]*/) = 0; // [382]
  virtual HRESULT STDMETHODCALLTYPE PointsToPicas(float Points/*[in]*/, float* prop/*[out,retval]*/) = 0; // [383]
  virtual HRESULT STDMETHODCALLTYPE PointsToLines(float Points/*[in]*/, float* prop/*[out,retval]*/) = 0; // [384]
  virtual HRESULT STDMETHODCALLTYPE PointsToPixels(float Points/*[in]*/, 
                                                   VARIANT* fVertical/*[in,opt]*/, 
                                                   float* prop/*[out,retval]*/) = 0; // [385]
  virtual HRESULT STDMETHODCALLTYPE PixelsToPoints(float Pixels/*[in]*/, 
                                                   VARIANT* fVertical/*[in,opt]*/, 
                                                   float* prop/*[out,retval]*/) = 0; // [386]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageSettings(Office_xp::LanguageSettings** prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_AnswerWizard(Office_xp::AnswerWizard** prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_AutoCorrectEmail(Word_xp::AutoCorrect** prop/*[out,retval]*/) = 0; // [113]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  Word_xp::DocumentsPtr __fastcall get_Documents(void)
  {
    Word_xp::DocumentsPtr prop;
    OLECHECK(this->get_Documents(&prop));
    return prop;
  }

  Word_xp::WindowsPtr __fastcall get_Windoz(void)
  {
    Word_xp::WindowsPtr prop;
    OLECHECK(this->get_Windoz(&prop));
    return prop;
  }

  Word_xp::WordDocumentPtr __fastcall get_ActiveDocument(void)
  {
    Word_xp::WordDocumentPtr prop;
    OLECHECK(this->get_ActiveDocument(&prop));
    return prop;
  }

  Word_xp::WINDOWPtr __fastcall get_ActiveWindow(void)
  {
    Word_xp::WINDOWPtr prop;
    OLECHECK(this->get_ActiveWindow(&prop));
    return prop;
  }

  Word_xp::WordSelectionPtr __fastcall get_Selection(void)
  {
    Word_xp::WordSelectionPtr prop;
    OLECHECK(this->get_Selection(&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_WordBasic(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_WordBasic((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintPreview(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintPreview((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::RecentFilesPtr __fastcall get_RecentFiles(void)
  {
    Word_xp::RecentFilesPtr prop;
    OLECHECK(this->get_RecentFiles(&prop));
    return prop;
  }

  Word_xp::TemplatePtr __fastcall get_NormalTemplate(void)
  {
    Word_xp::TemplatePtr prop;
    OLECHECK(this->get_NormalTemplate(&prop));
    return prop;
  }

  Word_xp::SYSTEMPtr __fastcall get_System(void)
  {
    Word_xp::SYSTEMPtr prop;
    OLECHECK(this->get_System(&prop));
    return prop;
  }

  Word_xp::AutoCorrectPtr __fastcall get_AutoCorrect(void)
  {
    Word_xp::AutoCorrectPtr prop;
    OLECHECK(this->get_AutoCorrect(&prop));
    return prop;
  }

  Word_xp::FontNamesPtr __fastcall get_FontNames(void)
  {
    Word_xp::FontNamesPtr prop;
    OLECHECK(this->get_FontNames(&prop));
    return prop;
  }

  Word_xp::FontNamesPtr __fastcall get_LandscapeFontNames(void)
  {
    Word_xp::FontNamesPtr prop;
    OLECHECK(this->get_LandscapeFontNames(&prop));
    return prop;
  }

  Word_xp::FontNamesPtr __fastcall get_PortraitFontNames(void)
  {
    Word_xp::FontNamesPtr prop;
    OLECHECK(this->get_PortraitFontNames(&prop));
    return prop;
  }

  Word_xp::LanguagesPtr __fastcall get_Languages(void)
  {
    Word_xp::LanguagesPtr prop;
    OLECHECK(this->get_Languages(&prop));
    return prop;
  }

  Office_xp::AssistantPtr __fastcall get_Assistant(void)
  {
    Office_xp::AssistantPtr prop;
    OLECHECK(this->get_Assistant(&prop));
    return prop;
  }

  Word_xp::FileConvertersPtr __fastcall get_FileConverters(void)
  {
    Word_xp::FileConvertersPtr prop;
    OLECHECK(this->get_FileConverters(&prop));
    return prop;
  }

  Word_xp::DialogsPtr __fastcall get_Dialogs(void)
  {
    Word_xp::DialogsPtr prop;
    OLECHECK(this->get_Dialogs(&prop));
    return prop;
  }

  Word_xp::CaptionLabelsPtr __fastcall get_CaptionLabels(void)
  {
    Word_xp::CaptionLabelsPtr prop;
    OLECHECK(this->get_CaptionLabels(&prop));
    return prop;
  }

  Word_xp::AutoCaptionsPtr __fastcall get_AutoCaptions(void)
  {
    Word_xp::AutoCaptionsPtr prop;
    OLECHECK(this->get_AutoCaptions(&prop));
    return prop;
  }

  Word_xp::AddInsPtr __fastcall get_AddIns(void)
  {
    Word_xp::AddInsPtr prop;
    OLECHECK(this->get_AddIns(&prop));
    return prop;
  }

  Word_xp::TasksPtr __fastcall get_Tasks(void)
  {
    Word_xp::TasksPtr prop;
    OLECHECK(this->get_Tasks(&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_MacroContainer(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_MacroContainer((LPDISPATCH*)&prop));
    return prop;
  }

  Office_xp::CommandBarsPtr __fastcall get_CommandBars(void)
  {
    Office_xp::CommandBarsPtr prop;
    OLECHECK(this->get_CommandBars(&prop));
    return prop;
  }

  Word_xp::SynonymInfo* __fastcall get_SynonymInfo(BSTR Word/*[in]*/, 
                                                   VARIANT* LanguageID/*[in,opt]*/= TNoParam())
  {
    Word_xp::SynonymInfo* prop = 0;
    OLECHECK(this->get_SynonymInfo(Word, LanguageID, (Word_xp::SynonymInfo**)&prop));
    return prop;
  }

  Vbide_xp::VBEPtr __fastcall get_VBE(void)
  {
    Vbide_xp::VBEPtr prop;
    OLECHECK(this->get_VBE(&prop));
    return prop;
  }

  Word_xp::ListGalleriesPtr __fastcall get_ListGalleries(void)
  {
    Word_xp::ListGalleriesPtr prop;
    OLECHECK(this->get_ListGalleries(&prop));
    return prop;
  }

  BSTR __fastcall get_ActivePrinter(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ActivePrinter((BSTR*)&prop));
    return prop;
  }

  Word_xp::TemplatesPtr __fastcall get_Templates(void)
  {
    Word_xp::TemplatesPtr prop;
    OLECHECK(this->get_Templates(&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_CustomizationContext(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_CustomizationContext((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::KeyBindingsPtr __fastcall get_KeyBindings(void)
  {
    Word_xp::KeyBindingsPtr prop;
    OLECHECK(this->get_KeyBindings(&prop));
    return prop;
  }

  Word_xp::KeysBoundTo* __fastcall get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                                   BSTR Command/*[in]*/, 
                                                   VARIANT* CommandParameter/*[in,opt]*/= TNoParam())
  {
    Word_xp::KeysBoundTo* prop = 0;
    OLECHECK(this->get_KeysBoundTo(KeyCategory, Command, CommandParameter, (Word_xp::KeysBoundTo**)&prop));
    return prop;
  }

  Word_xp::KeyBinding* __fastcall get_FindKey(long KeyCode/*[in]*/, 
                                              VARIANT* KeyCode2/*[in,opt]*/= TNoParam())
  {
    Word_xp::KeyBinding* prop = 0;
    OLECHECK(this->get_FindKey(KeyCode, KeyCode2, (Word_xp::KeyBinding**)&prop));
    return prop;
  }

  Word_xp::OptionsPtr __fastcall get_Options(void)
  {
    Word_xp::OptionsPtr prop;
    OLECHECK(this->get_Options(&prop));
    return prop;
  }

  Word_xp::DictionariesPtr __fastcall get_CustomDictionaries(void)
  {
    Word_xp::DictionariesPtr prop;
    OLECHECK(this->get_CustomDictionaries(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowVisualBasicEditor(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowVisualBasicEditor((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsObjectValid(LPDISPATCH Object/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsObjectValid(Object, (VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::HangulHanjaConversionDictionariesPtr __fastcall get_HangulHanjaDictionaries(void)
  {
    Word_xp::HangulHanjaConversionDictionariesPtr prop;
    OLECHECK(this->get_HangulHanjaDictionaries(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall Repeat(VARIANT* Times/*[in,opt]*/= TNoParam())
  {
    VARIANT_BOOL prop;
    OLECHECK(this->Repeat(Times, (VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/)
  {
    long prop;
    OLECHECK(this->DDEInitiate(App, Topic, (long*)&prop));
    return prop;
  }

  BSTR __fastcall DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/)
  {
    BSTR prop = 0;
    OLECHECK(this->DDERequest(Channel, Item, (BSTR*)&prop));
    return prop;
  }

  long __fastcall BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/= TNoParam(), 
                               VARIANT* Arg3/*[in,opt]*/= TNoParam(), 
                               VARIANT* Arg4/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->BuildKeyCode(Arg1, Arg2, Arg3, Arg4, (long*)&prop));
    return prop;
  }

  BSTR __fastcall KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/= TNoParam())
  {
    BSTR prop = 0;
    OLECHECK(this->KeyString(KeyCode, KeyCode2, (BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall CheckSpelling(BSTR Word/*[in]*/, 
                                        VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                        VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                        VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam())
  {
    VARIANT_BOOL prop;
    OLECHECK(this->CheckSpelling(Word, CustomDictionary, IgnoreUppercase, MainDictionary, 
                                 CustomDictionary2, CustomDictionary3, CustomDictionary4, 
                                 CustomDictionary5, CustomDictionary6, CustomDictionary7, 
                                 CustomDictionary8, CustomDictionary9, CustomDictionary10, (VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::SpellingSuggestions* __fastcall GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                                                  VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* SuggestionMode/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam())
  {
    Word_xp::SpellingSuggestions* prop = 0;
    OLECHECK(this->GetSpellingSuggestions(Word, CustomDictionary, IgnoreUppercase, MainDictionary, 
                                          SuggestionMode, CustomDictionary2, CustomDictionary3, 
                                          CustomDictionary4, CustomDictionary5, CustomDictionary6, 
                                          CustomDictionary7, CustomDictionary8, CustomDictionary9, 
                                          CustomDictionary10, (Word_xp::SpellingSuggestions**)&prop));
    return prop;
  }

  Word_xp::WINDOW* __fastcall NewWindow(void)
  {
    Word_xp::WINDOW* prop = 0;
    OLECHECK(this->NewWindow((Word_xp::WINDOW**)&prop));
    return prop;
  }

  BSTR __fastcall CleanString(BSTR String/*[in]*/)
  {
    BSTR prop = 0;
    OLECHECK(this->CleanString(String, (BSTR*)&prop));
    return prop;
  }

  float __fastcall InchesToPoints(float Inches/*[in]*/)
  {
    float prop;
    OLECHECK(this->InchesToPoints(Inches, (float*)&prop));
    return prop;
  }

  float __fastcall CentimetersToPoints(float Centimeters/*[in]*/)
  {
    float prop;
    OLECHECK(this->CentimetersToPoints(Centimeters, (float*)&prop));
    return prop;
  }

  float __fastcall MillimetersToPoints(float Millimeters/*[in]*/)
  {
    float prop;
    OLECHECK(this->MillimetersToPoints(Millimeters, (float*)&prop));
    return prop;
  }

  float __fastcall PicasToPoints(float Picas/*[in]*/)
  {
    float prop;
    OLECHECK(this->PicasToPoints(Picas, (float*)&prop));
    return prop;
  }

  float __fastcall LinesToPoints(float Lines/*[in]*/)
  {
    float prop;
    OLECHECK(this->LinesToPoints(Lines, (float*)&prop));
    return prop;
  }

  float __fastcall PointsToInches(float Points/*[in]*/)
  {
    float prop;
    OLECHECK(this->PointsToInches(Points, (float*)&prop));
    return prop;
  }

  float __fastcall PointsToCentimeters(float Points/*[in]*/)
  {
    float prop;
    OLECHECK(this->PointsToCentimeters(Points, (float*)&prop));
    return prop;
  }

  float __fastcall PointsToMillimeters(float Points/*[in]*/)
  {
    float prop;
    OLECHECK(this->PointsToMillimeters(Points, (float*)&prop));
    return prop;
  }

  float __fastcall PointsToPicas(float Points/*[in]*/)
  {
    float prop;
    OLECHECK(this->PointsToPicas(Points, (float*)&prop));
    return prop;
  }

  float __fastcall PointsToLines(float Points/*[in]*/)
  {
    float prop;
    OLECHECK(this->PointsToLines(Points, (float*)&prop));
    return prop;
  }

  float __fastcall PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/= TNoParam())
  {
    float prop;
    OLECHECK(this->PointsToPixels(Points, fVertical, (float*)&prop));
    return prop;
  }

  float __fastcall PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/= TNoParam())
  {
    float prop;
    OLECHECK(this->PixelsToPoints(Pixels, fVertical, (float*)&prop));
    return prop;
  }

  Office_xp::LanguageSettingsPtr __fastcall get_LanguageSettings(void)
  {
    Office_xp::LanguageSettingsPtr prop;
    OLECHECK(this->get_LanguageSettings(&prop));
    return prop;
  }

  Office_xp::AnswerWizardPtr __fastcall get_AnswerWizard(void)
  {
    Office_xp::AnswerWizardPtr prop;
    OLECHECK(this->get_AnswerWizard(&prop));
    return prop;
  }

  Word_xp::AutoCorrectPtr __fastcall get_AutoCorrectEmail(void)
  {
    Word_xp::AutoCorrectPtr prop;
    OLECHECK(this->get_AutoCorrectEmail(&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::DocumentsPtr Documents = {read = get_Documents};
  __property   Word_xp::WindowsPtr Windoz = {read = get_Windoz};
  __property   Word_xp::WordDocumentPtr ActiveDocument = {read = get_ActiveDocument};
  __property   Word_xp::WINDOWPtr ActiveWindow = {read = get_ActiveWindow};
  __property   Word_xp::WordSelectionPtr Selection = {read = get_Selection};
  __property   LPDISPATCH      WordBasic = {read = get_WordBasic};
  __property   VARIANT_BOOL    PrintPreview = {read = get_PrintPreview, write = set_PrintPreview};
  __property   Word_xp::RecentFilesPtr RecentFiles = {read = get_RecentFiles};
  __property   Word_xp::TemplatePtr NormalTemplate = {read = get_NormalTemplate};
  __property   Word_xp::SYSTEMPtr System = {read = get_System};
  __property   Word_xp::AutoCorrectPtr AutoCorrect = {read = get_AutoCorrect};
  __property   Word_xp::FontNamesPtr FontNames = {read = get_FontNames};
  __property   Word_xp::FontNamesPtr LandscapeFontNames = {read = get_LandscapeFontNames};
  __property   Word_xp::FontNamesPtr PortraitFontNames = {read = get_PortraitFontNames};
  __property   Word_xp::LanguagesPtr Languages = {read = get_Languages};
  __property   Office_xp::AssistantPtr Assistant = {read = get_Assistant};
  __property   Word_xp::FileConvertersPtr FileConverters = {read = get_FileConverters};
  __property   Word_xp::DialogsPtr Dialogs = {read = get_Dialogs};
  __property   Word_xp::CaptionLabelsPtr CaptionLabels = {read = get_CaptionLabels};
  __property   Word_xp::AutoCaptionsPtr AutoCaptions = {read = get_AutoCaptions};
  __property   Word_xp::AddInsPtr AddIns = {read = get_AddIns};
  __property   Word_xp::TasksPtr Tasks = {read = get_Tasks};
  __property   LPDISPATCH      MacroContainer = {read = get_MacroContainer};
  __property   Office_xp::CommandBarsPtr CommandBars = {read = get_CommandBars};
  __property   Vbide_xp::VBEPtr VBE = {read = get_VBE};
  __property   Word_xp::ListGalleriesPtr ListGalleries = {read = get_ListGalleries};
  __property   BSTR            ActivePrinter = {read = get_ActivePrinter, write = set_ActivePrinter};
  __property   Word_xp::TemplatesPtr Templates = {read = get_Templates};
  __property   LPDISPATCH      CustomizationContext = {read = get_CustomizationContext, write = set_CustomizationContext};
  __property   Word_xp::KeyBindingsPtr KeyBindings = {read = get_KeyBindings};
  __property   Word_xp::OptionsPtr Options = {read = get_Options};
  __property   Word_xp::DictionariesPtr CustomDictionaries = {read = get_CustomDictionaries};
  __property   BSTR            StatusBar = {write = set_StatusBar};
  __property   VARIANT_BOOL    ShowVisualBasicEditor = {read = get_ShowVisualBasicEditor, write = set_ShowVisualBasicEditor};
  __property   Word_xp::HangulHanjaConversionDictionariesPtr HangulHanjaDictionaries = {read = get_HangulHanjaDictionaries};
  __property   Office_xp::LanguageSettingsPtr LanguageSettings = {read = get_LanguageSettings};
  __property   Office_xp::AnswerWizardPtr AnswerWizard = {read = get_AnswerWizard};
  __property   Word_xp::AutoCorrectPtr AutoCorrectEmail = {read = get_AutoCorrectEmail};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: FontNames
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096F-0000-0000-C000-000000000046}
// *********************************************************************//
interface FontNames  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, BSTR* prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall Item(long Index/*[in]*/)
  {
    BSTR prop = 0;
    OLECHECK(this->Item(Index, (BSTR*)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Languages
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096E-0000-0000-C000-000000000046}
// *********************************************************************//
interface Languages  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Language** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::Language* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Language* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Language**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Language
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096D-0000-0000-C000-000000000046}
// *********************************************************************//
interface Language  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_ID(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_NameLocal(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveGrammarDictionary(Word_xp::Dictionary** prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveHyphenationDictionary(Word_xp::Dictionary** prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveSpellingDictionary(Word_xp::Dictionary** prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveThesaurusDictionary(Word_xp::Dictionary** prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultWritingStyle(BSTR* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultWritingStyle(BSTR prop/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_WritingStyleList(VARIANT* prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_SpellingDictionaryType(Word_xp::WdDictionaryType* prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE set_SpellingDictionaryType(Word_xp::WdDictionaryType prop/*[in]*/) = 0; // [19]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_ID(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_ID((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  BSTR __fastcall get_NameLocal(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_NameLocal((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  Word_xp::DictionaryPtr __fastcall get_ActiveGrammarDictionary(void)
  {
    Word_xp::DictionaryPtr prop;
    OLECHECK(this->get_ActiveGrammarDictionary(&prop));
    return prop;
  }

  Word_xp::DictionaryPtr __fastcall get_ActiveHyphenationDictionary(void)
  {
    Word_xp::DictionaryPtr prop;
    OLECHECK(this->get_ActiveHyphenationDictionary(&prop));
    return prop;
  }

  Word_xp::DictionaryPtr __fastcall get_ActiveSpellingDictionary(void)
  {
    Word_xp::DictionaryPtr prop;
    OLECHECK(this->get_ActiveSpellingDictionary(&prop));
    return prop;
  }

  Word_xp::DictionaryPtr __fastcall get_ActiveThesaurusDictionary(void)
  {
    Word_xp::DictionaryPtr prop;
    OLECHECK(this->get_ActiveThesaurusDictionary(&prop));
    return prop;
  }

  BSTR __fastcall get_DefaultWritingStyle(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_DefaultWritingStyle((BSTR*)&prop));
    return prop;
  }

  VARIANT __fastcall get_WritingStyleList(void)
  {
    VARIANT prop;
    OLECHECK(this->get_WritingStyleList((VARIANT*)&prop));
    return prop;
  }

  Word_xp::WdDictionaryType __fastcall get_SpellingDictionaryType(void)
  {
    Word_xp::WdDictionaryType prop;
    OLECHECK(this->get_SpellingDictionaryType((Word_xp::WdDictionaryType*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdLanguageID ID = {read = get_ID};
  __property   BSTR            NameLocal = {read = get_NameLocal};
  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::DictionaryPtr ActiveGrammarDictionary = {read = get_ActiveGrammarDictionary};
  __property   Word_xp::DictionaryPtr ActiveHyphenationDictionary = {read = get_ActiveHyphenationDictionary};
  __property   Word_xp::DictionaryPtr ActiveSpellingDictionary = {read = get_ActiveSpellingDictionary};
  __property   Word_xp::DictionaryPtr ActiveThesaurusDictionary = {read = get_ActiveThesaurusDictionary};
  __property   BSTR            DefaultWritingStyle = {read = get_DefaultWritingStyle, write = set_DefaultWritingStyle};
  __property   Word_xp::WdDictionaryType SpellingDictionaryType = {read = get_SpellingDictionaryType, write = set_SpellingDictionaryType};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Documents
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096C-0000-0000-C000-000000000046}
// *********************************************************************//
interface Documents  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Close(VARIANT* SaveChanges/*[in,opt]*/= TNoParam(), 
                                          VARIANT* OriginalFormat/*[in,opt]*/= TNoParam(), 
                                          VARIANT* RouteDocument/*[in,opt]*/= TNoParam()) = 0; // [1105]
  virtual HRESULT STDMETHODCALLTYPE AddOld(VARIANT* Template/*[in,opt]*/, 
                                           VARIANT* NewTemplate/*[in,opt]*/, 
                                           Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE OpenOld(VARIANT* FileName/*[in]*/, 
                                            VARIANT* ConfirmConversions/*[in,opt]*/, 
                                            VARIANT* ReadOnly/*[in,opt]*/, 
                                            VARIANT* AddToRecentFiles/*[in,opt]*/, 
                                            VARIANT* PasswordDocument/*[in,opt]*/, 
                                            VARIANT* PasswordTemplate/*[in,opt]*/, 
                                            VARIANT* Revert/*[in,opt]*/, 
                                            VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                            VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                            VARIANT* Format/*[in,opt]*/, 
                                            Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE Save(VARIANT* NoPrompt/*[in,opt]*/= TNoParam(), 
                                         VARIANT* OriginalFormat/*[in,opt]*/= TNoParam()) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* Template/*[in,opt]*/, 
                                        VARIANT* NewTemplate/*[in,opt]*/, 
                                        VARIANT* DocumentType/*[in,opt]*/, 
                                        VARIANT* Visible/*[in,opt]*/, 
                                        Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE Open2000(VARIANT* FileName/*[in]*/, 
                                             VARIANT* ConfirmConversions/*[in,opt]*/, 
                                             VARIANT* ReadOnly/*[in,opt]*/, 
                                             VARIANT* AddToRecentFiles/*[in,opt]*/, 
                                             VARIANT* PasswordDocument/*[in,opt]*/, 
                                             VARIANT* PasswordTemplate/*[in,opt]*/, 
                                             VARIANT* Revert/*[in,opt]*/, 
                                             VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                             VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                             VARIANT* Format/*[in,opt]*/, 
                                             VARIANT* Encoding/*[in,opt]*/, 
                                             VARIANT* Visible/*[in,opt]*/, 
                                             Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE CheckOut(BSTR FileName/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE CanCheckOut(BSTR FileName/*[in]*/, 
                                                VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE Open(VARIANT* FileName/*[in]*/, 
                                         VARIANT* ConfirmConversions/*[in,opt]*/, 
                                         VARIANT* ReadOnly/*[in,opt]*/, 
                                         VARIANT* AddToRecentFiles/*[in,opt]*/, 
                                         VARIANT* PasswordDocument/*[in,opt]*/, 
                                         VARIANT* PasswordTemplate/*[in,opt]*/, 
                                         VARIANT* Revert/*[in,opt]*/, 
                                         VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                         VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                         VARIANT* Format/*[in,opt]*/, VARIANT* Encoding/*[in,opt]*/, 
                                         VARIANT* Visible/*[in,opt]*/, 
                                         VARIANT* OpenAndRepair/*[in,opt]*/, 
                                         VARIANT* DocumentDirection/*[in,opt]*/, 
                                         VARIANT* NoEncodingDialog/*[in,opt]*/, 
                                         Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [18]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordDocument* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::WordDocument* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::WordDocument**)&prop));
    return prop;
  }

  Word_xp::WordDocument* __fastcall AddOld(VARIANT* Template/*[in,opt]*/= TNoParam(), 
                                           VARIANT* NewTemplate/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordDocument* prop = 0;
    OLECHECK(this->AddOld(Template, NewTemplate, (Word_xp::WordDocument**)&prop));
    return prop;
  }

  Word_xp::WordDocument* __fastcall OpenOld(VARIANT* FileName/*[in]*/, 
                                            VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                            VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                            VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                            VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                            VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                            VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Format/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordDocument* prop = 0;
    OLECHECK(this->OpenOld(FileName, ConfirmConversions, ReadOnly, AddToRecentFiles, 
                           PasswordDocument, PasswordTemplate, Revert, WritePasswordDocument, 
                           WritePasswordTemplate, Format, (Word_xp::WordDocument**)&prop));
    return prop;
  }

  Word_xp::WordDocument* __fastcall Add(VARIANT* Template/*[in,opt]*/= TNoParam(), 
                                        VARIANT* NewTemplate/*[in,opt]*/= TNoParam(), 
                                        VARIANT* DocumentType/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Visible/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordDocument* prop = 0;
    OLECHECK(this->Add(Template, NewTemplate, DocumentType, Visible, (Word_xp::WordDocument**)&prop));
    return prop;
  }

  Word_xp::WordDocument* __fastcall Open2000(VARIANT* FileName/*[in]*/, 
                                             VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                             VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                             VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                             VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Encoding/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Visible/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordDocument* prop = 0;
    OLECHECK(this->Open2000(FileName, ConfirmConversions, ReadOnly, AddToRecentFiles, 
                            PasswordDocument, PasswordTemplate, Revert, WritePasswordDocument, 
                            WritePasswordTemplate, Format, Encoding, Visible, (Word_xp::WordDocument**)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall CanCheckOut(BSTR FileName/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->CanCheckOut(FileName, (VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordDocument* __fastcall Open(VARIANT* FileName/*[in]*/, 
                                         VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                         VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                         VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                         VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Encoding/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Visible/*[in,opt]*/= TNoParam(), 
                                         VARIANT* OpenAndRepair/*[in,opt]*/= TNoParam(), 
                                         VARIANT* DocumentDirection/*[in,opt]*/= TNoParam(), 
                                         VARIANT* NoEncodingDialog/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordDocument* prop = 0;
    OLECHECK(this->Open(FileName, ConfirmConversions, ReadOnly, AddToRecentFiles, PasswordDocument, 
                        PasswordTemplate, Revert, WritePasswordDocument, WritePasswordTemplate, 
                        Format, Encoding, Visible, OpenAndRepair, DocumentDirection, 
                        NoEncodingDialog, (Word_xp::WordDocument**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: _Document
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0002096B-0000-0000-C000-000000000046}
// *********************************************************************//
interface _Document  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_BuiltInDocumentProperties(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_CustomDocumentProperties(LPDISPATCH* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Path(BSTR* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Bookmarks(Word_xp::Bookmarks** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Tables(Word_xp::Tables** prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Footnotes(Word_xp::Footnotes** prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_Endnotes(Word_xp::Endnotes** prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_Comments(Word_xp::Comments** prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdDocumentType* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_AutoHyphenation(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_AutoHyphenation(VARIANT_BOOL prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_HyphenateCaps(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_HyphenateCaps(VARIANT_BOOL prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_HyphenationZone(long* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_HyphenationZone(long prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_ConsecutiveHyphensLimit(long* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_ConsecutiveHyphensLimit(long prop/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_Sections(Word_xp::Sections** prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_Paragraphs(Word_xp::Paragraphs** prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_Words(Word_xp::Words** prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_Sentences(Word_xp::Sentences** prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_Characters(Word_xp::Characters** prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE get_Fields(Word_xp::Fields** prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE get_FormFields(Word_xp::FormFields** prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE get_Styles(Word_xp::Styles** prop/*[out,retval]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE get_Frames(Word_xp::Frames** prop/*[out,retval]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE get_TablesOfFigures(Word_xp::TablesOfFigures** prop/*[out,retval]*/) = 0; // [25]
  virtual HRESULT STDMETHODCALLTYPE get_Variables(Word_xp::Variables** prop/*[out,retval]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE get_MailMerge(Word_xp::MailMerge** prop/*[out,retval]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE get_Envelope(Word_xp::Envelope** prop/*[out,retval]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE get_FullName(BSTR* prop/*[out,retval]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE get_Revisions(Word_xp::Revisions** prop/*[out,retval]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE get_TablesOfContents(Word_xp::TablesOfContents** prop/*[out,retval]*/) = 0; // [31]
  virtual HRESULT STDMETHODCALLTYPE get_TablesOfAuthorities(Word_xp::TablesOfAuthorities** prop/*[out,retval]*/) = 0; // [32]
  virtual HRESULT STDMETHODCALLTYPE get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE set_PageSetup(Word_xp::PageSetup* prop/*[in]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE get_Windoz(Word_xp::Windows** prop/*[out,retval]*/) = 0; // [34]
  virtual HRESULT STDMETHODCALLTYPE get_HasRoutingSlip(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [35]
  virtual HRESULT STDMETHODCALLTYPE set_HasRoutingSlip(VARIANT_BOOL prop/*[in]*/) = 0; // [35]
  virtual HRESULT STDMETHODCALLTYPE get_RoutingSlip(Word_xp::RoutingSlip** prop/*[out,retval]*/) = 0; // [36]
  virtual HRESULT STDMETHODCALLTYPE get_Routed(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [37]
  virtual HRESULT STDMETHODCALLTYPE get_TablesOfAuthoritiesCategories(Word_xp::TablesOfAuthoritiesCategories** prop/*[out,retval]*/) = 0; // [38]
  virtual HRESULT STDMETHODCALLTYPE get_Indexes(Word_xp::Indexes** prop/*[out,retval]*/) = 0; // [39]
  virtual HRESULT STDMETHODCALLTYPE get_Saved(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [40]
  virtual HRESULT STDMETHODCALLTYPE set_Saved(VARIANT_BOOL prop/*[in]*/) = 0; // [40]
  virtual HRESULT STDMETHODCALLTYPE get_Content(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [41]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/) = 0; // [42]
  virtual HRESULT STDMETHODCALLTYPE get_Kind(Word_xp::WdDocumentKind* prop/*[out,retval]*/) = 0; // [43]
  virtual HRESULT STDMETHODCALLTYPE set_Kind(Word_xp::WdDocumentKind prop/*[in]*/) = 0; // [43]
  virtual HRESULT STDMETHODCALLTYPE get_ReadOnly(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [44]
  virtual HRESULT STDMETHODCALLTYPE get_Subdocuments(Word_xp::Subdocuments** prop/*[out,retval]*/) = 0; // [45]
  virtual HRESULT STDMETHODCALLTYPE get_IsMasterDocument(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [46]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultTabStop(float* prop/*[out,retval]*/) = 0; // [48]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultTabStop(float prop/*[in]*/) = 0; // [48]
  virtual HRESULT STDMETHODCALLTYPE get_EmbedTrueTypeFonts(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [50]
  virtual HRESULT STDMETHODCALLTYPE set_EmbedTrueTypeFonts(VARIANT_BOOL prop/*[in]*/) = 0; // [50]
  virtual HRESULT STDMETHODCALLTYPE get_SaveFormsData(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [51]
  virtual HRESULT STDMETHODCALLTYPE set_SaveFormsData(VARIANT_BOOL prop/*[in]*/) = 0; // [51]
  virtual HRESULT STDMETHODCALLTYPE get_ReadOnlyRecommended(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [52]
  virtual HRESULT STDMETHODCALLTYPE set_ReadOnlyRecommended(VARIANT_BOOL prop/*[in]*/) = 0; // [52]
  virtual HRESULT STDMETHODCALLTYPE get_SaveSubsetFonts(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [53]
  virtual HRESULT STDMETHODCALLTYPE set_SaveSubsetFonts(VARIANT_BOOL prop/*[in]*/) = 0; // [53]
  virtual HRESULT STDMETHODCALLTYPE get_Compatibility(Word_xp::WdCompatibility Type/*[in]*/, 
                                                      VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [55]
  virtual HRESULT STDMETHODCALLTYPE set_Compatibility(Word_xp::WdCompatibility Type/*[in]*/, 
                                                      VARIANT_BOOL prop/*[in]*/) = 0; // [55]
  virtual HRESULT STDMETHODCALLTYPE get_StoryRanges(Word_xp::StoryRanges** prop/*[out,retval]*/) = 0; // [56]
  virtual HRESULT STDMETHODCALLTYPE get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/) = 0; // [57]
  virtual HRESULT STDMETHODCALLTYPE get_IsSubdocument(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [58]
  virtual HRESULT STDMETHODCALLTYPE get_SaveFormat(long* prop/*[out,retval]*/) = 0; // [59]
  virtual HRESULT STDMETHODCALLTYPE get_ProtectionType(Word_xp::WdProtectionType* prop/*[out,retval]*/) = 0; // [60]
  virtual HRESULT STDMETHODCALLTYPE get_Hyperlinks(Word_xp::Hyperlinks** prop/*[out,retval]*/) = 0; // [61]
  virtual HRESULT STDMETHODCALLTYPE get_Shapes(Word_xp::Shapes** prop/*[out,retval]*/) = 0; // [62]
  virtual HRESULT STDMETHODCALLTYPE get_ListTemplates(Word_xp::ListTemplates** prop/*[out,retval]*/) = 0; // [63]
  virtual HRESULT STDMETHODCALLTYPE get_Lists(Word_xp::Lists** prop/*[out,retval]*/) = 0; // [64]
  virtual HRESULT STDMETHODCALLTYPE get_UpdateStylesOnOpen(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [66]
  virtual HRESULT STDMETHODCALLTYPE set_UpdateStylesOnOpen(VARIANT_BOOL prop/*[in]*/) = 0; // [66]
  virtual HRESULT STDMETHODCALLTYPE get_AttachedTemplate(VARIANT* prop/*[out,retval]*/) = 0; // [67]
  virtual HRESULT STDMETHODCALLTYPE set_AttachedTemplate(VARIANT* prop/*[in]*/) = 0; // [67]
  virtual HRESULT STDMETHODCALLTYPE get_InlineShapes(Word_xp::InlineShapes** prop/*[out,retval]*/) = 0; // [68]
  virtual HRESULT STDMETHODCALLTYPE get_Background(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [69]
  virtual HRESULT STDMETHODCALLTYPE set_Background(Word_xp::Shape* prop/*[in]*/) = 0; // [69]
  virtual HRESULT STDMETHODCALLTYPE get_GrammarChecked(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [70]
  virtual HRESULT STDMETHODCALLTYPE set_GrammarChecked(VARIANT_BOOL prop/*[in]*/) = 0; // [70]
  virtual HRESULT STDMETHODCALLTYPE get_SpellingChecked(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [71]
  virtual HRESULT STDMETHODCALLTYPE set_SpellingChecked(VARIANT_BOOL prop/*[in]*/) = 0; // [71]
  virtual HRESULT STDMETHODCALLTYPE get_ShowGrammaticalErrors(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [72]
  virtual HRESULT STDMETHODCALLTYPE set_ShowGrammaticalErrors(VARIANT_BOOL prop/*[in]*/) = 0; // [72]
  virtual HRESULT STDMETHODCALLTYPE get_ShowSpellingErrors(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [73]
  virtual HRESULT STDMETHODCALLTYPE set_ShowSpellingErrors(VARIANT_BOOL prop/*[in]*/) = 0; // [73]
  virtual HRESULT STDMETHODCALLTYPE get_Versions(Word_xp::Versions** prop/*[out,retval]*/) = 0; // [75]
  virtual HRESULT STDMETHODCALLTYPE get_ShowSummary(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [76]
  virtual HRESULT STDMETHODCALLTYPE set_ShowSummary(VARIANT_BOOL prop/*[in]*/) = 0; // [76]
  virtual HRESULT STDMETHODCALLTYPE get_SummaryViewMode(Word_xp::WdSummaryMode* prop/*[out,retval]*/) = 0; // [77]
  virtual HRESULT STDMETHODCALLTYPE set_SummaryViewMode(Word_xp::WdSummaryMode prop/*[in]*/) = 0; // [77]
  virtual HRESULT STDMETHODCALLTYPE get_SummaryLength(long* prop/*[out,retval]*/) = 0; // [78]
  virtual HRESULT STDMETHODCALLTYPE set_SummaryLength(long prop/*[in]*/) = 0; // [78]
  virtual HRESULT STDMETHODCALLTYPE get_PrintFractionalWidths(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [79]
  virtual HRESULT STDMETHODCALLTYPE set_PrintFractionalWidths(VARIANT_BOOL prop/*[in]*/) = 0; // [79]
  virtual HRESULT STDMETHODCALLTYPE get_PrintPostScriptOverText(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [80]
  virtual HRESULT STDMETHODCALLTYPE set_PrintPostScriptOverText(VARIANT_BOOL prop/*[in]*/) = 0; // [80]
  virtual HRESULT STDMETHODCALLTYPE get_Container(LPDISPATCH* prop/*[out,retval]*/) = 0; // [82]
  virtual HRESULT STDMETHODCALLTYPE get_PrintFormsData(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [83]
  virtual HRESULT STDMETHODCALLTYPE set_PrintFormsData(VARIANT_BOOL prop/*[in]*/) = 0; // [83]
  virtual HRESULT STDMETHODCALLTYPE get_ListParagraphs(Word_xp::ListParagraphs** prop/*[out,retval]*/) = 0; // [84]
  virtual HRESULT STDMETHODCALLTYPE set_Password(BSTR Param1/*[in]*/) = 0; // [85]
  virtual HRESULT STDMETHODCALLTYPE set_WritePassword(BSTR Param1/*[in]*/) = 0; // [86]
  virtual HRESULT STDMETHODCALLTYPE get_HasPassword(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [87]
  virtual HRESULT STDMETHODCALLTYPE get_WriteReserved(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [88]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/, 
                                                           BSTR* prop/*[out,retval]*/) = 0; // [90]
  virtual HRESULT STDMETHODCALLTYPE set_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/, 
                                                           BSTR prop/*[in]*/) = 0; // [90]
  virtual HRESULT STDMETHODCALLTYPE get_UserControl(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [92]
  virtual HRESULT STDMETHODCALLTYPE set_UserControl(VARIANT_BOOL prop/*[in]*/) = 0; // [92]
  virtual HRESULT STDMETHODCALLTYPE get_HasMailer(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [93]
  virtual HRESULT STDMETHODCALLTYPE set_HasMailer(VARIANT_BOOL prop/*[in]*/) = 0; // [93]
  virtual HRESULT STDMETHODCALLTYPE get_Mailer(Word_xp::Mailer** prop/*[out,retval]*/) = 0; // [94]
  virtual HRESULT STDMETHODCALLTYPE get_ReadabilityStatistics(Word_xp::ReadabilityStatistics** prop/*[out,retval]*/) = 0; // [96]
  virtual HRESULT STDMETHODCALLTYPE get_GrammaticalErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/) = 0; // [97]
  virtual HRESULT STDMETHODCALLTYPE get_SpellingErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/) = 0; // [98]
  virtual HRESULT STDMETHODCALLTYPE get_VBProject(Vbide_xp::VBProject** prop/*[out,retval]*/) = 0; // [99]
  virtual HRESULT STDMETHODCALLTYPE get_FormsDesign(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get__CodeName(BSTR* prop/*[out,retval]*/) = 0; // [-2147418112]
  virtual HRESULT STDMETHODCALLTYPE set__CodeName(BSTR prop/*[in]*/) = 0; // [-2147418112]
  virtual HRESULT STDMETHODCALLTYPE get_CodeName(BSTR* prop/*[out,retval]*/) = 0; // [262]
  virtual HRESULT STDMETHODCALLTYPE get_SnapToGrid(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [300]
  virtual HRESULT STDMETHODCALLTYPE set_SnapToGrid(VARIANT_BOOL prop/*[in]*/) = 0; // [300]
  virtual HRESULT STDMETHODCALLTYPE get_SnapToShapes(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE set_SnapToShapes(VARIANT_BOOL prop/*[in]*/) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE get_GridDistanceHorizontal(float* prop/*[out,retval]*/) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE set_GridDistanceHorizontal(float prop/*[in]*/) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE get_GridDistanceVertical(float* prop/*[out,retval]*/) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE set_GridDistanceVertical(float prop/*[in]*/) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE get_GridOriginHorizontal(float* prop/*[out,retval]*/) = 0; // [304]
  virtual HRESULT STDMETHODCALLTYPE set_GridOriginHorizontal(float prop/*[in]*/) = 0; // [304]
  virtual HRESULT STDMETHODCALLTYPE get_GridOriginVertical(float* prop/*[out,retval]*/) = 0; // [305]
  virtual HRESULT STDMETHODCALLTYPE set_GridOriginVertical(float prop/*[in]*/) = 0; // [305]
  virtual HRESULT STDMETHODCALLTYPE get_GridSpaceBetweenHorizontalLines(long* prop/*[out,retval]*/) = 0; // [306]
  virtual HRESULT STDMETHODCALLTYPE set_GridSpaceBetweenHorizontalLines(long prop/*[in]*/) = 0; // [306]
  virtual HRESULT STDMETHODCALLTYPE get_GridSpaceBetweenVerticalLines(long* prop/*[out,retval]*/) = 0; // [307]
  virtual HRESULT STDMETHODCALLTYPE set_GridSpaceBetweenVerticalLines(long prop/*[in]*/) = 0; // [307]
  virtual HRESULT STDMETHODCALLTYPE get_GridOriginFromMargin(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [308]
  virtual HRESULT STDMETHODCALLTYPE set_GridOriginFromMargin(VARIANT_BOOL prop/*[in]*/) = 0; // [308]
  virtual HRESULT STDMETHODCALLTYPE get_KerningByAlgorithm(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [309]
  virtual HRESULT STDMETHODCALLTYPE set_KerningByAlgorithm(VARIANT_BOOL prop/*[in]*/) = 0; // [309]
  virtual HRESULT STDMETHODCALLTYPE get_JustificationMode(Word_xp::WdJustificationMode* prop/*[out,retval]*/) = 0; // [310]
  virtual HRESULT STDMETHODCALLTYPE set_JustificationMode(Word_xp::WdJustificationMode prop/*[in]*/) = 0; // [310]
  virtual HRESULT STDMETHODCALLTYPE get_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel* prop/*[out,retval]*/) = 0; // [311]
  virtual HRESULT STDMETHODCALLTYPE set_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel prop/*[in]*/) = 0; // [311]
  virtual HRESULT STDMETHODCALLTYPE get_NoLineBreakBefore(BSTR* prop/*[out,retval]*/) = 0; // [312]
  virtual HRESULT STDMETHODCALLTYPE set_NoLineBreakBefore(BSTR prop/*[in]*/) = 0; // [312]
  virtual HRESULT STDMETHODCALLTYPE get_NoLineBreakAfter(BSTR* prop/*[out,retval]*/) = 0; // [313]
  virtual HRESULT STDMETHODCALLTYPE set_NoLineBreakAfter(BSTR prop/*[in]*/) = 0; // [313]
  virtual HRESULT STDMETHODCALLTYPE get_TrackRevisions(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [314]
  virtual HRESULT STDMETHODCALLTYPE set_TrackRevisions(VARIANT_BOOL prop/*[in]*/) = 0; // [314]
  virtual HRESULT STDMETHODCALLTYPE get_PrintRevisions(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [315]
  virtual HRESULT STDMETHODCALLTYPE set_PrintRevisions(VARIANT_BOOL prop/*[in]*/) = 0; // [315]
  virtual HRESULT STDMETHODCALLTYPE get_ShowRevisions(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [316]
  virtual HRESULT STDMETHODCALLTYPE set_ShowRevisions(VARIANT_BOOL prop/*[in]*/) = 0; // [316]
  virtual HRESULT STDMETHODCALLTYPE Close(VARIANT* SaveChanges/*[in,opt]*/= TNoParam(), 
                                          VARIANT* OriginalFormat/*[in,opt]*/= TNoParam(), 
                                          VARIANT* RouteDocument/*[in,opt]*/= TNoParam()) = 0; // [1105]
  virtual HRESULT STDMETHODCALLTYPE SaveAs2000(VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                               VARIANT* FileFormat/*[in,opt]*/= TNoParam(), 
                                               VARIANT* LockComments/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Password/*[in,opt]*/= TNoParam(), 
                                               VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                               VARIANT* WritePassword/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ReadOnlyRecommended/*[in,opt]*/= TNoParam(), 
                                               VARIANT* EmbedTrueTypeFonts/*[in,opt]*/= TNoParam(), 
                                               VARIANT* SaveNativePictureFormat/*[in,opt]*/= TNoParam(), 
                                               VARIANT* SaveFormsData/*[in,opt]*/= TNoParam(), 
                                               VARIANT* SaveAsAOCELetter/*[in,opt]*/= TNoParam()) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE Repaginate(void) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE FitToPages(void) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE ManualHyphenation(void) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE DataForm(void) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE Route(void) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE Save(void) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE PrintOutOld(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                                VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                                VARIANT* From/*[in,opt]*/= TNoParam(), 
                                                VARIANT* To/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                                VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                                VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam()) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE SendMail(void) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE Range(VARIANT* Start/*[in,opt]*/, VARIANT* End/*[in,opt]*/, 
                                          Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [2000]
  virtual HRESULT STDMETHODCALLTYPE RunAutoMacro(Word_xp::WdAutoMacros Which/*[in]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE Activate(void) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE PrintPreview(void) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                                         VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                                         Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE Undo(VARIANT* Times/*[in,opt]*/, 
                                         VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE Redo(VARIANT* Times/*[in,opt]*/, 
                                         VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                                      VARIANT* IncludeFootnotesAndEndnotes/*[in,opt]*/, 
                                                      long* prop/*[out,retval]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE MakeCompatibilityDefault(void) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE Protect(Word_xp::WdProtectionType Type/*[in]*/, 
                                            VARIANT* NoReset/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Password/*[in,opt]*/= TNoParam()) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE Unprotect(VARIANT* Password/*[in,opt]*/= TNoParam()) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE EditionOptions(Word_xp::WdEditionType Type/*[in]*/, 
                                                   Word_xp::WdEditionOption Option/*[in]*/, 
                                                   BSTR Name/*[in]*/, 
                                                   VARIANT* Format/*[in,opt]*/= TNoParam()) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE RunLetterWizard(VARIANT* LetterContent/*[in,opt]*/= TNoParam(), 
                                                    VARIANT* WizardMode/*[in,opt]*/= TNoParam()) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE GetLetterContent(Word_xp::WordLetterContent** prop/*[out,retval]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE SetLetterContent(VARIANT* LetterContent/*[in]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE CopyStylesFromTemplate(BSTR Template/*[in]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE UpdateStyles(void) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE CheckGrammar(void) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE CheckSpelling(VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* AlwaysSuggest/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam()) = 0; // [132]
  virtual HRESULT STDMETHODCALLTYPE FollowHyperlink(VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                                    VARIANT* SubAddress/*[in,opt]*/= TNoParam(), 
                                                    VARIANT* NewWindow/*[in,opt]*/= TNoParam(), 
                                                    VARIANT* AddHistory/*[in,opt]*/= TNoParam(), 
                                                    VARIANT* ExtraInfo/*[in,opt]*/= TNoParam(), 
                                                    VARIANT* Method/*[in,opt]*/= TNoParam(), 
                                                    VARIANT* HeaderInfo/*[in,opt]*/= TNoParam()) = 0; // [135]
  virtual HRESULT STDMETHODCALLTYPE AddToFavorites(void) = 0; // [136]
  virtual HRESULT STDMETHODCALLTYPE Reload(void) = 0; // [137]
  virtual HRESULT STDMETHODCALLTYPE AutoSummarize(VARIANT* Length/*[in,opt]*/, 
                                                  VARIANT* Mode/*[in,opt]*/, 
                                                  VARIANT* UpdateProperties/*[in,opt]*/, 
                                                  Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [138]
  virtual HRESULT STDMETHODCALLTYPE RemoveNumbers(VARIANT* NumberType/*[in,opt]*/= TNoParam()) = 0; // [140]
  virtual HRESULT STDMETHODCALLTYPE ConvertNumbersToText(VARIANT* NumberType/*[in,opt]*/= TNoParam()) = 0; // [141]
  virtual HRESULT STDMETHODCALLTYPE CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, 
                                                       VARIANT* Level/*[in,opt]*/, 
                                                       long* prop/*[out,retval]*/) = 0; // [142]
  virtual HRESULT STDMETHODCALLTYPE Post(void) = 0; // [143]
  virtual HRESULT STDMETHODCALLTYPE ToggleFormsDesign(void) = 0; // [144]
  virtual HRESULT STDMETHODCALLTYPE Compare2000(BSTR Name/*[in]*/) = 0; // [145]
  virtual HRESULT STDMETHODCALLTYPE UpdateSummaryProperties(void) = 0; // [146]
  virtual HRESULT STDMETHODCALLTYPE GetCrossReferenceItems(VARIANT* ReferenceType/*[in]*/, 
                                                           VARIANT* prop/*[out,retval]*/) = 0; // [147]
  virtual HRESULT STDMETHODCALLTYPE AutoFormat(void) = 0; // [148]
  virtual HRESULT STDMETHODCALLTYPE ViewCode(void) = 0; // [149]
  virtual HRESULT STDMETHODCALLTYPE ViewPropertyBrowser(void) = 0; // [150]
  virtual HRESULT STDMETHODCALLTYPE ForwardMailer(void) = 0; // [250]
  virtual HRESULT STDMETHODCALLTYPE Reply(void) = 0; // [251]
  virtual HRESULT STDMETHODCALLTYPE ReplyAll(void) = 0; // [252]
  virtual HRESULT STDMETHODCALLTYPE SendMailer(VARIANT* FileFormat/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Priority/*[in,opt]*/= TNoParam()) = 0; // [253]
  virtual HRESULT STDMETHODCALLTYPE UndoClear(void) = 0; // [254]
  virtual HRESULT STDMETHODCALLTYPE PresentIt(void) = 0; // [255]
  virtual HRESULT STDMETHODCALLTYPE SendFax(BSTR Address/*[in]*/, 
                                            VARIANT* Subject/*[in,opt]*/= TNoParam()) = 0; // [256]
  virtual HRESULT STDMETHODCALLTYPE Merge2000(BSTR FileName/*[in]*/) = 0; // [257]
  virtual HRESULT STDMETHODCALLTYPE ClosePrintPreview(void) = 0; // [258]
  virtual HRESULT STDMETHODCALLTYPE CheckConsistency(void) = 0; // [259]
  virtual HRESULT STDMETHODCALLTYPE CreateLetterContent(BSTR DateFormat/*[in]*/, 
                                                        VARIANT_BOOL IncludeHeaderFooter/*[in]*/, 
                                                        BSTR PageDesign/*[in]*/, 
                                                        Word_xp::WdLetterStyle LetterStyle/*[in]*/, 
                                                        VARIANT_BOOL Letterhead/*[in]*/, 
                                                        Word_xp::WdLetterheadLocation LetterheadLocation/*[in]*/, 
                                                        float LetterheadSize/*[in]*/, 
                                                        BSTR RecipientName/*[in]*/, 
                                                        BSTR RecipientAddress/*[in]*/, 
                                                        BSTR Salutation/*[in]*/, 
                                                        Word_xp::WdSalutationType SalutationType/*[in]*/, 
                                                        BSTR RecipientReference/*[in]*/, 
                                                        BSTR MailingInstructions/*[in]*/, 
                                                        BSTR AttentionLine/*[in]*/, 
                                                        BSTR Subject/*[in]*/, BSTR CCList/*[in]*/, 
                                                        BSTR ReturnAddress/*[in]*/, 
                                                        BSTR SenderName/*[in]*/, 
                                                        BSTR Closing/*[in]*/, 
                                                        BSTR SenderCompany/*[in]*/, 
                                                        BSTR SenderJobTitle/*[in]*/, 
                                                        BSTR SenderInitials/*[in]*/, 
                                                        long EnclosureNumber/*[in]*/, 
                                                        VARIANT* InfoBlock/*[in,opt]*/, 
                                                        VARIANT* RecipientCode/*[in,opt]*/, 
                                                        VARIANT* RecipientGender/*[in,opt]*/, 
                                                        VARIANT* ReturnAddressShortForm/*[in,opt]*/, 
                                                        VARIANT* SenderCity/*[in,opt]*/, 
                                                        VARIANT* SenderCode/*[in,opt]*/, 
                                                        VARIANT* SenderGender/*[in,opt]*/, 
                                                        VARIANT* SenderReference/*[in,opt]*/, 
                                                        Word_xp::WordLetterContent** prop/*[out,retval]*/) = 0; // [260]
  virtual HRESULT STDMETHODCALLTYPE AcceptAllRevisions(void) = 0; // [317]
  virtual HRESULT STDMETHODCALLTYPE RejectAllRevisions(void) = 0; // [318]
  virtual HRESULT STDMETHODCALLTYPE DetectLanguage(void) = 0; // [151]
  virtual HRESULT STDMETHODCALLTYPE ApplyTheme(BSTR Name/*[in]*/) = 0; // [322]
  virtual HRESULT STDMETHODCALLTYPE RemoveTheme(void) = 0; // [323]
  virtual HRESULT STDMETHODCALLTYPE WebPagePreview(void) = 0; // [325]
  virtual HRESULT STDMETHODCALLTYPE ReloadAs(Office_xp::MsoEncoding Encoding/*[in]*/) = 0; // [331]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveTheme(BSTR* prop/*[out,retval]*/) = 0; // [540]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveThemeDisplayName(BSTR* prop/*[out,retval]*/) = 0; // [541]
  virtual HRESULT STDMETHODCALLTYPE get_Email(Word_xp::Email** prop/*[out,retval]*/) = 0; // [319]
  virtual HRESULT STDMETHODCALLTYPE get_Scripts(Office_xp::Scripts** prop/*[out,retval]*/) = 0; // [320]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageDetected(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [321]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageDetected(VARIANT_BOOL prop/*[in]*/) = 0; // [321]
  virtual HRESULT STDMETHODCALLTYPE get_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID* prop/*[out,retval]*/) = 0; // [326]
  virtual HRESULT STDMETHODCALLTYPE set_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID prop/*[in]*/) = 0; // [326]
  virtual HRESULT STDMETHODCALLTYPE get_Frameset(Word_xp::Frameset** prop/*[out,retval]*/) = 0; // [327]
  virtual HRESULT STDMETHODCALLTYPE get_ClickAndTypeParagraphStyle(VARIANT* prop/*[out,retval]*/) = 0; // [328]
  virtual HRESULT STDMETHODCALLTYPE set_ClickAndTypeParagraphStyle(VARIANT* prop/*[in]*/) = 0; // [328]
  virtual HRESULT STDMETHODCALLTYPE get_HTMLProject(Office_xp::HTMLProject** prop/*[out,retval]*/) = 0; // [329]
  virtual HRESULT STDMETHODCALLTYPE get_WebOptions(Word_xp::WebOptions** prop/*[out,retval]*/) = 0; // [330]
  virtual HRESULT STDMETHODCALLTYPE get_OpenEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/) = 0; // [332]
  virtual HRESULT STDMETHODCALLTYPE get_SaveEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/) = 0; // [333]
  virtual HRESULT STDMETHODCALLTYPE set_SaveEncoding(Office_xp::MsoEncoding prop/*[in]*/) = 0; // [333]
  virtual HRESULT STDMETHODCALLTYPE get_OptimizeForWord97(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [334]
  virtual HRESULT STDMETHODCALLTYPE set_OptimizeForWord97(VARIANT_BOOL prop/*[in]*/) = 0; // [334]
  virtual HRESULT STDMETHODCALLTYPE get_VBASigned(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [335]
  virtual HRESULT STDMETHODCALLTYPE PrintOut2000(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* From/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* To/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam()) = 0; // [444]
  virtual HRESULT STDMETHODCALLTYPE sblt(BSTR s/*[in]*/) = 0; // [445]
  virtual HRESULT STDMETHODCALLTYPE ConvertVietDoc(long CodePageOrigin/*[in]*/) = 0; // [447]
  virtual HRESULT STDMETHODCALLTYPE PrintOut(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                             VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                             VARIANT* From/*[in,opt]*/= TNoParam(), 
                                             VARIANT* To/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam()) = 0; // [446]
  virtual HRESULT STDMETHODCALLTYPE get_MailEnvelope(Office_xp::MsoEnvelope** prop/*[out,retval]*/) = 0; // [336]
  virtual HRESULT STDMETHODCALLTYPE get_DisableFeatures(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [337]
  virtual HRESULT STDMETHODCALLTYPE set_DisableFeatures(VARIANT_BOOL prop/*[in]*/) = 0; // [337]
  virtual HRESULT STDMETHODCALLTYPE get_DoNotEmbedSystemFonts(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [338]
  virtual HRESULT STDMETHODCALLTYPE set_DoNotEmbedSystemFonts(VARIANT_BOOL prop/*[in]*/) = 0; // [338]
  virtual HRESULT STDMETHODCALLTYPE get_Signatures(Office_xp::SignatureSet** prop/*[out,retval]*/) = 0; // [339]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultTargetFrame(BSTR* prop/*[out,retval]*/) = 0; // [340]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultTargetFrame(BSTR prop/*[in]*/) = 0; // [340]
  virtual HRESULT STDMETHODCALLTYPE get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/) = 0; // [342]
  virtual HRESULT STDMETHODCALLTYPE get_DisableFeaturesIntroducedAfter(Word_xp::WdDisableFeaturesIntroducedAfter* prop/*[out,retval]*/) = 0; // [343]
  virtual HRESULT STDMETHODCALLTYPE set_DisableFeaturesIntroducedAfter(Word_xp::WdDisableFeaturesIntroducedAfter prop/*[in]*/) = 0; // [343]
  virtual HRESULT STDMETHODCALLTYPE get_RemovePersonalInformation(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [344]
  virtual HRESULT STDMETHODCALLTYPE set_RemovePersonalInformation(VARIANT_BOOL prop/*[in]*/) = 0; // [344]
  virtual HRESULT STDMETHODCALLTYPE get_SmartTags(Word_xp::SmartTags** prop/*[out,retval]*/) = 0; // [346]
  virtual HRESULT STDMETHODCALLTYPE Compare(BSTR Name/*[in]*/, 
                                            VARIANT* AuthorName/*[in,opt]*/= TNoParam(), 
                                            VARIANT* CompareTarget/*[in,opt]*/= TNoParam(), 
                                            VARIANT* DetectFormatChanges/*[in,opt]*/= TNoParam(), 
                                            VARIANT* IgnoreAllComparisonWarnings/*[in,opt]*/= TNoParam(), 
                                            VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam()) = 0; // [345]
  virtual HRESULT STDMETHODCALLTYPE CheckIn(VARIANT_BOOL SaveChanges/*[in,def,opt]*/, 
                                            VARIANT* Comments/*[in,opt]*/, 
                                            VARIANT_BOOL MakePublic/*[in,def,opt]*/) = 0; // [349]
  virtual HRESULT STDMETHODCALLTYPE CanCheckin(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [351]
  virtual HRESULT STDMETHODCALLTYPE Merge(BSTR FileName/*[in]*/, 
                                          VARIANT* MergeTarget/*[in,opt]*/= TNoParam(), 
                                          VARIANT* DetectFormatChanges/*[in,opt]*/= TNoParam(), 
                                          VARIANT* UseFormattingFrom/*[in,opt]*/= TNoParam(), 
                                          VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam()) = 0; // [362]
  virtual HRESULT STDMETHODCALLTYPE get_EmbedSmartTags(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [347]
  virtual HRESULT STDMETHODCALLTYPE set_EmbedSmartTags(VARIANT_BOOL prop/*[in]*/) = 0; // [347]
  virtual HRESULT STDMETHODCALLTYPE get_SmartTagsAsXMLProps(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [348]
  virtual HRESULT STDMETHODCALLTYPE set_SmartTagsAsXMLProps(VARIANT_BOOL prop/*[in]*/) = 0; // [348]
  virtual HRESULT STDMETHODCALLTYPE get_TextEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/) = 0; // [357]
  virtual HRESULT STDMETHODCALLTYPE set_TextEncoding(Office_xp::MsoEncoding prop/*[in]*/) = 0; // [357]
  virtual HRESULT STDMETHODCALLTYPE get_TextLineEnding(Word_xp::WdLineEndingType* prop/*[out,retval]*/) = 0; // [358]
  virtual HRESULT STDMETHODCALLTYPE set_TextLineEnding(Word_xp::WdLineEndingType prop/*[in]*/) = 0; // [358]
  virtual HRESULT STDMETHODCALLTYPE SendForReview(VARIANT* Recipients/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* Subject/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* ShowMessage/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* IncludeAttachment/*[in,opt]*/= TNoParam()) = 0; // [353]
  virtual HRESULT STDMETHODCALLTYPE ReplyWithChanges(VARIANT* ShowMessage/*[in,opt]*/= TNoParam()) = 0; // [354]
  virtual HRESULT STDMETHODCALLTYPE EndReview(void) = 0; // [356]
  virtual HRESULT STDMETHODCALLTYPE get_StyleSheets(Word_xp::StyleSheets** prop/*[out,retval]*/) = 0; // [360]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultTableStyle(VARIANT* prop/*[out,retval]*/) = 0; // [365]
  virtual HRESULT STDMETHODCALLTYPE get_PasswordEncryptionProvider(BSTR* prop/*[out,retval]*/) = 0; // [367]
  virtual HRESULT STDMETHODCALLTYPE get_PasswordEncryptionAlgorithm(BSTR* prop/*[out,retval]*/) = 0; // [368]
  virtual HRESULT STDMETHODCALLTYPE get_PasswordEncryptionKeyLength(long* prop/*[out,retval]*/) = 0; // [369]
  virtual HRESULT STDMETHODCALLTYPE get_PasswordEncryptionFileProperties(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [370]
  virtual HRESULT STDMETHODCALLTYPE SetPasswordEncryptionOptions(BSTR PasswordEncryptionProvider/*[in]*/, 
                                                                 BSTR PasswordEncryptionAlgorithm/*[in]*/, 
                                                                 long PasswordEncryptionKeyLength/*[in]*/, 
                                                                 VARIANT* PasswordEncryptionFileProperties/*[in,opt]*/= TNoParam()) = 0; // [361]
  virtual HRESULT STDMETHODCALLTYPE RecheckSmartTags(void) = 0; // [363]
  virtual HRESULT STDMETHODCALLTYPE RemoveSmartTags(void) = 0; // [364]
  virtual HRESULT STDMETHODCALLTYPE SetDefaultTableStyle(VARIANT* Style/*[in]*/, 
                                                         VARIANT_BOOL SetInTemplate/*[in]*/) = 0; // [366]
  virtual HRESULT STDMETHODCALLTYPE DeleteAllComments(void) = 0; // [371]
  virtual HRESULT STDMETHODCALLTYPE AcceptAllRevisionsShown(void) = 0; // [372]
  virtual HRESULT STDMETHODCALLTYPE RejectAllRevisionsShown(void) = 0; // [373]
  virtual HRESULT STDMETHODCALLTYPE DeleteAllCommentsShown(void) = 0; // [374]
  virtual HRESULT STDMETHODCALLTYPE ResetFormFields(void) = 0; // [375]
  virtual HRESULT STDMETHODCALLTYPE SaveAs(VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                           VARIANT* FileFormat/*[in,opt]*/= TNoParam(), 
                                           VARIANT* LockComments/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Password/*[in,opt]*/= TNoParam(), 
                                           VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                           VARIANT* WritePassword/*[in,opt]*/= TNoParam(), 
                                           VARIANT* ReadOnlyRecommended/*[in,opt]*/= TNoParam(), 
                                           VARIANT* EmbedTrueTypeFonts/*[in,opt]*/= TNoParam(), 
                                           VARIANT* SaveNativePictureFormat/*[in,opt]*/= TNoParam(), 
                                           VARIANT* SaveFormsData/*[in,opt]*/= TNoParam(), 
                                           VARIANT* SaveAsAOCELetter/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Encoding/*[in,opt]*/= TNoParam(), 
                                           VARIANT* InsertLineBreaks/*[in,opt]*/= TNoParam(), 
                                           VARIANT* AllowSubstitutions/*[in,opt]*/= TNoParam(), 
                                           VARIANT* LineEnding/*[in,opt]*/= TNoParam(), 
                                           VARIANT* AddBiDiMarks/*[in,opt]*/= TNoParam()) = 0; // [376]
  virtual HRESULT STDMETHODCALLTYPE get_EmbedLinguisticData(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [377]
  virtual HRESULT STDMETHODCALLTYPE set_EmbedLinguisticData(VARIANT_BOOL prop/*[in]*/) = 0; // [377]
  virtual HRESULT STDMETHODCALLTYPE get_FormattingShowFont(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [448]
  virtual HRESULT STDMETHODCALLTYPE set_FormattingShowFont(VARIANT_BOOL prop/*[in]*/) = 0; // [448]
  virtual HRESULT STDMETHODCALLTYPE get_FormattingShowClear(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [449]
  virtual HRESULT STDMETHODCALLTYPE set_FormattingShowClear(VARIANT_BOOL prop/*[in]*/) = 0; // [449]
  virtual HRESULT STDMETHODCALLTYPE get_FormattingShowParagraph(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [450]
  virtual HRESULT STDMETHODCALLTYPE set_FormattingShowParagraph(VARIANT_BOOL prop/*[in]*/) = 0; // [450]
  virtual HRESULT STDMETHODCALLTYPE get_FormattingShowNumbering(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [451]
  virtual HRESULT STDMETHODCALLTYPE set_FormattingShowNumbering(VARIANT_BOOL prop/*[in]*/) = 0; // [451]
  virtual HRESULT STDMETHODCALLTYPE get_FormattingShowFilter(Word_xp::WdShowFilter* prop/*[out,retval]*/) = 0; // [452]
  virtual HRESULT STDMETHODCALLTYPE set_FormattingShowFilter(Word_xp::WdShowFilter prop/*[in]*/) = 0; // [452]
  virtual HRESULT STDMETHODCALLTYPE CheckNewSmartTags(void) = 0; // [378]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_BuiltInDocumentProperties(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_BuiltInDocumentProperties((LPDISPATCH*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_CustomDocumentProperties(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_CustomDocumentProperties((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Path(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Path((BSTR*)&prop));
    return prop;
  }

  Word_xp::BookmarksPtr __fastcall get_Bookmarks(void)
  {
    Word_xp::BookmarksPtr prop;
    OLECHECK(this->get_Bookmarks(&prop));
    return prop;
  }

  Word_xp::TablesPtr __fastcall get_Tables(void)
  {
    Word_xp::TablesPtr prop;
    OLECHECK(this->get_Tables(&prop));
    return prop;
  }

  Word_xp::FootnotesPtr __fastcall get_Footnotes(void)
  {
    Word_xp::FootnotesPtr prop;
    OLECHECK(this->get_Footnotes(&prop));
    return prop;
  }

  Word_xp::EndnotesPtr __fastcall get_Endnotes(void)
  {
    Word_xp::EndnotesPtr prop;
    OLECHECK(this->get_Endnotes(&prop));
    return prop;
  }

  Word_xp::CommentsPtr __fastcall get_Comments(void)
  {
    Word_xp::CommentsPtr prop;
    OLECHECK(this->get_Comments(&prop));
    return prop;
  }

  Word_xp::WdDocumentType __fastcall get_Type(void)
  {
    Word_xp::WdDocumentType prop;
    OLECHECK(this->get_Type((Word_xp::WdDocumentType*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoHyphenation(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoHyphenation((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HyphenateCaps(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HyphenateCaps((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_HyphenationZone(void)
  {
    long prop;
    OLECHECK(this->get_HyphenationZone((long*)&prop));
    return prop;
  }

  long __fastcall get_ConsecutiveHyphensLimit(void)
  {
    long prop;
    OLECHECK(this->get_ConsecutiveHyphensLimit((long*)&prop));
    return prop;
  }

  Word_xp::SectionsPtr __fastcall get_Sections(void)
  {
    Word_xp::SectionsPtr prop;
    OLECHECK(this->get_Sections(&prop));
    return prop;
  }

  Word_xp::ParagraphsPtr __fastcall get_Paragraphs(void)
  {
    Word_xp::ParagraphsPtr prop;
    OLECHECK(this->get_Paragraphs(&prop));
    return prop;
  }

  Word_xp::WordsPtr __fastcall get_Words(void)
  {
    Word_xp::WordsPtr prop;
    OLECHECK(this->get_Words(&prop));
    return prop;
  }

  Word_xp::SentencesPtr __fastcall get_Sentences(void)
  {
    Word_xp::SentencesPtr prop;
    OLECHECK(this->get_Sentences(&prop));
    return prop;
  }

  Word_xp::CharactersPtr __fastcall get_Characters(void)
  {
    Word_xp::CharactersPtr prop;
    OLECHECK(this->get_Characters(&prop));
    return prop;
  }

  Word_xp::FieldsPtr __fastcall get_Fields(void)
  {
    Word_xp::FieldsPtr prop;
    OLECHECK(this->get_Fields(&prop));
    return prop;
  }

  Word_xp::FormFieldsPtr __fastcall get_FormFields(void)
  {
    Word_xp::FormFieldsPtr prop;
    OLECHECK(this->get_FormFields(&prop));
    return prop;
  }

  Word_xp::StylesPtr __fastcall get_Styles(void)
  {
    Word_xp::StylesPtr prop;
    OLECHECK(this->get_Styles(&prop));
    return prop;
  }

  Word_xp::FramesPtr __fastcall get_Frames(void)
  {
    Word_xp::FramesPtr prop;
    OLECHECK(this->get_Frames(&prop));
    return prop;
  }

  Word_xp::TablesOfFiguresPtr __fastcall get_TablesOfFigures(void)
  {
    Word_xp::TablesOfFiguresPtr prop;
    OLECHECK(this->get_TablesOfFigures(&prop));
    return prop;
  }

  Word_xp::VariablesPtr __fastcall get_Variables(void)
  {
    Word_xp::VariablesPtr prop;
    OLECHECK(this->get_Variables(&prop));
    return prop;
  }

  Word_xp::MailMergePtr __fastcall get_MailMerge(void)
  {
    Word_xp::MailMergePtr prop;
    OLECHECK(this->get_MailMerge(&prop));
    return prop;
  }

  Word_xp::EnvelopePtr __fastcall get_Envelope(void)
  {
    Word_xp::EnvelopePtr prop;
    OLECHECK(this->get_Envelope(&prop));
    return prop;
  }

  BSTR __fastcall get_FullName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_FullName((BSTR*)&prop));
    return prop;
  }

  Word_xp::RevisionsPtr __fastcall get_Revisions(void)
  {
    Word_xp::RevisionsPtr prop;
    OLECHECK(this->get_Revisions(&prop));
    return prop;
  }

  Word_xp::TablesOfContentsPtr __fastcall get_TablesOfContents(void)
  {
    Word_xp::TablesOfContentsPtr prop;
    OLECHECK(this->get_TablesOfContents(&prop));
    return prop;
  }

  Word_xp::TablesOfAuthoritiesPtr __fastcall get_TablesOfAuthorities(void)
  {
    Word_xp::TablesOfAuthoritiesPtr prop;
    OLECHECK(this->get_TablesOfAuthorities(&prop));
    return prop;
  }

  Word_xp::PageSetupPtr __fastcall get_PageSetup(void)
  {
    Word_xp::PageSetupPtr prop;
    OLECHECK(this->get_PageSetup(&prop));
    return prop;
  }

  HRESULT __fastcall  set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/)
  {
    return set_PageSetup((Word_xp::PageSetup*)prop/*[in]*/);
  }

  Word_xp::WindowsPtr __fastcall get_Windoz(void)
  {
    Word_xp::WindowsPtr prop;
    OLECHECK(this->get_Windoz(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HasRoutingSlip(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HasRoutingSlip((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::RoutingSlipPtr __fastcall get_RoutingSlip(void)
  {
    Word_xp::RoutingSlipPtr prop;
    OLECHECK(this->get_RoutingSlip(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Routed(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Routed((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::TablesOfAuthoritiesCategoriesPtr __fastcall get_TablesOfAuthoritiesCategories(void)
  {
    Word_xp::TablesOfAuthoritiesCategoriesPtr prop;
    OLECHECK(this->get_TablesOfAuthoritiesCategories(&prop));
    return prop;
  }

  Word_xp::IndexesPtr __fastcall get_Indexes(void)
  {
    Word_xp::IndexesPtr prop;
    OLECHECK(this->get_Indexes(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Saved(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Saved((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Content(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Content(&prop));
    return prop;
  }

  Word_xp::WINDOWPtr __fastcall get_ActiveWindow(void)
  {
    Word_xp::WINDOWPtr prop;
    OLECHECK(this->get_ActiveWindow(&prop));
    return prop;
  }

  Word_xp::WdDocumentKind __fastcall get_Kind(void)
  {
    Word_xp::WdDocumentKind prop;
    OLECHECK(this->get_Kind((Word_xp::WdDocumentKind*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ReadOnly(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ReadOnly((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::SubdocumentsPtr __fastcall get_Subdocuments(void)
  {
    Word_xp::SubdocumentsPtr prop;
    OLECHECK(this->get_Subdocuments(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsMasterDocument(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsMasterDocument((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_DefaultTabStop(void)
  {
    float prop;
    OLECHECK(this->get_DefaultTabStop((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_EmbedTrueTypeFonts(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_EmbedTrueTypeFonts((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SaveFormsData(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SaveFormsData((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ReadOnlyRecommended(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ReadOnlyRecommended((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SaveSubsetFonts(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SaveSubsetFonts((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Compatibility(Word_xp::WdCompatibility Type/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Compatibility(Type, (VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::StoryRangesPtr __fastcall get_StoryRanges(void)
  {
    Word_xp::StoryRangesPtr prop;
    OLECHECK(this->get_StoryRanges(&prop));
    return prop;
  }

  Office_xp::CommandBarsPtr __fastcall get_CommandBars(void)
  {
    Office_xp::CommandBarsPtr prop;
    OLECHECK(this->get_CommandBars(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsSubdocument(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsSubdocument((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_SaveFormat(void)
  {
    long prop;
    OLECHECK(this->get_SaveFormat((long*)&prop));
    return prop;
  }

  Word_xp::WdProtectionType __fastcall get_ProtectionType(void)
  {
    Word_xp::WdProtectionType prop;
    OLECHECK(this->get_ProtectionType((Word_xp::WdProtectionType*)&prop));
    return prop;
  }

  Word_xp::HyperlinksPtr __fastcall get_Hyperlinks(void)
  {
    Word_xp::HyperlinksPtr prop;
    OLECHECK(this->get_Hyperlinks(&prop));
    return prop;
  }

  Word_xp::ShapesPtr __fastcall get_Shapes(void)
  {
    Word_xp::ShapesPtr prop;
    OLECHECK(this->get_Shapes(&prop));
    return prop;
  }

  Word_xp::ListTemplatesPtr __fastcall get_ListTemplates(void)
  {
    Word_xp::ListTemplatesPtr prop;
    OLECHECK(this->get_ListTemplates(&prop));
    return prop;
  }

  Word_xp::ListsPtr __fastcall get_Lists(void)
  {
    Word_xp::ListsPtr prop;
    OLECHECK(this->get_Lists(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UpdateStylesOnOpen(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UpdateStylesOnOpen((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT __fastcall get_AttachedTemplate(void)
  {
    VARIANT prop;
    OLECHECK(this->get_AttachedTemplate((VARIANT*)&prop));
    return prop;
  }

  Word_xp::InlineShapesPtr __fastcall get_InlineShapes(void)
  {
    Word_xp::InlineShapesPtr prop;
    OLECHECK(this->get_InlineShapes(&prop));
    return prop;
  }

  Word_xp::ShapePtr __fastcall get_Background(void)
  {
    Word_xp::ShapePtr prop;
    OLECHECK(this->get_Background(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Background(Word_xp::ShapePtr prop/*[in]*/)
  {
    return set_Background((Word_xp::Shape*)prop/*[in]*/);
  }

  VARIANT_BOOL __fastcall get_GrammarChecked(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_GrammarChecked((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SpellingChecked(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SpellingChecked((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowGrammaticalErrors(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowGrammaticalErrors((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowSpellingErrors(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowSpellingErrors((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::VersionsPtr __fastcall get_Versions(void)
  {
    Word_xp::VersionsPtr prop;
    OLECHECK(this->get_Versions(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowSummary(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowSummary((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdSummaryMode __fastcall get_SummaryViewMode(void)
  {
    Word_xp::WdSummaryMode prop;
    OLECHECK(this->get_SummaryViewMode((Word_xp::WdSummaryMode*)&prop));
    return prop;
  }

  long __fastcall get_SummaryLength(void)
  {
    long prop;
    OLECHECK(this->get_SummaryLength((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintFractionalWidths(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintFractionalWidths((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintPostScriptOverText(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintPostScriptOverText((VARIANT_BOOL*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Container(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Container((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintFormsData(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintFormsData((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::ListParagraphsPtr __fastcall get_ListParagraphs(void)
  {
    Word_xp::ListParagraphsPtr prop;
    OLECHECK(this->get_ListParagraphs(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HasPassword(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HasPassword((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_WriteReserved(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_WriteReserved((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ActiveWritingStyle(LanguageID, (BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UserControl(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UserControl((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HasMailer(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HasMailer((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::MailerPtr __fastcall get_Mailer(void)
  {
    Word_xp::MailerPtr prop;
    OLECHECK(this->get_Mailer(&prop));
    return prop;
  }

  Word_xp::ReadabilityStatisticsPtr __fastcall get_ReadabilityStatistics(void)
  {
    Word_xp::ReadabilityStatisticsPtr prop;
    OLECHECK(this->get_ReadabilityStatistics(&prop));
    return prop;
  }

  Word_xp::ProofreadingErrorsPtr __fastcall get_GrammaticalErrors(void)
  {
    Word_xp::ProofreadingErrorsPtr prop;
    OLECHECK(this->get_GrammaticalErrors(&prop));
    return prop;
  }

  Word_xp::ProofreadingErrorsPtr __fastcall get_SpellingErrors(void)
  {
    Word_xp::ProofreadingErrorsPtr prop;
    OLECHECK(this->get_SpellingErrors(&prop));
    return prop;
  }

  Vbide_xp::VBProjectPtr __fastcall get_VBProject(void)
  {
    Vbide_xp::VBProjectPtr prop;
    OLECHECK(this->get_VBProject(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FormsDesign(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FormsDesign((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get__CodeName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get__CodeName((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_CodeName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_CodeName((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SnapToGrid(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SnapToGrid((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SnapToShapes(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SnapToShapes((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_GridDistanceHorizontal(void)
  {
    float prop;
    OLECHECK(this->get_GridDistanceHorizontal((float*)&prop));
    return prop;
  }

  float __fastcall get_GridDistanceVertical(void)
  {
    float prop;
    OLECHECK(this->get_GridDistanceVertical((float*)&prop));
    return prop;
  }

  float __fastcall get_GridOriginHorizontal(void)
  {
    float prop;
    OLECHECK(this->get_GridOriginHorizontal((float*)&prop));
    return prop;
  }

  float __fastcall get_GridOriginVertical(void)
  {
    float prop;
    OLECHECK(this->get_GridOriginVertical((float*)&prop));
    return prop;
  }

  long __fastcall get_GridSpaceBetweenHorizontalLines(void)
  {
    long prop;
    OLECHECK(this->get_GridSpaceBetweenHorizontalLines((long*)&prop));
    return prop;
  }

  long __fastcall get_GridSpaceBetweenVerticalLines(void)
  {
    long prop;
    OLECHECK(this->get_GridSpaceBetweenVerticalLines((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_GridOriginFromMargin(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_GridOriginFromMargin((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_KerningByAlgorithm(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_KerningByAlgorithm((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdJustificationMode __fastcall get_JustificationMode(void)
  {
    Word_xp::WdJustificationMode prop;
    OLECHECK(this->get_JustificationMode((Word_xp::WdJustificationMode*)&prop));
    return prop;
  }

  Word_xp::WdFarEastLineBreakLevel __fastcall get_FarEastLineBreakLevel(void)
  {
    Word_xp::WdFarEastLineBreakLevel prop;
    OLECHECK(this->get_FarEastLineBreakLevel((Word_xp::WdFarEastLineBreakLevel*)&prop));
    return prop;
  }

  BSTR __fastcall get_NoLineBreakBefore(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_NoLineBreakBefore((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_NoLineBreakAfter(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_NoLineBreakAfter((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_TrackRevisions(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_TrackRevisions((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintRevisions(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintRevisions((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowRevisions(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowRevisions((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall Range(VARIANT* Start/*[in,opt]*/= TNoParam(), 
                                       VARIANT* End/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->Range(Start, End, (Word_xp::WordRange**)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall GoTo(VARIANT* What/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Which/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Name/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->GoTo(What, Which, Count, Name, (Word_xp::WordRange**)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall Undo(VARIANT* Times/*[in,opt]*/= TNoParam())
  {
    VARIANT_BOOL prop;
    OLECHECK(this->Undo(Times, (VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall Redo(VARIANT* Times/*[in,opt]*/= TNoParam())
  {
    VARIANT_BOOL prop;
    OLECHECK(this->Redo(Times, (VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                    VARIANT* IncludeFootnotesAndEndnotes/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->ComputeStatistics(Statistic, IncludeFootnotesAndEndnotes, (long*)&prop));
    return prop;
  }

  Word_xp::WordLetterContent* __fastcall GetLetterContent(void)
  {
    Word_xp::WordLetterContent* prop = 0;
    OLECHECK(this->GetLetterContent((Word_xp::WordLetterContent**)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall AutoSummarize(VARIANT* Length/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Mode/*[in,opt]*/= TNoParam(), 
                                               VARIANT* UpdateProperties/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->AutoSummarize(Length, Mode, UpdateProperties, (Word_xp::WordRange**)&prop));
    return prop;
  }

  long __fastcall CountNumberedItems(VARIANT* NumberType/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Level/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->CountNumberedItems(NumberType, Level, (long*)&prop));
    return prop;
  }

  VARIANT __fastcall GetCrossReferenceItems(VARIANT* ReferenceType/*[in]*/)
  {
    VARIANT prop;
    OLECHECK(this->GetCrossReferenceItems(ReferenceType, (VARIANT*)&prop));
    return prop;
  }

  Word_xp::WordLetterContent* __fastcall CreateLetterContent(BSTR DateFormat/*[in]*/, 
                                                             VARIANT_BOOL IncludeHeaderFooter/*[in]*/, 
                                                             BSTR PageDesign/*[in]*/, 
                                                             Word_xp::WdLetterStyle LetterStyle/*[in]*/, 
                                                             VARIANT_BOOL Letterhead/*[in]*/, 
                                                             Word_xp::WdLetterheadLocation LetterheadLocation/*[in]*/, 
                                                             float LetterheadSize/*[in]*/, 
                                                             BSTR RecipientName/*[in]*/, 
                                                             BSTR RecipientAddress/*[in]*/, 
                                                             BSTR Salutation/*[in]*/, 
                                                             Word_xp::WdSalutationType SalutationType/*[in]*/, 
                                                             BSTR RecipientReference/*[in]*/, 
                                                             BSTR MailingInstructions/*[in]*/, 
                                                             BSTR AttentionLine/*[in]*/, 
                                                             BSTR Subject/*[in]*/, 
                                                             BSTR CCList/*[in]*/, 
                                                             BSTR ReturnAddress/*[in]*/, 
                                                             BSTR SenderName/*[in]*/, 
                                                             BSTR Closing/*[in]*/, 
                                                             BSTR SenderCompany/*[in]*/, 
                                                             BSTR SenderJobTitle/*[in]*/, 
                                                             BSTR SenderInitials/*[in]*/, 
                                                             long EnclosureNumber/*[in]*/, 
                                                             VARIANT* InfoBlock/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* RecipientCode/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* RecipientGender/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* ReturnAddressShortForm/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* SenderCity/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* SenderCode/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* SenderGender/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* SenderReference/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordLetterContent* prop = 0;
    OLECHECK(this->CreateLetterContent(DateFormat, IncludeHeaderFooter, PageDesign, LetterStyle, 
                                       Letterhead, LetterheadLocation, LetterheadSize, RecipientName, 
                                       RecipientAddress, Salutation, SalutationType, 
                                       RecipientReference, MailingInstructions, AttentionLine, 
                                       Subject, CCList, ReturnAddress, SenderName, Closing, 
                                       SenderCompany, SenderJobTitle, SenderInitials, 
                                       EnclosureNumber, InfoBlock, RecipientCode, RecipientGender, 
                                       ReturnAddressShortForm, SenderCity, SenderCode, SenderGender, 
                                       SenderReference, (Word_xp::WordLetterContent**)&prop));
    return prop;
  }

  BSTR __fastcall get_ActiveTheme(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ActiveTheme((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_ActiveThemeDisplayName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ActiveThemeDisplayName((BSTR*)&prop));
    return prop;
  }

  Word_xp::EmailPtr __fastcall get_Email(void)
  {
    Word_xp::EmailPtr prop;
    OLECHECK(this->get_Email(&prop));
    return prop;
  }

  Office_xp::ScriptsPtr __fastcall get_Scripts(void)
  {
    Office_xp::ScriptsPtr prop;
    OLECHECK(this->get_Scripts(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_LanguageDetected(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_LanguageDetected((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdFarEastLineBreakLanguageID __fastcall get_FarEastLineBreakLanguage(void)
  {
    Word_xp::WdFarEastLineBreakLanguageID prop;
    OLECHECK(this->get_FarEastLineBreakLanguage((Word_xp::WdFarEastLineBreakLanguageID*)&prop));
    return prop;
  }

  Word_xp::FramesetPtr __fastcall get_Frameset(void)
  {
    Word_xp::FramesetPtr prop;
    OLECHECK(this->get_Frameset(&prop));
    return prop;
  }

  VARIANT __fastcall get_ClickAndTypeParagraphStyle(void)
  {
    VARIANT prop;
    OLECHECK(this->get_ClickAndTypeParagraphStyle((VARIANT*)&prop));
    return prop;
  }

  Office_xp::HTMLProjectPtr __fastcall get_HTMLProject(void)
  {
    Office_xp::HTMLProjectPtr prop;
    OLECHECK(this->get_HTMLProject(&prop));
    return prop;
  }

  Word_xp::WebOptionsPtr __fastcall get_WebOptions(void)
  {
    Word_xp::WebOptionsPtr prop;
    OLECHECK(this->get_WebOptions(&prop));
    return prop;
  }

  Office_xp::MsoEncoding __fastcall get_OpenEncoding(void)
  {
    Office_xp::MsoEncoding prop;
    OLECHECK(this->get_OpenEncoding((Office_xp::MsoEncoding*)&prop));
    return prop;
  }

  Office_xp::MsoEncoding __fastcall get_SaveEncoding(void)
  {
    Office_xp::MsoEncoding prop;
    OLECHECK(this->get_SaveEncoding((Office_xp::MsoEncoding*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_OptimizeForWord97(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_OptimizeForWord97((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_VBASigned(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_VBASigned((VARIANT_BOOL*)&prop));
    return prop;
  }

  Office_xp::MsoEnvelopePtr __fastcall get_MailEnvelope(void)
  {
    Office_xp::MsoEnvelopePtr prop;
    OLECHECK(this->get_MailEnvelope(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisableFeatures(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisableFeatures((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DoNotEmbedSystemFonts(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DoNotEmbedSystemFonts((VARIANT_BOOL*)&prop));
    return prop;
  }

  Office_xp::SignatureSetPtr __fastcall get_Signatures(void)
  {
    Office_xp::SignatureSetPtr prop;
    OLECHECK(this->get_Signatures(&prop));
    return prop;
  }

  BSTR __fastcall get_DefaultTargetFrame(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_DefaultTargetFrame((BSTR*)&prop));
    return prop;
  }

  Word_xp::HTMLDivisionsPtr __fastcall get_HTMLDivisions(void)
  {
    Word_xp::HTMLDivisionsPtr prop;
    OLECHECK(this->get_HTMLDivisions(&prop));
    return prop;
  }

  Word_xp::WdDisableFeaturesIntroducedAfter __fastcall get_DisableFeaturesIntroducedAfter(void)
  {
    Word_xp::WdDisableFeaturesIntroducedAfter prop;
    OLECHECK(this->get_DisableFeaturesIntroducedAfter((Word_xp::WdDisableFeaturesIntroducedAfter*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RemovePersonalInformation(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RemovePersonalInformation((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::SmartTagsPtr __fastcall get_SmartTags(void)
  {
    Word_xp::SmartTagsPtr prop;
    OLECHECK(this->get_SmartTags(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall CanCheckin(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->CanCheckin((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_EmbedSmartTags(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_EmbedSmartTags((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SmartTagsAsXMLProps(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SmartTagsAsXMLProps((VARIANT_BOOL*)&prop));
    return prop;
  }

  Office_xp::MsoEncoding __fastcall get_TextEncoding(void)
  {
    Office_xp::MsoEncoding prop;
    OLECHECK(this->get_TextEncoding((Office_xp::MsoEncoding*)&prop));
    return prop;
  }

  Word_xp::WdLineEndingType __fastcall get_TextLineEnding(void)
  {
    Word_xp::WdLineEndingType prop;
    OLECHECK(this->get_TextLineEnding((Word_xp::WdLineEndingType*)&prop));
    return prop;
  }

  Word_xp::StyleSheetsPtr __fastcall get_StyleSheets(void)
  {
    Word_xp::StyleSheetsPtr prop;
    OLECHECK(this->get_StyleSheets(&prop));
    return prop;
  }

  VARIANT __fastcall get_DefaultTableStyle(void)
  {
    VARIANT prop;
    OLECHECK(this->get_DefaultTableStyle((VARIANT*)&prop));
    return prop;
  }

  BSTR __fastcall get_PasswordEncryptionProvider(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_PasswordEncryptionProvider((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_PasswordEncryptionAlgorithm(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_PasswordEncryptionAlgorithm((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_PasswordEncryptionKeyLength(void)
  {
    long prop;
    OLECHECK(this->get_PasswordEncryptionKeyLength((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PasswordEncryptionFileProperties(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PasswordEncryptionFileProperties((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_EmbedLinguisticData(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_EmbedLinguisticData((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FormattingShowFont(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FormattingShowFont((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FormattingShowClear(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FormattingShowClear((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FormattingShowParagraph(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FormattingShowParagraph((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FormattingShowNumbering(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FormattingShowNumbering((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdShowFilter __fastcall get_FormattingShowFilter(void)
  {
    Word_xp::WdShowFilter prop;
    OLECHECK(this->get_FormattingShowFilter((Word_xp::WdShowFilter*)&prop));
    return prop;
  }


  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPDISPATCH      BuiltInDocumentProperties = {read = get_BuiltInDocumentProperties};
  __property   LPDISPATCH      CustomDocumentProperties = {read = get_CustomDocumentProperties};
  __property   BSTR            Path = {read = get_Path};
  __property   Word_xp::BookmarksPtr Bookmarks = {read = get_Bookmarks};
  __property   Word_xp::TablesPtr Tables = {read = get_Tables};
  __property   Word_xp::FootnotesPtr Footnotes = {read = get_Footnotes};
  __property   Word_xp::EndnotesPtr Endnotes = {read = get_Endnotes};
  __property   Word_xp::CommentsPtr Comments = {read = get_Comments};
  __property   Word_xp::WdDocumentType Type = {read = get_Type};
  __property   VARIANT_BOOL    AutoHyphenation = {read = get_AutoHyphenation, write = set_AutoHyphenation};
  __property   VARIANT_BOOL    HyphenateCaps = {read = get_HyphenateCaps, write = set_HyphenateCaps};
  __property   long            HyphenationZone = {read = get_HyphenationZone, write = set_HyphenationZone};
  __property   long            ConsecutiveHyphensLimit = {read = get_ConsecutiveHyphensLimit, write = set_ConsecutiveHyphensLimit};
  __property   Word_xp::SectionsPtr Sections = {read = get_Sections};
  __property   Word_xp::ParagraphsPtr Paragraphs = {read = get_Paragraphs};
  __property   Word_xp::WordsPtr Words = {read = get_Words};
  __property   Word_xp::SentencesPtr Sentences = {read = get_Sentences};
  __property   Word_xp::CharactersPtr Characters = {read = get_Characters};
  __property   Word_xp::FieldsPtr Fields = {read = get_Fields};
  __property   Word_xp::FormFieldsPtr FormFields = {read = get_FormFields};
  __property   Word_xp::StylesPtr Styles = {read = get_Styles};
  __property   Word_xp::FramesPtr Frames = {read = get_Frames};
  __property   Word_xp::TablesOfFiguresPtr TablesOfFigures = {read = get_TablesOfFigures};
  __property   Word_xp::VariablesPtr Variables = {read = get_Variables};
  __property   Word_xp::MailMergePtr MailMerge = {read = get_MailMerge};
  __property   Word_xp::EnvelopePtr Envelope = {read = get_Envelope};
  __property   BSTR            FullName = {read = get_FullName};
  __property   Word_xp::RevisionsPtr Revisions = {read = get_Revisions};
  __property   Word_xp::TablesOfContentsPtr TablesOfContents = {read = get_TablesOfContents};
  __property   Word_xp::TablesOfAuthoritiesPtr TablesOfAuthorities = {read = get_TablesOfAuthorities};
  __property   Word_xp::PageSetupPtr PageSetup = {read = get_PageSetup, write = set_PageSetup};
  __property   Word_xp::WindowsPtr Windoz = {read = get_Windoz};
  __property   VARIANT_BOOL    HasRoutingSlip = {read = get_HasRoutingSlip, write = set_HasRoutingSlip};
  __property   Word_xp::RoutingSlipPtr RoutingSlip = {read = get_RoutingSlip};
  __property   VARIANT_BOOL    Routed = {read = get_Routed};
  __property   Word_xp::TablesOfAuthoritiesCategoriesPtr TablesOfAuthoritiesCategories = {read = get_TablesOfAuthoritiesCategories};
  __property   Word_xp::IndexesPtr Indexes = {read = get_Indexes};
  __property   VARIANT_BOOL    Saved = {read = get_Saved, write = set_Saved};
  __property   Word_xp::WordRangePtr Content = {read = get_Content};
  __property   Word_xp::WINDOWPtr ActiveWindow = {read = get_ActiveWindow};
  __property   Word_xp::WdDocumentKind Kind = {read = get_Kind, write = set_Kind};
  __property   VARIANT_BOOL    ReadOnly = {read = get_ReadOnly};
  __property   Word_xp::SubdocumentsPtr Subdocuments = {read = get_Subdocuments};
  __property   VARIANT_BOOL    IsMasterDocument = {read = get_IsMasterDocument};
  __property   float           DefaultTabStop = {read = get_DefaultTabStop, write = set_DefaultTabStop};
  __property   VARIANT_BOOL    EmbedTrueTypeFonts = {read = get_EmbedTrueTypeFonts, write = set_EmbedTrueTypeFonts};
  __property   VARIANT_BOOL    SaveFormsData = {read = get_SaveFormsData, write = set_SaveFormsData};
  __property   VARIANT_BOOL    ReadOnlyRecommended = {read = get_ReadOnlyRecommended, write = set_ReadOnlyRecommended};
  __property   VARIANT_BOOL    SaveSubsetFonts = {read = get_SaveSubsetFonts, write = set_SaveSubsetFonts};
  __property   Word_xp::StoryRangesPtr StoryRanges = {read = get_StoryRanges};
  __property   Office_xp::CommandBarsPtr CommandBars = {read = get_CommandBars};
  __property   VARIANT_BOOL    IsSubdocument = {read = get_IsSubdocument};
  __property   long            SaveFormat = {read = get_SaveFormat};
  __property   Word_xp::WdProtectionType ProtectionType = {read = get_ProtectionType};
  __property   Word_xp::HyperlinksPtr Hyperlinks = {read = get_Hyperlinks};
  __property   Word_xp::ShapesPtr Shapes = {read = get_Shapes};
  __property   Word_xp::ListTemplatesPtr ListTemplates = {read = get_ListTemplates};
  __property   Word_xp::ListsPtr Lists = {read = get_Lists};
  __property   VARIANT_BOOL    UpdateStylesOnOpen = {read = get_UpdateStylesOnOpen, write = set_UpdateStylesOnOpen};
  __property   Word_xp::InlineShapesPtr InlineShapes = {read = get_InlineShapes};
  __property   Word_xp::ShapePtr Background = {read = get_Background, write = set_Background};
  __property   VARIANT_BOOL    GrammarChecked = {read = get_GrammarChecked, write = set_GrammarChecked};
  __property   VARIANT_BOOL    SpellingChecked = {read = get_SpellingChecked, write = set_SpellingChecked};
  __property   VARIANT_BOOL    ShowGrammaticalErrors = {read = get_ShowGrammaticalErrors, write = set_ShowGrammaticalErrors};
  __property   VARIANT_BOOL    ShowSpellingErrors = {read = get_ShowSpellingErrors, write = set_ShowSpellingErrors};
  __property   Word_xp::VersionsPtr Versions = {read = get_Versions};
  __property   VARIANT_BOOL    ShowSummary = {read = get_ShowSummary, write = set_ShowSummary};
  __property   Word_xp::WdSummaryMode SummaryViewMode = {read = get_SummaryViewMode, write = set_SummaryViewMode};
  __property   long            SummaryLength = {read = get_SummaryLength, write = set_SummaryLength};
  __property   VARIANT_BOOL    PrintFractionalWidths = {read = get_PrintFractionalWidths, write = set_PrintFractionalWidths};
  __property   VARIANT_BOOL    PrintPostScriptOverText = {read = get_PrintPostScriptOverText, write = set_PrintPostScriptOverText};
  __property   LPDISPATCH      Container = {read = get_Container};
  __property   VARIANT_BOOL    PrintFormsData = {read = get_PrintFormsData, write = set_PrintFormsData};
  __property   Word_xp::ListParagraphsPtr ListParagraphs = {read = get_ListParagraphs};
  __property   BSTR            Password = {write = set_Password};
  __property   BSTR            WritePassword = {write = set_WritePassword};
  __property   VARIANT_BOOL    HasPassword = {read = get_HasPassword};
  __property   VARIANT_BOOL    WriteReserved = {read = get_WriteReserved};
  __property   VARIANT_BOOL    UserControl = {read = get_UserControl, write = set_UserControl};
  __property   VARIANT_BOOL    HasMailer = {read = get_HasMailer, write = set_HasMailer};
  __property   Word_xp::MailerPtr Mailer = {read = get_Mailer};
  __property   Word_xp::ReadabilityStatisticsPtr ReadabilityStatistics = {read = get_ReadabilityStatistics};
  __property   Word_xp::ProofreadingErrorsPtr GrammaticalErrors = {read = get_GrammaticalErrors};
  __property   Word_xp::ProofreadingErrorsPtr SpellingErrors = {read = get_SpellingErrors};
  __property   Vbide_xp::VBProjectPtr VBProject = {read = get_VBProject};
  __property   VARIANT_BOOL    FormsDesign = {read = get_FormsDesign};
  __property   BSTR            _CodeName = {read = get__CodeName, write = set__CodeName};
  __property   BSTR            CodeName = {read = get_CodeName};
  __property   VARIANT_BOOL    SnapToGrid = {read = get_SnapToGrid, write = set_SnapToGrid};
  __property   VARIANT_BOOL    SnapToShapes = {read = get_SnapToShapes, write = set_SnapToShapes};
  __property   float           GridDistanceHorizontal = {read = get_GridDistanceHorizontal, write = set_GridDistanceHorizontal};
  __property   float           GridDistanceVertical = {read = get_GridDistanceVertical, write = set_GridDistanceVertical};
  __property   float           GridOriginHorizontal = {read = get_GridOriginHorizontal, write = set_GridOriginHorizontal};
  __property   float           GridOriginVertical = {read = get_GridOriginVertical, write = set_GridOriginVertical};
  __property   long            GridSpaceBetweenHorizontalLines = {read = get_GridSpaceBetweenHorizontalLines, write = set_GridSpaceBetweenHorizontalLines};
  __property   long            GridSpaceBetweenVerticalLines = {read = get_GridSpaceBetweenVerticalLines, write = set_GridSpaceBetweenVerticalLines};
  __property   VARIANT_BOOL    GridOriginFromMargin = {read = get_GridOriginFromMargin, write = set_GridOriginFromMargin};
  __property   VARIANT_BOOL    KerningByAlgorithm = {read = get_KerningByAlgorithm, write = set_KerningByAlgorithm};
  __property   Word_xp::WdJustificationMode JustificationMode = {read = get_JustificationMode, write = set_JustificationMode};
  __property   Word_xp::WdFarEastLineBreakLevel FarEastLineBreakLevel = {read = get_FarEastLineBreakLevel, write = set_FarEastLineBreakLevel};
  __property   BSTR            NoLineBreakBefore = {read = get_NoLineBreakBefore, write = set_NoLineBreakBefore};
  __property   BSTR            NoLineBreakAfter = {read = get_NoLineBreakAfter, write = set_NoLineBreakAfter};
  __property   VARIANT_BOOL    TrackRevisions = {read = get_TrackRevisions, write = set_TrackRevisions};
  __property   VARIANT_BOOL    PrintRevisions = {read = get_PrintRevisions, write = set_PrintRevisions};
  __property   VARIANT_BOOL    ShowRevisions = {read = get_ShowRevisions, write = set_ShowRevisions};
  __property   BSTR            ActiveTheme = {read = get_ActiveTheme};
  __property   BSTR            ActiveThemeDisplayName = {read = get_ActiveThemeDisplayName};
  __property   Word_xp::EmailPtr Email = {read = get_Email};
  __property   Office_xp::ScriptsPtr Scripts = {read = get_Scripts};
  __property   VARIANT_BOOL    LanguageDetected = {read = get_LanguageDetected, write = set_LanguageDetected};
  __property   Word_xp::WdFarEastLineBreakLanguageID FarEastLineBreakLanguage = {read = get_FarEastLineBreakLanguage, write = set_FarEastLineBreakLanguage};
  __property   Word_xp::FramesetPtr Frameset = {read = get_Frameset};
  __property   Office_xp::HTMLProjectPtr HTMLProject = {read = get_HTMLProject};
  __property   Word_xp::WebOptionsPtr WebOptions = {read = get_WebOptions};
  __property   Office_xp::MsoEncoding OpenEncoding = {read = get_OpenEncoding};
  __property   Office_xp::MsoEncoding SaveEncoding = {read = get_SaveEncoding, write = set_SaveEncoding};
  __property   VARIANT_BOOL    OptimizeForWord97 = {read = get_OptimizeForWord97, write = set_OptimizeForWord97};
  __property   VARIANT_BOOL    VBASigned = {read = get_VBASigned};
  __property   Office_xp::MsoEnvelopePtr MailEnvelope = {read = get_MailEnvelope};
  __property   VARIANT_BOOL    DisableFeatures = {read = get_DisableFeatures, write = set_DisableFeatures};
  __property   VARIANT_BOOL    DoNotEmbedSystemFonts = {read = get_DoNotEmbedSystemFonts, write = set_DoNotEmbedSystemFonts};
  __property   Office_xp::SignatureSetPtr Signatures = {read = get_Signatures};
  __property   BSTR            DefaultTargetFrame = {read = get_DefaultTargetFrame, write = set_DefaultTargetFrame};
  __property   Word_xp::HTMLDivisionsPtr HTMLDivisions = {read = get_HTMLDivisions};
  __property   Word_xp::WdDisableFeaturesIntroducedAfter DisableFeaturesIntroducedAfter = {read = get_DisableFeaturesIntroducedAfter, write = set_DisableFeaturesIntroducedAfter};
  __property   VARIANT_BOOL    RemovePersonalInformation = {read = get_RemovePersonalInformation, write = set_RemovePersonalInformation};
  __property   Word_xp::SmartTagsPtr SmartTags = {read = get_SmartTags};
  __property   VARIANT_BOOL    EmbedSmartTags = {read = get_EmbedSmartTags, write = set_EmbedSmartTags};
  __property   VARIANT_BOOL    SmartTagsAsXMLProps = {read = get_SmartTagsAsXMLProps, write = set_SmartTagsAsXMLProps};
  __property   Office_xp::MsoEncoding TextEncoding = {read = get_TextEncoding, write = set_TextEncoding};
  __property   Word_xp::WdLineEndingType TextLineEnding = {read = get_TextLineEnding, write = set_TextLineEnding};
  __property   Word_xp::StyleSheetsPtr StyleSheets = {read = get_StyleSheets};
  __property   BSTR            PasswordEncryptionProvider = {read = get_PasswordEncryptionProvider};
  __property   BSTR            PasswordEncryptionAlgorithm = {read = get_PasswordEncryptionAlgorithm};
  __property   long            PasswordEncryptionKeyLength = {read = get_PasswordEncryptionKeyLength};
  __property   VARIANT_BOOL    PasswordEncryptionFileProperties = {read = get_PasswordEncryptionFileProperties};
  __property   VARIANT_BOOL    EmbedLinguisticData = {read = get_EmbedLinguisticData, write = set_EmbedLinguisticData};
  __property   VARIANT_BOOL    FormattingShowFont = {read = get_FormattingShowFont, write = set_FormattingShowFont};
  __property   VARIANT_BOOL    FormattingShowClear = {read = get_FormattingShowClear, write = set_FormattingShowClear};
  __property   VARIANT_BOOL    FormattingShowParagraph = {read = get_FormattingShowParagraph, write = set_FormattingShowParagraph};
  __property   VARIANT_BOOL    FormattingShowNumbering = {read = get_FormattingShowNumbering, write = set_FormattingShowNumbering};
  __property   Word_xp::WdShowFilter FormattingShowFilter = {read = get_FormattingShowFilter, write = set_FormattingShowFilter};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Template
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096A-0000-0000-C000-000000000046}
// *********************************************************************//
interface Template  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Path(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_AutoTextEntries(Word_xp::AutoTextEntries** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Saved(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_Saved(VARIANT_BOOL prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdTemplateType* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_FullName(BSTR* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_BuiltInDocumentProperties(LPDISPATCH* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_CustomDocumentProperties(LPDISPATCH* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_ListTemplates(Word_xp::ListTemplates** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_VBProject(Vbide_xp::VBProject** prop/*[out,retval]*/) = 0; // [99]
  virtual HRESULT STDMETHODCALLTYPE get_KerningByAlgorithm(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_KerningByAlgorithm(VARIANT_BOOL prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_JustificationMode(Word_xp::WdJustificationMode* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_JustificationMode(Word_xp::WdJustificationMode prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel prop/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_NoLineBreakBefore(BSTR* prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE set_NoLineBreakBefore(BSTR prop/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_NoLineBreakAfter(BSTR* prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE set_NoLineBreakAfter(BSTR prop/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE OpenAsDocument(Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Save(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_NoProofing(long* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE set_NoProofing(long prop/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID* prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE set_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID prop/*[in]*/) = 0; // [18]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Path(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Path((BSTR*)&prop));
    return prop;
  }

  Word_xp::AutoTextEntriesPtr __fastcall get_AutoTextEntries(void)
  {
    Word_xp::AutoTextEntriesPtr prop;
    OLECHECK(this->get_AutoTextEntries(&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageID(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageID((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Saved(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Saved((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdTemplateType __fastcall get_Type(void)
  {
    Word_xp::WdTemplateType prop;
    OLECHECK(this->get_Type((Word_xp::WdTemplateType*)&prop));
    return prop;
  }

  BSTR __fastcall get_FullName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_FullName((BSTR*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_BuiltInDocumentProperties(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_BuiltInDocumentProperties((LPDISPATCH*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_CustomDocumentProperties(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_CustomDocumentProperties((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::ListTemplatesPtr __fastcall get_ListTemplates(void)
  {
    Word_xp::ListTemplatesPtr prop;
    OLECHECK(this->get_ListTemplates(&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageIDFarEast(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageIDFarEast((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  Vbide_xp::VBProjectPtr __fastcall get_VBProject(void)
  {
    Vbide_xp::VBProjectPtr prop;
    OLECHECK(this->get_VBProject(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_KerningByAlgorithm(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_KerningByAlgorithm((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdJustificationMode __fastcall get_JustificationMode(void)
  {
    Word_xp::WdJustificationMode prop;
    OLECHECK(this->get_JustificationMode((Word_xp::WdJustificationMode*)&prop));
    return prop;
  }

  Word_xp::WdFarEastLineBreakLevel __fastcall get_FarEastLineBreakLevel(void)
  {
    Word_xp::WdFarEastLineBreakLevel prop;
    OLECHECK(this->get_FarEastLineBreakLevel((Word_xp::WdFarEastLineBreakLevel*)&prop));
    return prop;
  }

  BSTR __fastcall get_NoLineBreakBefore(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_NoLineBreakBefore((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_NoLineBreakAfter(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_NoLineBreakAfter((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordDocument* __fastcall OpenAsDocument(void)
  {
    Word_xp::WordDocument* prop = 0;
    OLECHECK(this->OpenAsDocument((Word_xp::WordDocument**)&prop));
    return prop;
  }

  long __fastcall get_NoProofing(void)
  {
    long prop;
    OLECHECK(this->get_NoProofing((long*)&prop));
    return prop;
  }

  Word_xp::WdFarEastLineBreakLanguageID __fastcall get_FarEastLineBreakLanguage(void)
  {
    Word_xp::WdFarEastLineBreakLanguageID prop;
    OLECHECK(this->get_FarEastLineBreakLanguage((Word_xp::WdFarEastLineBreakLanguageID*)&prop));
    return prop;
  }


  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Path = {read = get_Path};
  __property   Word_xp::AutoTextEntriesPtr AutoTextEntries = {read = get_AutoTextEntries};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   VARIANT_BOOL    Saved = {read = get_Saved, write = set_Saved};
  __property   Word_xp::WdTemplateType Type = {read = get_Type};
  __property   BSTR            FullName = {read = get_FullName};
  __property   LPDISPATCH      BuiltInDocumentProperties = {read = get_BuiltInDocumentProperties};
  __property   LPDISPATCH      CustomDocumentProperties = {read = get_CustomDocumentProperties};
  __property   Word_xp::ListTemplatesPtr ListTemplates = {read = get_ListTemplates};
  __property   Word_xp::WdLanguageID LanguageIDFarEast = {read = get_LanguageIDFarEast, write = set_LanguageIDFarEast};
  __property   Vbide_xp::VBProjectPtr VBProject = {read = get_VBProject};
  __property   VARIANT_BOOL    KerningByAlgorithm = {read = get_KerningByAlgorithm, write = set_KerningByAlgorithm};
  __property   Word_xp::WdJustificationMode JustificationMode = {read = get_JustificationMode, write = set_JustificationMode};
  __property   Word_xp::WdFarEastLineBreakLevel FarEastLineBreakLevel = {read = get_FarEastLineBreakLevel, write = set_FarEastLineBreakLevel};
  __property   BSTR            NoLineBreakBefore = {read = get_NoLineBreakBefore, write = set_NoLineBreakBefore};
  __property   BSTR            NoLineBreakAfter = {read = get_NoLineBreakAfter, write = set_NoLineBreakAfter};
  __property   long            NoProofing = {read = get_NoProofing, write = set_NoProofing};
  __property   Word_xp::WdFarEastLineBreakLanguageID FarEastLineBreakLanguage = {read = get_FarEastLineBreakLanguage, write = set_FarEastLineBreakLanguage};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Templates
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A2-0000-0000-C000-000000000046}
// *********************************************************************//
interface Templates  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Template** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::Template* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Template* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Template**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: RoutingSlip
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020969-0000-0000-C000-000000000046}
// *********************************************************************//
interface RoutingSlip  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Subject(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_Subject(BSTR prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Message(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Message(BSTR prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Delivery(Word_xp::WdRoutingSlipDelivery* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Delivery(Word_xp::WdRoutingSlipDelivery prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_TrackStatus(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_TrackStatus(VARIANT_BOOL prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Protect(Word_xp::WdProtectionType* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_Protect(Word_xp::WdProtectionType prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_ReturnWhenDone(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_ReturnWhenDone(VARIANT_BOOL prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Status(Word_xp::WdRoutingSlipStatus* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_Recipients(VARIANT* Index/*[in,opt]*/, 
                                                   VARIANT* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE Reset(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE AddRecipient(BSTR Recipient/*[in]*/) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Subject(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Subject((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Message(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Message((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdRoutingSlipDelivery __fastcall get_Delivery(void)
  {
    Word_xp::WdRoutingSlipDelivery prop;
    OLECHECK(this->get_Delivery((Word_xp::WdRoutingSlipDelivery*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_TrackStatus(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_TrackStatus((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdProtectionType __fastcall get_Protect(void)
  {
    Word_xp::WdProtectionType prop;
    OLECHECK(this->get_Protect((Word_xp::WdProtectionType*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ReturnWhenDone(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ReturnWhenDone((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdRoutingSlipStatus __fastcall get_Status(void)
  {
    Word_xp::WdRoutingSlipStatus prop;
    OLECHECK(this->get_Status((Word_xp::WdRoutingSlipStatus*)&prop));
    return prop;
  }

  VARIANT __fastcall get_Recipients(VARIANT* Index/*[in,opt]*/= TNoParam())
  {
    VARIANT prop;
    OLECHECK(this->get_Recipients(Index, (VARIANT*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Subject = {read = get_Subject, write = set_Subject};
  __property   BSTR            Message = {read = get_Message, write = set_Message};
  __property   Word_xp::WdRoutingSlipDelivery Delivery = {read = get_Delivery, write = set_Delivery};
  __property   VARIANT_BOOL    TrackStatus = {read = get_TrackStatus, write = set_TrackStatus};
  __property   Word_xp::WdProtectionType Protect = {read = get_Protect, write = set_Protect};
  __property   VARIANT_BOOL    ReturnWhenDone = {read = get_ReturnWhenDone, write = set_ReturnWhenDone};
  __property   Word_xp::WdRoutingSlipStatus Status = {read = get_Status};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Bookmark
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020968-0000-0000-C000-000000000046}
// *********************************************************************//
interface Bookmark  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Empty(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Start(long* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Start(long prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_End(long* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_End(long prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Column(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_StoryType(Word_xp::WdStoryType* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE Copy(BSTR Name/*[in]*/, Word_xp::Bookmark** prop/*[out,retval]*/) = 0; // [12]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Empty(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Empty((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_Start(void)
  {
    long prop;
    OLECHECK(this->get_Start((long*)&prop));
    return prop;
  }

  long __fastcall get_End(void)
  {
    long prop;
    OLECHECK(this->get_End((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Column(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Column((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdStoryType __fastcall get_StoryType(void)
  {
    Word_xp::WdStoryType prop;
    OLECHECK(this->get_StoryType((Word_xp::WdStoryType*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::Bookmark* __fastcall Copy(BSTR Name/*[in]*/)
  {
    Word_xp::Bookmark* prop = 0;
    OLECHECK(this->Copy(Name, (Word_xp::Bookmark**)&prop));
    return prop;
  }


  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   VARIANT_BOOL    Empty = {read = get_Empty};
  __property   long            Start = {read = get_Start, write = set_Start};
  __property   long            End = {read = get_End, write = set_End};
  __property   VARIANT_BOOL    Column = {read = get_Column};
  __property   Word_xp::WdStoryType StoryType = {read = get_StoryType};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Bookmarks
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020967-0000-0000-C000-000000000046}
// *********************************************************************//
interface Bookmarks  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultSorting(Word_xp::WdBookmarkSortBy* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultSorting(Word_xp::WdBookmarkSortBy prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_ShowHidden(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_ShowHidden(VARIANT_BOOL prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Bookmark** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                                        Word_xp::Bookmark** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE Exists(BSTR Name/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [6]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WdBookmarkSortBy __fastcall get_DefaultSorting(void)
  {
    Word_xp::WdBookmarkSortBy prop;
    OLECHECK(this->get_DefaultSorting((Word_xp::WdBookmarkSortBy*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowHidden(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowHidden((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::Bookmark* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Bookmark* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Bookmark**)&prop));
    return prop;
  }

  Word_xp::Bookmark* __fastcall Add(BSTR Name/*[in]*/, VARIANT* Range/*[in,opt]*/= TNoParam())
  {
    Word_xp::Bookmark* prop = 0;
    OLECHECK(this->Add(Name, Range, (Word_xp::Bookmark**)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall Exists(BSTR Name/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->Exists(Name, (VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdBookmarkSortBy DefaultSorting = {read = get_DefaultSorting, write = set_DefaultSorting};
  __property   VARIANT_BOOL    ShowHidden = {read = get_ShowHidden, write = set_ShowHidden};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Variable
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020966-0000-0000-C000-000000000046}
// *********************************************************************//
interface Variable  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Value(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Value(BSTR prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [11]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Value(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Value((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Value = {read = get_Value, write = set_Value};
  __property   long            Index = {read = get_Index};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Variables
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020965-0000-0000-C000-000000000046}
// *********************************************************************//
interface Variables  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Variable** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, VARIANT* Value/*[in,opt]*/, 
                                        Word_xp::Variable** prop/*[out,retval]*/) = 0; // [7]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::Variable* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Variable* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Variable**)&prop));
    return prop;
  }

  Word_xp::Variable* __fastcall Add(BSTR Name/*[in]*/, VARIANT* Value/*[in,opt]*/= TNoParam())
  {
    Word_xp::Variable* prop = 0;
    OLECHECK(this->Add(Name, Value, (Word_xp::Variable**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: RecentFile
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020964-0000-0000-C000-000000000046}
// *********************************************************************//
interface RecentFile  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_ReadOnly(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_ReadOnly(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Path(BSTR* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE Open(Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [5]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ReadOnly(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ReadOnly((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_Path(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Path((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordDocument* __fastcall Open(void)
  {
    Word_xp::WordDocument* prop = 0;
    OLECHECK(this->Open((Word_xp::WordDocument**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   long            Index = {read = get_Index};
  __property   VARIANT_BOOL    ReadOnly = {read = get_ReadOnly, write = set_ReadOnly};
  __property   BSTR            Path = {read = get_Path};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: RecentFiles
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020963-0000-0000-C000-000000000046}
// *********************************************************************//
interface RecentFiles  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Maximum(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Maximum(long prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::RecentFile** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* Document/*[in]*/, VARIANT* ReadOnly/*[in,opt]*/, 
                                        Word_xp::RecentFile** prop/*[out,retval]*/) = 0; // [3]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  long __fastcall get_Maximum(void)
  {
    long prop;
    OLECHECK(this->get_Maximum((long*)&prop));
    return prop;
  }

  Word_xp::RecentFile* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::RecentFile* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::RecentFile**)&prop));
    return prop;
  }

  Word_xp::RecentFile* __fastcall Add(VARIANT* Document/*[in]*/, 
                                      VARIANT* ReadOnly/*[in,opt]*/= TNoParam())
  {
    Word_xp::RecentFile* prop = 0;
    OLECHECK(this->Add(Document, ReadOnly, (Word_xp::RecentFile**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   long            Maximum = {read = get_Maximum, write = set_Maximum};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: WINDOW
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020962-0000-0000-C000-000000000046}
// *********************************************************************//
interface WINDOW  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_ActivePane(Word_xp::Pane** prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Document(Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Panes(Word_xp::Panes** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Left(long* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_Left(long prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Top(long* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_Top(long prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Width(long* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_Width(long prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_Height(long* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_Height(long prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_Split(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_Split(VARIANT_BOOL prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_SplitVertical(long* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_SplitVertical(long prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_Caption(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Caption(BSTR prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_WindowState(Word_xp::WdWindowState* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_WindowState(Word_xp::WdWindowState prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayRulers(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayRulers(VARIANT_BOOL prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayVerticalRuler(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayVerticalRuler(VARIANT_BOOL prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_View(Word_xp::View** prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdWindowType* prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_Next(Word_xp::WINDOW** prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_Previous(Word_xp::WINDOW** prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_WindowNumber(long* prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayVerticalScrollBar(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayVerticalScrollBar(VARIANT_BOOL prop/*[in]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayHorizontalScrollBar(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayHorizontalScrollBar(VARIANT_BOOL prop/*[in]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE get_StyleAreaWidth(float* prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE set_StyleAreaWidth(float prop/*[in]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayScreenTips(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayScreenTips(VARIANT_BOOL prop/*[in]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE get_HorizontalPercentScrolled(long* prop/*[out,retval]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE set_HorizontalPercentScrolled(long prop/*[in]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE get_VerticalPercentScrolled(long* prop/*[out,retval]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE set_VerticalPercentScrolled(long prop/*[in]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE get_DocumentMap(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [25]
  virtual HRESULT STDMETHODCALLTYPE set_DocumentMap(VARIANT_BOOL prop/*[in]*/) = 0; // [25]
  virtual HRESULT STDMETHODCALLTYPE get_Active(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE get_DocumentMapPercentWidth(long* prop/*[out,retval]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE set_DocumentMapPercentWidth(long prop/*[in]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE get_IMEMode(Word_xp::WdIMEMode* prop/*[out,retval]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE set_IMEMode(Word_xp::WdIMEMode prop/*[in]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE Activate(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Close(VARIANT* SaveChanges/*[in,opt]*/= TNoParam(), 
                                          VARIANT* RouteDocument/*[in,opt]*/= TNoParam()) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE LargeScroll(VARIANT* Down/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Up/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ToRight/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ToLeft/*[in,opt]*/= TNoParam()) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE SmallScroll(VARIANT* Down/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Up/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ToRight/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ToLeft/*[in,opt]*/= TNoParam()) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE PrintOutOld(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                                VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                                VARIANT* From/*[in,opt]*/= TNoParam(), 
                                                VARIANT* To/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                                VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                                VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam()) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE PageScroll(VARIANT* Down/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Up/*[in,opt]*/= TNoParam()) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE SetFocus(void) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE RangeFromPoint(long x/*[in]*/, long y/*[in]*/, 
                                                   LPDISPATCH* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE ScrollIntoView(LPDISPATCH obj/*[in]*/, 
                                                   VARIANT* Start/*[in,opt]*/= TNoParam()) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE GetPoint(long* ScreenPixelsLeft/*[out]*/, 
                                             long* ScreenPixelsTop/*[out]*/, 
                                             long* ScreenPixelsWidth/*[out]*/, 
                                             long* ScreenPixelsHeight/*[out]*/, 
                                             LPDISPATCH obj/*[in]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE PrintOut2000(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* From/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* To/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam()) = 0; // [444]
  virtual HRESULT STDMETHODCALLTYPE get_UsableWidth(long* prop/*[out,retval]*/) = 0; // [31]
  virtual HRESULT STDMETHODCALLTYPE get_UsableHeight(long* prop/*[out,retval]*/) = 0; // [32]
  virtual HRESULT STDMETHODCALLTYPE get_EnvelopeVisible(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [33]
  virtual HRESULT STDMETHODCALLTYPE set_EnvelopeVisible(VARIANT_BOOL prop/*[in]*/) = 0; // [33]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayRightRuler(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [35]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayRightRuler(VARIANT_BOOL prop/*[in]*/) = 0; // [35]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayLeftScrollBar(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [34]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayLeftScrollBar(VARIANT_BOOL prop/*[in]*/) = 0; // [34]
  virtual HRESULT STDMETHODCALLTYPE get_Visible(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [36]
  virtual HRESULT STDMETHODCALLTYPE set_Visible(VARIANT_BOOL prop/*[in]*/) = 0; // [36]
  virtual HRESULT STDMETHODCALLTYPE PrintOut(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                             VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                             VARIANT* From/*[in,opt]*/= TNoParam(), 
                                             VARIANT* To/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam()) = 0; // [445]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::PanePtr __fastcall get_ActivePane(void)
  {
    Word_xp::PanePtr prop;
    OLECHECK(this->get_ActivePane(&prop));
    return prop;
  }

  Word_xp::WordDocumentPtr __fastcall get_Document(void)
  {
    Word_xp::WordDocumentPtr prop;
    OLECHECK(this->get_Document(&prop));
    return prop;
  }

  Word_xp::PanesPtr __fastcall get_Panes(void)
  {
    Word_xp::PanesPtr prop;
    OLECHECK(this->get_Panes(&prop));
    return prop;
  }

  Word_xp::WordSelectionPtr __fastcall get_Selection(void)
  {
    Word_xp::WordSelectionPtr prop;
    OLECHECK(this->get_Selection(&prop));
    return prop;
  }

  long __fastcall get_Left(void)
  {
    long prop;
    OLECHECK(this->get_Left((long*)&prop));
    return prop;
  }

  long __fastcall get_Top(void)
  {
    long prop;
    OLECHECK(this->get_Top((long*)&prop));
    return prop;
  }

  long __fastcall get_Width(void)
  {
    long prop;
    OLECHECK(this->get_Width((long*)&prop));
    return prop;
  }

  long __fastcall get_Height(void)
  {
    long prop;
    OLECHECK(this->get_Height((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Split(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Split((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_SplitVertical(void)
  {
    long prop;
    OLECHECK(this->get_SplitVertical((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Caption(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Caption((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdWindowState __fastcall get_WindowState(void)
  {
    Word_xp::WdWindowState prop;
    OLECHECK(this->get_WindowState((Word_xp::WdWindowState*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayRulers(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayRulers((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayVerticalRuler(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayVerticalRuler((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::ViewPtr __fastcall get_View(void)
  {
    Word_xp::ViewPtr prop;
    OLECHECK(this->get_View(&prop));
    return prop;
  }

  Word_xp::WdWindowType __fastcall get_Type(void)
  {
    Word_xp::WdWindowType prop;
    OLECHECK(this->get_Type((Word_xp::WdWindowType*)&prop));
    return prop;
  }

  Word_xp::WINDOWPtr __fastcall get_Next(void)
  {
    Word_xp::WINDOWPtr prop;
    OLECHECK(this->get_Next(&prop));
    return prop;
  }

  Word_xp::WINDOWPtr __fastcall get_Previous(void)
  {
    Word_xp::WINDOWPtr prop;
    OLECHECK(this->get_Previous(&prop));
    return prop;
  }

  long __fastcall get_WindowNumber(void)
  {
    long prop;
    OLECHECK(this->get_WindowNumber((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayVerticalScrollBar(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayVerticalScrollBar((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayHorizontalScrollBar(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayHorizontalScrollBar((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_StyleAreaWidth(void)
  {
    float prop;
    OLECHECK(this->get_StyleAreaWidth((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayScreenTips(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayScreenTips((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_HorizontalPercentScrolled(void)
  {
    long prop;
    OLECHECK(this->get_HorizontalPercentScrolled((long*)&prop));
    return prop;
  }

  long __fastcall get_VerticalPercentScrolled(void)
  {
    long prop;
    OLECHECK(this->get_VerticalPercentScrolled((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DocumentMap(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DocumentMap((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Active(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Active((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_DocumentMapPercentWidth(void)
  {
    long prop;
    OLECHECK(this->get_DocumentMapPercentWidth((long*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  Word_xp::WdIMEMode __fastcall get_IMEMode(void)
  {
    Word_xp::WdIMEMode prop;
    OLECHECK(this->get_IMEMode((Word_xp::WdIMEMode*)&prop));
    return prop;
  }

  Word_xp::WINDOW* __fastcall NewWindow(void)
  {
    Word_xp::WINDOW* prop = 0;
    OLECHECK(this->NewWindow((Word_xp::WINDOW**)&prop));
    return prop;
  }

  LPDISPATCH __fastcall RangeFromPoint(long x/*[in]*/, long y/*[in]*/)
  {
    LPDISPATCH prop;
    OLECHECK(this->RangeFromPoint(x, y, (LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_UsableWidth(void)
  {
    long prop;
    OLECHECK(this->get_UsableWidth((long*)&prop));
    return prop;
  }

  long __fastcall get_UsableHeight(void)
  {
    long prop;
    OLECHECK(this->get_UsableHeight((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_EnvelopeVisible(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_EnvelopeVisible((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayRightRuler(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayRightRuler((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayLeftScrollBar(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayLeftScrollBar((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Visible(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Visible((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::PanePtr ActivePane = {read = get_ActivePane};
  __property   Word_xp::WordDocumentPtr Document = {read = get_Document};
  __property   Word_xp::PanesPtr Panes = {read = get_Panes};
  __property   Word_xp::WordSelectionPtr Selection = {read = get_Selection};
  __property   long            Left = {read = get_Left, write = set_Left};
  __property   long            Top = {read = get_Top, write = set_Top};
  __property   long            Width = {read = get_Width, write = set_Width};
  __property   long            Height = {read = get_Height, write = set_Height};
  __property   VARIANT_BOOL    Split = {read = get_Split, write = set_Split};
  __property   long            SplitVertical = {read = get_SplitVertical, write = set_SplitVertical};
  __property   BSTR            Caption = {read = get_Caption, write = set_Caption};
  __property   Word_xp::WdWindowState WindowState = {read = get_WindowState, write = set_WindowState};
  __property   VARIANT_BOOL    DisplayRulers = {read = get_DisplayRulers, write = set_DisplayRulers};
  __property   VARIANT_BOOL    DisplayVerticalRuler = {read = get_DisplayVerticalRuler, write = set_DisplayVerticalRuler};
  __property   Word_xp::ViewPtr View = {read = get_View};
  __property   Word_xp::WdWindowType Type = {read = get_Type};
  __property   Word_xp::WINDOWPtr Next = {read = get_Next};
  __property   Word_xp::WINDOWPtr Previous = {read = get_Previous};
  __property   long            WindowNumber = {read = get_WindowNumber};
  __property   VARIANT_BOOL    DisplayVerticalScrollBar = {read = get_DisplayVerticalScrollBar, write = set_DisplayVerticalScrollBar};
  __property   VARIANT_BOOL    DisplayHorizontalScrollBar = {read = get_DisplayHorizontalScrollBar, write = set_DisplayHorizontalScrollBar};
  __property   float           StyleAreaWidth = {read = get_StyleAreaWidth, write = set_StyleAreaWidth};
  __property   VARIANT_BOOL    DisplayScreenTips = {read = get_DisplayScreenTips, write = set_DisplayScreenTips};
  __property   long            HorizontalPercentScrolled = {read = get_HorizontalPercentScrolled, write = set_HorizontalPercentScrolled};
  __property   long            VerticalPercentScrolled = {read = get_VerticalPercentScrolled, write = set_VerticalPercentScrolled};
  __property   VARIANT_BOOL    DocumentMap = {read = get_DocumentMap, write = set_DocumentMap};
  __property   VARIANT_BOOL    Active = {read = get_Active};
  __property   long            DocumentMapPercentWidth = {read = get_DocumentMapPercentWidth, write = set_DocumentMapPercentWidth};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::WdIMEMode IMEMode = {read = get_IMEMode, write = set_IMEMode};
  __property   long            UsableWidth = {read = get_UsableWidth};
  __property   long            UsableHeight = {read = get_UsableHeight};
  __property   VARIANT_BOOL    EnvelopeVisible = {read = get_EnvelopeVisible, write = set_EnvelopeVisible};
  __property   VARIANT_BOOL    DisplayRightRuler = {read = get_DisplayRightRuler, write = set_DisplayRightRuler};
  __property   VARIANT_BOOL    DisplayLeftScrollBar = {read = get_DisplayLeftScrollBar, write = set_DisplayLeftScrollBar};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Windows
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020961-0000-0000-C000-000000000046}
// *********************************************************************//
interface Windows  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::WINDOW** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* Window/*[in,opt]*/, 
                                        Word_xp::WINDOW** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE Arrange(VARIANT* ArrangeStyle/*[in,opt]*/= TNoParam()) = 0; // [11]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WINDOW* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::WINDOW* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::WINDOW**)&prop));
    return prop;
  }

  Word_xp::WINDOW* __fastcall Add(VARIANT* Window/*[in,opt]*/= TNoParam())
  {
    Word_xp::WINDOW* prop = 0;
    OLECHECK(this->Add(Window, (Word_xp::WINDOW**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Pane
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020960-0000-0000-C000-000000000046}
// *********************************************************************//
interface Pane  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Document(Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayRulers(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayRulers(VARIANT_BOOL prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayVerticalRuler(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayVerticalRuler(VARIANT_BOOL prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Zooms(Word_xp::Zooms** prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_View(Word_xp::View** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_Next(Word_xp::Pane** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_Previous(Word_xp::Pane** prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_HorizontalPercentScrolled(long* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_HorizontalPercentScrolled(long prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_VerticalPercentScrolled(long* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_VerticalPercentScrolled(long prop/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_MinimumFontSize(long* prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE set_MinimumFontSize(long prop/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_BrowseToWindow(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE set_BrowseToWindow(VARIANT_BOOL prop/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_BrowseWidth(long* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE Activate(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Close(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE LargeScroll(VARIANT* Down/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Up/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ToRight/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ToLeft/*[in,opt]*/= TNoParam()) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE SmallScroll(VARIANT* Down/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Up/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ToRight/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ToLeft/*[in,opt]*/= TNoParam()) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE AutoScroll(long Velocity/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE PageScroll(VARIANT* Down/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Up/*[in,opt]*/= TNoParam()) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE NewFrameset(void) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE TOCInFrameset(void) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_Frameset(Word_xp::Frameset** prop/*[out,retval]*/) = 0; // [18]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordDocumentPtr __fastcall get_Document(void)
  {
    Word_xp::WordDocumentPtr prop;
    OLECHECK(this->get_Document(&prop));
    return prop;
  }

  Word_xp::WordSelectionPtr __fastcall get_Selection(void)
  {
    Word_xp::WordSelectionPtr prop;
    OLECHECK(this->get_Selection(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayRulers(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayRulers((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayVerticalRuler(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayVerticalRuler((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::ZoomsPtr __fastcall get_Zooms(void)
  {
    Word_xp::ZoomsPtr prop;
    OLECHECK(this->get_Zooms(&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  Word_xp::ViewPtr __fastcall get_View(void)
  {
    Word_xp::ViewPtr prop;
    OLECHECK(this->get_View(&prop));
    return prop;
  }

  Word_xp::PanePtr __fastcall get_Next(void)
  {
    Word_xp::PanePtr prop;
    OLECHECK(this->get_Next(&prop));
    return prop;
  }

  Word_xp::PanePtr __fastcall get_Previous(void)
  {
    Word_xp::PanePtr prop;
    OLECHECK(this->get_Previous(&prop));
    return prop;
  }

  long __fastcall get_HorizontalPercentScrolled(void)
  {
    long prop;
    OLECHECK(this->get_HorizontalPercentScrolled((long*)&prop));
    return prop;
  }

  long __fastcall get_VerticalPercentScrolled(void)
  {
    long prop;
    OLECHECK(this->get_VerticalPercentScrolled((long*)&prop));
    return prop;
  }

  long __fastcall get_MinimumFontSize(void)
  {
    long prop;
    OLECHECK(this->get_MinimumFontSize((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_BrowseToWindow(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_BrowseToWindow((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_BrowseWidth(void)
  {
    long prop;
    OLECHECK(this->get_BrowseWidth((long*)&prop));
    return prop;
  }

  Word_xp::FramesetPtr __fastcall get_Frameset(void)
  {
    Word_xp::FramesetPtr prop;
    OLECHECK(this->get_Frameset(&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordDocumentPtr Document = {read = get_Document};
  __property   Word_xp::WordSelectionPtr Selection = {read = get_Selection};
  __property   VARIANT_BOOL    DisplayRulers = {read = get_DisplayRulers, write = set_DisplayRulers};
  __property   VARIANT_BOOL    DisplayVerticalRuler = {read = get_DisplayVerticalRuler, write = set_DisplayVerticalRuler};
  __property   Word_xp::ZoomsPtr Zooms = {read = get_Zooms};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::ViewPtr View = {read = get_View};
  __property   Word_xp::PanePtr Next = {read = get_Next};
  __property   Word_xp::PanePtr Previous = {read = get_Previous};
  __property   long            HorizontalPercentScrolled = {read = get_HorizontalPercentScrolled, write = set_HorizontalPercentScrolled};
  __property   long            VerticalPercentScrolled = {read = get_VerticalPercentScrolled, write = set_VerticalPercentScrolled};
  __property   long            MinimumFontSize = {read = get_MinimumFontSize, write = set_MinimumFontSize};
  __property   VARIANT_BOOL    BrowseToWindow = {read = get_BrowseToWindow, write = set_BrowseToWindow};
  __property   long            BrowseWidth = {read = get_BrowseWidth};
  __property   Word_xp::FramesetPtr Frameset = {read = get_Frameset};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Panes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095F-0000-0000-C000-000000000046}
// *********************************************************************//
interface Panes  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::Pane** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* SplitVertical/*[in,opt]*/, 
                                        Word_xp::Pane** prop/*[out,retval]*/) = 0; // [3]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::Pane* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Pane* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Pane**)&prop));
    return prop;
  }

  Word_xp::Pane* __fastcall Add(VARIANT* SplitVertical/*[in,opt]*/= TNoParam())
  {
    Word_xp::Pane* prop = 0;
    OLECHECK(this->Add(SplitVertical, (Word_xp::Pane**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: WordRange
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095E-0000-0000-C000-000000000046}
// *********************************************************************//
interface WordRange  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Text(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Text(BSTR prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_FormattedText(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_FormattedText(Word_xp::WordRange* prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Start(long* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Start(long prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_End(long* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_End(long prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Font(Word_xp::WordFont** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_Font(Word_xp::WordFont* prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Duplicate(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_StoryType(Word_xp::WdStoryType* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_Tables(Word_xp::Tables** prop/*[out,retval]*/) = 0; // [50]
  virtual HRESULT STDMETHODCALLTYPE get_Words(Word_xp::Words** prop/*[out,retval]*/) = 0; // [51]
  virtual HRESULT STDMETHODCALLTYPE get_Sentences(Word_xp::Sentences** prop/*[out,retval]*/) = 0; // [52]
  virtual HRESULT STDMETHODCALLTYPE get_Characters(Word_xp::Characters** prop/*[out,retval]*/) = 0; // [53]
  virtual HRESULT STDMETHODCALLTYPE get_Footnotes(Word_xp::Footnotes** prop/*[out,retval]*/) = 0; // [54]
  virtual HRESULT STDMETHODCALLTYPE get_Endnotes(Word_xp::Endnotes** prop/*[out,retval]*/) = 0; // [55]
  virtual HRESULT STDMETHODCALLTYPE get_Comments(Word_xp::Comments** prop/*[out,retval]*/) = 0; // [56]
  virtual HRESULT STDMETHODCALLTYPE get_Cells(Word_xp::Cells** prop/*[out,retval]*/) = 0; // [57]
  virtual HRESULT STDMETHODCALLTYPE get_Sections(Word_xp::Sections** prop/*[out,retval]*/) = 0; // [58]
  virtual HRESULT STDMETHODCALLTYPE get_Paragraphs(Word_xp::Paragraphs** prop/*[out,retval]*/) = 0; // [59]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [61]
  virtual HRESULT STDMETHODCALLTYPE get_TextRetrievalMode(Word_xp::TextRetrievalMode** prop/*[out,retval]*/) = 0; // [62]
  virtual HRESULT STDMETHODCALLTYPE set_TextRetrievalMode(Word_xp::TextRetrievalMode* prop/*[in]*/) = 0; // [62]
  virtual HRESULT STDMETHODCALLTYPE get_Fields(Word_xp::Fields** prop/*[out,retval]*/) = 0; // [64]
  virtual HRESULT STDMETHODCALLTYPE get_FormFields(Word_xp::FormFields** prop/*[out,retval]*/) = 0; // [65]
  virtual HRESULT STDMETHODCALLTYPE get_Frames(Word_xp::Frames** prop/*[out,retval]*/) = 0; // [66]
  virtual HRESULT STDMETHODCALLTYPE get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/) = 0; // [1102]
  virtual HRESULT STDMETHODCALLTYPE set_ParagraphFormat(Word_xp::WordParagraphFormat* prop/*[in]*/) = 0; // [1102]
  virtual HRESULT STDMETHODCALLTYPE get_ListFormat(Word_xp::ListFormat** prop/*[out,retval]*/) = 0; // [68]
  virtual HRESULT STDMETHODCALLTYPE get_Bookmarks(Word_xp::Bookmarks** prop/*[out,retval]*/) = 0; // [75]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Bold(long* prop/*[out,retval]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE set_Bold(long prop/*[in]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE get_Italic(long* prop/*[out,retval]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE set_Italic(long prop/*[in]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE get_Underline(Word_xp::WdUnderline* prop/*[out,retval]*/) = 0; // [139]
  virtual HRESULT STDMETHODCALLTYPE set_Underline(Word_xp::WdUnderline prop/*[in]*/) = 0; // [139]
  virtual HRESULT STDMETHODCALLTYPE get_EmphasisMark(Word_xp::WdEmphasisMark* prop/*[out,retval]*/) = 0; // [140]
  virtual HRESULT STDMETHODCALLTYPE set_EmphasisMark(Word_xp::WdEmphasisMark prop/*[in]*/) = 0; // [140]
  virtual HRESULT STDMETHODCALLTYPE get_DisableCharacterSpaceGrid(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [141]
  virtual HRESULT STDMETHODCALLTYPE set_DisableCharacterSpaceGrid(VARIANT_BOOL prop/*[in]*/) = 0; // [141]
  virtual HRESULT STDMETHODCALLTYPE get_Revisions(Word_xp::Revisions** prop/*[out,retval]*/) = 0; // [150]
  virtual HRESULT STDMETHODCALLTYPE get_Style(VARIANT* prop/*[out,retval]*/) = 0; // [151]
  virtual HRESULT STDMETHODCALLTYPE set_Style(VARIANT* prop/*[in]*/) = 0; // [151]
  virtual HRESULT STDMETHODCALLTYPE get_StoryLength(long* prop/*[out,retval]*/) = 0; // [152]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [153]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [153]
  virtual HRESULT STDMETHODCALLTYPE get_SynonymInfo(Word_xp::SynonymInfo** prop/*[out,retval]*/) = 0; // [155]
  virtual HRESULT STDMETHODCALLTYPE get_Hyperlinks(Word_xp::Hyperlinks** prop/*[out,retval]*/) = 0; // [156]
  virtual HRESULT STDMETHODCALLTYPE get_ListParagraphs(Word_xp::ListParagraphs** prop/*[out,retval]*/) = 0; // [157]
  virtual HRESULT STDMETHODCALLTYPE get_Subdocuments(Word_xp::Subdocuments** prop/*[out,retval]*/) = 0; // [159]
  virtual HRESULT STDMETHODCALLTYPE get_GrammarChecked(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [260]
  virtual HRESULT STDMETHODCALLTYPE set_GrammarChecked(VARIANT_BOOL prop/*[in]*/) = 0; // [260]
  virtual HRESULT STDMETHODCALLTYPE get_SpellingChecked(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [261]
  virtual HRESULT STDMETHODCALLTYPE set_SpellingChecked(VARIANT_BOOL prop/*[in]*/) = 0; // [261]
  virtual HRESULT STDMETHODCALLTYPE get_HighlightColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE set_HighlightColorIndex(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE get_Columns(Word_xp::Columns** prop/*[out,retval]*/) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE get_Rows(Word_xp::Rows** prop/*[out,retval]*/) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE get_CanEdit(long* prop/*[out,retval]*/) = 0; // [304]
  virtual HRESULT STDMETHODCALLTYPE get_CanPaste(long* prop/*[out,retval]*/) = 0; // [305]
  virtual HRESULT STDMETHODCALLTYPE get_IsEndOfRowMark(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [307]
  virtual HRESULT STDMETHODCALLTYPE get_BookmarkID(long* prop/*[out,retval]*/) = 0; // [308]
  virtual HRESULT STDMETHODCALLTYPE get_PreviousBookmarkID(long* prop/*[out,retval]*/) = 0; // [309]
  virtual HRESULT STDMETHODCALLTYPE get_Find(Word_xp::Find** prop/*[out,retval]*/) = 0; // [262]
  virtual HRESULT STDMETHODCALLTYPE get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE set_PageSetup(Word_xp::PageSetup* prop/*[in]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE get_ShapeRange(Word_xp::ShapeRange** prop/*[out,retval]*/) = 0; // [311]
  virtual HRESULT STDMETHODCALLTYPE get_Case(Word_xp::WdCharacterCase* prop/*[out,retval]*/) = 0; // [312]
  virtual HRESULT STDMETHODCALLTYPE set_Case(Word_xp::WdCharacterCase prop/*[in]*/) = 0; // [312]
  virtual HRESULT STDMETHODCALLTYPE get_Information(Word_xp::WdInformation Type/*[in]*/, 
                                                    VARIANT* prop/*[out,retval]*/) = 0; // [313]
  virtual HRESULT STDMETHODCALLTYPE get_ReadabilityStatistics(Word_xp::ReadabilityStatistics** prop/*[out,retval]*/) = 0; // [314]
  virtual HRESULT STDMETHODCALLTYPE get_GrammaticalErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/) = 0; // [315]
  virtual HRESULT STDMETHODCALLTYPE get_SpellingErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/) = 0; // [316]
  virtual HRESULT STDMETHODCALLTYPE get_Orientation(Word_xp::WdTextOrientation* prop/*[out,retval]*/) = 0; // [317]
  virtual HRESULT STDMETHODCALLTYPE set_Orientation(Word_xp::WdTextOrientation prop/*[in]*/) = 0; // [317]
  virtual HRESULT STDMETHODCALLTYPE get_InlineShapes(Word_xp::InlineShapes** prop/*[out,retval]*/) = 0; // [319]
  virtual HRESULT STDMETHODCALLTYPE get_NextStoryRange(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [320]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [321]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [321]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageIDOther(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [322]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageIDOther(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [322]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE SetRange(long Start/*[in]*/, long End/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Collapse(VARIANT* Direction/*[in,opt]*/= TNoParam()) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE InsertBefore(BSTR Text/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE InsertAfter(BSTR Text/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE Next(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                         Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE Previous(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                             Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE StartOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                                            long* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE EndOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                                          long* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE Move(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                         long* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE MoveStart(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                              long* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE MoveEnd(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                            long* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE MoveWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                              long* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE MoveStartWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                                   long* prop/*[out,retval]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE MoveEndWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                                 long* prop/*[out,retval]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE MoveUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                              long* prop/*[out,retval]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE MoveStartUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                                   long* prop/*[out,retval]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE MoveEndUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                                 long* prop/*[out,retval]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE Cut(void) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE Copy(void) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE Paste(void) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE InsertBreak(VARIANT* Type/*[in,opt]*/= TNoParam()) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE InsertFile(BSTR FileName/*[in]*/, 
                                               VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Link/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Attachment/*[in,opt]*/= TNoParam()) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE InStory(Word_xp::WordRange* Range/*[in]*/, 
                                            VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE InRange(Word_xp::WordRange* Range/*[in]*/, 
                                            VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE Delete(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                           long* prop/*[out,retval]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE WholeStory(void) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE Expand(VARIANT* Unit/*[in,opt]*/, long* prop/*[out,retval]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE InsertParagraph(void) = 0; // [160]
  virtual HRESULT STDMETHODCALLTYPE InsertParagraphAfter(void) = 0; // [161]
  virtual HRESULT STDMETHODCALLTYPE ConvertToTableOld(VARIANT* Separator/*[in,opt]*/, 
                                                      VARIANT* NumRows/*[in,opt]*/, 
                                                      VARIANT* NumColumns/*[in,opt]*/, 
                                                      VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                                      VARIANT* Format/*[in,opt]*/, 
                                                      VARIANT* ApplyBorders/*[in,opt]*/, 
                                                      VARIANT* ApplyShading/*[in,opt]*/, 
                                                      VARIANT* ApplyFont/*[in,opt]*/, 
                                                      VARIANT* ApplyColor/*[in,opt]*/, 
                                                      VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                                      VARIANT* ApplyLastRow/*[in,opt]*/, 
                                                      VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                                      VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                                      VARIANT* AutoFit/*[in,opt]*/, 
                                                      Word_xp::Table** prop/*[out,retval]*/) = 0; // [162]
  virtual HRESULT STDMETHODCALLTYPE InsertDateTimeOld(VARIANT* DateTimeFormat/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* InsertAsField/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* InsertAsFullWidth/*[in,opt]*/= TNoParam()) = 0; // [163]
  virtual HRESULT STDMETHODCALLTYPE InsertSymbol(long CharacterNumber/*[in]*/, 
                                                 VARIANT* Font/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Unicode/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Bias/*[in,opt]*/= TNoParam()) = 0; // [164]
  virtual HRESULT STDMETHODCALLTYPE InsertCrossReference(VARIANT* ReferenceType/*[in]*/, 
                                                         Word_xp::WdReferenceKind ReferenceKind/*[in]*/, 
                                                         VARIANT* ReferenceItem/*[in]*/, 
                                                         VARIANT* InsertAsHyperlink/*[in,opt]*/= TNoParam(), 
                                                         VARIANT* IncludePosition/*[in,opt]*/= TNoParam()) = 0; // [165]
  virtual HRESULT STDMETHODCALLTYPE InsertCaption(VARIANT* Label/*[in]*/, 
                                                  VARIANT* Title/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* TitleAutoText/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* Position/*[in,opt]*/= TNoParam()) = 0; // [166]
  virtual HRESULT STDMETHODCALLTYPE CopyAsPicture(void) = 0; // [167]
  virtual HRESULT STDMETHODCALLTYPE SortOld(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortColumn/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                            VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                            VARIANT* LanguageID/*[in,opt]*/= TNoParam()) = 0; // [168]
  virtual HRESULT STDMETHODCALLTYPE SortAscending(void) = 0; // [169]
  virtual HRESULT STDMETHODCALLTYPE SortDescending(void) = 0; // [170]
  virtual HRESULT STDMETHODCALLTYPE IsEqual(Word_xp::WordRange* Range/*[in]*/, 
                                            VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [171]
  virtual HRESULT STDMETHODCALLTYPE Calculate(float* prop/*[out,retval]*/) = 0; // [172]
  virtual HRESULT STDMETHODCALLTYPE GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                                         VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                                         Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [173]
  virtual HRESULT STDMETHODCALLTYPE GoToNext(Word_xp::WdGoToItem What/*[in]*/, 
                                             Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [174]
  virtual HRESULT STDMETHODCALLTYPE GoToPrevious(Word_xp::WdGoToItem What/*[in]*/, 
                                                 Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [175]
  virtual HRESULT STDMETHODCALLTYPE PasteSpecial(VARIANT* IconIndex/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Link/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Placement/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* DisplayAsIcon/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* DataType/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* IconFileName/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* IconLabel/*[in,opt]*/= TNoParam()) = 0; // [176]
  virtual HRESULT STDMETHODCALLTYPE LookupNameProperties(void) = 0; // [177]
  virtual HRESULT STDMETHODCALLTYPE ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                                      long* prop/*[out,retval]*/) = 0; // [178]
  virtual HRESULT STDMETHODCALLTYPE Relocate(long Direction/*[in]*/) = 0; // [179]
  virtual HRESULT STDMETHODCALLTYPE CheckSynonyms(void) = 0; // [180]
  virtual HRESULT STDMETHODCALLTYPE SubscribeTo(BSTR Edition/*[in]*/, 
                                                VARIANT* Format/*[in,opt]*/= TNoParam()) = 0; // [181]
  virtual HRESULT STDMETHODCALLTYPE CreatePublisher(VARIANT* Edition/*[in,opt]*/= TNoParam(), 
                                                    VARIANT* ContainsPICT/*[in,opt]*/= TNoParam(), 
                                                    VARIANT* ContainsRTF/*[in,opt]*/= TNoParam(), 
                                                    VARIANT* ContainsText/*[in,opt]*/= TNoParam()) = 0; // [182]
  virtual HRESULT STDMETHODCALLTYPE InsertAutoText(void) = 0; // [183]
  virtual HRESULT STDMETHODCALLTYPE InsertDatabase(VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* Style/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* LinkToSource/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* Connection/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* SQLStatement/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* SQLStatement1/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* DataSource/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* From/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* To/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* IncludeFields/*[in,opt]*/= TNoParam()) = 0; // [194]
  virtual HRESULT STDMETHODCALLTYPE AutoFormat(void) = 0; // [195]
  virtual HRESULT STDMETHODCALLTYPE CheckGrammar(void) = 0; // [204]
  virtual HRESULT STDMETHODCALLTYPE CheckSpelling(VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* AlwaysSuggest/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam()) = 0; // [205]
  virtual HRESULT STDMETHODCALLTYPE GetSpellingSuggestions(VARIANT* CustomDictionary/*[in,opt]*/, 
                                                           VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                                           VARIANT* MainDictionary/*[in,opt]*/, 
                                                           VARIANT* SuggestionMode/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary2/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary3/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary4/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary5/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary6/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary7/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary8/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary9/*[in,opt]*/, 
                                                           VARIANT* CustomDictionary10/*[in,opt]*/, 
                                                           Word_xp::SpellingSuggestions** prop/*[out,retval]*/) = 0; // [209]
  virtual HRESULT STDMETHODCALLTYPE InsertParagraphBefore(void) = 0; // [212]
  virtual HRESULT STDMETHODCALLTYPE NextSubdocument(void) = 0; // [219]
  virtual HRESULT STDMETHODCALLTYPE PreviousSubdocument(void) = 0; // [220]
  virtual HRESULT STDMETHODCALLTYPE ConvertHangulAndHanja(VARIANT* ConversionsMode/*[in,opt]*/= TNoParam(), 
                                                          VARIANT* FastConversion/*[in,opt]*/= TNoParam(), 
                                                          VARIANT* CheckHangulEnding/*[in,opt]*/= TNoParam(), 
                                                          VARIANT* EnableRecentOrdering/*[in,opt]*/= TNoParam(), 
                                                          VARIANT* CustomDictionary/*[in,opt]*/= TNoParam()) = 0; // [221]
  virtual HRESULT STDMETHODCALLTYPE PasteAsNestedTable(void) = 0; // [222]
  virtual HRESULT STDMETHODCALLTYPE ModifyEnclosure(VARIANT* Style/*[in]*/, 
                                                    VARIANT* Symbol/*[in,opt]*/= TNoParam(), 
                                                    VARIANT* EnclosedText/*[in,opt]*/= TNoParam()) = 0; // [223]
  virtual HRESULT STDMETHODCALLTYPE PhoneticGuide(BSTR Text/*[in]*/, 
                                                  Word_xp::WdPhoneticGuideAlignmentType Alignment/*[in,def,opt]*/, 
                                                  long Raise/*[in,def,opt]*/, 
                                                  long FontSize/*[in,def,opt]*/, 
                                                  BSTR FontName/*[in,def,opt]*/) = 0; // [224]
  virtual HRESULT STDMETHODCALLTYPE InsertDateTime(VARIANT* DateTimeFormat/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* InsertAsField/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* InsertAsFullWidth/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* DateLanguage/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* CalendarType/*[in,opt]*/= TNoParam()) = 0; // [444]
  virtual HRESULT STDMETHODCALLTYPE Sort(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                         VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                         VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                         VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortColumn/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                         VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                         VARIANT* BidiSort/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreThe/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreKashida/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreDiacritics/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreHe/*[in,opt]*/= TNoParam(), 
                                         VARIANT* LanguageID/*[in,opt]*/= TNoParam()) = 0; // [484]
  virtual HRESULT STDMETHODCALLTYPE DetectLanguage(void) = 0; // [203]
  virtual HRESULT STDMETHODCALLTYPE ConvertToTable(VARIANT* Separator/*[in,opt]*/, 
                                                   VARIANT* NumRows/*[in,opt]*/, 
                                                   VARIANT* NumColumns/*[in,opt]*/, 
                                                   VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                                   VARIANT* Format/*[in,opt]*/, 
                                                   VARIANT* ApplyBorders/*[in,opt]*/, 
                                                   VARIANT* ApplyShading/*[in,opt]*/, 
                                                   VARIANT* ApplyFont/*[in,opt]*/, 
                                                   VARIANT* ApplyColor/*[in,opt]*/, 
                                                   VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                                   VARIANT* ApplyLastRow/*[in,opt]*/, 
                                                   VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                                   VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                                   VARIANT* AutoFit/*[in,opt]*/, 
                                                   VARIANT* AutoFitBehavior/*[in,opt]*/, 
                                                   VARIANT* DefaultTableBehavior/*[in,opt]*/, 
                                                   Word_xp::Table** prop/*[out,retval]*/) = 0; // [498]
  virtual HRESULT STDMETHODCALLTYPE TCSCConverter(Word_xp::WdTCSCConverterDirection WdTCSCConverterDirection/*[in,def,opt]*/, 
                                                  VARIANT_BOOL CommonTerms/*[in,def,opt]*/, 
                                                  VARIANT_BOOL UseVariants/*[in,def,opt]*/) = 0; // [499]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageDetected(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [263]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageDetected(VARIANT_BOOL prop/*[in]*/) = 0; // [263]
  virtual HRESULT STDMETHODCALLTYPE get_FitTextWidth(float* prop/*[out,retval]*/) = 0; // [264]
  virtual HRESULT STDMETHODCALLTYPE set_FitTextWidth(float prop/*[in]*/) = 0; // [264]
  virtual HRESULT STDMETHODCALLTYPE get_HorizontalInVertical(Word_xp::WdHorizontalInVerticalType* prop/*[out,retval]*/) = 0; // [265]
  virtual HRESULT STDMETHODCALLTYPE set_HorizontalInVertical(Word_xp::WdHorizontalInVerticalType prop/*[in]*/) = 0; // [265]
  virtual HRESULT STDMETHODCALLTYPE get_TwoLinesInOne(Word_xp::WdTwoLinesInOneType* prop/*[out,retval]*/) = 0; // [266]
  virtual HRESULT STDMETHODCALLTYPE set_TwoLinesInOne(Word_xp::WdTwoLinesInOneType prop/*[in]*/) = 0; // [266]
  virtual HRESULT STDMETHODCALLTYPE get_CombineCharacters(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [267]
  virtual HRESULT STDMETHODCALLTYPE set_CombineCharacters(VARIANT_BOOL prop/*[in]*/) = 0; // [267]
  virtual HRESULT STDMETHODCALLTYPE get_NoProofing(long* prop/*[out,retval]*/) = 0; // [323]
  virtual HRESULT STDMETHODCALLTYPE set_NoProofing(long prop/*[in]*/) = 0; // [323]
  virtual HRESULT STDMETHODCALLTYPE get_TopLevelTables(Word_xp::Tables** prop/*[out,retval]*/) = 0; // [324]
  virtual HRESULT STDMETHODCALLTYPE get_Scripts(Office_xp::Scripts** prop/*[out,retval]*/) = 0; // [325]
  virtual HRESULT STDMETHODCALLTYPE get_CharacterWidth(Word_xp::WdCharacterWidth* prop/*[out,retval]*/) = 0; // [326]
  virtual HRESULT STDMETHODCALLTYPE set_CharacterWidth(Word_xp::WdCharacterWidth prop/*[in]*/) = 0; // [326]
  virtual HRESULT STDMETHODCALLTYPE get_Kana(Word_xp::WdKana* prop/*[out,retval]*/) = 0; // [327]
  virtual HRESULT STDMETHODCALLTYPE set_Kana(Word_xp::WdKana prop/*[in]*/) = 0; // [327]
  virtual HRESULT STDMETHODCALLTYPE get_BoldBi(long* prop/*[out,retval]*/) = 0; // [400]
  virtual HRESULT STDMETHODCALLTYPE set_BoldBi(long prop/*[in]*/) = 0; // [400]
  virtual HRESULT STDMETHODCALLTYPE get_ItalicBi(long* prop/*[out,retval]*/) = 0; // [401]
  virtual HRESULT STDMETHODCALLTYPE set_ItalicBi(long prop/*[in]*/) = 0; // [401]
  virtual HRESULT STDMETHODCALLTYPE get_ID(BSTR* prop/*[out,retval]*/) = 0; // [405]
  virtual HRESULT STDMETHODCALLTYPE set_ID(BSTR prop/*[in]*/) = 0; // [405]
  virtual HRESULT STDMETHODCALLTYPE get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/) = 0; // [406]
  virtual HRESULT STDMETHODCALLTYPE get_SmartTags(Word_xp::SmartTags** prop/*[out,retval]*/) = 0; // [407]
  virtual HRESULT STDMETHODCALLTYPE get_ShowAll(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [408]
  virtual HRESULT STDMETHODCALLTYPE set_ShowAll(VARIANT_BOOL prop/*[in]*/) = 0; // [408]
  virtual HRESULT STDMETHODCALLTYPE get_Document(Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [409]
  virtual HRESULT STDMETHODCALLTYPE get_FootnoteOptions(Word_xp::FootnoteOptions** prop/*[out,retval]*/) = 0; // [410]
  virtual HRESULT STDMETHODCALLTYPE get_EndnoteOptions(Word_xp::EndnoteOptions** prop/*[out,retval]*/) = 0; // [411]
  virtual HRESULT STDMETHODCALLTYPE PasteAndFormat(Word_xp::WdRecoveryType Type/*[in]*/) = 0; // [412]
  virtual HRESULT STDMETHODCALLTYPE PasteExcelTable(VARIANT_BOOL LinkedToExcel/*[in]*/, 
                                                    VARIANT_BOOL WordFormatting/*[in]*/, 
                                                    VARIANT_BOOL RTF/*[in]*/) = 0; // [413]
  virtual HRESULT STDMETHODCALLTYPE PasteAppendTable(void) = 0; // [414]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_Text(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Text((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_FormattedText(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_FormattedText(&prop));
    return prop;
  }

  HRESULT __fastcall  set_FormattedText(Word_xp::WordRangePtr prop/*[in]*/)
  {
    return set_FormattedText((Word_xp::WordRange*)prop/*[in]*/);
  }

  long __fastcall get_Start(void)
  {
    long prop;
    OLECHECK(this->get_Start((long*)&prop));
    return prop;
  }

  long __fastcall get_End(void)
  {
    long prop;
    OLECHECK(this->get_End((long*)&prop));
    return prop;
  }

  Word_xp::WordFontPtr __fastcall get_Font(void)
  {
    Word_xp::WordFontPtr prop;
    OLECHECK(this->get_Font(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Font(Word_xp::WordFontPtr prop/*[in]*/)
  {
    return set_Font((Word_xp::WordFont*)prop/*[in]*/);
  }

  Word_xp::WordRangePtr __fastcall get_Duplicate(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Duplicate(&prop));
    return prop;
  }

  Word_xp::WdStoryType __fastcall get_StoryType(void)
  {
    Word_xp::WdStoryType prop;
    OLECHECK(this->get_StoryType((Word_xp::WdStoryType*)&prop));
    return prop;
  }

  Word_xp::TablesPtr __fastcall get_Tables(void)
  {
    Word_xp::TablesPtr prop;
    OLECHECK(this->get_Tables(&prop));
    return prop;
  }

  Word_xp::WordsPtr __fastcall get_Words(void)
  {
    Word_xp::WordsPtr prop;
    OLECHECK(this->get_Words(&prop));
    return prop;
  }

  Word_xp::SentencesPtr __fastcall get_Sentences(void)
  {
    Word_xp::SentencesPtr prop;
    OLECHECK(this->get_Sentences(&prop));
    return prop;
  }

  Word_xp::CharactersPtr __fastcall get_Characters(void)
  {
    Word_xp::CharactersPtr prop;
    OLECHECK(this->get_Characters(&prop));
    return prop;
  }

  Word_xp::FootnotesPtr __fastcall get_Footnotes(void)
  {
    Word_xp::FootnotesPtr prop;
    OLECHECK(this->get_Footnotes(&prop));
    return prop;
  }

  Word_xp::EndnotesPtr __fastcall get_Endnotes(void)
  {
    Word_xp::EndnotesPtr prop;
    OLECHECK(this->get_Endnotes(&prop));
    return prop;
  }

  Word_xp::CommentsPtr __fastcall get_Comments(void)
  {
    Word_xp::CommentsPtr prop;
    OLECHECK(this->get_Comments(&prop));
    return prop;
  }

  Word_xp::CellsPtr __fastcall get_Cells(void)
  {
    Word_xp::CellsPtr prop;
    OLECHECK(this->get_Cells(&prop));
    return prop;
  }

  Word_xp::SectionsPtr __fastcall get_Sections(void)
  {
    Word_xp::SectionsPtr prop;
    OLECHECK(this->get_Sections(&prop));
    return prop;
  }

  Word_xp::ParagraphsPtr __fastcall get_Paragraphs(void)
  {
    Word_xp::ParagraphsPtr prop;
    OLECHECK(this->get_Paragraphs(&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::TextRetrievalModePtr __fastcall get_TextRetrievalMode(void)
  {
    Word_xp::TextRetrievalModePtr prop;
    OLECHECK(this->get_TextRetrievalMode(&prop));
    return prop;
  }

  HRESULT __fastcall  set_TextRetrievalMode(Word_xp::TextRetrievalModePtr prop/*[in]*/)
  {
    return set_TextRetrievalMode((Word_xp::TextRetrievalMode*)prop/*[in]*/);
  }

  Word_xp::FieldsPtr __fastcall get_Fields(void)
  {
    Word_xp::FieldsPtr prop;
    OLECHECK(this->get_Fields(&prop));
    return prop;
  }

  Word_xp::FormFieldsPtr __fastcall get_FormFields(void)
  {
    Word_xp::FormFieldsPtr prop;
    OLECHECK(this->get_FormFields(&prop));
    return prop;
  }

  Word_xp::FramesPtr __fastcall get_Frames(void)
  {
    Word_xp::FramesPtr prop;
    OLECHECK(this->get_Frames(&prop));
    return prop;
  }

  Word_xp::WordParagraphFormatPtr __fastcall get_ParagraphFormat(void)
  {
    Word_xp::WordParagraphFormatPtr prop;
    OLECHECK(this->get_ParagraphFormat(&prop));
    return prop;
  }

  HRESULT __fastcall  set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
  {
    return set_ParagraphFormat((Word_xp::WordParagraphFormat*)prop/*[in]*/);
  }

  Word_xp::ListFormatPtr __fastcall get_ListFormat(void)
  {
    Word_xp::ListFormatPtr prop;
    OLECHECK(this->get_ListFormat(&prop));
    return prop;
  }

  Word_xp::BookmarksPtr __fastcall get_Bookmarks(void)
  {
    Word_xp::BookmarksPtr prop;
    OLECHECK(this->get_Bookmarks(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Bold(void)
  {
    long prop;
    OLECHECK(this->get_Bold((long*)&prop));
    return prop;
  }

  long __fastcall get_Italic(void)
  {
    long prop;
    OLECHECK(this->get_Italic((long*)&prop));
    return prop;
  }

  Word_xp::WdUnderline __fastcall get_Underline(void)
  {
    Word_xp::WdUnderline prop;
    OLECHECK(this->get_Underline((Word_xp::WdUnderline*)&prop));
    return prop;
  }

  Word_xp::WdEmphasisMark __fastcall get_EmphasisMark(void)
  {
    Word_xp::WdEmphasisMark prop;
    OLECHECK(this->get_EmphasisMark((Word_xp::WdEmphasisMark*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisableCharacterSpaceGrid(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisableCharacterSpaceGrid((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::RevisionsPtr __fastcall get_Revisions(void)
  {
    Word_xp::RevisionsPtr prop;
    OLECHECK(this->get_Revisions(&prop));
    return prop;
  }

  VARIANT __fastcall get_Style(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Style((VARIANT*)&prop));
    return prop;
  }

  long __fastcall get_StoryLength(void)
  {
    long prop;
    OLECHECK(this->get_StoryLength((long*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageID(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageID((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  Word_xp::SynonymInfoPtr __fastcall get_SynonymInfo(void)
  {
    Word_xp::SynonymInfoPtr prop;
    OLECHECK(this->get_SynonymInfo(&prop));
    return prop;
  }

  Word_xp::HyperlinksPtr __fastcall get_Hyperlinks(void)
  {
    Word_xp::HyperlinksPtr prop;
    OLECHECK(this->get_Hyperlinks(&prop));
    return prop;
  }

  Word_xp::ListParagraphsPtr __fastcall get_ListParagraphs(void)
  {
    Word_xp::ListParagraphsPtr prop;
    OLECHECK(this->get_ListParagraphs(&prop));
    return prop;
  }

  Word_xp::SubdocumentsPtr __fastcall get_Subdocuments(void)
  {
    Word_xp::SubdocumentsPtr prop;
    OLECHECK(this->get_Subdocuments(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_GrammarChecked(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_GrammarChecked((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SpellingChecked(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SpellingChecked((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_HighlightColorIndex(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_HighlightColorIndex((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  Word_xp::ColumnsPtr __fastcall get_Columns(void)
  {
    Word_xp::ColumnsPtr prop;
    OLECHECK(this->get_Columns(&prop));
    return prop;
  }

  Word_xp::RowsPtr __fastcall get_Rows(void)
  {
    Word_xp::RowsPtr prop;
    OLECHECK(this->get_Rows(&prop));
    return prop;
  }

  long __fastcall get_CanEdit(void)
  {
    long prop;
    OLECHECK(this->get_CanEdit((long*)&prop));
    return prop;
  }

  long __fastcall get_CanPaste(void)
  {
    long prop;
    OLECHECK(this->get_CanPaste((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsEndOfRowMark(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsEndOfRowMark((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_BookmarkID(void)
  {
    long prop;
    OLECHECK(this->get_BookmarkID((long*)&prop));
    return prop;
  }

  long __fastcall get_PreviousBookmarkID(void)
  {
    long prop;
    OLECHECK(this->get_PreviousBookmarkID((long*)&prop));
    return prop;
  }

  Word_xp::FindPtr __fastcall get_Find(void)
  {
    Word_xp::FindPtr prop;
    OLECHECK(this->get_Find(&prop));
    return prop;
  }

  Word_xp::PageSetupPtr __fastcall get_PageSetup(void)
  {
    Word_xp::PageSetupPtr prop;
    OLECHECK(this->get_PageSetup(&prop));
    return prop;
  }

  HRESULT __fastcall  set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/)
  {
    return set_PageSetup((Word_xp::PageSetup*)prop/*[in]*/);
  }

  Word_xp::ShapeRangePtr __fastcall get_ShapeRange(void)
  {
    Word_xp::ShapeRangePtr prop;
    OLECHECK(this->get_ShapeRange(&prop));
    return prop;
  }

  Word_xp::WdCharacterCase __fastcall get_Case(void)
  {
    Word_xp::WdCharacterCase prop;
    OLECHECK(this->get_Case((Word_xp::WdCharacterCase*)&prop));
    return prop;
  }

  VARIANT __fastcall get_Information(Word_xp::WdInformation Type/*[in]*/)
  {
    VARIANT prop;
    OLECHECK(this->get_Information(Type, (VARIANT*)&prop));
    return prop;
  }

  Word_xp::ReadabilityStatisticsPtr __fastcall get_ReadabilityStatistics(void)
  {
    Word_xp::ReadabilityStatisticsPtr prop;
    OLECHECK(this->get_ReadabilityStatistics(&prop));
    return prop;
  }

  Word_xp::ProofreadingErrorsPtr __fastcall get_GrammaticalErrors(void)
  {
    Word_xp::ProofreadingErrorsPtr prop;
    OLECHECK(this->get_GrammaticalErrors(&prop));
    return prop;
  }

  Word_xp::ProofreadingErrorsPtr __fastcall get_SpellingErrors(void)
  {
    Word_xp::ProofreadingErrorsPtr prop;
    OLECHECK(this->get_SpellingErrors(&prop));
    return prop;
  }

  Word_xp::WdTextOrientation __fastcall get_Orientation(void)
  {
    Word_xp::WdTextOrientation prop;
    OLECHECK(this->get_Orientation((Word_xp::WdTextOrientation*)&prop));
    return prop;
  }

  Word_xp::InlineShapesPtr __fastcall get_InlineShapes(void)
  {
    Word_xp::InlineShapesPtr prop;
    OLECHECK(this->get_InlineShapes(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_NextStoryRange(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_NextStoryRange(&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageIDFarEast(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageIDFarEast((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageIDOther(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageIDOther((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall Next(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->Next(Unit, Count, (Word_xp::WordRange**)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall Previous(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->Previous(Unit, Count, (Word_xp::WordRange**)&prop));
    return prop;
  }

  long __fastcall StartOf(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                          VARIANT* Extend/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->StartOf(Unit, Extend, (long*)&prop));
    return prop;
  }

  long __fastcall EndOf(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                        VARIANT* Extend/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->EndOf(Unit, Extend, (long*)&prop));
    return prop;
  }

  long __fastcall Move(VARIANT* Unit/*[in,opt]*/= TNoParam(), VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->Move(Unit, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveStart(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                            VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveStart(Unit, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveEnd(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                          VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveEnd(Unit, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveWhile(Cset, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveStartWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveStartWhile(Cset, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveEndWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveEndWhile(Cset, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveUntil(Cset, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveStartUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveStartUntil(Cset, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveEndUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveEndUntil(Cset, Count, (long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall InStory(Word_xp::WordRange* Range/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->InStory(Range, (VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall InRange(Word_xp::WordRange* Range/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->InRange(Range, (VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall Delete(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                         VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->Delete(Unit, Count, (long*)&prop));
    return prop;
  }

  long __fastcall Expand(VARIANT* Unit/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->Expand(Unit, (long*)&prop));
    return prop;
  }

  Word_xp::Table* __fastcall ConvertToTableOld(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NumRows/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NumColumns/*[in,opt]*/= TNoParam(), 
                                               VARIANT* InitialColumnWidth/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyBorders/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyShading/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyFont/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyColor/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyHeadingRows/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyLastRow/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyFirstColumn/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyLastColumn/*[in,opt]*/= TNoParam(), 
                                               VARIANT* AutoFit/*[in,opt]*/= TNoParam())
  {
    Word_xp::Table* prop = 0;
    OLECHECK(this->ConvertToTableOld(Separator, NumRows, NumColumns, InitialColumnWidth, Format, 
                                     ApplyBorders, ApplyShading, ApplyFont, ApplyColor, 
                                     ApplyHeadingRows, ApplyLastRow, ApplyFirstColumn, 
                                     ApplyLastColumn, AutoFit, (Word_xp::Table**)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall IsEqual(Word_xp::WordRange* Range/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->IsEqual(Range, (VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall Calculate(void)
  {
    float prop;
    OLECHECK(this->Calculate((float*)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall GoTo(VARIANT* What/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Which/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Name/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->GoTo(What, Which, Count, Name, (Word_xp::WordRange**)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall GoToNext(Word_xp::WdGoToItem What/*[in]*/)
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->GoToNext(What, (Word_xp::WordRange**)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall GoToPrevious(Word_xp::WdGoToItem What/*[in]*/)
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->GoToPrevious(What, (Word_xp::WordRange**)&prop));
    return prop;
  }

  long __fastcall ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/)
  {
    long prop;
    OLECHECK(this->ComputeStatistics(Statistic, (long*)&prop));
    return prop;
  }

  Word_xp::SpellingSuggestions* __fastcall GetSpellingSuggestions(VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* SuggestionMode/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam())
  {
    Word_xp::SpellingSuggestions* prop = 0;
    OLECHECK(this->GetSpellingSuggestions(CustomDictionary, IgnoreUppercase, MainDictionary, 
                                          SuggestionMode, CustomDictionary2, CustomDictionary3, 
                                          CustomDictionary4, CustomDictionary5, CustomDictionary6, 
                                          CustomDictionary7, CustomDictionary8, CustomDictionary9, 
                                          CustomDictionary10, (Word_xp::SpellingSuggestions**)&prop));
    return prop;
  }

  Word_xp::Table* __fastcall ConvertToTable(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                            VARIANT* NumRows/*[in,opt]*/= TNoParam(), 
                                            VARIANT* NumColumns/*[in,opt]*/= TNoParam(), 
                                            VARIANT* InitialColumnWidth/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyBorders/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyShading/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyFont/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyColor/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyHeadingRows/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyLastRow/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyFirstColumn/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyLastColumn/*[in,opt]*/= TNoParam(), 
                                            VARIANT* AutoFit/*[in,opt]*/= TNoParam(), 
                                            VARIANT* AutoFitBehavior/*[in,opt]*/= TNoParam(), 
                                            VARIANT* DefaultTableBehavior/*[in,opt]*/= TNoParam())
  {
    Word_xp::Table* prop = 0;
    OLECHECK(this->ConvertToTable(Separator, NumRows, NumColumns, InitialColumnWidth, Format, 
                                  ApplyBorders, ApplyShading, ApplyFont, ApplyColor, 
                                  ApplyHeadingRows, ApplyLastRow, ApplyFirstColumn, ApplyLastColumn, 
                                  AutoFit, AutoFitBehavior, DefaultTableBehavior, (Word_xp::Table**)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_LanguageDetected(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_LanguageDetected((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_FitTextWidth(void)
  {
    float prop;
    OLECHECK(this->get_FitTextWidth((float*)&prop));
    return prop;
  }

  Word_xp::WdHorizontalInVerticalType __fastcall get_HorizontalInVertical(void)
  {
    Word_xp::WdHorizontalInVerticalType prop;
    OLECHECK(this->get_HorizontalInVertical((Word_xp::WdHorizontalInVerticalType*)&prop));
    return prop;
  }

  Word_xp::WdTwoLinesInOneType __fastcall get_TwoLinesInOne(void)
  {
    Word_xp::WdTwoLinesInOneType prop;
    OLECHECK(this->get_TwoLinesInOne((Word_xp::WdTwoLinesInOneType*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CombineCharacters(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CombineCharacters((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_NoProofing(void)
  {
    long prop;
    OLECHECK(this->get_NoProofing((long*)&prop));
    return prop;
  }

  Word_xp::TablesPtr __fastcall get_TopLevelTables(void)
  {
    Word_xp::TablesPtr prop;
    OLECHECK(this->get_TopLevelTables(&prop));
    return prop;
  }

  Office_xp::ScriptsPtr __fastcall get_Scripts(void)
  {
    Office_xp::ScriptsPtr prop;
    OLECHECK(this->get_Scripts(&prop));
    return prop;
  }

  Word_xp::WdCharacterWidth __fastcall get_CharacterWidth(void)
  {
    Word_xp::WdCharacterWidth prop;
    OLECHECK(this->get_CharacterWidth((Word_xp::WdCharacterWidth*)&prop));
    return prop;
  }

  Word_xp::WdKana __fastcall get_Kana(void)
  {
    Word_xp::WdKana prop;
    OLECHECK(this->get_Kana((Word_xp::WdKana*)&prop));
    return prop;
  }

  long __fastcall get_BoldBi(void)
  {
    long prop;
    OLECHECK(this->get_BoldBi((long*)&prop));
    return prop;
  }

  long __fastcall get_ItalicBi(void)
  {
    long prop;
    OLECHECK(this->get_ItalicBi((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_ID(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ID((BSTR*)&prop));
    return prop;
  }

  Word_xp::HTMLDivisionsPtr __fastcall get_HTMLDivisions(void)
  {
    Word_xp::HTMLDivisionsPtr prop;
    OLECHECK(this->get_HTMLDivisions(&prop));
    return prop;
  }

  Word_xp::SmartTagsPtr __fastcall get_SmartTags(void)
  {
    Word_xp::SmartTagsPtr prop;
    OLECHECK(this->get_SmartTags(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowAll(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowAll((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordDocumentPtr __fastcall get_Document(void)
  {
    Word_xp::WordDocumentPtr prop;
    OLECHECK(this->get_Document(&prop));
    return prop;
  }

  Word_xp::FootnoteOptionsPtr __fastcall get_FootnoteOptions(void)
  {
    Word_xp::FootnoteOptionsPtr prop;
    OLECHECK(this->get_FootnoteOptions(&prop));
    return prop;
  }

  Word_xp::EndnoteOptionsPtr __fastcall get_EndnoteOptions(void)
  {
    Word_xp::EndnoteOptionsPtr prop;
    OLECHECK(this->get_EndnoteOptions(&prop));
    return prop;
  }


  __property   BSTR            Text = {read = get_Text, write = set_Text};
  __property   Word_xp::WordRangePtr FormattedText = {read = get_FormattedText, write = set_FormattedText};
  __property   long            Start = {read = get_Start, write = set_Start};
  __property   long            End = {read = get_End, write = set_End};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
  __property   Word_xp::WordRangePtr Duplicate = {read = get_Duplicate};
  __property   Word_xp::WdStoryType StoryType = {read = get_StoryType};
  __property   Word_xp::TablesPtr Tables = {read = get_Tables};
  __property   Word_xp::WordsPtr Words = {read = get_Words};
  __property   Word_xp::SentencesPtr Sentences = {read = get_Sentences};
  __property   Word_xp::CharactersPtr Characters = {read = get_Characters};
  __property   Word_xp::FootnotesPtr Footnotes = {read = get_Footnotes};
  __property   Word_xp::EndnotesPtr Endnotes = {read = get_Endnotes};
  __property   Word_xp::CommentsPtr Comments = {read = get_Comments};
  __property   Word_xp::CellsPtr Cells = {read = get_Cells};
  __property   Word_xp::SectionsPtr Sections = {read = get_Sections};
  __property   Word_xp::ParagraphsPtr Paragraphs = {read = get_Paragraphs};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::TextRetrievalModePtr TextRetrievalMode = {read = get_TextRetrievalMode, write = set_TextRetrievalMode};
  __property   Word_xp::FieldsPtr Fields = {read = get_Fields};
  __property   Word_xp::FormFieldsPtr FormFields = {read = get_FormFields};
  __property   Word_xp::FramesPtr Frames = {read = get_Frames};
  __property   Word_xp::WordParagraphFormatPtr ParagraphFormat = {read = get_ParagraphFormat, write = set_ParagraphFormat};
  __property   Word_xp::ListFormatPtr ListFormat = {read = get_ListFormat};
  __property   Word_xp::BookmarksPtr Bookmarks = {read = get_Bookmarks};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Bold = {read = get_Bold, write = set_Bold};
  __property   long            Italic = {read = get_Italic, write = set_Italic};
  __property   Word_xp::WdUnderline Underline = {read = get_Underline, write = set_Underline};
  __property   Word_xp::WdEmphasisMark EmphasisMark = {read = get_EmphasisMark, write = set_EmphasisMark};
  __property   VARIANT_BOOL    DisableCharacterSpaceGrid = {read = get_DisableCharacterSpaceGrid, write = set_DisableCharacterSpaceGrid};
  __property   Word_xp::RevisionsPtr Revisions = {read = get_Revisions};
  __property   long            StoryLength = {read = get_StoryLength};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   Word_xp::SynonymInfoPtr SynonymInfo = {read = get_SynonymInfo};
  __property   Word_xp::HyperlinksPtr Hyperlinks = {read = get_Hyperlinks};
  __property   Word_xp::ListParagraphsPtr ListParagraphs = {read = get_ListParagraphs};
  __property   Word_xp::SubdocumentsPtr Subdocuments = {read = get_Subdocuments};
  __property   VARIANT_BOOL    GrammarChecked = {read = get_GrammarChecked, write = set_GrammarChecked};
  __property   VARIANT_BOOL    SpellingChecked = {read = get_SpellingChecked, write = set_SpellingChecked};
  __property   Word_xp::WdColorIndex HighlightColorIndex = {read = get_HighlightColorIndex, write = set_HighlightColorIndex};
  __property   Word_xp::ColumnsPtr Columns = {read = get_Columns};
  __property   Word_xp::RowsPtr Rows = {read = get_Rows};
  __property   long            CanEdit = {read = get_CanEdit};
  __property   long            CanPaste = {read = get_CanPaste};
  __property   VARIANT_BOOL    IsEndOfRowMark = {read = get_IsEndOfRowMark};
  __property   long            BookmarkID = {read = get_BookmarkID};
  __property   long            PreviousBookmarkID = {read = get_PreviousBookmarkID};
  __property   Word_xp::FindPtr Find = {read = get_Find};
  __property   Word_xp::PageSetupPtr PageSetup = {read = get_PageSetup, write = set_PageSetup};
  __property   Word_xp::ShapeRangePtr ShapeRange = {read = get_ShapeRange};
  __property   Word_xp::WdCharacterCase Case = {read = get_Case, write = set_Case};
  __property   Word_xp::ReadabilityStatisticsPtr ReadabilityStatistics = {read = get_ReadabilityStatistics};
  __property   Word_xp::ProofreadingErrorsPtr GrammaticalErrors = {read = get_GrammaticalErrors};
  __property   Word_xp::ProofreadingErrorsPtr SpellingErrors = {read = get_SpellingErrors};
  __property   Word_xp::WdTextOrientation Orientation = {read = get_Orientation, write = set_Orientation};
  __property   Word_xp::InlineShapesPtr InlineShapes = {read = get_InlineShapes};
  __property   Word_xp::WordRangePtr NextStoryRange = {read = get_NextStoryRange};
  __property   Word_xp::WdLanguageID LanguageIDFarEast = {read = get_LanguageIDFarEast, write = set_LanguageIDFarEast};
  __property   Word_xp::WdLanguageID LanguageIDOther = {read = get_LanguageIDOther, write = set_LanguageIDOther};
  __property   VARIANT_BOOL    LanguageDetected = {read = get_LanguageDetected, write = set_LanguageDetected};
  __property   float           FitTextWidth = {read = get_FitTextWidth, write = set_FitTextWidth};
  __property   Word_xp::WdHorizontalInVerticalType HorizontalInVertical = {read = get_HorizontalInVertical, write = set_HorizontalInVertical};
  __property   Word_xp::WdTwoLinesInOneType TwoLinesInOne = {read = get_TwoLinesInOne, write = set_TwoLinesInOne};
  __property   VARIANT_BOOL    CombineCharacters = {read = get_CombineCharacters, write = set_CombineCharacters};
  __property   long            NoProofing = {read = get_NoProofing, write = set_NoProofing};
  __property   Word_xp::TablesPtr TopLevelTables = {read = get_TopLevelTables};
  __property   Office_xp::ScriptsPtr Scripts = {read = get_Scripts};
  __property   Word_xp::WdCharacterWidth CharacterWidth = {read = get_CharacterWidth, write = set_CharacterWidth};
  __property   Word_xp::WdKana Kana = {read = get_Kana, write = set_Kana};
  __property   long            BoldBi = {read = get_BoldBi, write = set_BoldBi};
  __property   long            ItalicBi = {read = get_ItalicBi, write = set_ItalicBi};
  __property   BSTR            ID = {read = get_ID, write = set_ID};
  __property   Word_xp::HTMLDivisionsPtr HTMLDivisions = {read = get_HTMLDivisions};
  __property   Word_xp::SmartTagsPtr SmartTags = {read = get_SmartTags};
  __property   VARIANT_BOOL    ShowAll = {read = get_ShowAll, write = set_ShowAll};
  __property   Word_xp::WordDocumentPtr Document = {read = get_Document};
  __property   Word_xp::FootnoteOptionsPtr FootnoteOptions = {read = get_FootnoteOptions};
  __property   Word_xp::EndnoteOptionsPtr EndnoteOptions = {read = get_EndnoteOptions};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ListFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C0-0000-0000-C000-000000000046}
// *********************************************************************//
interface ListFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ListLevelNumber(long* prop/*[out,retval]*/) = 0; // [68]
  virtual HRESULT STDMETHODCALLTYPE set_ListLevelNumber(long prop/*[in]*/) = 0; // [68]
  virtual HRESULT STDMETHODCALLTYPE get_List(Word_xp::List** prop/*[out,retval]*/) = 0; // [69]
  virtual HRESULT STDMETHODCALLTYPE get_ListTemplate(Word_xp::ListTemplate** prop/*[out,retval]*/) = 0; // [70]
  virtual HRESULT STDMETHODCALLTYPE get_ListValue(long* prop/*[out,retval]*/) = 0; // [71]
  virtual HRESULT STDMETHODCALLTYPE get_SingleList(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [72]
  virtual HRESULT STDMETHODCALLTYPE get_SingleListTemplate(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [73]
  virtual HRESULT STDMETHODCALLTYPE get_ListType(Word_xp::WdListType* prop/*[out,retval]*/) = 0; // [74]
  virtual HRESULT STDMETHODCALLTYPE get_ListString(BSTR* prop/*[out,retval]*/) = 0; // [75]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE CanContinuePreviousList(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                                            Word_xp::WdContinue* prop/*[out,retval]*/) = 0; // [184]
  virtual HRESULT STDMETHODCALLTYPE RemoveNumbers(VARIANT* NumberType/*[in,opt]*/= TNoParam()) = 0; // [185]
  virtual HRESULT STDMETHODCALLTYPE ConvertNumbersToText(VARIANT* NumberType/*[in,opt]*/= TNoParam()) = 0; // [186]
  virtual HRESULT STDMETHODCALLTYPE CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, 
                                                       VARIANT* Level/*[in,opt]*/, 
                                                       long* prop/*[out,retval]*/) = 0; // [187]
  virtual HRESULT STDMETHODCALLTYPE ApplyBulletDefaultOld(void) = 0; // [188]
  virtual HRESULT STDMETHODCALLTYPE ApplyNumberDefaultOld(void) = 0; // [189]
  virtual HRESULT STDMETHODCALLTYPE ApplyOutlineNumberDefaultOld(void) = 0; // [190]
  virtual HRESULT STDMETHODCALLTYPE ApplyListTemplateOld(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                                         VARIANT* ContinuePreviousList/*[in,opt]*/= TNoParam(), 
                                                         VARIANT* ApplyTo/*[in,opt]*/= TNoParam()) = 0; // [191]
  virtual HRESULT STDMETHODCALLTYPE ListOutdent(void) = 0; // [210]
  virtual HRESULT STDMETHODCALLTYPE ListIndent(void) = 0; // [211]
  virtual HRESULT STDMETHODCALLTYPE ApplyBulletDefault(VARIANT* DefaultListBehavior/*[in,opt]*/= TNoParam()) = 0; // [212]
  virtual HRESULT STDMETHODCALLTYPE ApplyNumberDefault(VARIANT* DefaultListBehavior/*[in,opt]*/= TNoParam()) = 0; // [213]
  virtual HRESULT STDMETHODCALLTYPE ApplyOutlineNumberDefault(VARIANT* DefaultListBehavior/*[in,opt]*/= TNoParam()) = 0; // [214]
  virtual HRESULT STDMETHODCALLTYPE ApplyListTemplate(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                                      VARIANT* ContinuePreviousList/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* ApplyTo/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* DefaultListBehavior/*[in,opt]*/= TNoParam()) = 0; // [215]
  virtual HRESULT STDMETHODCALLTYPE get_ListPictureBullet(Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [76]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  long __fastcall get_ListLevelNumber(void)
  {
    long prop;
    OLECHECK(this->get_ListLevelNumber((long*)&prop));
    return prop;
  }

  Word_xp::ListPtr __fastcall get_List(void)
  {
    Word_xp::ListPtr prop;
    OLECHECK(this->get_List(&prop));
    return prop;
  }

  Word_xp::ListTemplatePtr __fastcall get_ListTemplate(void)
  {
    Word_xp::ListTemplatePtr prop;
    OLECHECK(this->get_ListTemplate(&prop));
    return prop;
  }

  long __fastcall get_ListValue(void)
  {
    long prop;
    OLECHECK(this->get_ListValue((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SingleList(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SingleList((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SingleListTemplate(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SingleListTemplate((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdListType __fastcall get_ListType(void)
  {
    Word_xp::WdListType prop;
    OLECHECK(this->get_ListType((Word_xp::WdListType*)&prop));
    return prop;
  }

  BSTR __fastcall get_ListString(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ListString((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdContinue __fastcall CanContinuePreviousList(Word_xp::ListTemplate* ListTemplate/*[in]*/)
  {
    Word_xp::WdContinue prop;
    OLECHECK(this->CanContinuePreviousList(ListTemplate, (Word_xp::WdContinue*)&prop));
    return prop;
  }

  long __fastcall CountNumberedItems(VARIANT* NumberType/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Level/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->CountNumberedItems(NumberType, Level, (long*)&prop));
    return prop;
  }

  Word_xp::InlineShapePtr __fastcall get_ListPictureBullet(void)
  {
    Word_xp::InlineShapePtr prop;
    OLECHECK(this->get_ListPictureBullet(&prop));
    return prop;
  }


  __property   long            ListLevelNumber = {read = get_ListLevelNumber, write = set_ListLevelNumber};
  __property   Word_xp::ListPtr List = {read = get_List};
  __property   Word_xp::ListTemplatePtr ListTemplate = {read = get_ListTemplate};
  __property   long            ListValue = {read = get_ListValue};
  __property   VARIANT_BOOL    SingleList = {read = get_SingleList};
  __property   VARIANT_BOOL    SingleListTemplate = {read = get_SingleListTemplate};
  __property   Word_xp::WdListType ListType = {read = get_ListType};
  __property   BSTR            ListString = {read = get_ListString};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::InlineShapePtr ListPictureBullet = {read = get_ListPictureBullet};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Find
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B0-0000-0000-C000-000000000046}
// *********************************************************************//
interface Find  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Forward(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_Forward(VARIANT_BOOL prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_Font(Word_xp::WordFont** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_Font(Word_xp::WordFont* prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_Found(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_MatchAllWordForms(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_MatchAllWordForms(VARIANT_BOOL prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_MatchCase(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_MatchCase(VARIANT_BOOL prop/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_MatchWildcards(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE set_MatchWildcards(VARIANT_BOOL prop/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_MatchSoundsLike(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE set_MatchSoundsLike(VARIANT_BOOL prop/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_MatchWholeWord(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE set_MatchWholeWord(VARIANT_BOOL prop/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzy(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [40]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzy(VARIANT_BOOL prop/*[in]*/) = 0; // [40]
  virtual HRESULT STDMETHODCALLTYPE get_MatchByte(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [41]
  virtual HRESULT STDMETHODCALLTYPE set_MatchByte(VARIANT_BOOL prop/*[in]*/) = 0; // [41]
  virtual HRESULT STDMETHODCALLTYPE get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE set_ParagraphFormat(Word_xp::WordParagraphFormat* prop/*[in]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_Style(VARIANT* prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE set_Style(VARIANT* prop/*[in]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE get_Text(BSTR* prop/*[out,retval]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE set_Text(BSTR prop/*[in]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE get_Highlight(long* prop/*[out,retval]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE set_Highlight(long prop/*[in]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE get_Replacement(Word_xp::Replacement** prop/*[out,retval]*/) = 0; // [25]
  virtual HRESULT STDMETHODCALLTYPE get_Frame(Word_xp::Frame** prop/*[out,retval]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE get_Wrap(Word_xp::WdFindWrap* prop/*[out,retval]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE set_Wrap(Word_xp::WdFindWrap prop/*[in]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE get_Format(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE set_Format(VARIANT_BOOL prop/*[in]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageIDOther(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [60]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageIDOther(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [60]
  virtual HRESULT STDMETHODCALLTYPE get_CorrectHangulEndings(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [61]
  virtual HRESULT STDMETHODCALLTYPE set_CorrectHangulEndings(VARIANT_BOOL prop/*[in]*/) = 0; // [61]
  virtual HRESULT STDMETHODCALLTYPE ExecuteOld(VARIANT* FindText/*[in,opt]*/, 
                                               VARIANT* MatchCase/*[in,opt]*/, 
                                               VARIANT* MatchWholeWord/*[in,opt]*/, 
                                               VARIANT* MatchWildcards/*[in,opt]*/, 
                                               VARIANT* MatchSoundsLike/*[in,opt]*/, 
                                               VARIANT* MatchAllWordForms/*[in,opt]*/, 
                                               VARIANT* Forward/*[in,opt]*/, 
                                               VARIANT* Wrap/*[in,opt]*/, 
                                               VARIANT* Format/*[in,opt]*/, 
                                               VARIANT* ReplaceWith/*[in,opt]*/, 
                                               VARIANT* Replace/*[in,opt]*/, 
                                               VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE ClearFormatting(void) = 0; // [31]
  virtual HRESULT STDMETHODCALLTYPE SetAllFuzzyOptions(void) = 0; // [32]
  virtual HRESULT STDMETHODCALLTYPE ClearAllFuzzyOptions(void) = 0; // [33]
  virtual HRESULT STDMETHODCALLTYPE Execute(VARIANT* FindText/*[in,opt]*/, 
                                            VARIANT* MatchCase/*[in,opt]*/, 
                                            VARIANT* MatchWholeWord/*[in,opt]*/, 
                                            VARIANT* MatchWildcards/*[in,opt]*/, 
                                            VARIANT* MatchSoundsLike/*[in,opt]*/, 
                                            VARIANT* MatchAllWordForms/*[in,opt]*/, 
                                            VARIANT* Forward/*[in,opt]*/, VARIANT* Wrap/*[in,opt]*/, 
                                            VARIANT* Format/*[in,opt]*/, 
                                            VARIANT* ReplaceWith/*[in,opt]*/, 
                                            VARIANT* Replace/*[in,opt]*/, 
                                            VARIANT* MatchKashida/*[in,opt]*/, 
                                            VARIANT* MatchDiacritics/*[in,opt]*/, 
                                            VARIANT* MatchAlefHamza/*[in,opt]*/, 
                                            VARIANT* MatchControl/*[in,opt]*/, 
                                            VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [444]
  virtual HRESULT STDMETHODCALLTYPE get_NoProofing(long* prop/*[out,retval]*/) = 0; // [34]
  virtual HRESULT STDMETHODCALLTYPE set_NoProofing(long prop/*[in]*/) = 0; // [34]
  virtual HRESULT STDMETHODCALLTYPE get_MatchKashida(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_MatchKashida(VARIANT_BOOL prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_MatchDiacritics(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_MatchDiacritics(VARIANT_BOOL prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_MatchAlefHamza(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_MatchAlefHamza(VARIANT_BOOL prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_MatchControl(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_MatchControl(VARIANT_BOOL prop/*[in]*/) = 0; // [103]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Forward(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Forward((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordFontPtr __fastcall get_Font(void)
  {
    Word_xp::WordFontPtr prop;
    OLECHECK(this->get_Font(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Font(Word_xp::WordFontPtr prop/*[in]*/)
  {
    return set_Font((Word_xp::WordFont*)prop/*[in]*/);
  }

  VARIANT_BOOL __fastcall get_Found(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Found((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchAllWordForms(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchAllWordForms((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchCase(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchCase((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchWildcards(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchWildcards((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchSoundsLike(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchSoundsLike((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchWholeWord(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchWholeWord((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzy(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzy((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchByte(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchByte((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordParagraphFormatPtr __fastcall get_ParagraphFormat(void)
  {
    Word_xp::WordParagraphFormatPtr prop;
    OLECHECK(this->get_ParagraphFormat(&prop));
    return prop;
  }

  HRESULT __fastcall  set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
  {
    return set_ParagraphFormat((Word_xp::WordParagraphFormat*)prop/*[in]*/);
  }

  VARIANT __fastcall get_Style(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Style((VARIANT*)&prop));
    return prop;
  }

  BSTR __fastcall get_Text(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Text((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageID(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageID((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  long __fastcall get_Highlight(void)
  {
    long prop;
    OLECHECK(this->get_Highlight((long*)&prop));
    return prop;
  }

  Word_xp::ReplacementPtr __fastcall get_Replacement(void)
  {
    Word_xp::ReplacementPtr prop;
    OLECHECK(this->get_Replacement(&prop));
    return prop;
  }

  Word_xp::FramePtr __fastcall get_Frame(void)
  {
    Word_xp::FramePtr prop;
    OLECHECK(this->get_Frame(&prop));
    return prop;
  }

  Word_xp::WdFindWrap __fastcall get_Wrap(void)
  {
    Word_xp::WdFindWrap prop;
    OLECHECK(this->get_Wrap((Word_xp::WdFindWrap*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Format(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Format((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageIDFarEast(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageIDFarEast((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageIDOther(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageIDOther((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CorrectHangulEndings(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CorrectHangulEndings((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall ExecuteOld(VARIANT* FindText/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchCase/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchWholeWord/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchWildcards/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchSoundsLike/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchAllWordForms/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Forward/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Wrap/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                     VARIANT* ReplaceWith/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Replace/*[in,opt]*/= TNoParam())
  {
    VARIANT_BOOL prop;
    OLECHECK(this->ExecuteOld(FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, 
                              MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, Replace, (VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall Execute(VARIANT* FindText/*[in,opt]*/= TNoParam(), 
                                  VARIANT* MatchCase/*[in,opt]*/= TNoParam(), 
                                  VARIANT* MatchWholeWord/*[in,opt]*/= TNoParam(), 
                                  VARIANT* MatchWildcards/*[in,opt]*/= TNoParam(), 
                                  VARIANT* MatchSoundsLike/*[in,opt]*/= TNoParam(), 
                                  VARIANT* MatchAllWordForms/*[in,opt]*/= TNoParam(), 
                                  VARIANT* Forward/*[in,opt]*/= TNoParam(), 
                                  VARIANT* Wrap/*[in,opt]*/= TNoParam(), 
                                  VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                  VARIANT* ReplaceWith/*[in,opt]*/= TNoParam(), 
                                  VARIANT* Replace/*[in,opt]*/= TNoParam(), 
                                  VARIANT* MatchKashida/*[in,opt]*/= TNoParam(), 
                                  VARIANT* MatchDiacritics/*[in,opt]*/= TNoParam(), 
                                  VARIANT* MatchAlefHamza/*[in,opt]*/= TNoParam(), 
                                  VARIANT* MatchControl/*[in,opt]*/= TNoParam())
  {
    VARIANT_BOOL prop;
    OLECHECK(this->Execute(FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, 
                           MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, Replace, 
                           MatchKashida, MatchDiacritics, MatchAlefHamza, MatchControl, (VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_NoProofing(void)
  {
    long prop;
    OLECHECK(this->get_NoProofing((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchKashida(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchKashida((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchDiacritics(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchDiacritics((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchAlefHamza(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchAlefHamza((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchControl(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchControl((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Forward = {read = get_Forward, write = set_Forward};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
  __property   VARIANT_BOOL    Found = {read = get_Found};
  __property   VARIANT_BOOL    MatchAllWordForms = {read = get_MatchAllWordForms, write = set_MatchAllWordForms};
  __property   VARIANT_BOOL    MatchCase = {read = get_MatchCase, write = set_MatchCase};
  __property   VARIANT_BOOL    MatchWildcards = {read = get_MatchWildcards, write = set_MatchWildcards};
  __property   VARIANT_BOOL    MatchSoundsLike = {read = get_MatchSoundsLike, write = set_MatchSoundsLike};
  __property   VARIANT_BOOL    MatchWholeWord = {read = get_MatchWholeWord, write = set_MatchWholeWord};
  __property   VARIANT_BOOL    MatchFuzzy = {read = get_MatchFuzzy, write = set_MatchFuzzy};
  __property   VARIANT_BOOL    MatchByte = {read = get_MatchByte, write = set_MatchByte};
  __property   Word_xp::WordParagraphFormatPtr ParagraphFormat = {read = get_ParagraphFormat, write = set_ParagraphFormat};
  __property   BSTR            Text = {read = get_Text, write = set_Text};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   long            Highlight = {read = get_Highlight, write = set_Highlight};
  __property   Word_xp::ReplacementPtr Replacement = {read = get_Replacement};
  __property   Word_xp::FramePtr Frame = {read = get_Frame};
  __property   Word_xp::WdFindWrap Wrap = {read = get_Wrap, write = set_Wrap};
  __property   VARIANT_BOOL    Format = {read = get_Format, write = set_Format};
  __property   Word_xp::WdLanguageID LanguageIDFarEast = {read = get_LanguageIDFarEast, write = set_LanguageIDFarEast};
  __property   Word_xp::WdLanguageID LanguageIDOther = {read = get_LanguageIDOther, write = set_LanguageIDOther};
  __property   VARIANT_BOOL    CorrectHangulEndings = {read = get_CorrectHangulEndings, write = set_CorrectHangulEndings};
  __property   long            NoProofing = {read = get_NoProofing, write = set_NoProofing};
  __property   VARIANT_BOOL    MatchKashida = {read = get_MatchKashida, write = set_MatchKashida};
  __property   VARIANT_BOOL    MatchDiacritics = {read = get_MatchDiacritics, write = set_MatchDiacritics};
  __property   VARIANT_BOOL    MatchAlefHamza = {read = get_MatchAlefHamza, write = set_MatchAlefHamza};
  __property   VARIANT_BOOL    MatchControl = {read = get_MatchControl, write = set_MatchControl};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Replacement
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B1-0000-0000-C000-000000000046}
// *********************************************************************//
interface Replacement  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Font(Word_xp::WordFont** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_Font(Word_xp::WordFont* prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_ParagraphFormat(Word_xp::WordParagraphFormat* prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_Style(VARIANT* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_Style(VARIANT* prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_Text(BSTR* prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE set_Text(BSTR prop/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_Highlight(long* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE set_Highlight(long prop/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_Frame(Word_xp::Frame** prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE ClearFormatting(void) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE get_NoProofing(long* prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE set_NoProofing(long prop/*[in]*/) = 0; // [21]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordFontPtr __fastcall get_Font(void)
  {
    Word_xp::WordFontPtr prop;
    OLECHECK(this->get_Font(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Font(Word_xp::WordFontPtr prop/*[in]*/)
  {
    return set_Font((Word_xp::WordFont*)prop/*[in]*/);
  }

  Word_xp::WordParagraphFormatPtr __fastcall get_ParagraphFormat(void)
  {
    Word_xp::WordParagraphFormatPtr prop;
    OLECHECK(this->get_ParagraphFormat(&prop));
    return prop;
  }

  HRESULT __fastcall  set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
  {
    return set_ParagraphFormat((Word_xp::WordParagraphFormat*)prop/*[in]*/);
  }

  VARIANT __fastcall get_Style(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Style((VARIANT*)&prop));
    return prop;
  }

  BSTR __fastcall get_Text(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Text((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageID(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageID((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  long __fastcall get_Highlight(void)
  {
    long prop;
    OLECHECK(this->get_Highlight((long*)&prop));
    return prop;
  }

  Word_xp::FramePtr __fastcall get_Frame(void)
  {
    Word_xp::FramePtr prop;
    OLECHECK(this->get_Frame(&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageIDFarEast(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageIDFarEast((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  long __fastcall get_NoProofing(void)
  {
    long prop;
    OLECHECK(this->get_NoProofing((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
  __property   Word_xp::WordParagraphFormatPtr ParagraphFormat = {read = get_ParagraphFormat, write = set_ParagraphFormat};
  __property   BSTR            Text = {read = get_Text, write = set_Text};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   long            Highlight = {read = get_Highlight, write = set_Highlight};
  __property   Word_xp::FramePtr Frame = {read = get_Frame};
  __property   Word_xp::WdLanguageID LanguageIDFarEast = {read = get_LanguageIDFarEast, write = set_LanguageIDFarEast};
  __property   long            NoProofing = {read = get_NoProofing, write = set_NoProofing};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Characters
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095D-0000-0000-C000-000000000046}
// *********************************************************************//
interface Characters  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_First(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Last(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_First(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_First(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Last(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Last(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::WordRange**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordRangePtr First = {read = get_First};
  __property   Word_xp::WordRangePtr Last = {read = get_Last};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Words
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095C-0000-0000-C000-000000000046}
// *********************************************************************//
interface Words  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_First(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Last(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_First(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_First(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Last(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Last(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::WordRange**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordRangePtr First = {read = get_First};
  __property   Word_xp::WordRangePtr Last = {read = get_Last};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Sentences
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095B-0000-0000-C000-000000000046}
// *********************************************************************//
interface Sentences  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_First(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Last(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_First(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_First(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Last(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Last(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::WordRange**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordRangePtr First = {read = get_First};
  __property   Word_xp::WordRangePtr Last = {read = get_Last};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Sections
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095A-0000-0000-C000-000000000046}
// *********************************************************************//
interface Sections  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_First(Word_xp::Section** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Last(Word_xp::Section** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE set_PageSetup(Word_xp::PageSetup* prop/*[in]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::Section** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* Range/*[in,opt]*/, VARIANT* Start/*[in,opt]*/, 
                                        Word_xp::Section** prop/*[out,retval]*/) = 0; // [5]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::SectionPtr __fastcall get_First(void)
  {
    Word_xp::SectionPtr prop;
    OLECHECK(this->get_First(&prop));
    return prop;
  }

  Word_xp::SectionPtr __fastcall get_Last(void)
  {
    Word_xp::SectionPtr prop;
    OLECHECK(this->get_Last(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::PageSetupPtr __fastcall get_PageSetup(void)
  {
    Word_xp::PageSetupPtr prop;
    OLECHECK(this->get_PageSetup(&prop));
    return prop;
  }

  HRESULT __fastcall  set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/)
  {
    return set_PageSetup((Word_xp::PageSetup*)prop/*[in]*/);
  }

  Word_xp::Section* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Section* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Section**)&prop));
    return prop;
  }

  Word_xp::Section* __fastcall Add(VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                   VARIANT* Start/*[in,opt]*/= TNoParam())
  {
    Word_xp::Section* prop = 0;
    OLECHECK(this->Add(Range, Start, (Word_xp::Section**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::SectionPtr First = {read = get_First};
  __property   Word_xp::SectionPtr Last = {read = get_Last};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::PageSetupPtr PageSetup = {read = get_PageSetup, write = set_PageSetup};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Section
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020959-0000-0000-C000-000000000046}
// *********************************************************************//
interface Section  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE set_PageSetup(Word_xp::PageSetup* prop/*[in]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE get_Headers(Word_xp::HeadersFooters** prop/*[out,retval]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE get_Footers(Word_xp::HeadersFooters** prop/*[out,retval]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE get_ProtectedForForms(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE set_ProtectedForForms(VARIANT_BOOL prop/*[in]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::PageSetupPtr __fastcall get_PageSetup(void)
  {
    Word_xp::PageSetupPtr prop;
    OLECHECK(this->get_PageSetup(&prop));
    return prop;
  }

  HRESULT __fastcall  set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/)
  {
    return set_PageSetup((Word_xp::PageSetup*)prop/*[in]*/);
  }

  Word_xp::HeadersFootersPtr __fastcall get_Headers(void)
  {
    Word_xp::HeadersFootersPtr prop;
    OLECHECK(this->get_Headers(&prop));
    return prop;
  }

  Word_xp::HeadersFootersPtr __fastcall get_Footers(void)
  {
    Word_xp::HeadersFootersPtr prop;
    OLECHECK(this->get_Footers(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ProtectedForForms(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ProtectedForForms((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }


  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::PageSetupPtr PageSetup = {read = get_PageSetup, write = set_PageSetup};
  __property   Word_xp::HeadersFootersPtr Headers = {read = get_Headers};
  __property   Word_xp::HeadersFootersPtr Footers = {read = get_Footers};
  __property   VARIANT_BOOL    ProtectedForForms = {read = get_ProtectedForForms, write = set_ProtectedForForms};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Paragraphs
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020958-0000-0000-C000-000000000046}
// *********************************************************************//
interface Paragraphs  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_First(Word_xp::Paragraph** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Last(Word_xp::Paragraph** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Format(Word_xp::WordParagraphFormat** prop/*[out,retval]*/) = 0; // [1102]
  virtual HRESULT STDMETHODCALLTYPE set_Format(Word_xp::WordParagraphFormat* prop/*[in]*/) = 0; // [1102]
  virtual HRESULT STDMETHODCALLTYPE get_TabStops(Word_xp::TabStops** prop/*[out,retval]*/) = 0; // [1103]
  virtual HRESULT STDMETHODCALLTYPE set_TabStops(Word_xp::TabStops* prop/*[in]*/) = 0; // [1103]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Style(VARIANT* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Style(VARIANT* prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Alignment(Word_xp::WdParagraphAlignment* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_Alignment(Word_xp::WdParagraphAlignment prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_KeepTogether(long* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_KeepTogether(long prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_KeepWithNext(long* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_KeepWithNext(long prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_PageBreakBefore(long* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_PageBreakBefore(long prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_NoLineNumber(long* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_NoLineNumber(long prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_RightIndent(float* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_RightIndent(float prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_LeftIndent(float* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_LeftIndent(float prop/*[in]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_FirstLineIndent(float* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE set_FirstLineIndent(float prop/*[in]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_LineSpacing(float* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_LineSpacing(float prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_LineSpacingRule(Word_xp::WdLineSpacing* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE set_LineSpacingRule(Word_xp::WdLineSpacing prop/*[in]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceBefore(float* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceBefore(float prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceAfter(float* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceAfter(float prop/*[in]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_Hyphenation(long* prop/*[out,retval]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE set_Hyphenation(long prop/*[in]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE get_WidowControl(long* prop/*[out,retval]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE set_WidowControl(long prop/*[in]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE get_FarEastLineBreakControl(long* prop/*[out,retval]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE set_FarEastLineBreakControl(long prop/*[in]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE get_WordWrap(long* prop/*[out,retval]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE set_WordWrap(long prop/*[in]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE get_HangingPunctuation(long* prop/*[out,retval]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE set_HangingPunctuation(long prop/*[in]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE get_HalfWidthPunctuationOnTopOfLine(long* prop/*[out,retval]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE set_HalfWidthPunctuationOnTopOfLine(long prop/*[in]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE get_AddSpaceBetweenFarEastAndAlpha(long* prop/*[out,retval]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE set_AddSpaceBetweenFarEastAndAlpha(long prop/*[in]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE get_AddSpaceBetweenFarEastAndDigit(long* prop/*[out,retval]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE set_AddSpaceBetweenFarEastAndDigit(long prop/*[in]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE get_BaseLineAlignment(Word_xp::WdBaselineAlignment* prop/*[out,retval]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE set_BaseLineAlignment(Word_xp::WdBaselineAlignment prop/*[in]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE get_AutoAdjustRightIndent(long* prop/*[out,retval]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE set_AutoAdjustRightIndent(long prop/*[in]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE get_DisableLineHeightGrid(long* prop/*[out,retval]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE set_DisableLineHeightGrid(long prop/*[in]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE get_OutlineLevel(Word_xp::WdOutlineLevel* prop/*[out,retval]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE set_OutlineLevel(Word_xp::WdOutlineLevel prop/*[in]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::Paragraph** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* Range/*[in,opt]*/, 
                                        Word_xp::Paragraph** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE CloseUp(void) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE OpenUp(void) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE OpenOrCloseUp(void) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE TabHangingIndent(short Count/*[in]*/) = 0; // [304]
  virtual HRESULT STDMETHODCALLTYPE TabIndent(short Count/*[in]*/) = 0; // [306]
  virtual HRESULT STDMETHODCALLTYPE Reset(void) = 0; // [312]
  virtual HRESULT STDMETHODCALLTYPE Space1(void) = 0; // [313]
  virtual HRESULT STDMETHODCALLTYPE Space15(void) = 0; // [314]
  virtual HRESULT STDMETHODCALLTYPE Space2(void) = 0; // [315]
  virtual HRESULT STDMETHODCALLTYPE IndentCharWidth(short Count/*[in]*/) = 0; // [320]
  virtual HRESULT STDMETHODCALLTYPE IndentFirstLineCharWidth(short Count/*[in]*/) = 0; // [322]
  virtual HRESULT STDMETHODCALLTYPE OutlinePromote(void) = 0; // [324]
  virtual HRESULT STDMETHODCALLTYPE OutlineDemote(void) = 0; // [325]
  virtual HRESULT STDMETHODCALLTYPE OutlineDemoteToBody(void) = 0; // [326]
  virtual HRESULT STDMETHODCALLTYPE Indent(void) = 0; // [333]
  virtual HRESULT STDMETHODCALLTYPE Outdent(void) = 0; // [334]
  virtual HRESULT STDMETHODCALLTYPE get_CharacterUnitRightIndent(float* prop/*[out,retval]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE set_CharacterUnitRightIndent(float prop/*[in]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE get_CharacterUnitLeftIndent(float* prop/*[out,retval]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE set_CharacterUnitLeftIndent(float prop/*[in]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE get_CharacterUnitFirstLineIndent(float* prop/*[out,retval]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE set_CharacterUnitFirstLineIndent(float prop/*[in]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE get_LineUnitBefore(float* prop/*[out,retval]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE set_LineUnitBefore(float prop/*[in]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE get_LineUnitAfter(float* prop/*[out,retval]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE set_LineUnitAfter(float prop/*[in]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE get_ReadingOrder(Word_xp::WdReadingOrder* prop/*[out,retval]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE set_ReadingOrder(Word_xp::WdReadingOrder prop/*[in]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceBeforeAuto(long* prop/*[out,retval]*/) = 0; // [132]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceBeforeAuto(long prop/*[in]*/) = 0; // [132]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceAfterAuto(long* prop/*[out,retval]*/) = 0; // [133]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceAfterAuto(long prop/*[in]*/) = 0; // [133]
  virtual HRESULT STDMETHODCALLTYPE IncreaseSpacing(void) = 0; // [335]
  virtual HRESULT STDMETHODCALLTYPE DecreaseSpacing(void) = 0; // [336]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::ParagraphPtr __fastcall get_First(void)
  {
    Word_xp::ParagraphPtr prop;
    OLECHECK(this->get_First(&prop));
    return prop;
  }

  Word_xp::ParagraphPtr __fastcall get_Last(void)
  {
    Word_xp::ParagraphPtr prop;
    OLECHECK(this->get_Last(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordParagraphFormatPtr __fastcall get_Format(void)
  {
    Word_xp::WordParagraphFormatPtr prop;
    OLECHECK(this->get_Format(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Format(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
  {
    return set_Format((Word_xp::WordParagraphFormat*)prop/*[in]*/);
  }

  Word_xp::TabStopsPtr __fastcall get_TabStops(void)
  {
    Word_xp::TabStopsPtr prop;
    OLECHECK(this->get_TabStops(&prop));
    return prop;
  }

  HRESULT __fastcall  set_TabStops(Word_xp::TabStopsPtr prop/*[in]*/)
  {
    return set_TabStops((Word_xp::TabStops*)prop/*[in]*/);
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  VARIANT __fastcall get_Style(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Style((VARIANT*)&prop));
    return prop;
  }

  Word_xp::WdParagraphAlignment __fastcall get_Alignment(void)
  {
    Word_xp::WdParagraphAlignment prop;
    OLECHECK(this->get_Alignment((Word_xp::WdParagraphAlignment*)&prop));
    return prop;
  }

  long __fastcall get_KeepTogether(void)
  {
    long prop;
    OLECHECK(this->get_KeepTogether((long*)&prop));
    return prop;
  }

  long __fastcall get_KeepWithNext(void)
  {
    long prop;
    OLECHECK(this->get_KeepWithNext((long*)&prop));
    return prop;
  }

  long __fastcall get_PageBreakBefore(void)
  {
    long prop;
    OLECHECK(this->get_PageBreakBefore((long*)&prop));
    return prop;
  }

  long __fastcall get_NoLineNumber(void)
  {
    long prop;
    OLECHECK(this->get_NoLineNumber((long*)&prop));
    return prop;
  }

  float __fastcall get_RightIndent(void)
  {
    float prop;
    OLECHECK(this->get_RightIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_LeftIndent(void)
  {
    float prop;
    OLECHECK(this->get_LeftIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_FirstLineIndent(void)
  {
    float prop;
    OLECHECK(this->get_FirstLineIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_LineSpacing(void)
  {
    float prop;
    OLECHECK(this->get_LineSpacing((float*)&prop));
    return prop;
  }

  Word_xp::WdLineSpacing __fastcall get_LineSpacingRule(void)
  {
    Word_xp::WdLineSpacing prop;
    OLECHECK(this->get_LineSpacingRule((Word_xp::WdLineSpacing*)&prop));
    return prop;
  }

  float __fastcall get_SpaceBefore(void)
  {
    float prop;
    OLECHECK(this->get_SpaceBefore((float*)&prop));
    return prop;
  }

  float __fastcall get_SpaceAfter(void)
  {
    float prop;
    OLECHECK(this->get_SpaceAfter((float*)&prop));
    return prop;
  }

  long __fastcall get_Hyphenation(void)
  {
    long prop;
    OLECHECK(this->get_Hyphenation((long*)&prop));
    return prop;
  }

  long __fastcall get_WidowControl(void)
  {
    long prop;
    OLECHECK(this->get_WidowControl((long*)&prop));
    return prop;
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  long __fastcall get_FarEastLineBreakControl(void)
  {
    long prop;
    OLECHECK(this->get_FarEastLineBreakControl((long*)&prop));
    return prop;
  }

  long __fastcall get_WordWrap(void)
  {
    long prop;
    OLECHECK(this->get_WordWrap((long*)&prop));
    return prop;
  }

  long __fastcall get_HangingPunctuation(void)
  {
    long prop;
    OLECHECK(this->get_HangingPunctuation((long*)&prop));
    return prop;
  }

  long __fastcall get_HalfWidthPunctuationOnTopOfLine(void)
  {
    long prop;
    OLECHECK(this->get_HalfWidthPunctuationOnTopOfLine((long*)&prop));
    return prop;
  }

  long __fastcall get_AddSpaceBetweenFarEastAndAlpha(void)
  {
    long prop;
    OLECHECK(this->get_AddSpaceBetweenFarEastAndAlpha((long*)&prop));
    return prop;
  }

  long __fastcall get_AddSpaceBetweenFarEastAndDigit(void)
  {
    long prop;
    OLECHECK(this->get_AddSpaceBetweenFarEastAndDigit((long*)&prop));
    return prop;
  }

  Word_xp::WdBaselineAlignment __fastcall get_BaseLineAlignment(void)
  {
    Word_xp::WdBaselineAlignment prop;
    OLECHECK(this->get_BaseLineAlignment((Word_xp::WdBaselineAlignment*)&prop));
    return prop;
  }

  long __fastcall get_AutoAdjustRightIndent(void)
  {
    long prop;
    OLECHECK(this->get_AutoAdjustRightIndent((long*)&prop));
    return prop;
  }

  long __fastcall get_DisableLineHeightGrid(void)
  {
    long prop;
    OLECHECK(this->get_DisableLineHeightGrid((long*)&prop));
    return prop;
  }

  Word_xp::WdOutlineLevel __fastcall get_OutlineLevel(void)
  {
    Word_xp::WdOutlineLevel prop;
    OLECHECK(this->get_OutlineLevel((Word_xp::WdOutlineLevel*)&prop));
    return prop;
  }

  Word_xp::Paragraph* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Paragraph* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Paragraph**)&prop));
    return prop;
  }

  Word_xp::Paragraph* __fastcall Add(VARIANT* Range/*[in,opt]*/= TNoParam())
  {
    Word_xp::Paragraph* prop = 0;
    OLECHECK(this->Add(Range, (Word_xp::Paragraph**)&prop));
    return prop;
  }

  float __fastcall get_CharacterUnitRightIndent(void)
  {
    float prop;
    OLECHECK(this->get_CharacterUnitRightIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_CharacterUnitLeftIndent(void)
  {
    float prop;
    OLECHECK(this->get_CharacterUnitLeftIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_CharacterUnitFirstLineIndent(void)
  {
    float prop;
    OLECHECK(this->get_CharacterUnitFirstLineIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_LineUnitBefore(void)
  {
    float prop;
    OLECHECK(this->get_LineUnitBefore((float*)&prop));
    return prop;
  }

  float __fastcall get_LineUnitAfter(void)
  {
    float prop;
    OLECHECK(this->get_LineUnitAfter((float*)&prop));
    return prop;
  }

  Word_xp::WdReadingOrder __fastcall get_ReadingOrder(void)
  {
    Word_xp::WdReadingOrder prop;
    OLECHECK(this->get_ReadingOrder((Word_xp::WdReadingOrder*)&prop));
    return prop;
  }

  long __fastcall get_SpaceBeforeAuto(void)
  {
    long prop;
    OLECHECK(this->get_SpaceBeforeAuto((long*)&prop));
    return prop;
  }

  long __fastcall get_SpaceAfterAuto(void)
  {
    long prop;
    OLECHECK(this->get_SpaceAfterAuto((long*)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::ParagraphPtr First = {read = get_First};
  __property   Word_xp::ParagraphPtr Last = {read = get_Last};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordParagraphFormatPtr Format = {read = get_Format, write = set_Format};
  __property   Word_xp::TabStopsPtr TabStops = {read = get_TabStops, write = set_TabStops};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::WdParagraphAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   long            KeepTogether = {read = get_KeepTogether, write = set_KeepTogether};
  __property   long            KeepWithNext = {read = get_KeepWithNext, write = set_KeepWithNext};
  __property   long            PageBreakBefore = {read = get_PageBreakBefore, write = set_PageBreakBefore};
  __property   long            NoLineNumber = {read = get_NoLineNumber, write = set_NoLineNumber};
  __property   float           RightIndent = {read = get_RightIndent, write = set_RightIndent};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   float           FirstLineIndent = {read = get_FirstLineIndent, write = set_FirstLineIndent};
  __property   float           LineSpacing = {read = get_LineSpacing, write = set_LineSpacing};
  __property   Word_xp::WdLineSpacing LineSpacingRule = {read = get_LineSpacingRule, write = set_LineSpacingRule};
  __property   float           SpaceBefore = {read = get_SpaceBefore, write = set_SpaceBefore};
  __property   float           SpaceAfter = {read = get_SpaceAfter, write = set_SpaceAfter};
  __property   long            Hyphenation = {read = get_Hyphenation, write = set_Hyphenation};
  __property   long            WidowControl = {read = get_WidowControl, write = set_WidowControl};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   long            FarEastLineBreakControl = {read = get_FarEastLineBreakControl, write = set_FarEastLineBreakControl};
  __property   long            WordWrap = {read = get_WordWrap, write = set_WordWrap};
  __property   long            HangingPunctuation = {read = get_HangingPunctuation, write = set_HangingPunctuation};
  __property   long            HalfWidthPunctuationOnTopOfLine = {read = get_HalfWidthPunctuationOnTopOfLine, write = set_HalfWidthPunctuationOnTopOfLine};
  __property   long            AddSpaceBetweenFarEastAndAlpha = {read = get_AddSpaceBetweenFarEastAndAlpha, write = set_AddSpaceBetweenFarEastAndAlpha};
  __property   long            AddSpaceBetweenFarEastAndDigit = {read = get_AddSpaceBetweenFarEastAndDigit, write = set_AddSpaceBetweenFarEastAndDigit};
  __property   Word_xp::WdBaselineAlignment BaseLineAlignment = {read = get_BaseLineAlignment, write = set_BaseLineAlignment};
  __property   long            AutoAdjustRightIndent = {read = get_AutoAdjustRightIndent, write = set_AutoAdjustRightIndent};
  __property   long            DisableLineHeightGrid = {read = get_DisableLineHeightGrid, write = set_DisableLineHeightGrid};
  __property   Word_xp::WdOutlineLevel OutlineLevel = {read = get_OutlineLevel, write = set_OutlineLevel};
  __property   float           CharacterUnitRightIndent = {read = get_CharacterUnitRightIndent, write = set_CharacterUnitRightIndent};
  __property   float           CharacterUnitLeftIndent = {read = get_CharacterUnitLeftIndent, write = set_CharacterUnitLeftIndent};
  __property   float           CharacterUnitFirstLineIndent = {read = get_CharacterUnitFirstLineIndent, write = set_CharacterUnitFirstLineIndent};
  __property   float           LineUnitBefore = {read = get_LineUnitBefore, write = set_LineUnitBefore};
  __property   float           LineUnitAfter = {read = get_LineUnitAfter, write = set_LineUnitAfter};
  __property   Word_xp::WdReadingOrder ReadingOrder = {read = get_ReadingOrder, write = set_ReadingOrder};
  __property   long            SpaceBeforeAuto = {read = get_SpaceBeforeAuto, write = set_SpaceBeforeAuto};
  __property   long            SpaceAfterAuto = {read = get_SpaceAfterAuto, write = set_SpaceAfterAuto};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Paragraph
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020957-0000-0000-C000-000000000046}
// *********************************************************************//
interface Paragraph  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Format(Word_xp::WordParagraphFormat** prop/*[out,retval]*/) = 0; // [1102]
  virtual HRESULT STDMETHODCALLTYPE set_Format(Word_xp::WordParagraphFormat* prop/*[in]*/) = 0; // [1102]
  virtual HRESULT STDMETHODCALLTYPE get_TabStops(Word_xp::TabStops** prop/*[out,retval]*/) = 0; // [1103]
  virtual HRESULT STDMETHODCALLTYPE set_TabStops(Word_xp::TabStops* prop/*[in]*/) = 0; // [1103]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_DropCap(Word_xp::DropCap** prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_Style(VARIANT* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Style(VARIANT* prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Alignment(Word_xp::WdParagraphAlignment* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_Alignment(Word_xp::WdParagraphAlignment prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_KeepTogether(long* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_KeepTogether(long prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_KeepWithNext(long* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_KeepWithNext(long prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_PageBreakBefore(long* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_PageBreakBefore(long prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_NoLineNumber(long* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_NoLineNumber(long prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_RightIndent(float* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_RightIndent(float prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_LeftIndent(float* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_LeftIndent(float prop/*[in]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_FirstLineIndent(float* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE set_FirstLineIndent(float prop/*[in]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_LineSpacing(float* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_LineSpacing(float prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_LineSpacingRule(Word_xp::WdLineSpacing* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE set_LineSpacingRule(Word_xp::WdLineSpacing prop/*[in]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceBefore(float* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceBefore(float prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceAfter(float* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceAfter(float prop/*[in]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_Hyphenation(long* prop/*[out,retval]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE set_Hyphenation(long prop/*[in]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE get_WidowControl(long* prop/*[out,retval]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE set_WidowControl(long prop/*[in]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE get_FarEastLineBreakControl(long* prop/*[out,retval]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE set_FarEastLineBreakControl(long prop/*[in]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE get_WordWrap(long* prop/*[out,retval]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE set_WordWrap(long prop/*[in]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE get_HangingPunctuation(long* prop/*[out,retval]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE set_HangingPunctuation(long prop/*[in]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE get_HalfWidthPunctuationOnTopOfLine(long* prop/*[out,retval]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE set_HalfWidthPunctuationOnTopOfLine(long prop/*[in]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE get_AddSpaceBetweenFarEastAndAlpha(long* prop/*[out,retval]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE set_AddSpaceBetweenFarEastAndAlpha(long prop/*[in]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE get_AddSpaceBetweenFarEastAndDigit(long* prop/*[out,retval]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE set_AddSpaceBetweenFarEastAndDigit(long prop/*[in]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE get_BaseLineAlignment(Word_xp::WdBaselineAlignment* prop/*[out,retval]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE set_BaseLineAlignment(Word_xp::WdBaselineAlignment prop/*[in]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE get_AutoAdjustRightIndent(long* prop/*[out,retval]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE set_AutoAdjustRightIndent(long prop/*[in]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE get_DisableLineHeightGrid(long* prop/*[out,retval]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE set_DisableLineHeightGrid(long prop/*[in]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE get_OutlineLevel(Word_xp::WdOutlineLevel* prop/*[out,retval]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE set_OutlineLevel(Word_xp::WdOutlineLevel prop/*[in]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE CloseUp(void) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE OpenUp(void) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE OpenOrCloseUp(void) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE TabHangingIndent(short Count/*[in]*/) = 0; // [304]
  virtual HRESULT STDMETHODCALLTYPE TabIndent(short Count/*[in]*/) = 0; // [306]
  virtual HRESULT STDMETHODCALLTYPE Reset(void) = 0; // [312]
  virtual HRESULT STDMETHODCALLTYPE Space1(void) = 0; // [313]
  virtual HRESULT STDMETHODCALLTYPE Space15(void) = 0; // [314]
  virtual HRESULT STDMETHODCALLTYPE Space2(void) = 0; // [315]
  virtual HRESULT STDMETHODCALLTYPE IndentCharWidth(short Count/*[in]*/) = 0; // [320]
  virtual HRESULT STDMETHODCALLTYPE IndentFirstLineCharWidth(short Count/*[in]*/) = 0; // [322]
  virtual HRESULT STDMETHODCALLTYPE Next(VARIANT* Count/*[in,opt]*/, 
                                         Word_xp::Paragraph** prop/*[out,retval]*/) = 0; // [324]
  virtual HRESULT STDMETHODCALLTYPE Previous(VARIANT* Count/*[in,opt]*/, 
                                             Word_xp::Paragraph** prop/*[out,retval]*/) = 0; // [325]
  virtual HRESULT STDMETHODCALLTYPE OutlinePromote(void) = 0; // [326]
  virtual HRESULT STDMETHODCALLTYPE OutlineDemote(void) = 0; // [327]
  virtual HRESULT STDMETHODCALLTYPE OutlineDemoteToBody(void) = 0; // [328]
  virtual HRESULT STDMETHODCALLTYPE Indent(void) = 0; // [333]
  virtual HRESULT STDMETHODCALLTYPE Outdent(void) = 0; // [334]
  virtual HRESULT STDMETHODCALLTYPE get_CharacterUnitRightIndent(float* prop/*[out,retval]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE set_CharacterUnitRightIndent(float prop/*[in]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE get_CharacterUnitLeftIndent(float* prop/*[out,retval]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE set_CharacterUnitLeftIndent(float prop/*[in]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE get_CharacterUnitFirstLineIndent(float* prop/*[out,retval]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE set_CharacterUnitFirstLineIndent(float prop/*[in]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE get_LineUnitBefore(float* prop/*[out,retval]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE set_LineUnitBefore(float prop/*[in]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE get_LineUnitAfter(float* prop/*[out,retval]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE set_LineUnitAfter(float prop/*[in]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE get_ReadingOrder(Word_xp::WdReadingOrder* prop/*[out,retval]*/) = 0; // [203]
  virtual HRESULT STDMETHODCALLTYPE set_ReadingOrder(Word_xp::WdReadingOrder prop/*[in]*/) = 0; // [203]
  virtual HRESULT STDMETHODCALLTYPE get_ID(BSTR* prop/*[out,retval]*/) = 0; // [204]
  virtual HRESULT STDMETHODCALLTYPE set_ID(BSTR prop/*[in]*/) = 0; // [204]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceBeforeAuto(long* prop/*[out,retval]*/) = 0; // [132]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceBeforeAuto(long prop/*[in]*/) = 0; // [132]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceAfterAuto(long* prop/*[out,retval]*/) = 0; // [133]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceAfterAuto(long prop/*[in]*/) = 0; // [133]
  virtual HRESULT STDMETHODCALLTYPE get_IsStyleSeparator(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [134]
  virtual HRESULT STDMETHODCALLTYPE SelectNumber(void) = 0; // [335]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordParagraphFormatPtr __fastcall get_Format(void)
  {
    Word_xp::WordParagraphFormatPtr prop;
    OLECHECK(this->get_Format(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Format(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
  {
    return set_Format((Word_xp::WordParagraphFormat*)prop/*[in]*/);
  }

  Word_xp::TabStopsPtr __fastcall get_TabStops(void)
  {
    Word_xp::TabStopsPtr prop;
    OLECHECK(this->get_TabStops(&prop));
    return prop;
  }

  HRESULT __fastcall  set_TabStops(Word_xp::TabStopsPtr prop/*[in]*/)
  {
    return set_TabStops((Word_xp::TabStops*)prop/*[in]*/);
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::DropCapPtr __fastcall get_DropCap(void)
  {
    Word_xp::DropCapPtr prop;
    OLECHECK(this->get_DropCap(&prop));
    return prop;
  }

  VARIANT __fastcall get_Style(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Style((VARIANT*)&prop));
    return prop;
  }

  Word_xp::WdParagraphAlignment __fastcall get_Alignment(void)
  {
    Word_xp::WdParagraphAlignment prop;
    OLECHECK(this->get_Alignment((Word_xp::WdParagraphAlignment*)&prop));
    return prop;
  }

  long __fastcall get_KeepTogether(void)
  {
    long prop;
    OLECHECK(this->get_KeepTogether((long*)&prop));
    return prop;
  }

  long __fastcall get_KeepWithNext(void)
  {
    long prop;
    OLECHECK(this->get_KeepWithNext((long*)&prop));
    return prop;
  }

  long __fastcall get_PageBreakBefore(void)
  {
    long prop;
    OLECHECK(this->get_PageBreakBefore((long*)&prop));
    return prop;
  }

  long __fastcall get_NoLineNumber(void)
  {
    long prop;
    OLECHECK(this->get_NoLineNumber((long*)&prop));
    return prop;
  }

  float __fastcall get_RightIndent(void)
  {
    float prop;
    OLECHECK(this->get_RightIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_LeftIndent(void)
  {
    float prop;
    OLECHECK(this->get_LeftIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_FirstLineIndent(void)
  {
    float prop;
    OLECHECK(this->get_FirstLineIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_LineSpacing(void)
  {
    float prop;
    OLECHECK(this->get_LineSpacing((float*)&prop));
    return prop;
  }

  Word_xp::WdLineSpacing __fastcall get_LineSpacingRule(void)
  {
    Word_xp::WdLineSpacing prop;
    OLECHECK(this->get_LineSpacingRule((Word_xp::WdLineSpacing*)&prop));
    return prop;
  }

  float __fastcall get_SpaceBefore(void)
  {
    float prop;
    OLECHECK(this->get_SpaceBefore((float*)&prop));
    return prop;
  }

  float __fastcall get_SpaceAfter(void)
  {
    float prop;
    OLECHECK(this->get_SpaceAfter((float*)&prop));
    return prop;
  }

  long __fastcall get_Hyphenation(void)
  {
    long prop;
    OLECHECK(this->get_Hyphenation((long*)&prop));
    return prop;
  }

  long __fastcall get_WidowControl(void)
  {
    long prop;
    OLECHECK(this->get_WidowControl((long*)&prop));
    return prop;
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  long __fastcall get_FarEastLineBreakControl(void)
  {
    long prop;
    OLECHECK(this->get_FarEastLineBreakControl((long*)&prop));
    return prop;
  }

  long __fastcall get_WordWrap(void)
  {
    long prop;
    OLECHECK(this->get_WordWrap((long*)&prop));
    return prop;
  }

  long __fastcall get_HangingPunctuation(void)
  {
    long prop;
    OLECHECK(this->get_HangingPunctuation((long*)&prop));
    return prop;
  }

  long __fastcall get_HalfWidthPunctuationOnTopOfLine(void)
  {
    long prop;
    OLECHECK(this->get_HalfWidthPunctuationOnTopOfLine((long*)&prop));
    return prop;
  }

  long __fastcall get_AddSpaceBetweenFarEastAndAlpha(void)
  {
    long prop;
    OLECHECK(this->get_AddSpaceBetweenFarEastAndAlpha((long*)&prop));
    return prop;
  }

  long __fastcall get_AddSpaceBetweenFarEastAndDigit(void)
  {
    long prop;
    OLECHECK(this->get_AddSpaceBetweenFarEastAndDigit((long*)&prop));
    return prop;
  }

  Word_xp::WdBaselineAlignment __fastcall get_BaseLineAlignment(void)
  {
    Word_xp::WdBaselineAlignment prop;
    OLECHECK(this->get_BaseLineAlignment((Word_xp::WdBaselineAlignment*)&prop));
    return prop;
  }

  long __fastcall get_AutoAdjustRightIndent(void)
  {
    long prop;
    OLECHECK(this->get_AutoAdjustRightIndent((long*)&prop));
    return prop;
  }

  long __fastcall get_DisableLineHeightGrid(void)
  {
    long prop;
    OLECHECK(this->get_DisableLineHeightGrid((long*)&prop));
    return prop;
  }

  Word_xp::WdOutlineLevel __fastcall get_OutlineLevel(void)
  {
    Word_xp::WdOutlineLevel prop;
    OLECHECK(this->get_OutlineLevel((Word_xp::WdOutlineLevel*)&prop));
    return prop;
  }

  Word_xp::Paragraph* __fastcall Next(VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    Word_xp::Paragraph* prop = 0;
    OLECHECK(this->Next(Count, (Word_xp::Paragraph**)&prop));
    return prop;
  }

  Word_xp::Paragraph* __fastcall Previous(VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    Word_xp::Paragraph* prop = 0;
    OLECHECK(this->Previous(Count, (Word_xp::Paragraph**)&prop));
    return prop;
  }

  float __fastcall get_CharacterUnitRightIndent(void)
  {
    float prop;
    OLECHECK(this->get_CharacterUnitRightIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_CharacterUnitLeftIndent(void)
  {
    float prop;
    OLECHECK(this->get_CharacterUnitLeftIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_CharacterUnitFirstLineIndent(void)
  {
    float prop;
    OLECHECK(this->get_CharacterUnitFirstLineIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_LineUnitBefore(void)
  {
    float prop;
    OLECHECK(this->get_LineUnitBefore((float*)&prop));
    return prop;
  }

  float __fastcall get_LineUnitAfter(void)
  {
    float prop;
    OLECHECK(this->get_LineUnitAfter((float*)&prop));
    return prop;
  }

  Word_xp::WdReadingOrder __fastcall get_ReadingOrder(void)
  {
    Word_xp::WdReadingOrder prop;
    OLECHECK(this->get_ReadingOrder((Word_xp::WdReadingOrder*)&prop));
    return prop;
  }

  BSTR __fastcall get_ID(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ID((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_SpaceBeforeAuto(void)
  {
    long prop;
    OLECHECK(this->get_SpaceBeforeAuto((long*)&prop));
    return prop;
  }

  long __fastcall get_SpaceAfterAuto(void)
  {
    long prop;
    OLECHECK(this->get_SpaceAfterAuto((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsStyleSeparator(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsStyleSeparator((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordParagraphFormatPtr Format = {read = get_Format, write = set_Format};
  __property   Word_xp::TabStopsPtr TabStops = {read = get_TabStops, write = set_TabStops};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::DropCapPtr DropCap = {read = get_DropCap};
  __property   Word_xp::WdParagraphAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   long            KeepTogether = {read = get_KeepTogether, write = set_KeepTogether};
  __property   long            KeepWithNext = {read = get_KeepWithNext, write = set_KeepWithNext};
  __property   long            PageBreakBefore = {read = get_PageBreakBefore, write = set_PageBreakBefore};
  __property   long            NoLineNumber = {read = get_NoLineNumber, write = set_NoLineNumber};
  __property   float           RightIndent = {read = get_RightIndent, write = set_RightIndent};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   float           FirstLineIndent = {read = get_FirstLineIndent, write = set_FirstLineIndent};
  __property   float           LineSpacing = {read = get_LineSpacing, write = set_LineSpacing};
  __property   Word_xp::WdLineSpacing LineSpacingRule = {read = get_LineSpacingRule, write = set_LineSpacingRule};
  __property   float           SpaceBefore = {read = get_SpaceBefore, write = set_SpaceBefore};
  __property   float           SpaceAfter = {read = get_SpaceAfter, write = set_SpaceAfter};
  __property   long            Hyphenation = {read = get_Hyphenation, write = set_Hyphenation};
  __property   long            WidowControl = {read = get_WidowControl, write = set_WidowControl};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   long            FarEastLineBreakControl = {read = get_FarEastLineBreakControl, write = set_FarEastLineBreakControl};
  __property   long            WordWrap = {read = get_WordWrap, write = set_WordWrap};
  __property   long            HangingPunctuation = {read = get_HangingPunctuation, write = set_HangingPunctuation};
  __property   long            HalfWidthPunctuationOnTopOfLine = {read = get_HalfWidthPunctuationOnTopOfLine, write = set_HalfWidthPunctuationOnTopOfLine};
  __property   long            AddSpaceBetweenFarEastAndAlpha = {read = get_AddSpaceBetweenFarEastAndAlpha, write = set_AddSpaceBetweenFarEastAndAlpha};
  __property   long            AddSpaceBetweenFarEastAndDigit = {read = get_AddSpaceBetweenFarEastAndDigit, write = set_AddSpaceBetweenFarEastAndDigit};
  __property   Word_xp::WdBaselineAlignment BaseLineAlignment = {read = get_BaseLineAlignment, write = set_BaseLineAlignment};
  __property   long            AutoAdjustRightIndent = {read = get_AutoAdjustRightIndent, write = set_AutoAdjustRightIndent};
  __property   long            DisableLineHeightGrid = {read = get_DisableLineHeightGrid, write = set_DisableLineHeightGrid};
  __property   Word_xp::WdOutlineLevel OutlineLevel = {read = get_OutlineLevel, write = set_OutlineLevel};
  __property   float           CharacterUnitRightIndent = {read = get_CharacterUnitRightIndent, write = set_CharacterUnitRightIndent};
  __property   float           CharacterUnitLeftIndent = {read = get_CharacterUnitLeftIndent, write = set_CharacterUnitLeftIndent};
  __property   float           CharacterUnitFirstLineIndent = {read = get_CharacterUnitFirstLineIndent, write = set_CharacterUnitFirstLineIndent};
  __property   float           LineUnitBefore = {read = get_LineUnitBefore, write = set_LineUnitBefore};
  __property   float           LineUnitAfter = {read = get_LineUnitAfter, write = set_LineUnitAfter};
  __property   Word_xp::WdReadingOrder ReadingOrder = {read = get_ReadingOrder, write = set_ReadingOrder};
  __property   BSTR            ID = {read = get_ID, write = set_ID};
  __property   long            SpaceBeforeAuto = {read = get_SpaceBeforeAuto, write = set_SpaceBeforeAuto};
  __property   long            SpaceAfterAuto = {read = get_SpaceAfterAuto, write = set_SpaceAfterAuto};
  __property   VARIANT_BOOL    IsStyleSeparator = {read = get_IsStyleSeparator};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: DropCap
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020956-0000-0000-C000-000000000046}
// *********************************************************************//
interface DropCap  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Position(Word_xp::WdDropPosition* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_Position(Word_xp::WdDropPosition prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_FontName(BSTR* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_FontName(BSTR prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_LinesToDrop(long* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_LinesToDrop(long prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceFromText(float* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceFromText(float prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE Clear(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Enable(void) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdDropPosition __fastcall get_Position(void)
  {
    Word_xp::WdDropPosition prop;
    OLECHECK(this->get_Position((Word_xp::WdDropPosition*)&prop));
    return prop;
  }

  BSTR __fastcall get_FontName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_FontName((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_LinesToDrop(void)
  {
    long prop;
    OLECHECK(this->get_LinesToDrop((long*)&prop));
    return prop;
  }

  float __fastcall get_DistanceFromText(void)
  {
    float prop;
    OLECHECK(this->get_DistanceFromText((float*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdDropPosition Position = {read = get_Position, write = set_Position};
  __property   BSTR            FontName = {read = get_FontName, write = set_FontName};
  __property   long            LinesToDrop = {read = get_LinesToDrop, write = set_LinesToDrop};
  __property   float           DistanceFromText = {read = get_DistanceFromText, write = set_DistanceFromText};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TabStops
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020955-0000-0000-C000-000000000046}
// *********************************************************************//
interface TabStops  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::TabStop** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(float Position/*[in]*/, VARIANT* Alignment/*[in,opt]*/, 
                                        VARIANT* Leader/*[in,opt]*/, 
                                        Word_xp::TabStop** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE ClearAll(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Before(float Position/*[in]*/, 
                                           Word_xp::TabStop** prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE After(float Position/*[in]*/, 
                                          Word_xp::TabStop** prop/*[out,retval]*/) = 0; // [103]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::TabStop* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::TabStop* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::TabStop**)&prop));
    return prop;
  }

  Word_xp::TabStop* __fastcall Add(float Position/*[in]*/, 
                                   VARIANT* Alignment/*[in,opt]*/= TNoParam(), 
                                   VARIANT* Leader/*[in,opt]*/= TNoParam())
  {
    Word_xp::TabStop* prop = 0;
    OLECHECK(this->Add(Position, Alignment, Leader, (Word_xp::TabStop**)&prop));
    return prop;
  }

  Word_xp::TabStop* __fastcall Before(float Position/*[in]*/)
  {
    Word_xp::TabStop* prop = 0;
    OLECHECK(this->Before(Position, (Word_xp::TabStop**)&prop));
    return prop;
  }

  Word_xp::TabStop* __fastcall After(float Position/*[in]*/)
  {
    Word_xp::TabStop* prop = 0;
    OLECHECK(this->After(Position, (Word_xp::TabStop**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TabStop
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020954-0000-0000-C000-000000000046}
// *********************************************************************//
interface TabStop  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Alignment(Word_xp::WdTabAlignment* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Alignment(Word_xp::WdTabAlignment prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Leader(Word_xp::WdTabLeader* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_Leader(Word_xp::WdTabLeader prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Position(float* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_Position(float prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_CustomTab(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Next(Word_xp::TabStop** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Previous(Word_xp::TabStop** prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE Clear(void) = 0; // [200]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdTabAlignment __fastcall get_Alignment(void)
  {
    Word_xp::WdTabAlignment prop;
    OLECHECK(this->get_Alignment((Word_xp::WdTabAlignment*)&prop));
    return prop;
  }

  Word_xp::WdTabLeader __fastcall get_Leader(void)
  {
    Word_xp::WdTabLeader prop;
    OLECHECK(this->get_Leader((Word_xp::WdTabLeader*)&prop));
    return prop;
  }

  float __fastcall get_Position(void)
  {
    float prop;
    OLECHECK(this->get_Position((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CustomTab(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CustomTab((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::TabStopPtr __fastcall get_Next(void)
  {
    Word_xp::TabStopPtr prop;
    OLECHECK(this->get_Next(&prop));
    return prop;
  }

  Word_xp::TabStopPtr __fastcall get_Previous(void)
  {
    Word_xp::TabStopPtr prop;
    OLECHECK(this->get_Previous(&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdTabAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   Word_xp::WdTabLeader Leader = {read = get_Leader, write = set_Leader};
  __property   float           Position = {read = get_Position, write = set_Position};
  __property   VARIANT_BOOL    CustomTab = {read = get_CustomTab};
  __property   Word_xp::TabStopPtr Next = {read = get_Next};
  __property   Word_xp::TabStopPtr Previous = {read = get_Previous};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: _ParagraphFormat
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020953-0000-0000-C000-000000000046}
// *********************************************************************//
interface _ParagraphFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Duplicate(Word_xp::WordParagraphFormat** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_Style(VARIANT* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Style(VARIANT* prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Alignment(Word_xp::WdParagraphAlignment* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_Alignment(Word_xp::WdParagraphAlignment prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_KeepTogether(long* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_KeepTogether(long prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_KeepWithNext(long* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_KeepWithNext(long prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_PageBreakBefore(long* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_PageBreakBefore(long prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_NoLineNumber(long* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_NoLineNumber(long prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_RightIndent(float* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_RightIndent(float prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_LeftIndent(float* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_LeftIndent(float prop/*[in]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_FirstLineIndent(float* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE set_FirstLineIndent(float prop/*[in]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_LineSpacing(float* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_LineSpacing(float prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_LineSpacingRule(Word_xp::WdLineSpacing* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE set_LineSpacingRule(Word_xp::WdLineSpacing prop/*[in]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceBefore(float* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceBefore(float prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceAfter(float* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceAfter(float prop/*[in]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_Hyphenation(long* prop/*[out,retval]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE set_Hyphenation(long prop/*[in]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE get_WidowControl(long* prop/*[out,retval]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE set_WidowControl(long prop/*[in]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE get_FarEastLineBreakControl(long* prop/*[out,retval]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE set_FarEastLineBreakControl(long prop/*[in]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE get_WordWrap(long* prop/*[out,retval]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE set_WordWrap(long prop/*[in]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE get_HangingPunctuation(long* prop/*[out,retval]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE set_HangingPunctuation(long prop/*[in]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE get_HalfWidthPunctuationOnTopOfLine(long* prop/*[out,retval]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE set_HalfWidthPunctuationOnTopOfLine(long prop/*[in]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE get_AddSpaceBetweenFarEastAndAlpha(long* prop/*[out,retval]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE set_AddSpaceBetweenFarEastAndAlpha(long prop/*[in]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE get_AddSpaceBetweenFarEastAndDigit(long* prop/*[out,retval]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE set_AddSpaceBetweenFarEastAndDigit(long prop/*[in]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE get_BaseLineAlignment(Word_xp::WdBaselineAlignment* prop/*[out,retval]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE set_BaseLineAlignment(Word_xp::WdBaselineAlignment prop/*[in]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE get_AutoAdjustRightIndent(long* prop/*[out,retval]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE set_AutoAdjustRightIndent(long prop/*[in]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE get_DisableLineHeightGrid(long* prop/*[out,retval]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE set_DisableLineHeightGrid(long prop/*[in]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE get_TabStops(Word_xp::TabStops** prop/*[out,retval]*/) = 0; // [1103]
  virtual HRESULT STDMETHODCALLTYPE set_TabStops(Word_xp::TabStops* prop/*[in]*/) = 0; // [1103]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE get_OutlineLevel(Word_xp::WdOutlineLevel* prop/*[out,retval]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE set_OutlineLevel(Word_xp::WdOutlineLevel prop/*[in]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE CloseUp(void) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE OpenUp(void) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE OpenOrCloseUp(void) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE TabHangingIndent(short Count/*[in]*/) = 0; // [304]
  virtual HRESULT STDMETHODCALLTYPE TabIndent(short Count/*[in]*/) = 0; // [306]
  virtual HRESULT STDMETHODCALLTYPE Reset(void) = 0; // [312]
  virtual HRESULT STDMETHODCALLTYPE Space1(void) = 0; // [313]
  virtual HRESULT STDMETHODCALLTYPE Space15(void) = 0; // [314]
  virtual HRESULT STDMETHODCALLTYPE Space2(void) = 0; // [315]
  virtual HRESULT STDMETHODCALLTYPE IndentCharWidth(short Count/*[in]*/) = 0; // [320]
  virtual HRESULT STDMETHODCALLTYPE IndentFirstLineCharWidth(short Count/*[in]*/) = 0; // [322]
  virtual HRESULT STDMETHODCALLTYPE get_CharacterUnitRightIndent(float* prop/*[out,retval]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE set_CharacterUnitRightIndent(float prop/*[in]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE get_CharacterUnitLeftIndent(float* prop/*[out,retval]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE set_CharacterUnitLeftIndent(float prop/*[in]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE get_CharacterUnitFirstLineIndent(float* prop/*[out,retval]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE set_CharacterUnitFirstLineIndent(float prop/*[in]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE get_LineUnitBefore(float* prop/*[out,retval]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE set_LineUnitBefore(float prop/*[in]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE get_LineUnitAfter(float* prop/*[out,retval]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE set_LineUnitAfter(float prop/*[in]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE get_ReadingOrder(Word_xp::WdReadingOrder* prop/*[out,retval]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE set_ReadingOrder(Word_xp::WdReadingOrder prop/*[in]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceBeforeAuto(long* prop/*[out,retval]*/) = 0; // [132]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceBeforeAuto(long prop/*[in]*/) = 0; // [132]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceAfterAuto(long* prop/*[out,retval]*/) = 0; // [133]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceAfterAuto(long prop/*[in]*/) = 0; // [133]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordParagraphFormatPtr __fastcall get_Duplicate(void)
  {
    Word_xp::WordParagraphFormatPtr prop;
    OLECHECK(this->get_Duplicate(&prop));
    return prop;
  }

  VARIANT __fastcall get_Style(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Style((VARIANT*)&prop));
    return prop;
  }

  Word_xp::WdParagraphAlignment __fastcall get_Alignment(void)
  {
    Word_xp::WdParagraphAlignment prop;
    OLECHECK(this->get_Alignment((Word_xp::WdParagraphAlignment*)&prop));
    return prop;
  }

  long __fastcall get_KeepTogether(void)
  {
    long prop;
    OLECHECK(this->get_KeepTogether((long*)&prop));
    return prop;
  }

  long __fastcall get_KeepWithNext(void)
  {
    long prop;
    OLECHECK(this->get_KeepWithNext((long*)&prop));
    return prop;
  }

  long __fastcall get_PageBreakBefore(void)
  {
    long prop;
    OLECHECK(this->get_PageBreakBefore((long*)&prop));
    return prop;
  }

  long __fastcall get_NoLineNumber(void)
  {
    long prop;
    OLECHECK(this->get_NoLineNumber((long*)&prop));
    return prop;
  }

  float __fastcall get_RightIndent(void)
  {
    float prop;
    OLECHECK(this->get_RightIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_LeftIndent(void)
  {
    float prop;
    OLECHECK(this->get_LeftIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_FirstLineIndent(void)
  {
    float prop;
    OLECHECK(this->get_FirstLineIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_LineSpacing(void)
  {
    float prop;
    OLECHECK(this->get_LineSpacing((float*)&prop));
    return prop;
  }

  Word_xp::WdLineSpacing __fastcall get_LineSpacingRule(void)
  {
    Word_xp::WdLineSpacing prop;
    OLECHECK(this->get_LineSpacingRule((Word_xp::WdLineSpacing*)&prop));
    return prop;
  }

  float __fastcall get_SpaceBefore(void)
  {
    float prop;
    OLECHECK(this->get_SpaceBefore((float*)&prop));
    return prop;
  }

  float __fastcall get_SpaceAfter(void)
  {
    float prop;
    OLECHECK(this->get_SpaceAfter((float*)&prop));
    return prop;
  }

  long __fastcall get_Hyphenation(void)
  {
    long prop;
    OLECHECK(this->get_Hyphenation((long*)&prop));
    return prop;
  }

  long __fastcall get_WidowControl(void)
  {
    long prop;
    OLECHECK(this->get_WidowControl((long*)&prop));
    return prop;
  }

  long __fastcall get_FarEastLineBreakControl(void)
  {
    long prop;
    OLECHECK(this->get_FarEastLineBreakControl((long*)&prop));
    return prop;
  }

  long __fastcall get_WordWrap(void)
  {
    long prop;
    OLECHECK(this->get_WordWrap((long*)&prop));
    return prop;
  }

  long __fastcall get_HangingPunctuation(void)
  {
    long prop;
    OLECHECK(this->get_HangingPunctuation((long*)&prop));
    return prop;
  }

  long __fastcall get_HalfWidthPunctuationOnTopOfLine(void)
  {
    long prop;
    OLECHECK(this->get_HalfWidthPunctuationOnTopOfLine((long*)&prop));
    return prop;
  }

  long __fastcall get_AddSpaceBetweenFarEastAndAlpha(void)
  {
    long prop;
    OLECHECK(this->get_AddSpaceBetweenFarEastAndAlpha((long*)&prop));
    return prop;
  }

  long __fastcall get_AddSpaceBetweenFarEastAndDigit(void)
  {
    long prop;
    OLECHECK(this->get_AddSpaceBetweenFarEastAndDigit((long*)&prop));
    return prop;
  }

  Word_xp::WdBaselineAlignment __fastcall get_BaseLineAlignment(void)
  {
    Word_xp::WdBaselineAlignment prop;
    OLECHECK(this->get_BaseLineAlignment((Word_xp::WdBaselineAlignment*)&prop));
    return prop;
  }

  long __fastcall get_AutoAdjustRightIndent(void)
  {
    long prop;
    OLECHECK(this->get_AutoAdjustRightIndent((long*)&prop));
    return prop;
  }

  long __fastcall get_DisableLineHeightGrid(void)
  {
    long prop;
    OLECHECK(this->get_DisableLineHeightGrid((long*)&prop));
    return prop;
  }

  Word_xp::TabStopsPtr __fastcall get_TabStops(void)
  {
    Word_xp::TabStopsPtr prop;
    OLECHECK(this->get_TabStops(&prop));
    return prop;
  }

  HRESULT __fastcall  set_TabStops(Word_xp::TabStopsPtr prop/*[in]*/)
  {
    return set_TabStops((Word_xp::TabStops*)prop/*[in]*/);
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::WdOutlineLevel __fastcall get_OutlineLevel(void)
  {
    Word_xp::WdOutlineLevel prop;
    OLECHECK(this->get_OutlineLevel((Word_xp::WdOutlineLevel*)&prop));
    return prop;
  }

  float __fastcall get_CharacterUnitRightIndent(void)
  {
    float prop;
    OLECHECK(this->get_CharacterUnitRightIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_CharacterUnitLeftIndent(void)
  {
    float prop;
    OLECHECK(this->get_CharacterUnitLeftIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_CharacterUnitFirstLineIndent(void)
  {
    float prop;
    OLECHECK(this->get_CharacterUnitFirstLineIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_LineUnitBefore(void)
  {
    float prop;
    OLECHECK(this->get_LineUnitBefore((float*)&prop));
    return prop;
  }

  float __fastcall get_LineUnitAfter(void)
  {
    float prop;
    OLECHECK(this->get_LineUnitAfter((float*)&prop));
    return prop;
  }

  Word_xp::WdReadingOrder __fastcall get_ReadingOrder(void)
  {
    Word_xp::WdReadingOrder prop;
    OLECHECK(this->get_ReadingOrder((Word_xp::WdReadingOrder*)&prop));
    return prop;
  }

  long __fastcall get_SpaceBeforeAuto(void)
  {
    long prop;
    OLECHECK(this->get_SpaceBeforeAuto((long*)&prop));
    return prop;
  }

  long __fastcall get_SpaceAfterAuto(void)
  {
    long prop;
    OLECHECK(this->get_SpaceAfterAuto((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordParagraphFormatPtr Duplicate = {read = get_Duplicate};
  __property   Word_xp::WdParagraphAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   long            KeepTogether = {read = get_KeepTogether, write = set_KeepTogether};
  __property   long            KeepWithNext = {read = get_KeepWithNext, write = set_KeepWithNext};
  __property   long            PageBreakBefore = {read = get_PageBreakBefore, write = set_PageBreakBefore};
  __property   long            NoLineNumber = {read = get_NoLineNumber, write = set_NoLineNumber};
  __property   float           RightIndent = {read = get_RightIndent, write = set_RightIndent};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   float           FirstLineIndent = {read = get_FirstLineIndent, write = set_FirstLineIndent};
  __property   float           LineSpacing = {read = get_LineSpacing, write = set_LineSpacing};
  __property   Word_xp::WdLineSpacing LineSpacingRule = {read = get_LineSpacingRule, write = set_LineSpacingRule};
  __property   float           SpaceBefore = {read = get_SpaceBefore, write = set_SpaceBefore};
  __property   float           SpaceAfter = {read = get_SpaceAfter, write = set_SpaceAfter};
  __property   long            Hyphenation = {read = get_Hyphenation, write = set_Hyphenation};
  __property   long            WidowControl = {read = get_WidowControl, write = set_WidowControl};
  __property   long            FarEastLineBreakControl = {read = get_FarEastLineBreakControl, write = set_FarEastLineBreakControl};
  __property   long            WordWrap = {read = get_WordWrap, write = set_WordWrap};
  __property   long            HangingPunctuation = {read = get_HangingPunctuation, write = set_HangingPunctuation};
  __property   long            HalfWidthPunctuationOnTopOfLine = {read = get_HalfWidthPunctuationOnTopOfLine, write = set_HalfWidthPunctuationOnTopOfLine};
  __property   long            AddSpaceBetweenFarEastAndAlpha = {read = get_AddSpaceBetweenFarEastAndAlpha, write = set_AddSpaceBetweenFarEastAndAlpha};
  __property   long            AddSpaceBetweenFarEastAndDigit = {read = get_AddSpaceBetweenFarEastAndDigit, write = set_AddSpaceBetweenFarEastAndDigit};
  __property   Word_xp::WdBaselineAlignment BaseLineAlignment = {read = get_BaseLineAlignment, write = set_BaseLineAlignment};
  __property   long            AutoAdjustRightIndent = {read = get_AutoAdjustRightIndent, write = set_AutoAdjustRightIndent};
  __property   long            DisableLineHeightGrid = {read = get_DisableLineHeightGrid, write = set_DisableLineHeightGrid};
  __property   Word_xp::TabStopsPtr TabStops = {read = get_TabStops, write = set_TabStops};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::WdOutlineLevel OutlineLevel = {read = get_OutlineLevel, write = set_OutlineLevel};
  __property   float           CharacterUnitRightIndent = {read = get_CharacterUnitRightIndent, write = set_CharacterUnitRightIndent};
  __property   float           CharacterUnitLeftIndent = {read = get_CharacterUnitLeftIndent, write = set_CharacterUnitLeftIndent};
  __property   float           CharacterUnitFirstLineIndent = {read = get_CharacterUnitFirstLineIndent, write = set_CharacterUnitFirstLineIndent};
  __property   float           LineUnitBefore = {read = get_LineUnitBefore, write = set_LineUnitBefore};
  __property   float           LineUnitAfter = {read = get_LineUnitAfter, write = set_LineUnitAfter};
  __property   Word_xp::WdReadingOrder ReadingOrder = {read = get_ReadingOrder, write = set_ReadingOrder};
  __property   long            SpaceBeforeAuto = {read = get_SpaceBeforeAuto, write = set_SpaceBeforeAuto};
  __property   long            SpaceAfterAuto = {read = get_SpaceAfterAuto, write = set_SpaceAfterAuto};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: _Font
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020952-0000-0000-C000-000000000046}
// *********************************************************************//
interface _Font  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Duplicate(Word_xp::WordFont** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_Bold(long* prop/*[out,retval]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE set_Bold(long prop/*[in]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE get_Italic(long* prop/*[out,retval]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE set_Italic(long prop/*[in]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE get_Hidden(long* prop/*[out,retval]*/) = 0; // [132]
  virtual HRESULT STDMETHODCALLTYPE set_Hidden(long prop/*[in]*/) = 0; // [132]
  virtual HRESULT STDMETHODCALLTYPE get_SmallCaps(long* prop/*[out,retval]*/) = 0; // [133]
  virtual HRESULT STDMETHODCALLTYPE set_SmallCaps(long prop/*[in]*/) = 0; // [133]
  virtual HRESULT STDMETHODCALLTYPE get_AllCaps(long* prop/*[out,retval]*/) = 0; // [134]
  virtual HRESULT STDMETHODCALLTYPE set_AllCaps(long prop/*[in]*/) = 0; // [134]
  virtual HRESULT STDMETHODCALLTYPE get_StrikeThrough(long* prop/*[out,retval]*/) = 0; // [135]
  virtual HRESULT STDMETHODCALLTYPE set_StrikeThrough(long prop/*[in]*/) = 0; // [135]
  virtual HRESULT STDMETHODCALLTYPE get_DoubleStrikeThrough(long* prop/*[out,retval]*/) = 0; // [136]
  virtual HRESULT STDMETHODCALLTYPE set_DoubleStrikeThrough(long prop/*[in]*/) = 0; // [136]
  virtual HRESULT STDMETHODCALLTYPE get_ColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [137]
  virtual HRESULT STDMETHODCALLTYPE set_ColorIndex(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [137]
  virtual HRESULT STDMETHODCALLTYPE get_Subscript(long* prop/*[out,retval]*/) = 0; // [138]
  virtual HRESULT STDMETHODCALLTYPE set_Subscript(long prop/*[in]*/) = 0; // [138]
  virtual HRESULT STDMETHODCALLTYPE get_Superscript(long* prop/*[out,retval]*/) = 0; // [139]
  virtual HRESULT STDMETHODCALLTYPE set_Superscript(long prop/*[in]*/) = 0; // [139]
  virtual HRESULT STDMETHODCALLTYPE get_Underline(Word_xp::WdUnderline* prop/*[out,retval]*/) = 0; // [140]
  virtual HRESULT STDMETHODCALLTYPE set_Underline(Word_xp::WdUnderline prop/*[in]*/) = 0; // [140]
  virtual HRESULT STDMETHODCALLTYPE get_Size(float* prop/*[out,retval]*/) = 0; // [141]
  virtual HRESULT STDMETHODCALLTYPE set_Size(float prop/*[in]*/) = 0; // [141]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [142]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [142]
  virtual HRESULT STDMETHODCALLTYPE get_Position(long* prop/*[out,retval]*/) = 0; // [143]
  virtual HRESULT STDMETHODCALLTYPE set_Position(long prop/*[in]*/) = 0; // [143]
  virtual HRESULT STDMETHODCALLTYPE get_Spacing(float* prop/*[out,retval]*/) = 0; // [144]
  virtual HRESULT STDMETHODCALLTYPE set_Spacing(float prop/*[in]*/) = 0; // [144]
  virtual HRESULT STDMETHODCALLTYPE get_Scaling(long* prop/*[out,retval]*/) = 0; // [145]
  virtual HRESULT STDMETHODCALLTYPE set_Scaling(long prop/*[in]*/) = 0; // [145]
  virtual HRESULT STDMETHODCALLTYPE get_Shadow(long* prop/*[out,retval]*/) = 0; // [146]
  virtual HRESULT STDMETHODCALLTYPE set_Shadow(long prop/*[in]*/) = 0; // [146]
  virtual HRESULT STDMETHODCALLTYPE get_Outline(long* prop/*[out,retval]*/) = 0; // [147]
  virtual HRESULT STDMETHODCALLTYPE set_Outline(long prop/*[in]*/) = 0; // [147]
  virtual HRESULT STDMETHODCALLTYPE get_Emboss(long* prop/*[out,retval]*/) = 0; // [148]
  virtual HRESULT STDMETHODCALLTYPE set_Emboss(long prop/*[in]*/) = 0; // [148]
  virtual HRESULT STDMETHODCALLTYPE get_Kerning(float* prop/*[out,retval]*/) = 0; // [149]
  virtual HRESULT STDMETHODCALLTYPE set_Kerning(float prop/*[in]*/) = 0; // [149]
  virtual HRESULT STDMETHODCALLTYPE get_Engrave(long* prop/*[out,retval]*/) = 0; // [150]
  virtual HRESULT STDMETHODCALLTYPE set_Engrave(long prop/*[in]*/) = 0; // [150]
  virtual HRESULT STDMETHODCALLTYPE get_Animation(Word_xp::WdAnimation* prop/*[out,retval]*/) = 0; // [151]
  virtual HRESULT STDMETHODCALLTYPE set_Animation(Word_xp::WdAnimation prop/*[in]*/) = 0; // [151]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [153]
  virtual HRESULT STDMETHODCALLTYPE get_EmphasisMark(Word_xp::WdEmphasisMark* prop/*[out,retval]*/) = 0; // [154]
  virtual HRESULT STDMETHODCALLTYPE set_EmphasisMark(Word_xp::WdEmphasisMark prop/*[in]*/) = 0; // [154]
  virtual HRESULT STDMETHODCALLTYPE get_DisableCharacterSpaceGrid(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [155]
  virtual HRESULT STDMETHODCALLTYPE set_DisableCharacterSpaceGrid(VARIANT_BOOL prop/*[in]*/) = 0; // [155]
  virtual HRESULT STDMETHODCALLTYPE get_NameFarEast(BSTR* prop/*[out,retval]*/) = 0; // [156]
  virtual HRESULT STDMETHODCALLTYPE set_NameFarEast(BSTR prop/*[in]*/) = 0; // [156]
  virtual HRESULT STDMETHODCALLTYPE get_NameAscii(BSTR* prop/*[out,retval]*/) = 0; // [157]
  virtual HRESULT STDMETHODCALLTYPE set_NameAscii(BSTR prop/*[in]*/) = 0; // [157]
  virtual HRESULT STDMETHODCALLTYPE get_NameOther(BSTR* prop/*[out,retval]*/) = 0; // [158]
  virtual HRESULT STDMETHODCALLTYPE set_NameOther(BSTR prop/*[in]*/) = 0; // [158]
  virtual HRESULT STDMETHODCALLTYPE Grow(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Shrink(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Reset(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE SetAsTemplateDefault(void) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Color(Word_xp::WdColor* prop/*[out,retval]*/) = 0; // [159]
  virtual HRESULT STDMETHODCALLTYPE set_Color(Word_xp::WdColor prop/*[in]*/) = 0; // [159]
  virtual HRESULT STDMETHODCALLTYPE get_BoldBi(long* prop/*[out,retval]*/) = 0; // [160]
  virtual HRESULT STDMETHODCALLTYPE set_BoldBi(long prop/*[in]*/) = 0; // [160]
  virtual HRESULT STDMETHODCALLTYPE get_ItalicBi(long* prop/*[out,retval]*/) = 0; // [161]
  virtual HRESULT STDMETHODCALLTYPE set_ItalicBi(long prop/*[in]*/) = 0; // [161]
  virtual HRESULT STDMETHODCALLTYPE get_SizeBi(float* prop/*[out,retval]*/) = 0; // [162]
  virtual HRESULT STDMETHODCALLTYPE set_SizeBi(float prop/*[in]*/) = 0; // [162]
  virtual HRESULT STDMETHODCALLTYPE get_NameBi(BSTR* prop/*[out,retval]*/) = 0; // [163]
  virtual HRESULT STDMETHODCALLTYPE set_NameBi(BSTR prop/*[in]*/) = 0; // [163]
  virtual HRESULT STDMETHODCALLTYPE get_ColorIndexBi(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [164]
  virtual HRESULT STDMETHODCALLTYPE set_ColorIndexBi(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [164]
  virtual HRESULT STDMETHODCALLTYPE get_DiacriticColor(Word_xp::WdColor* prop/*[out,retval]*/) = 0; // [165]
  virtual HRESULT STDMETHODCALLTYPE set_DiacriticColor(Word_xp::WdColor prop/*[in]*/) = 0; // [165]
  virtual HRESULT STDMETHODCALLTYPE get_UnderlineColor(Word_xp::WdColor* prop/*[out,retval]*/) = 0; // [166]
  virtual HRESULT STDMETHODCALLTYPE set_UnderlineColor(Word_xp::WdColor prop/*[in]*/) = 0; // [166]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordFontPtr __fastcall get_Duplicate(void)
  {
    Word_xp::WordFontPtr prop;
    OLECHECK(this->get_Duplicate(&prop));
    return prop;
  }

  long __fastcall get_Bold(void)
  {
    long prop;
    OLECHECK(this->get_Bold((long*)&prop));
    return prop;
  }

  long __fastcall get_Italic(void)
  {
    long prop;
    OLECHECK(this->get_Italic((long*)&prop));
    return prop;
  }

  long __fastcall get_Hidden(void)
  {
    long prop;
    OLECHECK(this->get_Hidden((long*)&prop));
    return prop;
  }

  long __fastcall get_SmallCaps(void)
  {
    long prop;
    OLECHECK(this->get_SmallCaps((long*)&prop));
    return prop;
  }

  long __fastcall get_AllCaps(void)
  {
    long prop;
    OLECHECK(this->get_AllCaps((long*)&prop));
    return prop;
  }

  long __fastcall get_StrikeThrough(void)
  {
    long prop;
    OLECHECK(this->get_StrikeThrough((long*)&prop));
    return prop;
  }

  long __fastcall get_DoubleStrikeThrough(void)
  {
    long prop;
    OLECHECK(this->get_DoubleStrikeThrough((long*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_ColorIndex(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_ColorIndex((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  long __fastcall get_Subscript(void)
  {
    long prop;
    OLECHECK(this->get_Subscript((long*)&prop));
    return prop;
  }

  long __fastcall get_Superscript(void)
  {
    long prop;
    OLECHECK(this->get_Superscript((long*)&prop));
    return prop;
  }

  Word_xp::WdUnderline __fastcall get_Underline(void)
  {
    Word_xp::WdUnderline prop;
    OLECHECK(this->get_Underline((Word_xp::WdUnderline*)&prop));
    return prop;
  }

  float __fastcall get_Size(void)
  {
    float prop;
    OLECHECK(this->get_Size((float*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_Position(void)
  {
    long prop;
    OLECHECK(this->get_Position((long*)&prop));
    return prop;
  }

  float __fastcall get_Spacing(void)
  {
    float prop;
    OLECHECK(this->get_Spacing((float*)&prop));
    return prop;
  }

  long __fastcall get_Scaling(void)
  {
    long prop;
    OLECHECK(this->get_Scaling((long*)&prop));
    return prop;
  }

  long __fastcall get_Shadow(void)
  {
    long prop;
    OLECHECK(this->get_Shadow((long*)&prop));
    return prop;
  }

  long __fastcall get_Outline(void)
  {
    long prop;
    OLECHECK(this->get_Outline((long*)&prop));
    return prop;
  }

  long __fastcall get_Emboss(void)
  {
    long prop;
    OLECHECK(this->get_Emboss((long*)&prop));
    return prop;
  }

  float __fastcall get_Kerning(void)
  {
    float prop;
    OLECHECK(this->get_Kerning((float*)&prop));
    return prop;
  }

  long __fastcall get_Engrave(void)
  {
    long prop;
    OLECHECK(this->get_Engrave((long*)&prop));
    return prop;
  }

  Word_xp::WdAnimation __fastcall get_Animation(void)
  {
    Word_xp::WdAnimation prop;
    OLECHECK(this->get_Animation((Word_xp::WdAnimation*)&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::WdEmphasisMark __fastcall get_EmphasisMark(void)
  {
    Word_xp::WdEmphasisMark prop;
    OLECHECK(this->get_EmphasisMark((Word_xp::WdEmphasisMark*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisableCharacterSpaceGrid(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisableCharacterSpaceGrid((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_NameFarEast(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_NameFarEast((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_NameAscii(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_NameAscii((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_NameOther(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_NameOther((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdColor __fastcall get_Color(void)
  {
    Word_xp::WdColor prop;
    OLECHECK(this->get_Color((Word_xp::WdColor*)&prop));
    return prop;
  }

  long __fastcall get_BoldBi(void)
  {
    long prop;
    OLECHECK(this->get_BoldBi((long*)&prop));
    return prop;
  }

  long __fastcall get_ItalicBi(void)
  {
    long prop;
    OLECHECK(this->get_ItalicBi((long*)&prop));
    return prop;
  }

  float __fastcall get_SizeBi(void)
  {
    float prop;
    OLECHECK(this->get_SizeBi((float*)&prop));
    return prop;
  }

  BSTR __fastcall get_NameBi(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_NameBi((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_ColorIndexBi(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_ColorIndexBi((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  Word_xp::WdColor __fastcall get_DiacriticColor(void)
  {
    Word_xp::WdColor prop;
    OLECHECK(this->get_DiacriticColor((Word_xp::WdColor*)&prop));
    return prop;
  }

  Word_xp::WdColor __fastcall get_UnderlineColor(void)
  {
    Word_xp::WdColor prop;
    OLECHECK(this->get_UnderlineColor((Word_xp::WdColor*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordFontPtr Duplicate = {read = get_Duplicate};
  __property   long            Bold = {read = get_Bold, write = set_Bold};
  __property   long            Italic = {read = get_Italic, write = set_Italic};
  __property   long            Hidden = {read = get_Hidden, write = set_Hidden};
  __property   long            SmallCaps = {read = get_SmallCaps, write = set_SmallCaps};
  __property   long            AllCaps = {read = get_AllCaps, write = set_AllCaps};
  __property   long            StrikeThrough = {read = get_StrikeThrough, write = set_StrikeThrough};
  __property   long            DoubleStrikeThrough = {read = get_DoubleStrikeThrough, write = set_DoubleStrikeThrough};
  __property   Word_xp::WdColorIndex ColorIndex = {read = get_ColorIndex, write = set_ColorIndex};
  __property   long            Subscript = {read = get_Subscript, write = set_Subscript};
  __property   long            Superscript = {read = get_Superscript, write = set_Superscript};
  __property   Word_xp::WdUnderline Underline = {read = get_Underline, write = set_Underline};
  __property   float           Size = {read = get_Size, write = set_Size};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   long            Position = {read = get_Position, write = set_Position};
  __property   float           Spacing = {read = get_Spacing, write = set_Spacing};
  __property   long            Scaling = {read = get_Scaling, write = set_Scaling};
  __property   long            Shadow = {read = get_Shadow, write = set_Shadow};
  __property   long            Outline = {read = get_Outline, write = set_Outline};
  __property   long            Emboss = {read = get_Emboss, write = set_Emboss};
  __property   float           Kerning = {read = get_Kerning, write = set_Kerning};
  __property   long            Engrave = {read = get_Engrave, write = set_Engrave};
  __property   Word_xp::WdAnimation Animation = {read = get_Animation, write = set_Animation};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::WdEmphasisMark EmphasisMark = {read = get_EmphasisMark, write = set_EmphasisMark};
  __property   VARIANT_BOOL    DisableCharacterSpaceGrid = {read = get_DisableCharacterSpaceGrid, write = set_DisableCharacterSpaceGrid};
  __property   BSTR            NameFarEast = {read = get_NameFarEast, write = set_NameFarEast};
  __property   BSTR            NameAscii = {read = get_NameAscii, write = set_NameAscii};
  __property   BSTR            NameOther = {read = get_NameOther, write = set_NameOther};
  __property   Word_xp::WdColor Color = {read = get_Color, write = set_Color};
  __property   long            BoldBi = {read = get_BoldBi, write = set_BoldBi};
  __property   long            ItalicBi = {read = get_ItalicBi, write = set_ItalicBi};
  __property   float           SizeBi = {read = get_SizeBi, write = set_SizeBi};
  __property   BSTR            NameBi = {read = get_NameBi, write = set_NameBi};
  __property   Word_xp::WdColorIndex ColorIndexBi = {read = get_ColorIndexBi, write = set_ColorIndexBi};
  __property   Word_xp::WdColor DiacriticColor = {read = get_DiacriticColor, write = set_DiacriticColor};
  __property   Word_xp::WdColor UnderlineColor = {read = get_UnderlineColor, write = set_UnderlineColor};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Table
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020951-0000-0000-C000-000000000046}
// *********************************************************************//
interface Table  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Columns(Word_xp::Columns** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Rows(Word_xp::Rows** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Uniform(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatType(long* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [200]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE SortOld(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                            VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                            VARIANT* LanguageID/*[in,opt]*/= TNoParam()) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE SortAscending(void) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE SortDescending(void) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE AutoFormat(VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyBorders/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyShading/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyFont/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyColor/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyHeadingRows/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyLastRow/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyFirstColumn/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyLastColumn/*[in,opt]*/= TNoParam(), 
                                               VARIANT* AutoFit/*[in,opt]*/= TNoParam()) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE UpdateAutoFormat(void) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE ConvertToTextOld(VARIANT* Separator/*[in,opt]*/, 
                                                     Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE Cell(long Row/*[in]*/, long Column/*[in]*/, 
                                         Word_xp::Cell** prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE Split(VARIANT* BeforeRow/*[in]*/, 
                                          Word_xp::Table** prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE ConvertToText(VARIANT* Separator/*[in,opt]*/, 
                                                  VARIANT* NestedTables/*[in,opt]*/, 
                                                  Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE AutoFitBehavior(Word_xp::WdAutoFitBehavior Behavior/*[in]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE Sort(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                         VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                         VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                         VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                         VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                         VARIANT* BidiSort/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreThe/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreKashida/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreDiacritics/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreHe/*[in,opt]*/= TNoParam(), 
                                         VARIANT* LanguageID/*[in,opt]*/= TNoParam()) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE get_Tables(Word_xp::Tables** prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_NestingLevel(long* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_AllowPageBreaks(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_AllowPageBreaks(VARIANT_BOOL prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_AllowAutoFit(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE set_AllowAutoFit(VARIANT_BOOL prop/*[in]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_PreferredWidth(float* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_PreferredWidth(float prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_TopPadding(float* prop/*[out,retval]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE set_TopPadding(float prop/*[in]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE get_BottomPadding(float* prop/*[out,retval]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE set_BottomPadding(float prop/*[in]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE get_LeftPadding(float* prop/*[out,retval]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE set_LeftPadding(float prop/*[in]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE get_RightPadding(float* prop/*[out,retval]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE set_RightPadding(float prop/*[in]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE get_Spacing(float* prop/*[out,retval]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE set_Spacing(float prop/*[in]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE get_TableDirection(Word_xp::WdTableDirection* prop/*[out,retval]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE set_TableDirection(Word_xp::WdTableDirection prop/*[in]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE get_ID(BSTR* prop/*[out,retval]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE set_ID(BSTR prop/*[in]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE get_Style(VARIANT* prop/*[out,retval]*/) = 0; // [201]
  virtual HRESULT STDMETHODCALLTYPE set_Style(VARIANT* prop/*[in]*/) = 0; // [201]
  virtual HRESULT STDMETHODCALLTYPE get_ApplyStyleHeadingRows(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE set_ApplyStyleHeadingRows(VARIANT_BOOL prop/*[in]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE get_ApplyStyleLastRow(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [203]
  virtual HRESULT STDMETHODCALLTYPE set_ApplyStyleLastRow(VARIANT_BOOL prop/*[in]*/) = 0; // [203]
  virtual HRESULT STDMETHODCALLTYPE get_ApplyStyleFirstColumn(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [204]
  virtual HRESULT STDMETHODCALLTYPE set_ApplyStyleFirstColumn(VARIANT_BOOL prop/*[in]*/) = 0; // [204]
  virtual HRESULT STDMETHODCALLTYPE get_ApplyStyleLastColumn(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [205]
  virtual HRESULT STDMETHODCALLTYPE set_ApplyStyleLastColumn(VARIANT_BOOL prop/*[in]*/) = 0; // [205]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::ColumnsPtr __fastcall get_Columns(void)
  {
    Word_xp::ColumnsPtr prop;
    OLECHECK(this->get_Columns(&prop));
    return prop;
  }

  Word_xp::RowsPtr __fastcall get_Rows(void)
  {
    Word_xp::RowsPtr prop;
    OLECHECK(this->get_Rows(&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Uniform(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Uniform((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_AutoFormatType(void)
  {
    long prop;
    OLECHECK(this->get_AutoFormatType((long*)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall ConvertToTextOld(VARIANT* Separator/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->ConvertToTextOld(Separator, (Word_xp::WordRange**)&prop));
    return prop;
  }

  Word_xp::Cell* __fastcall Cell(long Row/*[in]*/, long Column/*[in]*/)
  {
    Word_xp::Cell* prop = 0;
    OLECHECK(this->Cell(Row, Column, (Word_xp::Cell**)&prop));
    return prop;
  }

  Word_xp::Table* __fastcall Split(VARIANT* BeforeRow/*[in]*/)
  {
    Word_xp::Table* prop = 0;
    OLECHECK(this->Split(BeforeRow, (Word_xp::Table**)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall ConvertToText(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NestedTables/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->ConvertToText(Separator, NestedTables, (Word_xp::WordRange**)&prop));
    return prop;
  }

  Word_xp::TablesPtr __fastcall get_Tables(void)
  {
    Word_xp::TablesPtr prop;
    OLECHECK(this->get_Tables(&prop));
    return prop;
  }

  long __fastcall get_NestingLevel(void)
  {
    long prop;
    OLECHECK(this->get_NestingLevel((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AllowPageBreaks(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AllowPageBreaks((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AllowAutoFit(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AllowAutoFit((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_PreferredWidth(void)
  {
    float prop;
    OLECHECK(this->get_PreferredWidth((float*)&prop));
    return prop;
  }

  Word_xp::WdPreferredWidthType __fastcall get_PreferredWidthType(void)
  {
    Word_xp::WdPreferredWidthType prop;
    OLECHECK(this->get_PreferredWidthType((Word_xp::WdPreferredWidthType*)&prop));
    return prop;
  }

  float __fastcall get_TopPadding(void)
  {
    float prop;
    OLECHECK(this->get_TopPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_BottomPadding(void)
  {
    float prop;
    OLECHECK(this->get_BottomPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_LeftPadding(void)
  {
    float prop;
    OLECHECK(this->get_LeftPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_RightPadding(void)
  {
    float prop;
    OLECHECK(this->get_RightPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_Spacing(void)
  {
    float prop;
    OLECHECK(this->get_Spacing((float*)&prop));
    return prop;
  }

  Word_xp::WdTableDirection __fastcall get_TableDirection(void)
  {
    Word_xp::WdTableDirection prop;
    OLECHECK(this->get_TableDirection((Word_xp::WdTableDirection*)&prop));
    return prop;
  }

  BSTR __fastcall get_ID(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ID((BSTR*)&prop));
    return prop;
  }

  VARIANT __fastcall get_Style(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Style((VARIANT*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ApplyStyleHeadingRows(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ApplyStyleHeadingRows((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ApplyStyleLastRow(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ApplyStyleLastRow((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ApplyStyleFirstColumn(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ApplyStyleFirstColumn((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ApplyStyleLastColumn(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ApplyStyleLastColumn((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::ColumnsPtr Columns = {read = get_Columns};
  __property   Word_xp::RowsPtr Rows = {read = get_Rows};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   VARIANT_BOOL    Uniform = {read = get_Uniform};
  __property   long            AutoFormatType = {read = get_AutoFormatType};
  __property   Word_xp::TablesPtr Tables = {read = get_Tables};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   VARIANT_BOOL    AllowPageBreaks = {read = get_AllowPageBreaks, write = set_AllowPageBreaks};
  __property   VARIANT_BOOL    AllowAutoFit = {read = get_AllowAutoFit, write = set_AllowAutoFit};
  __property   float           PreferredWidth = {read = get_PreferredWidth, write = set_PreferredWidth};
  __property   Word_xp::WdPreferredWidthType PreferredWidthType = {read = get_PreferredWidthType, write = set_PreferredWidthType};
  __property   float           TopPadding = {read = get_TopPadding, write = set_TopPadding};
  __property   float           BottomPadding = {read = get_BottomPadding, write = set_BottomPadding};
  __property   float           LeftPadding = {read = get_LeftPadding, write = set_LeftPadding};
  __property   float           RightPadding = {read = get_RightPadding, write = set_RightPadding};
  __property   float           Spacing = {read = get_Spacing, write = set_Spacing};
  __property   Word_xp::WdTableDirection TableDirection = {read = get_TableDirection, write = set_TableDirection};
  __property   BSTR            ID = {read = get_ID, write = set_ID};
  __property   VARIANT_BOOL    ApplyStyleHeadingRows = {read = get_ApplyStyleHeadingRows, write = set_ApplyStyleHeadingRows};
  __property   VARIANT_BOOL    ApplyStyleLastRow = {read = get_ApplyStyleLastRow, write = set_ApplyStyleLastRow};
  __property   VARIANT_BOOL    ApplyStyleFirstColumn = {read = get_ApplyStyleFirstColumn, write = set_ApplyStyleFirstColumn};
  __property   VARIANT_BOOL    ApplyStyleLastColumn = {read = get_ApplyStyleLastColumn, write = set_ApplyStyleLastColumn};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Row
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020950-0000-0000-C000-000000000046}
// *********************************************************************//
interface Row  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_AllowBreakAcrossPages(long* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_AllowBreakAcrossPages(long prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Alignment(Word_xp::WdRowAlignment* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_Alignment(Word_xp::WdRowAlignment prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_HeadingFormat(long* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_HeadingFormat(long prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceBetweenColumns(float* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceBetweenColumns(float prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Height(float* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_Height(float prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_HeightRule(Word_xp::WdRowHeightRule* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_HeightRule(Word_xp::WdRowHeightRule prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_LeftIndent(float* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_LeftIndent(float prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_IsLast(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_IsFirst(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_Cells(Word_xp::Cells** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Next(Word_xp::Row** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Previous(Word_xp::Row** prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [200]
  virtual HRESULT STDMETHODCALLTYPE SetLeftIndent(float LeftIndent/*[in]*/, 
                                                  Word_xp::WdRulerStyle RulerStyle/*[in]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE SetHeight(float RowHeight/*[in]*/, 
                                              Word_xp::WdRowHeightRule HeightRule/*[in]*/) = 0; // [203]
  virtual HRESULT STDMETHODCALLTYPE ConvertToTextOld(VARIANT* Separator/*[in,opt]*/, 
                                                     Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE ConvertToText(VARIANT* Separator/*[in,opt]*/, 
                                                  VARIANT* NestedTables/*[in,opt]*/, 
                                                  Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_NestingLevel(long* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_ID(BSTR* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_ID(BSTR prop/*[in]*/) = 0; // [107]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_AllowBreakAcrossPages(void)
  {
    long prop;
    OLECHECK(this->get_AllowBreakAcrossPages((long*)&prop));
    return prop;
  }

  Word_xp::WdRowAlignment __fastcall get_Alignment(void)
  {
    Word_xp::WdRowAlignment prop;
    OLECHECK(this->get_Alignment((Word_xp::WdRowAlignment*)&prop));
    return prop;
  }

  long __fastcall get_HeadingFormat(void)
  {
    long prop;
    OLECHECK(this->get_HeadingFormat((long*)&prop));
    return prop;
  }

  float __fastcall get_SpaceBetweenColumns(void)
  {
    float prop;
    OLECHECK(this->get_SpaceBetweenColumns((float*)&prop));
    return prop;
  }

  float __fastcall get_Height(void)
  {
    float prop;
    OLECHECK(this->get_Height((float*)&prop));
    return prop;
  }

  Word_xp::WdRowHeightRule __fastcall get_HeightRule(void)
  {
    Word_xp::WdRowHeightRule prop;
    OLECHECK(this->get_HeightRule((Word_xp::WdRowHeightRule*)&prop));
    return prop;
  }

  float __fastcall get_LeftIndent(void)
  {
    float prop;
    OLECHECK(this->get_LeftIndent((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsLast(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsLast((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsFirst(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsFirst((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  Word_xp::CellsPtr __fastcall get_Cells(void)
  {
    Word_xp::CellsPtr prop;
    OLECHECK(this->get_Cells(&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::RowPtr __fastcall get_Next(void)
  {
    Word_xp::RowPtr prop;
    OLECHECK(this->get_Next(&prop));
    return prop;
  }

  Word_xp::RowPtr __fastcall get_Previous(void)
  {
    Word_xp::RowPtr prop;
    OLECHECK(this->get_Previous(&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall ConvertToTextOld(VARIANT* Separator/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->ConvertToTextOld(Separator, (Word_xp::WordRange**)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall ConvertToText(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NestedTables/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->ConvertToText(Separator, NestedTables, (Word_xp::WordRange**)&prop));
    return prop;
  }

  long __fastcall get_NestingLevel(void)
  {
    long prop;
    OLECHECK(this->get_NestingLevel((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_ID(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ID((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            AllowBreakAcrossPages = {read = get_AllowBreakAcrossPages, write = set_AllowBreakAcrossPages};
  __property   Word_xp::WdRowAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   long            HeadingFormat = {read = get_HeadingFormat, write = set_HeadingFormat};
  __property   float           SpaceBetweenColumns = {read = get_SpaceBetweenColumns, write = set_SpaceBetweenColumns};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdRowHeightRule HeightRule = {read = get_HeightRule, write = set_HeightRule};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   VARIANT_BOOL    IsLast = {read = get_IsLast};
  __property   VARIANT_BOOL    IsFirst = {read = get_IsFirst};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::CellsPtr Cells = {read = get_Cells};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::RowPtr Next = {read = get_Next};
  __property   Word_xp::RowPtr Previous = {read = get_Previous};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   BSTR            ID = {read = get_ID, write = set_ID};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Column
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094F-0000-0000-C000-000000000046}
// *********************************************************************//
interface Column  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Width(float* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Width(float prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_IsFirst(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_IsLast(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Cells(Word_xp::Cells** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_Next(Word_xp::Column** prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Previous(Word_xp::Column** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [200]
  virtual HRESULT STDMETHODCALLTYPE SetWidth(float ColumnWidth/*[in]*/, 
                                             Word_xp::WdRulerStyle RulerStyle/*[in]*/) = 0; // [201]
  virtual HRESULT STDMETHODCALLTYPE AutoFit(void) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE SortOld(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                            VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                            VARIANT* LanguageID/*[in,opt]*/= TNoParam()) = 0; // [203]
  virtual HRESULT STDMETHODCALLTYPE Sort(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                         VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                         VARIANT* BidiSort/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreThe/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreKashida/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreDiacritics/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreHe/*[in,opt]*/= TNoParam(), 
                                         VARIANT* LanguageID/*[in,opt]*/= TNoParam()) = 0; // [204]
  virtual HRESULT STDMETHODCALLTYPE get_NestingLevel(long* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_PreferredWidth(float* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_PreferredWidth(float prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/) = 0; // [107]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  float __fastcall get_Width(void)
  {
    float prop;
    OLECHECK(this->get_Width((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsFirst(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsFirst((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsLast(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsLast((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  Word_xp::CellsPtr __fastcall get_Cells(void)
  {
    Word_xp::CellsPtr prop;
    OLECHECK(this->get_Cells(&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::ColumnPtr __fastcall get_Next(void)
  {
    Word_xp::ColumnPtr prop;
    OLECHECK(this->get_Next(&prop));
    return prop;
  }

  Word_xp::ColumnPtr __fastcall get_Previous(void)
  {
    Word_xp::ColumnPtr prop;
    OLECHECK(this->get_Previous(&prop));
    return prop;
  }

  long __fastcall get_NestingLevel(void)
  {
    long prop;
    OLECHECK(this->get_NestingLevel((long*)&prop));
    return prop;
  }

  float __fastcall get_PreferredWidth(void)
  {
    float prop;
    OLECHECK(this->get_PreferredWidth((float*)&prop));
    return prop;
  }

  Word_xp::WdPreferredWidthType __fastcall get_PreferredWidthType(void)
  {
    Word_xp::WdPreferredWidthType prop;
    OLECHECK(this->get_PreferredWidthType((Word_xp::WdPreferredWidthType*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   VARIANT_BOOL    IsFirst = {read = get_IsFirst};
  __property   VARIANT_BOOL    IsLast = {read = get_IsLast};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::CellsPtr Cells = {read = get_Cells};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::ColumnPtr Next = {read = get_Next};
  __property   Word_xp::ColumnPtr Previous = {read = get_Previous};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   float           PreferredWidth = {read = get_PreferredWidth, write = set_PreferredWidth};
  __property   Word_xp::WdPreferredWidthType PreferredWidthType = {read = get_PreferredWidthType, write = set_PreferredWidthType};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Cell
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094E-0000-0000-C000-000000000046}
// *********************************************************************//
interface Cell  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_RowIndex(long* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_ColumnIndex(long* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Width(float* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_Width(float prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Height(float* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_Height(float prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_HeightRule(Word_xp::WdRowHeightRule* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_HeightRule(Word_xp::WdRowHeightRule prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_VerticalAlignment(Word_xp::WdCellVerticalAlignment* prop/*[out,retval]*/) = 0; // [1104]
  virtual HRESULT STDMETHODCALLTYPE set_VerticalAlignment(Word_xp::WdCellVerticalAlignment prop/*[in]*/) = 0; // [1104]
  virtual HRESULT STDMETHODCALLTYPE get_Column(Word_xp::Column** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Row(Word_xp::Row** prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_Next(Word_xp::Cell** prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Previous(Word_xp::Cell** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE Delete(VARIANT* ShiftCells/*[in,opt]*/= TNoParam()) = 0; // [200]
  virtual HRESULT STDMETHODCALLTYPE Formula(VARIANT* Formula/*[in,opt]*/= TNoParam(), 
                                            VARIANT* NumFormat/*[in,opt]*/= TNoParam()) = 0; // [201]
  virtual HRESULT STDMETHODCALLTYPE SetWidth(float ColumnWidth/*[in]*/, 
                                             Word_xp::WdRulerStyle RulerStyle/*[in]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE SetHeight(VARIANT* RowHeight/*[in]*/, 
                                              Word_xp::WdRowHeightRule HeightRule/*[in]*/) = 0; // [203]
  virtual HRESULT STDMETHODCALLTYPE Merge(Word_xp::Cell* MergeTo/*[in]*/) = 0; // [204]
  virtual HRESULT STDMETHODCALLTYPE Split(VARIANT* NumRows/*[in,opt]*/= TNoParam(), 
                                          VARIANT* NumColumns/*[in,opt]*/= TNoParam()) = 0; // [205]
  virtual HRESULT STDMETHODCALLTYPE AutoSum(void) = 0; // [206]
  virtual HRESULT STDMETHODCALLTYPE get_Tables(Word_xp::Tables** prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_NestingLevel(long* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_WordWrap(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE set_WordWrap(VARIANT_BOOL prop/*[in]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_PreferredWidth(float* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_PreferredWidth(float prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_FitText(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE set_FitText(VARIANT_BOOL prop/*[in]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_TopPadding(float* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_TopPadding(float prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_BottomPadding(float* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE set_BottomPadding(float prop/*[in]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_LeftPadding(float* prop/*[out,retval]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE set_LeftPadding(float prop/*[in]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE get_RightPadding(float* prop/*[out,retval]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE set_RightPadding(float prop/*[in]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE get_ID(BSTR* prop/*[out,retval]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE set_ID(BSTR prop/*[in]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/) = 0; // [116]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_RowIndex(void)
  {
    long prop;
    OLECHECK(this->get_RowIndex((long*)&prop));
    return prop;
  }

  long __fastcall get_ColumnIndex(void)
  {
    long prop;
    OLECHECK(this->get_ColumnIndex((long*)&prop));
    return prop;
  }

  float __fastcall get_Width(void)
  {
    float prop;
    OLECHECK(this->get_Width((float*)&prop));
    return prop;
  }

  float __fastcall get_Height(void)
  {
    float prop;
    OLECHECK(this->get_Height((float*)&prop));
    return prop;
  }

  Word_xp::WdRowHeightRule __fastcall get_HeightRule(void)
  {
    Word_xp::WdRowHeightRule prop;
    OLECHECK(this->get_HeightRule((Word_xp::WdRowHeightRule*)&prop));
    return prop;
  }

  Word_xp::WdCellVerticalAlignment __fastcall get_VerticalAlignment(void)
  {
    Word_xp::WdCellVerticalAlignment prop;
    OLECHECK(this->get_VerticalAlignment((Word_xp::WdCellVerticalAlignment*)&prop));
    return prop;
  }

  Word_xp::ColumnPtr __fastcall get_Column(void)
  {
    Word_xp::ColumnPtr prop;
    OLECHECK(this->get_Column(&prop));
    return prop;
  }

  Word_xp::RowPtr __fastcall get_Row(void)
  {
    Word_xp::RowPtr prop;
    OLECHECK(this->get_Row(&prop));
    return prop;
  }

  Word_xp::CellPtr __fastcall get_Next(void)
  {
    Word_xp::CellPtr prop;
    OLECHECK(this->get_Next(&prop));
    return prop;
  }

  Word_xp::CellPtr __fastcall get_Previous(void)
  {
    Word_xp::CellPtr prop;
    OLECHECK(this->get_Previous(&prop));
    return prop;
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::TablesPtr __fastcall get_Tables(void)
  {
    Word_xp::TablesPtr prop;
    OLECHECK(this->get_Tables(&prop));
    return prop;
  }

  long __fastcall get_NestingLevel(void)
  {
    long prop;
    OLECHECK(this->get_NestingLevel((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_WordWrap(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_WordWrap((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_PreferredWidth(void)
  {
    float prop;
    OLECHECK(this->get_PreferredWidth((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FitText(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FitText((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_TopPadding(void)
  {
    float prop;
    OLECHECK(this->get_TopPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_BottomPadding(void)
  {
    float prop;
    OLECHECK(this->get_BottomPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_LeftPadding(void)
  {
    float prop;
    OLECHECK(this->get_LeftPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_RightPadding(void)
  {
    float prop;
    OLECHECK(this->get_RightPadding((float*)&prop));
    return prop;
  }

  BSTR __fastcall get_ID(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ID((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdPreferredWidthType __fastcall get_PreferredWidthType(void)
  {
    Word_xp::WdPreferredWidthType prop;
    OLECHECK(this->get_PreferredWidthType((Word_xp::WdPreferredWidthType*)&prop));
    return prop;
  }


  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            RowIndex = {read = get_RowIndex};
  __property   long            ColumnIndex = {read = get_ColumnIndex};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdRowHeightRule HeightRule = {read = get_HeightRule, write = set_HeightRule};
  __property   Word_xp::WdCellVerticalAlignment VerticalAlignment = {read = get_VerticalAlignment, write = set_VerticalAlignment};
  __property   Word_xp::ColumnPtr Column = {read = get_Column};
  __property   Word_xp::RowPtr Row = {read = get_Row};
  __property   Word_xp::CellPtr Next = {read = get_Next};
  __property   Word_xp::CellPtr Previous = {read = get_Previous};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::TablesPtr Tables = {read = get_Tables};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   VARIANT_BOOL    WordWrap = {read = get_WordWrap, write = set_WordWrap};
  __property   float           PreferredWidth = {read = get_PreferredWidth, write = set_PreferredWidth};
  __property   VARIANT_BOOL    FitText = {read = get_FitText, write = set_FitText};
  __property   float           TopPadding = {read = get_TopPadding, write = set_TopPadding};
  __property   float           BottomPadding = {read = get_BottomPadding, write = set_BottomPadding};
  __property   float           LeftPadding = {read = get_LeftPadding, write = set_LeftPadding};
  __property   float           RightPadding = {read = get_RightPadding, write = set_RightPadding};
  __property   BSTR            ID = {read = get_ID, write = set_ID};
  __property   Word_xp::WdPreferredWidthType PreferredWidthType = {read = get_PreferredWidthType, write = set_PreferredWidthType};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Tables
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094D-0000-0000-C000-000000000046}
// *********************************************************************//
interface Tables  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::Table** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE AddOld(Word_xp::WordRange* Range/*[in]*/, long NumRows/*[in]*/, 
                                           long NumColumns/*[in]*/, 
                                           Word_xp::Table** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WordRange* Range/*[in]*/, long NumRows/*[in]*/, 
                                        long NumColumns/*[in]*/, 
                                        VARIANT* DefaultTableBehavior/*[in,opt]*/, 
                                        VARIANT* AutoFitBehavior/*[in,opt]*/, 
                                        Word_xp::Table** prop/*[out,retval]*/) = 0; // [200]
  virtual HRESULT STDMETHODCALLTYPE get_NestingLevel(long* prop/*[out,retval]*/) = 0; // [100]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::Table* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Table* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Table**)&prop));
    return prop;
  }

  Word_xp::Table* __fastcall AddOld(Word_xp::WordRange* Range/*[in]*/, long NumRows/*[in]*/, 
                                    long NumColumns/*[in]*/)
  {
    Word_xp::Table* prop = 0;
    OLECHECK(this->AddOld(Range, NumRows, NumColumns, (Word_xp::Table**)&prop));
    return prop;
  }

  Word_xp::Table* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, long NumRows/*[in]*/, 
                                 long NumColumns/*[in]*/, 
                                 VARIANT* DefaultTableBehavior/*[in,opt]*/= TNoParam(), 
                                 VARIANT* AutoFitBehavior/*[in,opt]*/= TNoParam())
  {
    Word_xp::Table* prop = 0;
    OLECHECK(this->Add(Range, NumRows, NumColumns, DefaultTableBehavior, AutoFitBehavior, (Word_xp::Table**)&prop));
    return prop;
  }

  long __fastcall get_NestingLevel(void)
  {
    long prop;
    OLECHECK(this->get_NestingLevel((long*)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            NestingLevel = {read = get_NestingLevel};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Rows
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094C-0000-0000-C000-000000000046}
// *********************************************************************//
interface Rows  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_AllowBreakAcrossPages(long* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_AllowBreakAcrossPages(long prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Alignment(Word_xp::WdRowAlignment* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_Alignment(Word_xp::WdRowAlignment prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_HeadingFormat(long* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_HeadingFormat(long prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceBetweenColumns(float* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceBetweenColumns(float prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Height(float* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_Height(float prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_HeightRule(Word_xp::WdRowHeightRule* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_HeightRule(Word_xp::WdRowHeightRule prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_LeftIndent(float* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_LeftIndent(float prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_First(Word_xp::Row** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_Last(Word_xp::Row** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::Row** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* BeforeRow/*[in,opt]*/, 
                                        Word_xp::Row** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [199]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [200]
  virtual HRESULT STDMETHODCALLTYPE SetLeftIndent(float LeftIndent/*[in]*/, 
                                                  Word_xp::WdRulerStyle RulerStyle/*[in]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE SetHeight(float RowHeight/*[in]*/, 
                                              Word_xp::WdRowHeightRule HeightRule/*[in]*/) = 0; // [203]
  virtual HRESULT STDMETHODCALLTYPE ConvertToTextOld(VARIANT* Separator/*[in,opt]*/, 
                                                     Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE DistributeHeight(void) = 0; // [206]
  virtual HRESULT STDMETHODCALLTYPE ConvertToText(VARIANT* Separator/*[in,opt]*/, 
                                                  VARIANT* NestedTables/*[in,opt]*/, 
                                                  Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [210]
  virtual HRESULT STDMETHODCALLTYPE get_WrapAroundText(long* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_WrapAroundText(long prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceTop(float* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceTop(float prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceBottom(float* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceBottom(float prop/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceLeft(float* prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceLeft(float prop/*[in]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceRight(float* prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceRight(float prop/*[in]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE get_HorizontalPosition(float* prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE set_HorizontalPosition(float prop/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_VerticalPosition(float* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE set_VerticalPosition(float prop/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition* prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE set_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition prop/*[in]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition* prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE set_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition prop/*[in]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE get_AllowOverlap(long* prop/*[out,retval]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE set_AllowOverlap(long prop/*[in]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE get_NestingLevel(long* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_TableDirection(Word_xp::WdTableDirection* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_TableDirection(Word_xp::WdTableDirection prop/*[in]*/) = 0; // [104]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  long __fastcall get_AllowBreakAcrossPages(void)
  {
    long prop;
    OLECHECK(this->get_AllowBreakAcrossPages((long*)&prop));
    return prop;
  }

  Word_xp::WdRowAlignment __fastcall get_Alignment(void)
  {
    Word_xp::WdRowAlignment prop;
    OLECHECK(this->get_Alignment((Word_xp::WdRowAlignment*)&prop));
    return prop;
  }

  long __fastcall get_HeadingFormat(void)
  {
    long prop;
    OLECHECK(this->get_HeadingFormat((long*)&prop));
    return prop;
  }

  float __fastcall get_SpaceBetweenColumns(void)
  {
    float prop;
    OLECHECK(this->get_SpaceBetweenColumns((float*)&prop));
    return prop;
  }

  float __fastcall get_Height(void)
  {
    float prop;
    OLECHECK(this->get_Height((float*)&prop));
    return prop;
  }

  Word_xp::WdRowHeightRule __fastcall get_HeightRule(void)
  {
    Word_xp::WdRowHeightRule prop;
    OLECHECK(this->get_HeightRule((Word_xp::WdRowHeightRule*)&prop));
    return prop;
  }

  float __fastcall get_LeftIndent(void)
  {
    float prop;
    OLECHECK(this->get_LeftIndent((float*)&prop));
    return prop;
  }

  Word_xp::RowPtr __fastcall get_First(void)
  {
    Word_xp::RowPtr prop;
    OLECHECK(this->get_First(&prop));
    return prop;
  }

  Word_xp::RowPtr __fastcall get_Last(void)
  {
    Word_xp::RowPtr prop;
    OLECHECK(this->get_Last(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::Row* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Row* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Row**)&prop));
    return prop;
  }

  Word_xp::Row* __fastcall Add(VARIANT* BeforeRow/*[in,opt]*/= TNoParam())
  {
    Word_xp::Row* prop = 0;
    OLECHECK(this->Add(BeforeRow, (Word_xp::Row**)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall ConvertToTextOld(VARIANT* Separator/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->ConvertToTextOld(Separator, (Word_xp::WordRange**)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall ConvertToText(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NestedTables/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->ConvertToText(Separator, NestedTables, (Word_xp::WordRange**)&prop));
    return prop;
  }

  long __fastcall get_WrapAroundText(void)
  {
    long prop;
    OLECHECK(this->get_WrapAroundText((long*)&prop));
    return prop;
  }

  float __fastcall get_DistanceTop(void)
  {
    float prop;
    OLECHECK(this->get_DistanceTop((float*)&prop));
    return prop;
  }

  float __fastcall get_DistanceBottom(void)
  {
    float prop;
    OLECHECK(this->get_DistanceBottom((float*)&prop));
    return prop;
  }

  float __fastcall get_DistanceLeft(void)
  {
    float prop;
    OLECHECK(this->get_DistanceLeft((float*)&prop));
    return prop;
  }

  float __fastcall get_DistanceRight(void)
  {
    float prop;
    OLECHECK(this->get_DistanceRight((float*)&prop));
    return prop;
  }

  float __fastcall get_HorizontalPosition(void)
  {
    float prop;
    OLECHECK(this->get_HorizontalPosition((float*)&prop));
    return prop;
  }

  float __fastcall get_VerticalPosition(void)
  {
    float prop;
    OLECHECK(this->get_VerticalPosition((float*)&prop));
    return prop;
  }

  Word_xp::WdRelativeHorizontalPosition __fastcall get_RelativeHorizontalPosition(void)
  {
    Word_xp::WdRelativeHorizontalPosition prop;
    OLECHECK(this->get_RelativeHorizontalPosition((Word_xp::WdRelativeHorizontalPosition*)&prop));
    return prop;
  }

  Word_xp::WdRelativeVerticalPosition __fastcall get_RelativeVerticalPosition(void)
  {
    Word_xp::WdRelativeVerticalPosition prop;
    OLECHECK(this->get_RelativeVerticalPosition((Word_xp::WdRelativeVerticalPosition*)&prop));
    return prop;
  }

  long __fastcall get_AllowOverlap(void)
  {
    long prop;
    OLECHECK(this->get_AllowOverlap((long*)&prop));
    return prop;
  }

  long __fastcall get_NestingLevel(void)
  {
    long prop;
    OLECHECK(this->get_NestingLevel((long*)&prop));
    return prop;
  }

  Word_xp::WdTableDirection __fastcall get_TableDirection(void)
  {
    Word_xp::WdTableDirection prop;
    OLECHECK(this->get_TableDirection((Word_xp::WdTableDirection*)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   long            AllowBreakAcrossPages = {read = get_AllowBreakAcrossPages, write = set_AllowBreakAcrossPages};
  __property   Word_xp::WdRowAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   long            HeadingFormat = {read = get_HeadingFormat, write = set_HeadingFormat};
  __property   float           SpaceBetweenColumns = {read = get_SpaceBetweenColumns, write = set_SpaceBetweenColumns};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdRowHeightRule HeightRule = {read = get_HeightRule, write = set_HeightRule};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   Word_xp::RowPtr First = {read = get_First};
  __property   Word_xp::RowPtr Last = {read = get_Last};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   long            WrapAroundText = {read = get_WrapAroundText, write = set_WrapAroundText};
  __property   float           DistanceTop = {read = get_DistanceTop, write = set_DistanceTop};
  __property   float           DistanceBottom = {read = get_DistanceBottom, write = set_DistanceBottom};
  __property   float           DistanceLeft = {read = get_DistanceLeft, write = set_DistanceLeft};
  __property   float           DistanceRight = {read = get_DistanceRight, write = set_DistanceRight};
  __property   float           HorizontalPosition = {read = get_HorizontalPosition, write = set_HorizontalPosition};
  __property   float           VerticalPosition = {read = get_VerticalPosition, write = set_VerticalPosition};
  __property   Word_xp::WdRelativeHorizontalPosition RelativeHorizontalPosition = {read = get_RelativeHorizontalPosition, write = set_RelativeHorizontalPosition};
  __property   Word_xp::WdRelativeVerticalPosition RelativeVerticalPosition = {read = get_RelativeVerticalPosition, write = set_RelativeVerticalPosition};
  __property   long            AllowOverlap = {read = get_AllowOverlap, write = set_AllowOverlap};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   Word_xp::WdTableDirection TableDirection = {read = get_TableDirection, write = set_TableDirection};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Columns
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094B-0000-0000-C000-000000000046}
// *********************************************************************//
interface Columns  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_First(Word_xp::Column** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Last(Word_xp::Column** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Width(float* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Width(float prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::Column** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* BeforeColumn/*[in,opt]*/, 
                                        Word_xp::Column** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [199]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [200]
  virtual HRESULT STDMETHODCALLTYPE SetWidth(float ColumnWidth/*[in]*/, 
                                             Word_xp::WdRulerStyle RulerStyle/*[in]*/) = 0; // [201]
  virtual HRESULT STDMETHODCALLTYPE AutoFit(void) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE DistributeWidth(void) = 0; // [203]
  virtual HRESULT STDMETHODCALLTYPE get_NestingLevel(long* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_PreferredWidth(float* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_PreferredWidth(float prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/) = 0; // [106]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::ColumnPtr __fastcall get_First(void)
  {
    Word_xp::ColumnPtr prop;
    OLECHECK(this->get_First(&prop));
    return prop;
  }

  Word_xp::ColumnPtr __fastcall get_Last(void)
  {
    Word_xp::ColumnPtr prop;
    OLECHECK(this->get_Last(&prop));
    return prop;
  }

  float __fastcall get_Width(void)
  {
    float prop;
    OLECHECK(this->get_Width((float*)&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::Column* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Column* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Column**)&prop));
    return prop;
  }

  Word_xp::Column* __fastcall Add(VARIANT* BeforeColumn/*[in,opt]*/= TNoParam())
  {
    Word_xp::Column* prop = 0;
    OLECHECK(this->Add(BeforeColumn, (Word_xp::Column**)&prop));
    return prop;
  }

  long __fastcall get_NestingLevel(void)
  {
    long prop;
    OLECHECK(this->get_NestingLevel((long*)&prop));
    return prop;
  }

  float __fastcall get_PreferredWidth(void)
  {
    float prop;
    OLECHECK(this->get_PreferredWidth((float*)&prop));
    return prop;
  }

  Word_xp::WdPreferredWidthType __fastcall get_PreferredWidthType(void)
  {
    Word_xp::WdPreferredWidthType prop;
    OLECHECK(this->get_PreferredWidthType((Word_xp::WdPreferredWidthType*)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::ColumnPtr First = {read = get_First};
  __property   Word_xp::ColumnPtr Last = {read = get_Last};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   float           PreferredWidth = {read = get_PreferredWidth, write = set_PreferredWidth};
  __property   Word_xp::WdPreferredWidthType PreferredWidthType = {read = get_PreferredWidthType, write = set_PreferredWidthType};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Cells
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094A-0000-0000-C000-000000000046}
// *********************************************************************//
interface Cells  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Width(float* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_Width(float prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Height(float* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_Height(float prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_HeightRule(Word_xp::WdRowHeightRule* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_HeightRule(Word_xp::WdRowHeightRule prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_VerticalAlignment(Word_xp::WdCellVerticalAlignment* prop/*[out,retval]*/) = 0; // [1104]
  virtual HRESULT STDMETHODCALLTYPE set_VerticalAlignment(Word_xp::WdCellVerticalAlignment prop/*[in]*/) = 0; // [1104]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::Cell** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* BeforeCell/*[in,opt]*/, 
                                        Word_xp::Cell** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE Delete(VARIANT* ShiftCells/*[in,opt]*/= TNoParam()) = 0; // [200]
  virtual HRESULT STDMETHODCALLTYPE SetWidth(float ColumnWidth/*[in]*/, 
                                             Word_xp::WdRulerStyle RulerStyle/*[in]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE SetHeight(VARIANT* RowHeight/*[in]*/, 
                                              Word_xp::WdRowHeightRule HeightRule/*[in]*/) = 0; // [203]
  virtual HRESULT STDMETHODCALLTYPE Merge(void) = 0; // [204]
  virtual HRESULT STDMETHODCALLTYPE Split(VARIANT* NumRows/*[in,opt]*/= TNoParam(), 
                                          VARIANT* NumColumns/*[in,opt]*/= TNoParam(), 
                                          VARIANT* MergeBeforeSplit/*[in,opt]*/= TNoParam()) = 0; // [205]
  virtual HRESULT STDMETHODCALLTYPE DistributeHeight(void) = 0; // [206]
  virtual HRESULT STDMETHODCALLTYPE DistributeWidth(void) = 0; // [207]
  virtual HRESULT STDMETHODCALLTYPE AutoFit(void) = 0; // [208]
  virtual HRESULT STDMETHODCALLTYPE get_NestingLevel(long* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_PreferredWidth(float* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_PreferredWidth(float prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/) = 0; // [104]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  float __fastcall get_Width(void)
  {
    float prop;
    OLECHECK(this->get_Width((float*)&prop));
    return prop;
  }

  float __fastcall get_Height(void)
  {
    float prop;
    OLECHECK(this->get_Height((float*)&prop));
    return prop;
  }

  Word_xp::WdRowHeightRule __fastcall get_HeightRule(void)
  {
    Word_xp::WdRowHeightRule prop;
    OLECHECK(this->get_HeightRule((Word_xp::WdRowHeightRule*)&prop));
    return prop;
  }

  Word_xp::WdCellVerticalAlignment __fastcall get_VerticalAlignment(void)
  {
    Word_xp::WdCellVerticalAlignment prop;
    OLECHECK(this->get_VerticalAlignment((Word_xp::WdCellVerticalAlignment*)&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::Cell* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Cell* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Cell**)&prop));
    return prop;
  }

  Word_xp::Cell* __fastcall Add(VARIANT* BeforeCell/*[in,opt]*/= TNoParam())
  {
    Word_xp::Cell* prop = 0;
    OLECHECK(this->Add(BeforeCell, (Word_xp::Cell**)&prop));
    return prop;
  }

  long __fastcall get_NestingLevel(void)
  {
    long prop;
    OLECHECK(this->get_NestingLevel((long*)&prop));
    return prop;
  }

  float __fastcall get_PreferredWidth(void)
  {
    float prop;
    OLECHECK(this->get_PreferredWidth((float*)&prop));
    return prop;
  }

  Word_xp::WdPreferredWidthType __fastcall get_PreferredWidthType(void)
  {
    Word_xp::WdPreferredWidthType prop;
    OLECHECK(this->get_PreferredWidthType((Word_xp::WdPreferredWidthType*)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdRowHeightRule HeightRule = {read = get_HeightRule, write = set_HeightRule};
  __property   Word_xp::WdCellVerticalAlignment VerticalAlignment = {read = get_VerticalAlignment, write = set_VerticalAlignment};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   float           PreferredWidth = {read = get_PreferredWidth, write = set_PreferredWidth};
  __property   Word_xp::WdPreferredWidthType PreferredWidthType = {read = get_PreferredWidthType, write = set_PreferredWidthType};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: AutoCorrect
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020949-0000-0000-C000-000000000046}
// *********************************************************************//
interface AutoCorrect  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_CorrectDays(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_CorrectDays(VARIANT_BOOL prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_CorrectInitialCaps(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_CorrectInitialCaps(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_CorrectSentenceCaps(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_CorrectSentenceCaps(VARIANT_BOOL prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_ReplaceText(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_ReplaceText(VARIANT_BOOL prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Entries(Word_xp::AutoCorrectEntries** prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_FirstLetterExceptions(Word_xp::FirstLetterExceptions** prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_FirstLetterAutoAdd(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_FirstLetterAutoAdd(VARIANT_BOOL prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_TwoInitialCapsExceptions(Word_xp::TwoInitialCapsExceptions** prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_TwoInitialCapsAutoAdd(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_TwoInitialCapsAutoAdd(VARIANT_BOOL prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_CorrectCapsLock(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_CorrectCapsLock(VARIANT_BOOL prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_CorrectHangulAndAlphabet(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_CorrectHangulAndAlphabet(VARIANT_BOOL prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_HangulAndAlphabetExceptions(Word_xp::HangulAndAlphabetExceptions** prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_HangulAndAlphabetAutoAdd(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_HangulAndAlphabetAutoAdd(VARIANT_BOOL prop/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_ReplaceTextFromSpellingChecker(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE set_ReplaceTextFromSpellingChecker(VARIANT_BOOL prop/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_OtherCorrectionsAutoAdd(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE set_OtherCorrectionsAutoAdd(VARIANT_BOOL prop/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_OtherCorrectionsExceptions(Word_xp::OtherCorrectionsExceptions** prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_CorrectKeyboardSetting(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE set_CorrectKeyboardSetting(VARIANT_BOOL prop/*[in]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_CorrectTableCells(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE set_CorrectTableCells(VARIANT_BOOL prop/*[in]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayAutoCorrectOptions(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayAutoCorrectOptions(VARIANT_BOOL prop/*[in]*/) = 0; // [20]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CorrectDays(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CorrectDays((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CorrectInitialCaps(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CorrectInitialCaps((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CorrectSentenceCaps(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CorrectSentenceCaps((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ReplaceText(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ReplaceText((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::AutoCorrectEntriesPtr __fastcall get_Entries(void)
  {
    Word_xp::AutoCorrectEntriesPtr prop;
    OLECHECK(this->get_Entries(&prop));
    return prop;
  }

  Word_xp::FirstLetterExceptionsPtr __fastcall get_FirstLetterExceptions(void)
  {
    Word_xp::FirstLetterExceptionsPtr prop;
    OLECHECK(this->get_FirstLetterExceptions(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FirstLetterAutoAdd(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FirstLetterAutoAdd((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::TwoInitialCapsExceptionsPtr __fastcall get_TwoInitialCapsExceptions(void)
  {
    Word_xp::TwoInitialCapsExceptionsPtr prop;
    OLECHECK(this->get_TwoInitialCapsExceptions(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_TwoInitialCapsAutoAdd(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_TwoInitialCapsAutoAdd((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CorrectCapsLock(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CorrectCapsLock((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CorrectHangulAndAlphabet(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CorrectHangulAndAlphabet((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::HangulAndAlphabetExceptionsPtr __fastcall get_HangulAndAlphabetExceptions(void)
  {
    Word_xp::HangulAndAlphabetExceptionsPtr prop;
    OLECHECK(this->get_HangulAndAlphabetExceptions(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HangulAndAlphabetAutoAdd(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HangulAndAlphabetAutoAdd((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ReplaceTextFromSpellingChecker(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ReplaceTextFromSpellingChecker((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_OtherCorrectionsAutoAdd(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_OtherCorrectionsAutoAdd((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::OtherCorrectionsExceptionsPtr __fastcall get_OtherCorrectionsExceptions(void)
  {
    Word_xp::OtherCorrectionsExceptionsPtr prop;
    OLECHECK(this->get_OtherCorrectionsExceptions(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CorrectKeyboardSetting(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CorrectKeyboardSetting((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CorrectTableCells(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CorrectTableCells((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayAutoCorrectOptions(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayAutoCorrectOptions((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    CorrectDays = {read = get_CorrectDays, write = set_CorrectDays};
  __property   VARIANT_BOOL    CorrectInitialCaps = {read = get_CorrectInitialCaps, write = set_CorrectInitialCaps};
  __property   VARIANT_BOOL    CorrectSentenceCaps = {read = get_CorrectSentenceCaps, write = set_CorrectSentenceCaps};
  __property   VARIANT_BOOL    ReplaceText = {read = get_ReplaceText, write = set_ReplaceText};
  __property   Word_xp::AutoCorrectEntriesPtr Entries = {read = get_Entries};
  __property   Word_xp::FirstLetterExceptionsPtr FirstLetterExceptions = {read = get_FirstLetterExceptions};
  __property   VARIANT_BOOL    FirstLetterAutoAdd = {read = get_FirstLetterAutoAdd, write = set_FirstLetterAutoAdd};
  __property   Word_xp::TwoInitialCapsExceptionsPtr TwoInitialCapsExceptions = {read = get_TwoInitialCapsExceptions};
  __property   VARIANT_BOOL    TwoInitialCapsAutoAdd = {read = get_TwoInitialCapsAutoAdd, write = set_TwoInitialCapsAutoAdd};
  __property   VARIANT_BOOL    CorrectCapsLock = {read = get_CorrectCapsLock, write = set_CorrectCapsLock};
  __property   VARIANT_BOOL    CorrectHangulAndAlphabet = {read = get_CorrectHangulAndAlphabet, write = set_CorrectHangulAndAlphabet};
  __property   Word_xp::HangulAndAlphabetExceptionsPtr HangulAndAlphabetExceptions = {read = get_HangulAndAlphabetExceptions};
  __property   VARIANT_BOOL    HangulAndAlphabetAutoAdd = {read = get_HangulAndAlphabetAutoAdd, write = set_HangulAndAlphabetAutoAdd};
  __property   VARIANT_BOOL    ReplaceTextFromSpellingChecker = {read = get_ReplaceTextFromSpellingChecker, write = set_ReplaceTextFromSpellingChecker};
  __property   VARIANT_BOOL    OtherCorrectionsAutoAdd = {read = get_OtherCorrectionsAutoAdd, write = set_OtherCorrectionsAutoAdd};
  __property   Word_xp::OtherCorrectionsExceptionsPtr OtherCorrectionsExceptions = {read = get_OtherCorrectionsExceptions};
  __property   VARIANT_BOOL    CorrectKeyboardSetting = {read = get_CorrectKeyboardSetting, write = set_CorrectKeyboardSetting};
  __property   VARIANT_BOOL    CorrectTableCells = {read = get_CorrectTableCells, write = set_CorrectTableCells};
  __property   VARIANT_BOOL    DisplayAutoCorrectOptions = {read = get_DisplayAutoCorrectOptions, write = set_DisplayAutoCorrectOptions};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: AutoCorrectEntries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020948-0000-0000-C000-000000000046}
// *********************************************************************//
interface AutoCorrectEntries  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::AutoCorrectEntry** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, BSTR Value/*[in]*/, 
                                        Word_xp::AutoCorrectEntry** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE AddRichText(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/, 
                                                Word_xp::AutoCorrectEntry** prop/*[out,retval]*/) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::AutoCorrectEntry* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::AutoCorrectEntry* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::AutoCorrectEntry**)&prop));
    return prop;
  }

  Word_xp::AutoCorrectEntry* __fastcall Add(BSTR Name/*[in]*/, BSTR Value/*[in]*/)
  {
    Word_xp::AutoCorrectEntry* prop = 0;
    OLECHECK(this->Add(Name, Value, (Word_xp::AutoCorrectEntry**)&prop));
    return prop;
  }

  Word_xp::AutoCorrectEntry* __fastcall AddRichText(BSTR Name/*[in]*/, 
                                                    Word_xp::WordRange* Range/*[in]*/)
  {
    Word_xp::AutoCorrectEntry* prop = 0;
    OLECHECK(this->AddRichText(Name, Range, (Word_xp::AutoCorrectEntry**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: AutoCorrectEntry
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020947-0000-0000-C000-000000000046}
// *********************************************************************//
interface AutoCorrectEntry  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Value(BSTR* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Value(BSTR prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_RichText(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Apply(Word_xp::WordRange* Range/*[in]*/) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Value(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Value((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RichText(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RichText((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   BSTR            Value = {read = get_Value, write = set_Value};
  __property   VARIANT_BOOL    RichText = {read = get_RichText};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: FirstLetterExceptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020946-0000-0000-C000-000000000046}
// *********************************************************************//
interface FirstLetterExceptions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::FirstLetterException** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, 
                                        Word_xp::FirstLetterException** prop/*[out,retval]*/) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::FirstLetterException* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::FirstLetterException* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::FirstLetterException**)&prop));
    return prop;
  }

  Word_xp::FirstLetterException* __fastcall Add(BSTR Name/*[in]*/)
  {
    Word_xp::FirstLetterException* prop = 0;
    OLECHECK(this->Add(Name, (Word_xp::FirstLetterException**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: FirstLetterException
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020945-0000-0000-C000-000000000046}
// *********************************************************************//
interface FirstLetterException  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TwoInitialCapsExceptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020944-0000-0000-C000-000000000046}
// *********************************************************************//
interface TwoInitialCapsExceptions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::TwoInitialCapsException** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, 
                                        Word_xp::TwoInitialCapsException** prop/*[out,retval]*/) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::TwoInitialCapsException* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::TwoInitialCapsException* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::TwoInitialCapsException**)&prop));
    return prop;
  }

  Word_xp::TwoInitialCapsException* __fastcall Add(BSTR Name/*[in]*/)
  {
    Word_xp::TwoInitialCapsException* prop = 0;
    OLECHECK(this->Add(Name, (Word_xp::TwoInitialCapsException**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TwoInitialCapsException
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020943-0000-0000-C000-000000000046}
// *********************************************************************//
interface TwoInitialCapsException  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Footnotes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020942-0000-0000-C000-000000000046}
// *********************************************************************//
interface Footnotes  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Location(Word_xp::WdFootnoteLocation* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Location(Word_xp::WdFootnoteLocation prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_NumberStyle(Word_xp::WdNoteNumberStyle* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_NumberStyle(Word_xp::WdNoteNumberStyle prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_StartingNumber(long* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_StartingNumber(long prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_NumberingRule(Word_xp::WdNumberingRule* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_NumberingRule(Word_xp::WdNumberingRule prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Separator(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_ContinuationSeparator(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_ContinuationNotice(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::Footnote** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WordRange* Range/*[in]*/, 
                                        VARIANT* Reference/*[in,opt]*/, VARIANT* Text/*[in,opt]*/, 
                                        Word_xp::Footnote** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE Convert(void) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE SwapWithEndnotes(void) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE ResetSeparator(void) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE ResetContinuationSeparator(void) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE ResetContinuationNotice(void) = 0; // [9]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdFootnoteLocation __fastcall get_Location(void)
  {
    Word_xp::WdFootnoteLocation prop;
    OLECHECK(this->get_Location((Word_xp::WdFootnoteLocation*)&prop));
    return prop;
  }

  Word_xp::WdNoteNumberStyle __fastcall get_NumberStyle(void)
  {
    Word_xp::WdNoteNumberStyle prop;
    OLECHECK(this->get_NumberStyle((Word_xp::WdNoteNumberStyle*)&prop));
    return prop;
  }

  long __fastcall get_StartingNumber(void)
  {
    long prop;
    OLECHECK(this->get_StartingNumber((long*)&prop));
    return prop;
  }

  Word_xp::WdNumberingRule __fastcall get_NumberingRule(void)
  {
    Word_xp::WdNumberingRule prop;
    OLECHECK(this->get_NumberingRule((Word_xp::WdNumberingRule*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Separator(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Separator(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_ContinuationSeparator(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_ContinuationSeparator(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_ContinuationNotice(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_ContinuationNotice(&prop));
    return prop;
  }

  Word_xp::Footnote* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Footnote* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Footnote**)&prop));
    return prop;
  }

  Word_xp::Footnote* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                    VARIANT* Reference/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Text/*[in,opt]*/= TNoParam())
  {
    Word_xp::Footnote* prop = 0;
    OLECHECK(this->Add(Range, Reference, Text, (Word_xp::Footnote**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdFootnoteLocation Location = {read = get_Location, write = set_Location};
  __property   Word_xp::WdNoteNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   long            StartingNumber = {read = get_StartingNumber, write = set_StartingNumber};
  __property   Word_xp::WdNumberingRule NumberingRule = {read = get_NumberingRule, write = set_NumberingRule};
  __property   Word_xp::WordRangePtr Separator = {read = get_Separator};
  __property   Word_xp::WordRangePtr ContinuationSeparator = {read = get_ContinuationSeparator};
  __property   Word_xp::WordRangePtr ContinuationNotice = {read = get_ContinuationNotice};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Endnotes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020941-0000-0000-C000-000000000046}
// *********************************************************************//
interface Endnotes  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Location(Word_xp::WdEndnoteLocation* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Location(Word_xp::WdEndnoteLocation prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_NumberStyle(Word_xp::WdNoteNumberStyle* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_NumberStyle(Word_xp::WdNoteNumberStyle prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_StartingNumber(long* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_StartingNumber(long prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_NumberingRule(Word_xp::WdNumberingRule* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_NumberingRule(Word_xp::WdNumberingRule prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Separator(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_ContinuationSeparator(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_ContinuationNotice(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::Endnote** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WordRange* Range/*[in]*/, 
                                        VARIANT* Reference/*[in,opt]*/, VARIANT* Text/*[in,opt]*/, 
                                        Word_xp::Endnote** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE Convert(void) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE SwapWithFootnotes(void) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE ResetSeparator(void) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE ResetContinuationSeparator(void) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE ResetContinuationNotice(void) = 0; // [9]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdEndnoteLocation __fastcall get_Location(void)
  {
    Word_xp::WdEndnoteLocation prop;
    OLECHECK(this->get_Location((Word_xp::WdEndnoteLocation*)&prop));
    return prop;
  }

  Word_xp::WdNoteNumberStyle __fastcall get_NumberStyle(void)
  {
    Word_xp::WdNoteNumberStyle prop;
    OLECHECK(this->get_NumberStyle((Word_xp::WdNoteNumberStyle*)&prop));
    return prop;
  }

  long __fastcall get_StartingNumber(void)
  {
    long prop;
    OLECHECK(this->get_StartingNumber((long*)&prop));
    return prop;
  }

  Word_xp::WdNumberingRule __fastcall get_NumberingRule(void)
  {
    Word_xp::WdNumberingRule prop;
    OLECHECK(this->get_NumberingRule((Word_xp::WdNumberingRule*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Separator(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Separator(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_ContinuationSeparator(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_ContinuationSeparator(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_ContinuationNotice(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_ContinuationNotice(&prop));
    return prop;
  }

  Word_xp::Endnote* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Endnote* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Endnote**)&prop));
    return prop;
  }

  Word_xp::Endnote* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                   VARIANT* Reference/*[in,opt]*/= TNoParam(), 
                                   VARIANT* Text/*[in,opt]*/= TNoParam())
  {
    Word_xp::Endnote* prop = 0;
    OLECHECK(this->Add(Range, Reference, Text, (Word_xp::Endnote**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdEndnoteLocation Location = {read = get_Location, write = set_Location};
  __property   Word_xp::WdNoteNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   long            StartingNumber = {read = get_StartingNumber, write = set_StartingNumber};
  __property   Word_xp::WdNumberingRule NumberingRule = {read = get_NumberingRule, write = set_NumberingRule};
  __property   Word_xp::WordRangePtr Separator = {read = get_Separator};
  __property   Word_xp::WordRangePtr ContinuationSeparator = {read = get_ContinuationSeparator};
  __property   Word_xp::WordRangePtr ContinuationNotice = {read = get_ContinuationNotice};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Comments
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020940-0000-0000-C000-000000000046}
// *********************************************************************//
interface Comments  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_ShowBy(BSTR* prop/*[out,retval]*/) = 0; // [1003]
  virtual HRESULT STDMETHODCALLTYPE set_ShowBy(BSTR prop/*[in]*/) = 0; // [1003]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::Comment** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Text/*[in,opt]*/, 
                                        Word_xp::Comment** prop/*[out,retval]*/) = 0; // [4]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_ShowBy(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ShowBy((BSTR*)&prop));
    return prop;
  }

  Word_xp::Comment* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Comment* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Comment**)&prop));
    return prop;
  }

  Word_xp::Comment* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                   VARIANT* Text/*[in,opt]*/= TNoParam())
  {
    Word_xp::Comment* prop = 0;
    OLECHECK(this->Add(Range, Text, (Word_xp::Comment**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            ShowBy = {read = get_ShowBy, write = set_ShowBy};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Footnote
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093F-0000-0000-C000-000000000046}
// *********************************************************************//
interface Footnote  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Reference(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [10]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Reference(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Reference(&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordRangePtr Reference = {read = get_Reference};
  __property   long            Index = {read = get_Index};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Endnote
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093E-0000-0000-C000-000000000046}
// *********************************************************************//
interface Endnote  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Reference(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [10]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Reference(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Reference(&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordRangePtr Reference = {read = get_Reference};
  __property   long            Index = {read = get_Index};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Comment
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093D-0000-0000-C000-000000000046}
// *********************************************************************//
interface Comment  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [1003]
  virtual HRESULT STDMETHODCALLTYPE get_Reference(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [1004]
  virtual HRESULT STDMETHODCALLTYPE get_Scope(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [1005]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1006]
  virtual HRESULT STDMETHODCALLTYPE get_Author(BSTR* prop/*[out,retval]*/) = 0; // [1007]
  virtual HRESULT STDMETHODCALLTYPE set_Author(BSTR prop/*[in]*/) = 0; // [1007]
  virtual HRESULT STDMETHODCALLTYPE get_Initial(BSTR* prop/*[out,retval]*/) = 0; // [1008]
  virtual HRESULT STDMETHODCALLTYPE set_Initial(BSTR prop/*[in]*/) = 0; // [1008]
  virtual HRESULT STDMETHODCALLTYPE get_ShowTip(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1009]
  virtual HRESULT STDMETHODCALLTYPE set_ShowTip(VARIANT_BOOL prop/*[in]*/) = 0; // [1009]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE Edit(void) = 0; // [1011]
  virtual HRESULT STDMETHODCALLTYPE get_Date(DATE* prop/*[out,retval]*/) = 0; // [1010]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Reference(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Reference(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Scope(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Scope(&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Author(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Author((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Initial(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Initial((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowTip(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowTip((VARIANT_BOOL*)&prop));
    return prop;
  }

  DATE __fastcall get_Date(void)
  {
    DATE prop;
    OLECHECK(this->get_Date((DATE*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordRangePtr Reference = {read = get_Reference};
  __property   Word_xp::WordRangePtr Scope = {read = get_Scope};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Author = {read = get_Author, write = set_Author};
  __property   BSTR            Initial = {read = get_Initial, write = set_Initial};
  __property   VARIANT_BOOL    ShowTip = {read = get_ShowTip, write = set_ShowTip};
  __property   DATE            Date = {read = get_Date};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Borders
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093C-0000-0000-C000-000000000046}
// *********************************************************************//
interface Borders  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Enable(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Enable(long prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceFromTop(long* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceFromTop(long prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Shadow(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_Shadow(VARIANT_BOOL prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_InsideLineStyle(Word_xp::WdLineStyle* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_InsideLineStyle(Word_xp::WdLineStyle prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_OutsideLineStyle(Word_xp::WdLineStyle* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_OutsideLineStyle(Word_xp::WdLineStyle prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_InsideLineWidth(Word_xp::WdLineWidth* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_InsideLineWidth(Word_xp::WdLineWidth prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_OutsideLineWidth(Word_xp::WdLineWidth* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_OutsideLineWidth(Word_xp::WdLineWidth prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_InsideColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_InsideColorIndex(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_OutsideColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_OutsideColorIndex(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceFromLeft(long* prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceFromLeft(long prop/*[in]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceFromBottom(long* prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceFromBottom(long prop/*[in]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceFromRight(long* prop/*[out,retval]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceFromRight(long prop/*[in]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE get_AlwaysInFront(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE set_AlwaysInFront(VARIANT_BOOL prop/*[in]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE get_SurroundHeader(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE set_SurroundHeader(VARIANT_BOOL prop/*[in]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE get_SurroundFooter(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [25]
  virtual HRESULT STDMETHODCALLTYPE set_SurroundFooter(VARIANT_BOOL prop/*[in]*/) = 0; // [25]
  virtual HRESULT STDMETHODCALLTYPE get_JoinBorders(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE set_JoinBorders(VARIANT_BOOL prop/*[in]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE get_HasHorizontal(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE get_HasVertical(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceFrom(Word_xp::WdBorderDistanceFrom* prop/*[out,retval]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceFrom(Word_xp::WdBorderDistanceFrom prop/*[in]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE get_EnableFirstPageInSection(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE set_EnableFirstPageInSection(VARIANT_BOOL prop/*[in]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE get_EnableOtherPagesInSection(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [31]
  virtual HRESULT STDMETHODCALLTYPE set_EnableOtherPagesInSection(VARIANT_BOOL prop/*[in]*/) = 0; // [31]
  virtual HRESULT STDMETHODCALLTYPE Item(Word_xp::WdBorderType Index/*[in]*/, 
                                         Word_xp::Border** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE ApplyPageBordersToAllSections(void) = 0; // [2000]
  virtual HRESULT STDMETHODCALLTYPE get_InsideColor(Word_xp::WdColor* prop/*[out,retval]*/) = 0; // [32]
  virtual HRESULT STDMETHODCALLTYPE set_InsideColor(Word_xp::WdColor prop/*[in]*/) = 0; // [32]
  virtual HRESULT STDMETHODCALLTYPE get_OutsideColor(Word_xp::WdColor* prop/*[out,retval]*/) = 0; // [33]
  virtual HRESULT STDMETHODCALLTYPE set_OutsideColor(Word_xp::WdColor prop/*[in]*/) = 0; // [33]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  long __fastcall get_Enable(void)
  {
    long prop;
    OLECHECK(this->get_Enable((long*)&prop));
    return prop;
  }

  long __fastcall get_DistanceFromTop(void)
  {
    long prop;
    OLECHECK(this->get_DistanceFromTop((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Shadow(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Shadow((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdLineStyle __fastcall get_InsideLineStyle(void)
  {
    Word_xp::WdLineStyle prop;
    OLECHECK(this->get_InsideLineStyle((Word_xp::WdLineStyle*)&prop));
    return prop;
  }

  Word_xp::WdLineStyle __fastcall get_OutsideLineStyle(void)
  {
    Word_xp::WdLineStyle prop;
    OLECHECK(this->get_OutsideLineStyle((Word_xp::WdLineStyle*)&prop));
    return prop;
  }

  Word_xp::WdLineWidth __fastcall get_InsideLineWidth(void)
  {
    Word_xp::WdLineWidth prop;
    OLECHECK(this->get_InsideLineWidth((Word_xp::WdLineWidth*)&prop));
    return prop;
  }

  Word_xp::WdLineWidth __fastcall get_OutsideLineWidth(void)
  {
    Word_xp::WdLineWidth prop;
    OLECHECK(this->get_OutsideLineWidth((Word_xp::WdLineWidth*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_InsideColorIndex(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_InsideColorIndex((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_OutsideColorIndex(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_OutsideColorIndex((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  long __fastcall get_DistanceFromLeft(void)
  {
    long prop;
    OLECHECK(this->get_DistanceFromLeft((long*)&prop));
    return prop;
  }

  long __fastcall get_DistanceFromBottom(void)
  {
    long prop;
    OLECHECK(this->get_DistanceFromBottom((long*)&prop));
    return prop;
  }

  long __fastcall get_DistanceFromRight(void)
  {
    long prop;
    OLECHECK(this->get_DistanceFromRight((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AlwaysInFront(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AlwaysInFront((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SurroundHeader(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SurroundHeader((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SurroundFooter(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SurroundFooter((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_JoinBorders(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_JoinBorders((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HasHorizontal(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HasHorizontal((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HasVertical(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HasVertical((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdBorderDistanceFrom __fastcall get_DistanceFrom(void)
  {
    Word_xp::WdBorderDistanceFrom prop;
    OLECHECK(this->get_DistanceFrom((Word_xp::WdBorderDistanceFrom*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_EnableFirstPageInSection(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_EnableFirstPageInSection((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_EnableOtherPagesInSection(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_EnableOtherPagesInSection((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::Border* __fastcall Item(Word_xp::WdBorderType Index/*[in]*/)
  {
    Word_xp::Border* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Border**)&prop));
    return prop;
  }

  Word_xp::WdColor __fastcall get_InsideColor(void)
  {
    Word_xp::WdColor prop;
    OLECHECK(this->get_InsideColor((Word_xp::WdColor*)&prop));
    return prop;
  }

  Word_xp::WdColor __fastcall get_OutsideColor(void)
  {
    Word_xp::WdColor prop;
    OLECHECK(this->get_OutsideColor((Word_xp::WdColor*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   long            Enable = {read = get_Enable, write = set_Enable};
  __property   long            DistanceFromTop = {read = get_DistanceFromTop, write = set_DistanceFromTop};
  __property   VARIANT_BOOL    Shadow = {read = get_Shadow, write = set_Shadow};
  __property   Word_xp::WdLineStyle InsideLineStyle = {read = get_InsideLineStyle, write = set_InsideLineStyle};
  __property   Word_xp::WdLineStyle OutsideLineStyle = {read = get_OutsideLineStyle, write = set_OutsideLineStyle};
  __property   Word_xp::WdLineWidth InsideLineWidth = {read = get_InsideLineWidth, write = set_InsideLineWidth};
  __property   Word_xp::WdLineWidth OutsideLineWidth = {read = get_OutsideLineWidth, write = set_OutsideLineWidth};
  __property   Word_xp::WdColorIndex InsideColorIndex = {read = get_InsideColorIndex, write = set_InsideColorIndex};
  __property   Word_xp::WdColorIndex OutsideColorIndex = {read = get_OutsideColorIndex, write = set_OutsideColorIndex};
  __property   long            DistanceFromLeft = {read = get_DistanceFromLeft, write = set_DistanceFromLeft};
  __property   long            DistanceFromBottom = {read = get_DistanceFromBottom, write = set_DistanceFromBottom};
  __property   long            DistanceFromRight = {read = get_DistanceFromRight, write = set_DistanceFromRight};
  __property   VARIANT_BOOL    AlwaysInFront = {read = get_AlwaysInFront, write = set_AlwaysInFront};
  __property   VARIANT_BOOL    SurroundHeader = {read = get_SurroundHeader, write = set_SurroundHeader};
  __property   VARIANT_BOOL    SurroundFooter = {read = get_SurroundFooter, write = set_SurroundFooter};
  __property   VARIANT_BOOL    JoinBorders = {read = get_JoinBorders, write = set_JoinBorders};
  __property   VARIANT_BOOL    HasHorizontal = {read = get_HasHorizontal};
  __property   VARIANT_BOOL    HasVertical = {read = get_HasVertical};
  __property   Word_xp::WdBorderDistanceFrom DistanceFrom = {read = get_DistanceFrom, write = set_DistanceFrom};
  __property   VARIANT_BOOL    EnableFirstPageInSection = {read = get_EnableFirstPageInSection, write = set_EnableFirstPageInSection};
  __property   VARIANT_BOOL    EnableOtherPagesInSection = {read = get_EnableOtherPagesInSection, write = set_EnableOtherPagesInSection};
  __property   Word_xp::WdColor InsideColor = {read = get_InsideColor, write = set_InsideColor};
  __property   Word_xp::WdColor OutsideColor = {read = get_OutsideColor, write = set_OutsideColor};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Border
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093B-0000-0000-C000-000000000046}
// *********************************************************************//
interface Border  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Visible(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Visible(VARIANT_BOOL prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_ColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_ColorIndex(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Inside(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_LineStyle(Word_xp::WdLineStyle* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_LineStyle(Word_xp::WdLineStyle prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_LineWidth(Word_xp::WdLineWidth* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_LineWidth(Word_xp::WdLineWidth prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_ArtStyle(Word_xp::WdPageBorderArt* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_ArtStyle(Word_xp::WdPageBorderArt prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_ArtWidth(long* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_ArtWidth(long prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Color(Word_xp::WdColor* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_Color(Word_xp::WdColor prop/*[in]*/) = 0; // [7]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Visible(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Visible((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_ColorIndex(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_ColorIndex((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Inside(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Inside((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdLineStyle __fastcall get_LineStyle(void)
  {
    Word_xp::WdLineStyle prop;
    OLECHECK(this->get_LineStyle((Word_xp::WdLineStyle*)&prop));
    return prop;
  }

  Word_xp::WdLineWidth __fastcall get_LineWidth(void)
  {
    Word_xp::WdLineWidth prop;
    OLECHECK(this->get_LineWidth((Word_xp::WdLineWidth*)&prop));
    return prop;
  }

  Word_xp::WdPageBorderArt __fastcall get_ArtStyle(void)
  {
    Word_xp::WdPageBorderArt prop;
    OLECHECK(this->get_ArtStyle((Word_xp::WdPageBorderArt*)&prop));
    return prop;
  }

  long __fastcall get_ArtWidth(void)
  {
    long prop;
    OLECHECK(this->get_ArtWidth((long*)&prop));
    return prop;
  }

  Word_xp::WdColor __fastcall get_Color(void)
  {
    Word_xp::WdColor prop;
    OLECHECK(this->get_Color((Word_xp::WdColor*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};
  __property   Word_xp::WdColorIndex ColorIndex = {read = get_ColorIndex, write = set_ColorIndex};
  __property   VARIANT_BOOL    Inside = {read = get_Inside};
  __property   Word_xp::WdLineStyle LineStyle = {read = get_LineStyle, write = set_LineStyle};
  __property   Word_xp::WdLineWidth LineWidth = {read = get_LineWidth, write = set_LineWidth};
  __property   Word_xp::WdPageBorderArt ArtStyle = {read = get_ArtStyle, write = set_ArtStyle};
  __property   long            ArtWidth = {read = get_ArtWidth, write = set_ArtWidth};
  __property   Word_xp::WdColor Color = {read = get_Color, write = set_Color};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Shading
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093A-0000-0000-C000-000000000046}
// *********************************************************************//
interface Shading  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_ForegroundPatternColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_ForegroundPatternColorIndex(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_BackgroundPatternColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_BackgroundPatternColorIndex(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Texture(Word_xp::WdTextureIndex* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Texture(Word_xp::WdTextureIndex prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_ForegroundPatternColor(Word_xp::WdColor* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_ForegroundPatternColor(Word_xp::WdColor prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_BackgroundPatternColor(Word_xp::WdColor* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_BackgroundPatternColor(Word_xp::WdColor prop/*[in]*/) = 0; // [5]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_ForegroundPatternColorIndex(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_ForegroundPatternColorIndex((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_BackgroundPatternColorIndex(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_BackgroundPatternColorIndex((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  Word_xp::WdTextureIndex __fastcall get_Texture(void)
  {
    Word_xp::WdTextureIndex prop;
    OLECHECK(this->get_Texture((Word_xp::WdTextureIndex*)&prop));
    return prop;
  }

  Word_xp::WdColor __fastcall get_ForegroundPatternColor(void)
  {
    Word_xp::WdColor prop;
    OLECHECK(this->get_ForegroundPatternColor((Word_xp::WdColor*)&prop));
    return prop;
  }

  Word_xp::WdColor __fastcall get_BackgroundPatternColor(void)
  {
    Word_xp::WdColor prop;
    OLECHECK(this->get_BackgroundPatternColor((Word_xp::WdColor*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdColorIndex ForegroundPatternColorIndex = {read = get_ForegroundPatternColorIndex, write = set_ForegroundPatternColorIndex};
  __property   Word_xp::WdColorIndex BackgroundPatternColorIndex = {read = get_BackgroundPatternColorIndex, write = set_BackgroundPatternColorIndex};
  __property   Word_xp::WdTextureIndex Texture = {read = get_Texture, write = set_Texture};
  __property   Word_xp::WdColor ForegroundPatternColor = {read = get_ForegroundPatternColor, write = set_ForegroundPatternColor};
  __property   Word_xp::WdColor BackgroundPatternColor = {read = get_BackgroundPatternColor, write = set_BackgroundPatternColor};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TextRetrievalMode
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020939-0000-0000-C000-000000000046}
// *********************************************************************//
interface TextRetrievalMode  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_ViewType(Word_xp::WdViewType* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_ViewType(Word_xp::WdViewType prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Duplicate(Word_xp::TextRetrievalMode** prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_IncludeHiddenText(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_IncludeHiddenText(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_IncludeFieldCodes(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_IncludeFieldCodes(VARIANT_BOOL prop/*[in]*/) = 0; // [3]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdViewType __fastcall get_ViewType(void)
  {
    Word_xp::WdViewType prop;
    OLECHECK(this->get_ViewType((Word_xp::WdViewType*)&prop));
    return prop;
  }

  Word_xp::TextRetrievalModePtr __fastcall get_Duplicate(void)
  {
    Word_xp::TextRetrievalModePtr prop;
    OLECHECK(this->get_Duplicate(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IncludeHiddenText(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IncludeHiddenText((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IncludeFieldCodes(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IncludeFieldCodes((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdViewType ViewType = {read = get_ViewType, write = set_ViewType};
  __property   Word_xp::TextRetrievalModePtr Duplicate = {read = get_Duplicate};
  __property   VARIANT_BOOL    IncludeHiddenText = {read = get_IncludeHiddenText, write = set_IncludeHiddenText};
  __property   VARIANT_BOOL    IncludeFieldCodes = {read = get_IncludeFieldCodes, write = set_IncludeFieldCodes};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: AutoTextEntries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020937-0000-0000-C000-000000000046}
// *********************************************************************//
interface AutoTextEntries  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::AutoTextEntry** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/, 
                                        Word_xp::AutoTextEntry** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE AppendToSpike(Word_xp::WordRange* Range/*[in]*/, 
                                                  Word_xp::AutoTextEntry** prop/*[out,retval]*/) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::AutoTextEntry* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::AutoTextEntry* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::AutoTextEntry**)&prop));
    return prop;
  }

  Word_xp::AutoTextEntry* __fastcall Add(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/)
  {
    Word_xp::AutoTextEntry* prop = 0;
    OLECHECK(this->Add(Name, Range, (Word_xp::AutoTextEntry**)&prop));
    return prop;
  }

  Word_xp::AutoTextEntry* __fastcall AppendToSpike(Word_xp::WordRange* Range/*[in]*/)
  {
    Word_xp::AutoTextEntry* prop = 0;
    OLECHECK(this->AppendToSpike(Range, (Word_xp::AutoTextEntry**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: AutoTextEntry
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020936-0000-0000-C000-000000000046}
// *********************************************************************//
interface AutoTextEntry  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_StyleName(BSTR* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Value(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Value(BSTR prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Insert(Word_xp::WordRange* Where/*[in]*/, 
                                           VARIANT* RichText/*[in,opt]*/, 
                                           Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_StyleName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_StyleName((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Value(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Value((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall Insert(Word_xp::WordRange* Where/*[in]*/, 
                                        VARIANT* RichText/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->Insert(Where, RichText, (Word_xp::WordRange**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   BSTR            StyleName = {read = get_StyleName};
  __property   BSTR            Value = {read = get_Value, write = set_Value};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: SYSTEM
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020935-0000-0000-C000-000000000046}
// *********************************************************************//
interface SYSTEM  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_OperatingSystem(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_ProcessorType(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Version(BSTR* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_FreeDiskSpace(long* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Country(Word_xp::WdCountry* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageDesignation(BSTR* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_HorizontalResolution(long* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_VerticalResolution(long* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_ProfileString(BSTR Section/*[in]*/, BSTR Key/*[in]*/, 
                                                      BSTR* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_ProfileString(BSTR Section/*[in]*/, BSTR Key/*[in]*/, 
                                                      BSTR prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_PrivateProfileString(BSTR FileName/*[in]*/, 
                                                             BSTR Section/*[in]*/, BSTR Key/*[in]*/, 
                                                             BSTR* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_PrivateProfileString(BSTR FileName/*[in]*/, 
                                                             BSTR Section/*[in]*/, BSTR Key/*[in]*/, 
                                                             BSTR prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_MathCoprocessorInstalled(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_ComputerType(BSTR* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_MacintoshName(BSTR* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_QuickDrawInstalled(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_Cursor(Word_xp::WdCursorType* prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE set_Cursor(Word_xp::WdCursorType prop/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE MSInfo(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Connect(BSTR Path/*[in]*/, 
                                            VARIANT* Drive/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Password/*[in,opt]*/= TNoParam()) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_OperatingSystem(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_OperatingSystem((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_ProcessorType(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ProcessorType((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Version(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Version((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_FreeDiskSpace(void)
  {
    long prop;
    OLECHECK(this->get_FreeDiskSpace((long*)&prop));
    return prop;
  }

  Word_xp::WdCountry __fastcall get_Country(void)
  {
    Word_xp::WdCountry prop;
    OLECHECK(this->get_Country((Word_xp::WdCountry*)&prop));
    return prop;
  }

  BSTR __fastcall get_LanguageDesignation(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_LanguageDesignation((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_HorizontalResolution(void)
  {
    long prop;
    OLECHECK(this->get_HorizontalResolution((long*)&prop));
    return prop;
  }

  long __fastcall get_VerticalResolution(void)
  {
    long prop;
    OLECHECK(this->get_VerticalResolution((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_ProfileString(BSTR Section/*[in]*/, BSTR Key/*[in]*/)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ProfileString(Section, Key, (BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_PrivateProfileString(BSTR FileName/*[in]*/, BSTR Section/*[in]*/, 
                                           BSTR Key/*[in]*/)
  {
    BSTR prop = 0;
    OLECHECK(this->get_PrivateProfileString(FileName, Section, Key, (BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MathCoprocessorInstalled(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MathCoprocessorInstalled((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_ComputerType(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ComputerType((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_MacintoshName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_MacintoshName((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_QuickDrawInstalled(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_QuickDrawInstalled((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdCursorType __fastcall get_Cursor(void)
  {
    Word_xp::WdCursorType prop;
    OLECHECK(this->get_Cursor((Word_xp::WdCursorType*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            OperatingSystem = {read = get_OperatingSystem};
  __property   BSTR            ProcessorType = {read = get_ProcessorType};
  __property   BSTR            Version = {read = get_Version};
  __property   long            FreeDiskSpace = {read = get_FreeDiskSpace};
  __property   Word_xp::WdCountry Country = {read = get_Country};
  __property   BSTR            LanguageDesignation = {read = get_LanguageDesignation};
  __property   long            HorizontalResolution = {read = get_HorizontalResolution};
  __property   long            VerticalResolution = {read = get_VerticalResolution};
  __property   VARIANT_BOOL    MathCoprocessorInstalled = {read = get_MathCoprocessorInstalled};
  __property   BSTR            ComputerType = {read = get_ComputerType};
  __property   BSTR            MacintoshName = {read = get_MacintoshName};
  __property   VARIANT_BOOL    QuickDrawInstalled = {read = get_QuickDrawInstalled};
  __property   Word_xp::WdCursorType Cursor = {read = get_Cursor, write = set_Cursor};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: OLEFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020933-0000-0000-C000-000000000046}
// *********************************************************************//
interface OLEFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_ClassType(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_ClassType(BSTR prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayAsIcon(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayAsIcon(VARIANT_BOOL prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_IconName(BSTR* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_IconName(BSTR prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_IconPath(BSTR* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_IconIndex(long* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_IconIndex(long prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_IconLabel(BSTR* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_IconLabel(BSTR prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_Label(BSTR* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_Object(LPDISPATCH* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_ProgID(BSTR* prop/*[out,retval]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE Activate(void) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE Edit(void) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE Open(void) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE DoVerb(VARIANT* VerbIndex/*[in,opt]*/= TNoParam()) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE ConvertTo(VARIANT* ClassType/*[in,opt]*/= TNoParam(), 
                                              VARIANT* DisplayAsIcon/*[in,opt]*/= TNoParam(), 
                                              VARIANT* IconFileName/*[in,opt]*/= TNoParam(), 
                                              VARIANT* IconIndex/*[in,opt]*/= TNoParam(), 
                                              VARIANT* IconLabel/*[in,opt]*/= TNoParam()) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE ActivateAs(BSTR ClassType/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_PreserveFormattingOnUpdate(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE set_PreserveFormattingOnUpdate(VARIANT_BOOL prop/*[in]*/) = 0; // [112]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_ClassType(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ClassType((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayAsIcon(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayAsIcon((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_IconName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_IconName((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_IconPath(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_IconPath((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_IconIndex(void)
  {
    long prop;
    OLECHECK(this->get_IconIndex((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_IconLabel(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_IconLabel((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Label(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Label((BSTR*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Object(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Object((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_ProgID(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ProgID((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PreserveFormattingOnUpdate(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PreserveFormattingOnUpdate((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            ClassType = {read = get_ClassType, write = set_ClassType};
  __property   VARIANT_BOOL    DisplayAsIcon = {read = get_DisplayAsIcon, write = set_DisplayAsIcon};
  __property   BSTR            IconName = {read = get_IconName, write = set_IconName};
  __property   BSTR            IconPath = {read = get_IconPath};
  __property   long            IconIndex = {read = get_IconIndex, write = set_IconIndex};
  __property   BSTR            IconLabel = {read = get_IconLabel, write = set_IconLabel};
  __property   BSTR            Label = {read = get_Label};
  __property   LPDISPATCH      Object = {read = get_Object};
  __property   BSTR            ProgID = {read = get_ProgID};
  __property   VARIANT_BOOL    PreserveFormattingOnUpdate = {read = get_PreserveFormattingOnUpdate, write = set_PreserveFormattingOnUpdate};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: LinkFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020931-0000-0000-C000-000000000046}
// *********************************************************************//
interface LinkFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_AutoUpdate(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_AutoUpdate(VARIANT_BOOL prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_SourceName(BSTR* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_SourcePath(BSTR* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Locked(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_Locked(VARIANT_BOOL prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdLinkType* prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_SourceFullName(BSTR* prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE set_SourceFullName(BSTR prop/*[in]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE get_SavePictureWithDocument(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE set_SavePictureWithDocument(VARIANT_BOOL prop/*[in]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE BreakLink(void) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE _Update(void) = 0; // [105]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoUpdate(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoUpdate((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_SourceName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SourceName((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_SourcePath(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SourcePath((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Locked(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Locked((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdLinkType __fastcall get_Type(void)
  {
    Word_xp::WdLinkType prop;
    OLECHECK(this->get_Type((Word_xp::WdLinkType*)&prop));
    return prop;
  }

  BSTR __fastcall get_SourceFullName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SourceFullName((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SavePictureWithDocument(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SavePictureWithDocument((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    AutoUpdate = {read = get_AutoUpdate, write = set_AutoUpdate};
  __property   BSTR            SourceName = {read = get_SourceName};
  __property   BSTR            SourcePath = {read = get_SourcePath};
  __property   VARIANT_BOOL    Locked = {read = get_Locked, write = set_Locked};
  __property   Word_xp::WdLinkType Type = {read = get_Type};
  __property   BSTR            SourceFullName = {read = get_SourceFullName, write = set_SourceFullName};
  __property   VARIANT_BOOL    SavePictureWithDocument = {read = get_SavePictureWithDocument, write = set_SavePictureWithDocument};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: _OLEControl
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {000209A4-0000-0000-C000-000000000046}
// *********************************************************************//
interface _OLEControl  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Left(float* prop/*[out,retval]*/) = 0; // [-2147417853]
  virtual HRESULT STDMETHODCALLTYPE set_Left(float prop/*[in]*/) = 0; // [-2147417853]
  virtual HRESULT STDMETHODCALLTYPE get_Top(float* prop/*[out,retval]*/) = 0; // [-2147417852]
  virtual HRESULT STDMETHODCALLTYPE set_Top(float prop/*[in]*/) = 0; // [-2147417852]
  virtual HRESULT STDMETHODCALLTYPE get_Height(float* prop/*[out,retval]*/) = 0; // [-2147417851]
  virtual HRESULT STDMETHODCALLTYPE set_Height(float prop/*[in]*/) = 0; // [-2147417851]
  virtual HRESULT STDMETHODCALLTYPE get_Width(float* prop/*[out,retval]*/) = 0; // [-2147417850]
  virtual HRESULT STDMETHODCALLTYPE set_Width(float prop/*[in]*/) = 0; // [-2147417850]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [-2147418112]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [-2147418112]
  virtual HRESULT STDMETHODCALLTYPE get_Automation(LPDISPATCH* prop/*[out,retval]*/) = 0; // [-2147417849]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [-2147417568]
  virtual HRESULT STDMETHODCALLTYPE Copy(void) = 0; // [-2147417560]
  virtual HRESULT STDMETHODCALLTYPE Cut(void) = 0; // [-2147417559]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [-2147417520]
  virtual HRESULT STDMETHODCALLTYPE Activate(void) = 0; // [-2147417519]
  virtual HRESULT STDMETHODCALLTYPE get_AltHTML(BSTR* prop/*[out,retval]*/) = 0; // [-2147415101]
  virtual HRESULT STDMETHODCALLTYPE set_AltHTML(BSTR prop/*[in]*/) = 0; // [-2147415101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  float __fastcall get_Left(void)
  {
    float prop;
    OLECHECK(this->get_Left((float*)&prop));
    return prop;
  }

  float __fastcall get_Top(void)
  {
    float prop;
    OLECHECK(this->get_Top((float*)&prop));
    return prop;
  }

  float __fastcall get_Height(void)
  {
    float prop;
    OLECHECK(this->get_Height((float*)&prop));
    return prop;
  }

  float __fastcall get_Width(void)
  {
    float prop;
    OLECHECK(this->get_Width((float*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Automation(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Automation((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_AltHTML(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_AltHTML((BSTR*)&prop));
    return prop;
  }


  __property   float           Left = {read = get_Left, write = set_Left};
  __property   float           Top = {read = get_Top, write = set_Top};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   LPDISPATCH      Automation = {read = get_Automation};
  __property   BSTR            AltHTML = {read = get_AltHTML, write = set_AltHTML};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Fields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020930-0000-0000-C000-000000000046}
// *********************************************************************//
interface Fields  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Locked(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Locked(long prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::Field** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE ToggleShowCodes(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE _Update(long* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Unlink(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE UpdateSource(void) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Type/*[in,opt]*/, 
                                        VARIANT* Text/*[in,opt]*/, 
                                        VARIANT* PreserveFormatting/*[in,opt]*/, 
                                        Word_xp::Field** prop/*[out,retval]*/) = 0; // [105]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  long __fastcall get_Locked(void)
  {
    long prop;
    OLECHECK(this->get_Locked((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::Field* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Field* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Field**)&prop));
    return prop;
  }

  long __fastcall _Update(void)
  {
    long prop;
    OLECHECK(this->_Update((long*)&prop));
    return prop;
  }

  Word_xp::Field* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                 VARIANT* Type/*[in,opt]*/= TNoParam(), 
                                 VARIANT* Text/*[in,opt]*/= TNoParam(), 
                                 VARIANT* PreserveFormatting/*[in,opt]*/= TNoParam())
  {
    Word_xp::Field* prop = 0;
    OLECHECK(this->Add(Range, Type, Text, PreserveFormatting, (Word_xp::Field**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   long            Locked = {read = get_Locked, write = set_Locked};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Field
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092F-0000-0000-C000-000000000046}
// *********************************************************************//
interface Field  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Code(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Code(Word_xp::WordRange* prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdFieldType* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Locked(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Locked(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Kind(Word_xp::WdFieldKind* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Result(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_Result(Word_xp::WordRange* prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Data(BSTR* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_Data(BSTR prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Next(Word_xp::Field** prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Previous(Word_xp::Field** prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_ShowCodes(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_ShowCodes(VARIANT_BOOL prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_LinkFormat(Word_xp::LinkFormat** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_OLEFormat(Word_xp::OLEFormat** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_InlineShape(Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE _Update(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Unlink(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE UpdateSource(void) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE DoClick(void) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE Copy(void) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE Cut(void) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [107]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Code(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Code(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Code(Word_xp::WordRangePtr prop/*[in]*/)
  {
    return set_Code((Word_xp::WordRange*)prop/*[in]*/);
  }

  Word_xp::WdFieldType __fastcall get_Type(void)
  {
    Word_xp::WdFieldType prop;
    OLECHECK(this->get_Type((Word_xp::WdFieldType*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Locked(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Locked((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdFieldKind __fastcall get_Kind(void)
  {
    Word_xp::WdFieldKind prop;
    OLECHECK(this->get_Kind((Word_xp::WdFieldKind*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Result(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Result(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Result(Word_xp::WordRangePtr prop/*[in]*/)
  {
    return set_Result((Word_xp::WordRange*)prop/*[in]*/);
  }

  BSTR __fastcall get_Data(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Data((BSTR*)&prop));
    return prop;
  }

  Word_xp::FieldPtr __fastcall get_Next(void)
  {
    Word_xp::FieldPtr prop;
    OLECHECK(this->get_Next(&prop));
    return prop;
  }

  Word_xp::FieldPtr __fastcall get_Previous(void)
  {
    Word_xp::FieldPtr prop;
    OLECHECK(this->get_Previous(&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowCodes(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowCodes((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::LinkFormatPtr __fastcall get_LinkFormat(void)
  {
    Word_xp::LinkFormatPtr prop;
    OLECHECK(this->get_LinkFormat(&prop));
    return prop;
  }

  Word_xp::OLEFormatPtr __fastcall get_OLEFormat(void)
  {
    Word_xp::OLEFormatPtr prop;
    OLECHECK(this->get_OLEFormat(&prop));
    return prop;
  }

  Word_xp::InlineShapePtr __fastcall get_InlineShape(void)
  {
    Word_xp::InlineShapePtr prop;
    OLECHECK(this->get_InlineShape(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall _Update(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->_Update((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Code = {read = get_Code, write = set_Code};
  __property   Word_xp::WdFieldType Type = {read = get_Type};
  __property   VARIANT_BOOL    Locked = {read = get_Locked, write = set_Locked};
  __property   Word_xp::WdFieldKind Kind = {read = get_Kind};
  __property   Word_xp::WordRangePtr Result = {read = get_Result, write = set_Result};
  __property   BSTR            Data = {read = get_Data, write = set_Data};
  __property   Word_xp::FieldPtr Next = {read = get_Next};
  __property   Word_xp::FieldPtr Previous = {read = get_Previous};
  __property   long            Index = {read = get_Index};
  __property   VARIANT_BOOL    ShowCodes = {read = get_ShowCodes, write = set_ShowCodes};
  __property   Word_xp::LinkFormatPtr LinkFormat = {read = get_LinkFormat};
  __property   Word_xp::OLEFormatPtr OLEFormat = {read = get_OLEFormat};
  __property   Word_xp::InlineShapePtr InlineShape = {read = get_InlineShape};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Browser
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092E-0000-0000-C000-000000000046}
// *********************************************************************//
interface Browser  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Target(Word_xp::WdBrowseTarget* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_Target(Word_xp::WdBrowseTarget prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Next(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Previous(void) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdBrowseTarget __fastcall get_Target(void)
  {
    Word_xp::WdBrowseTarget prop;
    OLECHECK(this->get_Target((Word_xp::WdBrowseTarget*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdBrowseTarget Target = {read = get_Target, write = set_Target};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Styles
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092D-0000-0000-C000-000000000046}
// *********************************************************************//
interface Styles  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Style** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, VARIANT* Type/*[in,opt]*/, 
                                        Word_xp::Style** prop/*[out,retval]*/) = 0; // [100]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::Style* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Style* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Style**)&prop));
    return prop;
  }

  Word_xp::Style* __fastcall Add(BSTR Name/*[in]*/, VARIANT* Type/*[in,opt]*/= TNoParam())
  {
    Word_xp::Style* prop = 0;
    OLECHECK(this->Add(Name, Type, (Word_xp::Style**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Style
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092C-0000-0000-C000-000000000046}
// *********************************************************************//
interface Style  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_NameLocal(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_NameLocal(BSTR prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_BaseStyle(VARIANT* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_BaseStyle(VARIANT* prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Description(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdStyleType* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_BuiltIn(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_NextParagraphStyle(VARIANT* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_NextParagraphStyle(VARIANT* prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_InUse(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_ParagraphFormat(Word_xp::WordParagraphFormat* prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_Font(Word_xp::WordFont** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_Font(Word_xp::WordFont* prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_Frame(Word_xp::Frame** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_AutomaticallyUpdate(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_AutomaticallyUpdate(VARIANT_BOOL prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_ListTemplate(Word_xp::ListTemplate** prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_ListLevelNumber(long* prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_Hidden(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE set_Hidden(VARIANT_BOOL prop/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE LinkToListTemplate(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                                       VARIANT* ListLevelNumber/*[in,opt]*/= TNoParam()) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_NoProofing(long* prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE set_NoProofing(long prop/*[in]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_LinkStyle(VARIANT* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_LinkStyle(VARIANT* prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Visibility(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE set_Visibility(VARIANT_BOOL prop/*[in]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE get_NoSpaceBetweenParagraphsOfSameStyle(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE set_NoSpaceBetweenParagraphsOfSameStyle(VARIANT_BOOL prop/*[in]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE get_Table(Word_xp::TableStyle** prop/*[out,retval]*/) = 0; // [21]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_NameLocal(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_NameLocal((BSTR*)&prop));
    return prop;
  }

  VARIANT __fastcall get_BaseStyle(void)
  {
    VARIANT prop;
    OLECHECK(this->get_BaseStyle((VARIANT*)&prop));
    return prop;
  }

  BSTR __fastcall get_Description(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Description((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdStyleType __fastcall get_Type(void)
  {
    Word_xp::WdStyleType prop;
    OLECHECK(this->get_Type((Word_xp::WdStyleType*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_BuiltIn(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_BuiltIn((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT __fastcall get_NextParagraphStyle(void)
  {
    VARIANT prop;
    OLECHECK(this->get_NextParagraphStyle((VARIANT*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_InUse(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_InUse((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::WordParagraphFormatPtr __fastcall get_ParagraphFormat(void)
  {
    Word_xp::WordParagraphFormatPtr prop;
    OLECHECK(this->get_ParagraphFormat(&prop));
    return prop;
  }

  HRESULT __fastcall  set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
  {
    return set_ParagraphFormat((Word_xp::WordParagraphFormat*)prop/*[in]*/);
  }

  Word_xp::WordFontPtr __fastcall get_Font(void)
  {
    Word_xp::WordFontPtr prop;
    OLECHECK(this->get_Font(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Font(Word_xp::WordFontPtr prop/*[in]*/)
  {
    return set_Font((Word_xp::WordFont*)prop/*[in]*/);
  }

  Word_xp::FramePtr __fastcall get_Frame(void)
  {
    Word_xp::FramePtr prop;
    OLECHECK(this->get_Frame(&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageID(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageID((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutomaticallyUpdate(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutomaticallyUpdate((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::ListTemplatePtr __fastcall get_ListTemplate(void)
  {
    Word_xp::ListTemplatePtr prop;
    OLECHECK(this->get_ListTemplate(&prop));
    return prop;
  }

  long __fastcall get_ListLevelNumber(void)
  {
    long prop;
    OLECHECK(this->get_ListLevelNumber((long*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageIDFarEast(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageIDFarEast((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Hidden(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Hidden((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_NoProofing(void)
  {
    long prop;
    OLECHECK(this->get_NoProofing((long*)&prop));
    return prop;
  }

  VARIANT __fastcall get_LinkStyle(void)
  {
    VARIANT prop;
    OLECHECK(this->get_LinkStyle((VARIANT*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Visibility(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Visibility((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_NoSpaceBetweenParagraphsOfSameStyle(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_NoSpaceBetweenParagraphsOfSameStyle((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::TableStylePtr __fastcall get_Table(void)
  {
    Word_xp::TableStylePtr prop;
    OLECHECK(this->get_Table(&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            NameLocal = {read = get_NameLocal, write = set_NameLocal};
  __property   BSTR            Description = {read = get_Description};
  __property   Word_xp::WdStyleType Type = {read = get_Type};
  __property   VARIANT_BOOL    BuiltIn = {read = get_BuiltIn};
  __property   VARIANT_BOOL    InUse = {read = get_InUse};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::WordParagraphFormatPtr ParagraphFormat = {read = get_ParagraphFormat, write = set_ParagraphFormat};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
  __property   Word_xp::FramePtr Frame = {read = get_Frame};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   VARIANT_BOOL    AutomaticallyUpdate = {read = get_AutomaticallyUpdate, write = set_AutomaticallyUpdate};
  __property   Word_xp::ListTemplatePtr ListTemplate = {read = get_ListTemplate};
  __property   long            ListLevelNumber = {read = get_ListLevelNumber};
  __property   Word_xp::WdLanguageID LanguageIDFarEast = {read = get_LanguageIDFarEast, write = set_LanguageIDFarEast};
  __property   VARIANT_BOOL    Hidden = {read = get_Hidden, write = set_Hidden};
  __property   long            NoProofing = {read = get_NoProofing, write = set_NoProofing};
  __property   VARIANT_BOOL    Visibility = {read = get_Visibility, write = set_Visibility};
  __property   VARIANT_BOOL    NoSpaceBetweenParagraphsOfSameStyle = {read = get_NoSpaceBetweenParagraphsOfSameStyle, write = set_NoSpaceBetweenParagraphsOfSameStyle};
  __property   Word_xp::TableStylePtr Table = {read = get_Table};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Frames
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092B-0000-0000-C000-000000000046}
// *********************************************************************//
interface Frames  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::Frame** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WordRange* Range/*[in]*/, 
                                        Word_xp::Frame** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::Frame* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Frame* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Frame**)&prop));
    return prop;
  }

  Word_xp::Frame* __fastcall Add(Word_xp::WordRange* Range/*[in]*/)
  {
    Word_xp::Frame* prop = 0;
    OLECHECK(this->Add(Range, (Word_xp::Frame**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Frame
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092A-0000-0000-C000-000000000046}
// *********************************************************************//
interface Frame  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_HeightRule(Word_xp::WdFrameSizeRule* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_HeightRule(Word_xp::WdFrameSizeRule prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_WidthRule(Word_xp::WdFrameSizeRule* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_WidthRule(Word_xp::WdFrameSizeRule prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_HorizontalDistanceFromText(float* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_HorizontalDistanceFromText(float prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Height(float* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_Height(float prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_HorizontalPosition(float* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_HorizontalPosition(float prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_LockAnchor(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_LockAnchor(VARIANT_BOOL prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_VerticalDistanceFromText(float* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_VerticalDistanceFromText(float prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_VerticalPosition(float* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_VerticalPosition(float prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_Width(float* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_Width(float prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_TextWrap(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_TextWrap(VARIANT_BOOL prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE Copy(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Cut(void) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdFrameSizeRule __fastcall get_HeightRule(void)
  {
    Word_xp::WdFrameSizeRule prop;
    OLECHECK(this->get_HeightRule((Word_xp::WdFrameSizeRule*)&prop));
    return prop;
  }

  Word_xp::WdFrameSizeRule __fastcall get_WidthRule(void)
  {
    Word_xp::WdFrameSizeRule prop;
    OLECHECK(this->get_WidthRule((Word_xp::WdFrameSizeRule*)&prop));
    return prop;
  }

  float __fastcall get_HorizontalDistanceFromText(void)
  {
    float prop;
    OLECHECK(this->get_HorizontalDistanceFromText((float*)&prop));
    return prop;
  }

  float __fastcall get_Height(void)
  {
    float prop;
    OLECHECK(this->get_Height((float*)&prop));
    return prop;
  }

  float __fastcall get_HorizontalPosition(void)
  {
    float prop;
    OLECHECK(this->get_HorizontalPosition((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_LockAnchor(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_LockAnchor((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdRelativeHorizontalPosition __fastcall get_RelativeHorizontalPosition(void)
  {
    Word_xp::WdRelativeHorizontalPosition prop;
    OLECHECK(this->get_RelativeHorizontalPosition((Word_xp::WdRelativeHorizontalPosition*)&prop));
    return prop;
  }

  Word_xp::WdRelativeVerticalPosition __fastcall get_RelativeVerticalPosition(void)
  {
    Word_xp::WdRelativeVerticalPosition prop;
    OLECHECK(this->get_RelativeVerticalPosition((Word_xp::WdRelativeVerticalPosition*)&prop));
    return prop;
  }

  float __fastcall get_VerticalDistanceFromText(void)
  {
    float prop;
    OLECHECK(this->get_VerticalDistanceFromText((float*)&prop));
    return prop;
  }

  float __fastcall get_VerticalPosition(void)
  {
    float prop;
    OLECHECK(this->get_VerticalPosition((float*)&prop));
    return prop;
  }

  float __fastcall get_Width(void)
  {
    float prop;
    OLECHECK(this->get_Width((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_TextWrap(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_TextWrap((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdFrameSizeRule HeightRule = {read = get_HeightRule, write = set_HeightRule};
  __property   Word_xp::WdFrameSizeRule WidthRule = {read = get_WidthRule, write = set_WidthRule};
  __property   float           HorizontalDistanceFromText = {read = get_HorizontalDistanceFromText, write = set_HorizontalDistanceFromText};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   float           HorizontalPosition = {read = get_HorizontalPosition, write = set_HorizontalPosition};
  __property   VARIANT_BOOL    LockAnchor = {read = get_LockAnchor, write = set_LockAnchor};
  __property   Word_xp::WdRelativeHorizontalPosition RelativeHorizontalPosition = {read = get_RelativeHorizontalPosition, write = set_RelativeHorizontalPosition};
  __property   Word_xp::WdRelativeVerticalPosition RelativeVerticalPosition = {read = get_RelativeVerticalPosition, write = set_RelativeVerticalPosition};
  __property   float           VerticalDistanceFromText = {read = get_VerticalDistanceFromText, write = set_VerticalDistanceFromText};
  __property   float           VerticalPosition = {read = get_VerticalPosition, write = set_VerticalPosition};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   VARIANT_BOOL    TextWrap = {read = get_TextWrap, write = set_TextWrap};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: FormFields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020929-0000-0000-C000-000000000046}
// *********************************************************************//
interface FormFields  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Shaded(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Shaded(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::FormField** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WordRange* Range/*[in]*/, 
                                        Word_xp::WdFieldType Type/*[in]*/, 
                                        Word_xp::FormField** prop/*[out,retval]*/) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Shaded(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Shaded((VARIANT_BOOL*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::FormField* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::FormField* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::FormField**)&prop));
    return prop;
  }

  Word_xp::FormField* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                     Word_xp::WdFieldType Type/*[in]*/)
  {
    Word_xp::FormField* prop = 0;
    OLECHECK(this->Add(Range, Type, (Word_xp::FormField**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   VARIANT_BOOL    Shaded = {read = get_Shaded, write = set_Shaded};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: FormField
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020928-0000-0000-C000-000000000046}
// *********************************************************************//
interface FormField  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdFieldType* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_EntryMacro(BSTR* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_EntryMacro(BSTR prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_ExitMacro(BSTR* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_ExitMacro(BSTR prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_OwnHelp(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_OwnHelp(VARIANT_BOOL prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_OwnStatus(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_OwnStatus(VARIANT_BOOL prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_HelpText(BSTR* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_HelpText(BSTR prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_StatusText(BSTR* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_StatusText(BSTR prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_Enabled(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_Enabled(VARIANT_BOOL prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_Result(BSTR* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_Result(BSTR prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_TextInput(Word_xp::TextInput** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_CheckBox(Word_xp::CheckBox** prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_DropDown(Word_xp::DropDown** prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_Next(Word_xp::FormField** prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_Previous(Word_xp::FormField** prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_CalculateOnExit(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE set_CalculateOnExit(VARIANT_BOOL prop/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE Copy(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Cut(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [103]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdFieldType __fastcall get_Type(void)
  {
    Word_xp::WdFieldType prop;
    OLECHECK(this->get_Type((Word_xp::WdFieldType*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_EntryMacro(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_EntryMacro((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_ExitMacro(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ExitMacro((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_OwnHelp(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_OwnHelp((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_OwnStatus(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_OwnStatus((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_HelpText(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_HelpText((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_StatusText(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_StatusText((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Enabled(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Enabled((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_Result(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Result((BSTR*)&prop));
    return prop;
  }

  Word_xp::TextInputPtr __fastcall get_TextInput(void)
  {
    Word_xp::TextInputPtr prop;
    OLECHECK(this->get_TextInput(&prop));
    return prop;
  }

  Word_xp::CheckBoxPtr __fastcall get_CheckBox(void)
  {
    Word_xp::CheckBoxPtr prop;
    OLECHECK(this->get_CheckBox(&prop));
    return prop;
  }

  Word_xp::DropDownPtr __fastcall get_DropDown(void)
  {
    Word_xp::DropDownPtr prop;
    OLECHECK(this->get_DropDown(&prop));
    return prop;
  }

  Word_xp::FormFieldPtr __fastcall get_Next(void)
  {
    Word_xp::FormFieldPtr prop;
    OLECHECK(this->get_Next(&prop));
    return prop;
  }

  Word_xp::FormFieldPtr __fastcall get_Previous(void)
  {
    Word_xp::FormFieldPtr prop;
    OLECHECK(this->get_Previous(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CalculateOnExit(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CalculateOnExit((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdFieldType Type = {read = get_Type};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   BSTR            EntryMacro = {read = get_EntryMacro, write = set_EntryMacro};
  __property   BSTR            ExitMacro = {read = get_ExitMacro, write = set_ExitMacro};
  __property   VARIANT_BOOL    OwnHelp = {read = get_OwnHelp, write = set_OwnHelp};
  __property   VARIANT_BOOL    OwnStatus = {read = get_OwnStatus, write = set_OwnStatus};
  __property   BSTR            HelpText = {read = get_HelpText, write = set_HelpText};
  __property   BSTR            StatusText = {read = get_StatusText, write = set_StatusText};
  __property   VARIANT_BOOL    Enabled = {read = get_Enabled, write = set_Enabled};
  __property   BSTR            Result = {read = get_Result, write = set_Result};
  __property   Word_xp::TextInputPtr TextInput = {read = get_TextInput};
  __property   Word_xp::CheckBoxPtr CheckBox = {read = get_CheckBox};
  __property   Word_xp::DropDownPtr DropDown = {read = get_DropDown};
  __property   Word_xp::FormFieldPtr Next = {read = get_Next};
  __property   Word_xp::FormFieldPtr Previous = {read = get_Previous};
  __property   VARIANT_BOOL    CalculateOnExit = {read = get_CalculateOnExit, write = set_CalculateOnExit};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TextInput
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020927-0000-0000-C000-000000000046}
// *********************************************************************//
interface TextInput  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Valid(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Default(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_Default(BSTR prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdTextFormFieldType* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Format(BSTR* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Width(long* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_Width(long prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE Clear(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE EditType(Word_xp::WdTextFormFieldType Type/*[in]*/, 
                                             VARIANT* Default/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Enabled/*[in,opt]*/= TNoParam()) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Valid(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Valid((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_Default(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Default((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdTextFormFieldType __fastcall get_Type(void)
  {
    Word_xp::WdTextFormFieldType prop;
    OLECHECK(this->get_Type((Word_xp::WdTextFormFieldType*)&prop));
    return prop;
  }

  BSTR __fastcall get_Format(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Format((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_Width(void)
  {
    long prop;
    OLECHECK(this->get_Width((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Valid = {read = get_Valid};
  __property   BSTR            Default = {read = get_Default, write = set_Default};
  __property   Word_xp::WdTextFormFieldType Type = {read = get_Type};
  __property   BSTR            Format = {read = get_Format};
  __property   long            Width = {read = get_Width, write = set_Width};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: CheckBox
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020926-0000-0000-C000-000000000046}
// *********************************************************************//
interface CheckBox  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Valid(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_AutoSize(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_AutoSize(VARIANT_BOOL prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Size(float* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Size(float prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Default(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Default(VARIANT_BOOL prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Value(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_Value(VARIANT_BOOL prop/*[in]*/) = 0; // [4]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Valid(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Valid((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoSize(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoSize((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_Size(void)
  {
    float prop;
    OLECHECK(this->get_Size((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Default(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Default((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Value(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Value((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Valid = {read = get_Valid};
  __property   VARIANT_BOOL    AutoSize = {read = get_AutoSize, write = set_AutoSize};
  __property   float           Size = {read = get_Size, write = set_Size};
  __property   VARIANT_BOOL    Default = {read = get_Default, write = set_Default};
  __property   VARIANT_BOOL    Value = {read = get_Value, write = set_Value};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: DropDown
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020925-0000-0000-C000-000000000046}
// *********************************************************************//
interface DropDown  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Valid(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Default(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_Default(long prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Value(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Value(long prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_ListEntries(Word_xp::ListEntries** prop/*[out,retval]*/) = 0; // [3]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Valid(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Valid((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_Default(void)
  {
    long prop;
    OLECHECK(this->get_Default((long*)&prop));
    return prop;
  }

  long __fastcall get_Value(void)
  {
    long prop;
    OLECHECK(this->get_Value((long*)&prop));
    return prop;
  }

  Word_xp::ListEntriesPtr __fastcall get_ListEntries(void)
  {
    Word_xp::ListEntriesPtr prop;
    OLECHECK(this->get_ListEntries(&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Valid = {read = get_Valid};
  __property   long            Default = {read = get_Default, write = set_Default};
  __property   long            Value = {read = get_Value, write = set_Value};
  __property   Word_xp::ListEntriesPtr ListEntries = {read = get_ListEntries};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ListEntries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020924-0000-0000-C000-000000000046}
// *********************************************************************//
interface ListEntries  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::ListEntry** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, VARIANT* Index/*[in,opt]*/, 
                                        Word_xp::ListEntry** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Clear(void) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::ListEntry* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::ListEntry* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::ListEntry**)&prop));
    return prop;
  }

  Word_xp::ListEntry* __fastcall Add(BSTR Name/*[in]*/, VARIANT* Index/*[in,opt]*/= TNoParam())
  {
    Word_xp::ListEntry* prop = 0;
    OLECHECK(this->Add(Name, Index, (Word_xp::ListEntry**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ListEntry
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020923-0000-0000-C000-000000000046}
// *********************************************************************//
interface ListEntry  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [11]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name, write = set_Name};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TablesOfFigures
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020922-0000-0000-C000-000000000046}
// *********************************************************************//
interface TablesOfFigures  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Format(Word_xp::WdTofFormat* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Format(Word_xp::WdTofFormat prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::TableOfFigures** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                           VARIANT* Caption/*[in,opt]*/, 
                                           VARIANT* IncludeLabel/*[in,opt]*/, 
                                           VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                           VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                           VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                           VARIANT* UseFields/*[in,opt]*/, 
                                           VARIANT* TableID/*[in,opt]*/, 
                                           VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                           VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                           VARIANT* AddedStyles/*[in,opt]*/, 
                                           Word_xp::TableOfFigures** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE MarkEntry(Word_xp::WordRange* Range/*[in]*/, 
                                              VARIANT* Entry/*[in,opt]*/, 
                                              VARIANT* EntryAutoText/*[in,opt]*/, 
                                              VARIANT* TableID/*[in,opt]*/, 
                                              VARIANT* Level/*[in,opt]*/, 
                                              Word_xp::Field** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WordRange* Range/*[in]*/, 
                                        VARIANT* Caption/*[in,opt]*/, 
                                        VARIANT* IncludeLabel/*[in,opt]*/, 
                                        VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                        VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                        VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                        VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                        VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                        VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                        VARIANT* AddedStyles/*[in,opt]*/, 
                                        VARIANT* UseHyperlinks/*[in,opt]*/, 
                                        VARIANT* HidePageNumbersInWeb/*[in,opt]*/, 
                                        Word_xp::TableOfFigures** prop/*[out,retval]*/) = 0; // [444]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WdTofFormat __fastcall get_Format(void)
  {
    Word_xp::WdTofFormat prop;
    OLECHECK(this->get_Format((Word_xp::WdTofFormat*)&prop));
    return prop;
  }

  Word_xp::TableOfFigures* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::TableOfFigures* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::TableOfFigures**)&prop));
    return prop;
  }

  Word_xp::TableOfFigures* __fastcall AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                             VARIANT* Caption/*[in,opt]*/= TNoParam(), 
                                             VARIANT* IncludeLabel/*[in,opt]*/= TNoParam(), 
                                             VARIANT* UseHeadingStyles/*[in,opt]*/= TNoParam(), 
                                             VARIANT* UpperHeadingLevel/*[in,opt]*/= TNoParam(), 
                                             VARIANT* LowerHeadingLevel/*[in,opt]*/= TNoParam(), 
                                             VARIANT* UseFields/*[in,opt]*/= TNoParam(), 
                                             VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                             VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                             VARIANT* IncludePageNumbers/*[in,opt]*/= TNoParam(), 
                                             VARIANT* AddedStyles/*[in,opt]*/= TNoParam())
  {
    Word_xp::TableOfFigures* prop = 0;
    OLECHECK(this->AddOld(Range, Caption, IncludeLabel, UseHeadingStyles, UpperHeadingLevel, 
                          LowerHeadingLevel, UseFields, TableID, RightAlignPageNumbers, 
                          IncludePageNumbers, AddedStyles, (Word_xp::TableOfFigures**)&prop));
    return prop;
  }

  Word_xp::Field* __fastcall MarkEntry(Word_xp::WordRange* Range/*[in]*/, 
                                       VARIANT* Entry/*[in,opt]*/= TNoParam(), 
                                       VARIANT* EntryAutoText/*[in,opt]*/= TNoParam(), 
                                       VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Level/*[in,opt]*/= TNoParam())
  {
    Word_xp::Field* prop = 0;
    OLECHECK(this->MarkEntry(Range, Entry, EntryAutoText, TableID, Level, (Word_xp::Field**)&prop));
    return prop;
  }

  Word_xp::TableOfFigures* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                          VARIANT* Caption/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IncludeLabel/*[in,opt]*/= TNoParam(), 
                                          VARIANT* UseHeadingStyles/*[in,opt]*/= TNoParam(), 
                                          VARIANT* UpperHeadingLevel/*[in,opt]*/= TNoParam(), 
                                          VARIANT* LowerHeadingLevel/*[in,opt]*/= TNoParam(), 
                                          VARIANT* UseFields/*[in,opt]*/= TNoParam(), 
                                          VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                          VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IncludePageNumbers/*[in,opt]*/= TNoParam(), 
                                          VARIANT* AddedStyles/*[in,opt]*/= TNoParam(), 
                                          VARIANT* UseHyperlinks/*[in,opt]*/= TNoParam(), 
                                          VARIANT* HidePageNumbersInWeb/*[in,opt]*/= TNoParam())
  {
    Word_xp::TableOfFigures* prop = 0;
    OLECHECK(this->Add(Range, Caption, IncludeLabel, UseHeadingStyles, UpperHeadingLevel, 
                       LowerHeadingLevel, UseFields, TableID, RightAlignPageNumbers, 
                       IncludePageNumbers, AddedStyles, UseHyperlinks, HidePageNumbersInWeb, (Word_xp::TableOfFigures**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdTofFormat Format = {read = get_Format, write = set_Format};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TableOfFigures
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020921-0000-0000-C000-000000000046}
// *********************************************************************//
interface TableOfFigures  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Caption(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_Caption(BSTR prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_IncludeLabel(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_IncludeLabel(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_RightAlignPageNumbers(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_RightAlignPageNumbers(VARIANT_BOOL prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_UseHeadingStyles(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_UseHeadingStyles(VARIANT_BOOL prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_LowerHeadingLevel(long* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_LowerHeadingLevel(long prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_UpperHeadingLevel(long* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_UpperHeadingLevel(long prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_IncludePageNumbers(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_IncludePageNumbers(VARIANT_BOOL prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_UseFields(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_UseFields(VARIANT_BOOL prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_TableID(BSTR* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_TableID(BSTR prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_HeadingStyles(Word_xp::HeadingStyles** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_TabLeader(Word_xp::WdTabLeader* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_TabLeader(Word_xp::WdTabLeader prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE UpdatePageNumbers(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE _Update(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_UseHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_UseHyperlinks(VARIANT_BOOL prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_HidePageNumbersInWeb(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_HidePageNumbersInWeb(VARIANT_BOOL prop/*[in]*/) = 0; // [14]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Caption(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Caption((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IncludeLabel(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IncludeLabel((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RightAlignPageNumbers(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RightAlignPageNumbers((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseHeadingStyles(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseHeadingStyles((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_LowerHeadingLevel(void)
  {
    long prop;
    OLECHECK(this->get_LowerHeadingLevel((long*)&prop));
    return prop;
  }

  long __fastcall get_UpperHeadingLevel(void)
  {
    long prop;
    OLECHECK(this->get_UpperHeadingLevel((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IncludePageNumbers(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IncludePageNumbers((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseFields(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseFields((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_TableID(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_TableID((BSTR*)&prop));
    return prop;
  }

  Word_xp::HeadingStylesPtr __fastcall get_HeadingStyles(void)
  {
    Word_xp::HeadingStylesPtr prop;
    OLECHECK(this->get_HeadingStyles(&prop));
    return prop;
  }

  Word_xp::WdTabLeader __fastcall get_TabLeader(void)
  {
    Word_xp::WdTabLeader prop;
    OLECHECK(this->get_TabLeader((Word_xp::WdTabLeader*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseHyperlinks(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseHyperlinks((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HidePageNumbersInWeb(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HidePageNumbersInWeb((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Caption = {read = get_Caption, write = set_Caption};
  __property   VARIANT_BOOL    IncludeLabel = {read = get_IncludeLabel, write = set_IncludeLabel};
  __property   VARIANT_BOOL    RightAlignPageNumbers = {read = get_RightAlignPageNumbers, write = set_RightAlignPageNumbers};
  __property   VARIANT_BOOL    UseHeadingStyles = {read = get_UseHeadingStyles, write = set_UseHeadingStyles};
  __property   long            LowerHeadingLevel = {read = get_LowerHeadingLevel, write = set_LowerHeadingLevel};
  __property   long            UpperHeadingLevel = {read = get_UpperHeadingLevel, write = set_UpperHeadingLevel};
  __property   VARIANT_BOOL    IncludePageNumbers = {read = get_IncludePageNumbers, write = set_IncludePageNumbers};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   VARIANT_BOOL    UseFields = {read = get_UseFields, write = set_UseFields};
  __property   BSTR            TableID = {read = get_TableID, write = set_TableID};
  __property   Word_xp::HeadingStylesPtr HeadingStyles = {read = get_HeadingStyles};
  __property   Word_xp::WdTabLeader TabLeader = {read = get_TabLeader, write = set_TabLeader};
  __property   VARIANT_BOOL    UseHyperlinks = {read = get_UseHyperlinks, write = set_UseHyperlinks};
  __property   VARIANT_BOOL    HidePageNumbersInWeb = {read = get_HidePageNumbersInWeb, write = set_HidePageNumbersInWeb};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: MailMerge
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020920-0000-0000-C000-000000000046}
// *********************************************************************//
interface MailMerge  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_MainDocumentType(Word_xp::WdMailMergeMainDocType* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_MainDocumentType(Word_xp::WdMailMergeMainDocType prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_State(Word_xp::WdMailMergeState* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Destination(Word_xp::WdMailMergeDestination* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Destination(Word_xp::WdMailMergeDestination prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_DataSource(Word_xp::MailMergeDataSource** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Fields(Word_xp::MailMergeFields** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_ViewMailMergeFieldCodes(long* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_ViewMailMergeFieldCodes(long prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_SuppressBlankLines(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_SuppressBlankLines(VARIANT_BOOL prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_MailAsAttachment(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_MailAsAttachment(VARIANT_BOOL prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_MailAddressFieldName(BSTR* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_MailAddressFieldName(BSTR prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_MailSubject(BSTR* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_MailSubject(BSTR prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE CreateDataSource(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* HeaderRecord/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* MSQuery/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* SQLStatement/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* SQLStatement1/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* Connection/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* LinkToSource/*[in,opt]*/= TNoParam()) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE CreateHeaderSource(BSTR Name/*[in]*/, 
                                                       VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* HeaderRecord/*[in,opt]*/= TNoParam()) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE OpenDataSource2000(BSTR Name/*[in]*/, 
                                                       VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* LinkToSource/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* Connection/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* SQLStatement/*[in,opt]*/= TNoParam(), 
                                                       VARIANT* SQLStatement1/*[in,opt]*/= TNoParam()) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE OpenHeaderSource2000(BSTR Name/*[in]*/, 
                                                         VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                                         VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                                         VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                                         VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                                         VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                                         VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                                         VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                                         VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                                         VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam()) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE Execute(VARIANT* Pause/*[in,opt]*/= TNoParam()) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE Check(void) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE EditDataSource(void) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE EditHeaderSource(void) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE EditMainDocument(void) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE UseAddressBook(BSTR Type/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_HighlightMergeFields(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_HighlightMergeFields(VARIANT_BOOL prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_MailFormat(Word_xp::WdMailMergeMailFormat* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_MailFormat(Word_xp::WdMailMergeMailFormat prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_ShowSendToCustom(BSTR* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_ShowSendToCustom(BSTR prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_WizardState(long* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_WizardState(long prop/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE OpenDataSource(BSTR Name/*[in]*/, 
                                                   VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* LinkToSource/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* Connection/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* SQLStatement/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* SQLStatement1/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* OpenExclusive/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* SubType/*[in,opt]*/= TNoParam()) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE OpenHeaderSource(BSTR Name/*[in]*/, 
                                                     VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* OpenExclusive/*[in,opt]*/= TNoParam()) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE ShowWizard(VARIANT* InitialState/*[in]*/, 
                                               VARIANT* ShowDocumentStep/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ShowTemplateStep/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ShowDataStep/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ShowWriteStep/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ShowPreviewStep/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ShowMergeStep/*[in,opt]*/= TNoParam()) = 0; // [114]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdMailMergeMainDocType __fastcall get_MainDocumentType(void)
  {
    Word_xp::WdMailMergeMainDocType prop;
    OLECHECK(this->get_MainDocumentType((Word_xp::WdMailMergeMainDocType*)&prop));
    return prop;
  }

  Word_xp::WdMailMergeState __fastcall get_State(void)
  {
    Word_xp::WdMailMergeState prop;
    OLECHECK(this->get_State((Word_xp::WdMailMergeState*)&prop));
    return prop;
  }

  Word_xp::WdMailMergeDestination __fastcall get_Destination(void)
  {
    Word_xp::WdMailMergeDestination prop;
    OLECHECK(this->get_Destination((Word_xp::WdMailMergeDestination*)&prop));
    return prop;
  }

  Word_xp::MailMergeDataSourcePtr __fastcall get_DataSource(void)
  {
    Word_xp::MailMergeDataSourcePtr prop;
    OLECHECK(this->get_DataSource(&prop));
    return prop;
  }

  Word_xp::MailMergeFieldsPtr __fastcall get_Fields(void)
  {
    Word_xp::MailMergeFieldsPtr prop;
    OLECHECK(this->get_Fields(&prop));
    return prop;
  }

  long __fastcall get_ViewMailMergeFieldCodes(void)
  {
    long prop;
    OLECHECK(this->get_ViewMailMergeFieldCodes((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SuppressBlankLines(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SuppressBlankLines((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MailAsAttachment(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MailAsAttachment((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_MailAddressFieldName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_MailAddressFieldName((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_MailSubject(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_MailSubject((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HighlightMergeFields(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HighlightMergeFields((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdMailMergeMailFormat __fastcall get_MailFormat(void)
  {
    Word_xp::WdMailMergeMailFormat prop;
    OLECHECK(this->get_MailFormat((Word_xp::WdMailMergeMailFormat*)&prop));
    return prop;
  }

  BSTR __fastcall get_ShowSendToCustom(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ShowSendToCustom((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_WizardState(void)
  {
    long prop;
    OLECHECK(this->get_WizardState((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdMailMergeMainDocType MainDocumentType = {read = get_MainDocumentType, write = set_MainDocumentType};
  __property   Word_xp::WdMailMergeState State = {read = get_State};
  __property   Word_xp::WdMailMergeDestination Destination = {read = get_Destination, write = set_Destination};
  __property   Word_xp::MailMergeDataSourcePtr DataSource = {read = get_DataSource};
  __property   Word_xp::MailMergeFieldsPtr Fields = {read = get_Fields};
  __property   long            ViewMailMergeFieldCodes = {read = get_ViewMailMergeFieldCodes, write = set_ViewMailMergeFieldCodes};
  __property   VARIANT_BOOL    SuppressBlankLines = {read = get_SuppressBlankLines, write = set_SuppressBlankLines};
  __property   VARIANT_BOOL    MailAsAttachment = {read = get_MailAsAttachment, write = set_MailAsAttachment};
  __property   BSTR            MailAddressFieldName = {read = get_MailAddressFieldName, write = set_MailAddressFieldName};
  __property   BSTR            MailSubject = {read = get_MailSubject, write = set_MailSubject};
  __property   VARIANT_BOOL    HighlightMergeFields = {read = get_HighlightMergeFields, write = set_HighlightMergeFields};
  __property   Word_xp::WdMailMergeMailFormat MailFormat = {read = get_MailFormat, write = set_MailFormat};
  __property   BSTR            ShowSendToCustom = {read = get_ShowSendToCustom, write = set_ShowSendToCustom};
  __property   long            WizardState = {read = get_WizardState, write = set_WizardState};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: MailMergeFields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091F-0000-0000-C000-000000000046}
// *********************************************************************//
interface MailMergeFields  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                        Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE AddAsk(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                           VARIANT* Prompt/*[in,opt]*/, 
                                           VARIANT* DefaultAskText/*[in,opt]*/, 
                                           VARIANT* AskOnce/*[in,opt]*/, 
                                           Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE AddFillIn(Word_xp::WordRange* Range/*[in]*/, 
                                              VARIANT* Prompt/*[in,opt]*/, 
                                              VARIANT* DefaultFillInText/*[in,opt]*/, 
                                              VARIANT* AskOnce/*[in,opt]*/, 
                                              Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE AddIf(Word_xp::WordRange* Range/*[in]*/, BSTR MergeField/*[in]*/, 
                                          Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                          VARIANT* CompareTo/*[in,opt]*/, 
                                          VARIANT* TrueAutoText/*[in,opt]*/, 
                                          VARIANT* TrueText/*[in,opt]*/, 
                                          VARIANT* FalseAutoText/*[in,opt]*/, 
                                          VARIANT* FalseText/*[in,opt]*/, 
                                          Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE AddMergeRec(Word_xp::WordRange* Range/*[in]*/, 
                                                Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE AddMergeSeq(Word_xp::WordRange* Range/*[in]*/, 
                                                Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE AddNext(Word_xp::WordRange* Range/*[in]*/, 
                                            Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE AddNextIf(Word_xp::WordRange* Range/*[in]*/, 
                                              BSTR MergeField/*[in]*/, 
                                              Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                              VARIANT* CompareTo/*[in,opt]*/, 
                                              Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE AddSet(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                           VARIANT* ValueText/*[in,opt]*/, 
                                           VARIANT* ValueAutoText/*[in,opt]*/, 
                                           Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE AddSkipIf(Word_xp::WordRange* Range/*[in]*/, 
                                              BSTR MergeField/*[in]*/, 
                                              Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                              VARIANT* CompareTo/*[in,opt]*/, 
                                              Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [110]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::MailMergeField* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::MailMergeField* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::MailMergeField**)&prop));
    return prop;
  }

  Word_xp::MailMergeField* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/)
  {
    Word_xp::MailMergeField* prop = 0;
    OLECHECK(this->Add(Range, Name, (Word_xp::MailMergeField**)&prop));
    return prop;
  }

  Word_xp::MailMergeField* __fastcall AddAsk(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                             VARIANT* Prompt/*[in,opt]*/= TNoParam(), 
                                             VARIANT* DefaultAskText/*[in,opt]*/= TNoParam(), 
                                             VARIANT* AskOnce/*[in,opt]*/= TNoParam())
  {
    Word_xp::MailMergeField* prop = 0;
    OLECHECK(this->AddAsk(Range, Name, Prompt, DefaultAskText, AskOnce, (Word_xp::MailMergeField**)&prop));
    return prop;
  }

  Word_xp::MailMergeField* __fastcall AddFillIn(Word_xp::WordRange* Range/*[in]*/, 
                                                VARIANT* Prompt/*[in,opt]*/= TNoParam(), 
                                                VARIANT* DefaultFillInText/*[in,opt]*/= TNoParam(), 
                                                VARIANT* AskOnce/*[in,opt]*/= TNoParam())
  {
    Word_xp::MailMergeField* prop = 0;
    OLECHECK(this->AddFillIn(Range, Prompt, DefaultFillInText, AskOnce, (Word_xp::MailMergeField**)&prop));
    return prop;
  }

  Word_xp::MailMergeField* __fastcall AddIf(Word_xp::WordRange* Range/*[in]*/, 
                                            BSTR MergeField/*[in]*/, 
                                            Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                            VARIANT* CompareTo/*[in,opt]*/= TNoParam(), 
                                            VARIANT* TrueAutoText/*[in,opt]*/= TNoParam(), 
                                            VARIANT* TrueText/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FalseAutoText/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FalseText/*[in,opt]*/= TNoParam())
  {
    Word_xp::MailMergeField* prop = 0;
    OLECHECK(this->AddIf(Range, MergeField, Comparison, CompareTo, TrueAutoText, TrueText, 
                         FalseAutoText, FalseText, (Word_xp::MailMergeField**)&prop));
    return prop;
  }

  Word_xp::MailMergeField* __fastcall AddMergeRec(Word_xp::WordRange* Range/*[in]*/)
  {
    Word_xp::MailMergeField* prop = 0;
    OLECHECK(this->AddMergeRec(Range, (Word_xp::MailMergeField**)&prop));
    return prop;
  }

  Word_xp::MailMergeField* __fastcall AddMergeSeq(Word_xp::WordRange* Range/*[in]*/)
  {
    Word_xp::MailMergeField* prop = 0;
    OLECHECK(this->AddMergeSeq(Range, (Word_xp::MailMergeField**)&prop));
    return prop;
  }

  Word_xp::MailMergeField* __fastcall AddNext(Word_xp::WordRange* Range/*[in]*/)
  {
    Word_xp::MailMergeField* prop = 0;
    OLECHECK(this->AddNext(Range, (Word_xp::MailMergeField**)&prop));
    return prop;
  }

  Word_xp::MailMergeField* __fastcall AddNextIf(Word_xp::WordRange* Range/*[in]*/, 
                                                BSTR MergeField/*[in]*/, 
                                                Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                                VARIANT* CompareTo/*[in,opt]*/= TNoParam())
  {
    Word_xp::MailMergeField* prop = 0;
    OLECHECK(this->AddNextIf(Range, MergeField, Comparison, CompareTo, (Word_xp::MailMergeField**)&prop));
    return prop;
  }

  Word_xp::MailMergeField* __fastcall AddSet(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                             VARIANT* ValueText/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ValueAutoText/*[in,opt]*/= TNoParam())
  {
    Word_xp::MailMergeField* prop = 0;
    OLECHECK(this->AddSet(Range, Name, ValueText, ValueAutoText, (Word_xp::MailMergeField**)&prop));
    return prop;
  }

  Word_xp::MailMergeField* __fastcall AddSkipIf(Word_xp::WordRange* Range/*[in]*/, 
                                                BSTR MergeField/*[in]*/, 
                                                Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                                VARIANT* CompareTo/*[in,opt]*/= TNoParam())
  {
    Word_xp::MailMergeField* prop = 0;
    OLECHECK(this->AddSkipIf(Range, MergeField, Comparison, CompareTo, (Word_xp::MailMergeField**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: MailMergeField
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091E-0000-0000-C000-000000000046}
// *********************************************************************//
interface MailMergeField  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdFieldType* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Locked(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Locked(VARIANT_BOOL prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Code(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_Code(Word_xp::WordRange* prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Next(Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_Previous(Word_xp::MailMergeField** prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE Copy(void) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE Cut(void) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [107]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdFieldType __fastcall get_Type(void)
  {
    Word_xp::WdFieldType prop;
    OLECHECK(this->get_Type((Word_xp::WdFieldType*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Locked(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Locked((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Code(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Code(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Code(Word_xp::WordRangePtr prop/*[in]*/)
  {
    return set_Code((Word_xp::WordRange*)prop/*[in]*/);
  }

  Word_xp::MailMergeFieldPtr __fastcall get_Next(void)
  {
    Word_xp::MailMergeFieldPtr prop;
    OLECHECK(this->get_Next(&prop));
    return prop;
  }

  Word_xp::MailMergeFieldPtr __fastcall get_Previous(void)
  {
    Word_xp::MailMergeFieldPtr prop;
    OLECHECK(this->get_Previous(&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdFieldType Type = {read = get_Type};
  __property   VARIANT_BOOL    Locked = {read = get_Locked, write = set_Locked};
  __property   Word_xp::WordRangePtr Code = {read = get_Code, write = set_Code};
  __property   Word_xp::MailMergeFieldPtr Next = {read = get_Next};
  __property   Word_xp::MailMergeFieldPtr Previous = {read = get_Previous};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: MailMergeDataSource
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091D-0000-0000-C000-000000000046}
// *********************************************************************//
interface MailMergeDataSource  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_HeaderSourceName(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdMailMergeDataSource* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_HeaderSourceType(Word_xp::WdMailMergeDataSource* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_ConnectString(BSTR* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_QueryString(BSTR* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_QueryString(BSTR prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveRecord(Word_xp::WdMailMergeActiveRecord* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_ActiveRecord(Word_xp::WdMailMergeActiveRecord prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_FirstRecord(long* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_FirstRecord(long prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_LastRecord(long* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_LastRecord(long prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_FieldNames(Word_xp::MailMergeFieldNames** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_DataFields(Word_xp::MailMergeDataFields** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE FindRecord2000(BSTR FindText/*[in]*/, BSTR Field/*[in]*/, 
                                                   VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_RecordCount(long* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_Included(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_Included(VARIANT_BOOL prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_InvalidAddress(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_InvalidAddress(VARIANT_BOOL prop/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_InvalidComments(BSTR* prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE set_InvalidComments(BSTR prop/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_MappedDataFields(Word_xp::MappedDataFields** prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_TableName(BSTR* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE FindRecord(BSTR FindText/*[in]*/, VARIANT* Field/*[in,opt]*/, 
                                               VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE SetAllIncludedFlags(VARIANT_BOOL Included/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE SetAllErrorFlags(VARIANT_BOOL Invalid/*[in]*/, 
                                                     BSTR InvalidComment/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE Close(void) = 0; // [105]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_HeaderSourceName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_HeaderSourceName((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdMailMergeDataSource __fastcall get_Type(void)
  {
    Word_xp::WdMailMergeDataSource prop;
    OLECHECK(this->get_Type((Word_xp::WdMailMergeDataSource*)&prop));
    return prop;
  }

  Word_xp::WdMailMergeDataSource __fastcall get_HeaderSourceType(void)
  {
    Word_xp::WdMailMergeDataSource prop;
    OLECHECK(this->get_HeaderSourceType((Word_xp::WdMailMergeDataSource*)&prop));
    return prop;
  }

  BSTR __fastcall get_ConnectString(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ConnectString((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_QueryString(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_QueryString((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdMailMergeActiveRecord __fastcall get_ActiveRecord(void)
  {
    Word_xp::WdMailMergeActiveRecord prop;
    OLECHECK(this->get_ActiveRecord((Word_xp::WdMailMergeActiveRecord*)&prop));
    return prop;
  }

  long __fastcall get_FirstRecord(void)
  {
    long prop;
    OLECHECK(this->get_FirstRecord((long*)&prop));
    return prop;
  }

  long __fastcall get_LastRecord(void)
  {
    long prop;
    OLECHECK(this->get_LastRecord((long*)&prop));
    return prop;
  }

  Word_xp::MailMergeFieldNamesPtr __fastcall get_FieldNames(void)
  {
    Word_xp::MailMergeFieldNamesPtr prop;
    OLECHECK(this->get_FieldNames(&prop));
    return prop;
  }

  Word_xp::MailMergeDataFieldsPtr __fastcall get_DataFields(void)
  {
    Word_xp::MailMergeDataFieldsPtr prop;
    OLECHECK(this->get_DataFields(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall FindRecord2000(BSTR FindText/*[in]*/, BSTR Field/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->FindRecord2000(FindText, Field, (VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_RecordCount(void)
  {
    long prop;
    OLECHECK(this->get_RecordCount((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Included(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Included((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_InvalidAddress(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_InvalidAddress((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_InvalidComments(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_InvalidComments((BSTR*)&prop));
    return prop;
  }

  Word_xp::MappedDataFieldsPtr __fastcall get_MappedDataFields(void)
  {
    Word_xp::MappedDataFieldsPtr prop;
    OLECHECK(this->get_MappedDataFields(&prop));
    return prop;
  }

  BSTR __fastcall get_TableName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_TableName((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall FindRecord(BSTR FindText/*[in]*/, VARIANT* Field/*[in,opt]*/= TNoParam())
  {
    VARIANT_BOOL prop;
    OLECHECK(this->FindRecord(FindText, Field, (VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            HeaderSourceName = {read = get_HeaderSourceName};
  __property   Word_xp::WdMailMergeDataSource Type = {read = get_Type};
  __property   Word_xp::WdMailMergeDataSource HeaderSourceType = {read = get_HeaderSourceType};
  __property   BSTR            ConnectString = {read = get_ConnectString};
  __property   BSTR            QueryString = {read = get_QueryString, write = set_QueryString};
  __property   Word_xp::WdMailMergeActiveRecord ActiveRecord = {read = get_ActiveRecord, write = set_ActiveRecord};
  __property   long            FirstRecord = {read = get_FirstRecord, write = set_FirstRecord};
  __property   long            LastRecord = {read = get_LastRecord, write = set_LastRecord};
  __property   Word_xp::MailMergeFieldNamesPtr FieldNames = {read = get_FieldNames};
  __property   Word_xp::MailMergeDataFieldsPtr DataFields = {read = get_DataFields};
  __property   long            RecordCount = {read = get_RecordCount};
  __property   VARIANT_BOOL    Included = {read = get_Included, write = set_Included};
  __property   VARIANT_BOOL    InvalidAddress = {read = get_InvalidAddress, write = set_InvalidAddress};
  __property   BSTR            InvalidComments = {read = get_InvalidComments, write = set_InvalidComments};
  __property   Word_xp::MappedDataFieldsPtr MappedDataFields = {read = get_MappedDataFields};
  __property   BSTR            TableName = {read = get_TableName};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: MailMergeFieldNames
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091C-0000-0000-C000-000000000046}
// *********************************************************************//
interface MailMergeFieldNames  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::MailMergeFieldName** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::MailMergeFieldName* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::MailMergeFieldName* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::MailMergeFieldName**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: MailMergeFieldName
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091B-0000-0000-C000-000000000046}
// *********************************************************************//
interface MailMergeFieldName  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   long            Index = {read = get_Index};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: MailMergeDataFields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091A-0000-0000-C000-000000000046}
// *********************************************************************//
interface MailMergeDataFields  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::MailMergeDataField** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::MailMergeDataField* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::MailMergeDataField* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::MailMergeDataField**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: MailMergeDataField
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020919-0000-0000-C000-000000000046}
// *********************************************************************//
interface MailMergeDataField  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Value(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [2]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Value(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Value((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Value = {read = get_Value};
  __property   BSTR            Name = {read = get_Name};
  __property   long            Index = {read = get_Index};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Envelope
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020918-0000-0000-C000-000000000046}
// *********************************************************************//
interface Envelope  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Address(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_ReturnAddress(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultPrintBarCode(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultPrintBarCode(VARIANT_BOOL prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultPrintFIMA(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultPrintFIMA(VARIANT_BOOL prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultHeight(float* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultHeight(float prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultWidth(float* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultWidth(float prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultSize(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultSize(BSTR prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultOmitReturnAddress(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultOmitReturnAddress(VARIANT_BOOL prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_FeedSource(Word_xp::WdPaperTray* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_FeedSource(Word_xp::WdPaperTray prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_AddressFromLeft(float* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_AddressFromLeft(float prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_AddressFromTop(float* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_AddressFromTop(float prop/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_ReturnAddressFromLeft(float* prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE set_ReturnAddressFromLeft(float prop/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_ReturnAddressFromTop(float* prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE set_ReturnAddressFromTop(float prop/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_AddressStyle(Word_xp::Style** prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_ReturnAddressStyle(Word_xp::Style** prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultOrientation(Word_xp::WdEnvelopeOrientation* prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultOrientation(Word_xp::WdEnvelopeOrientation prop/*[in]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultFaceUp(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultFaceUp(VARIANT_BOOL prop/*[in]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE Insert2000(VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                               VARIANT* AutoText/*[in,opt]*/= TNoParam(), 
                                               VARIANT* OmitReturnAddress/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ReturnAddress/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ReturnAutoText/*[in,opt]*/= TNoParam(), 
                                               VARIANT* PrintBarCode/*[in,opt]*/= TNoParam(), 
                                               VARIANT* PrintFIMA/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Size/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                               VARIANT* FeedSource/*[in,opt]*/= TNoParam(), 
                                               VARIANT* AddressFromLeft/*[in,opt]*/= TNoParam(), 
                                               VARIANT* AddressFromTop/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ReturnAddressFromLeft/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ReturnAddressFromTop/*[in,opt]*/= TNoParam(), 
                                               VARIANT* DefaultFaceUp/*[in,opt]*/= TNoParam(), 
                                               VARIANT* DefaultOrientation/*[in,opt]*/= TNoParam()) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE PrintOut2000(VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* AutoText/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* OmitReturnAddress/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* ReturnAddress/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* ReturnAutoText/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintBarCode/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* PrintFIMA/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Size/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* FeedSource/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* AddressFromLeft/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* AddressFromTop/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* ReturnAddressFromLeft/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* ReturnAddressFromTop/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* DefaultFaceUp/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* DefaultOrientation/*[in,opt]*/= TNoParam()) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE UpdateDocument(void) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE Options(void) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Vertical(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE set_Vertical(VARIANT_BOOL prop/*[in]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE get_RecipientNamefromLeft(float* prop/*[out,retval]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE set_RecipientNamefromLeft(float prop/*[in]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE get_RecipientNamefromTop(float* prop/*[out,retval]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE set_RecipientNamefromTop(float prop/*[in]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE get_RecipientPostalfromLeft(float* prop/*[out,retval]*/) = 0; // [25]
  virtual HRESULT STDMETHODCALLTYPE set_RecipientPostalfromLeft(float prop/*[in]*/) = 0; // [25]
  virtual HRESULT STDMETHODCALLTYPE get_RecipientPostalfromTop(float* prop/*[out,retval]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE set_RecipientPostalfromTop(float prop/*[in]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE get_SenderNamefromLeft(float* prop/*[out,retval]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE set_SenderNamefromLeft(float prop/*[in]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE get_SenderNamefromTop(float* prop/*[out,retval]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE set_SenderNamefromTop(float prop/*[in]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE get_SenderPostalfromLeft(float* prop/*[out,retval]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE set_SenderPostalfromLeft(float prop/*[in]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE get_SenderPostalfromTop(float* prop/*[out,retval]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE set_SenderPostalfromTop(float prop/*[in]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE Insert(VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                           VARIANT* AutoText/*[in,opt]*/= TNoParam(), 
                                           VARIANT* OmitReturnAddress/*[in,opt]*/= TNoParam(), 
                                           VARIANT* ReturnAddress/*[in,opt]*/= TNoParam(), 
                                           VARIANT* ReturnAutoText/*[in,opt]*/= TNoParam(), 
                                           VARIANT* PrintBarCode/*[in,opt]*/= TNoParam(), 
                                           VARIANT* PrintFIMA/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Size/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                           VARIANT* FeedSource/*[in,opt]*/= TNoParam(), 
                                           VARIANT* AddressFromLeft/*[in,opt]*/= TNoParam(), 
                                           VARIANT* AddressFromTop/*[in,opt]*/= TNoParam(), 
                                           VARIANT* ReturnAddressFromLeft/*[in,opt]*/= TNoParam(), 
                                           VARIANT* ReturnAddressFromTop/*[in,opt]*/= TNoParam(), 
                                           VARIANT* DefaultFaceUp/*[in,opt]*/= TNoParam(), 
                                           VARIANT* DefaultOrientation/*[in,opt]*/= TNoParam(), 
                                           VARIANT* PrintEPostage/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Vertical/*[in,opt]*/= TNoParam(), 
                                           VARIANT* RecipientNamefromLeft/*[in,opt]*/= TNoParam(), 
                                           VARIANT* RecipientNamefromTop/*[in,opt]*/= TNoParam(), 
                                           VARIANT* RecipientPostalfromLeft/*[in,opt]*/= TNoParam(), 
                                           VARIANT* RecipientPostalfromTop/*[in,opt]*/= TNoParam(), 
                                           VARIANT* SenderNamefromLeft/*[in,opt]*/= TNoParam(), 
                                           VARIANT* SenderNamefromTop/*[in,opt]*/= TNoParam(), 
                                           VARIANT* SenderPostalfromLeft/*[in,opt]*/= TNoParam(), 
                                           VARIANT* SenderPostalfromTop/*[in,opt]*/= TNoParam()) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE PrintOut(VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                             VARIANT* AutoText/*[in,opt]*/= TNoParam(), 
                                             VARIANT* OmitReturnAddress/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ReturnAddress/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ReturnAutoText/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintBarCode/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintFIMA/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Size/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                             VARIANT* FeedSource/*[in,opt]*/= TNoParam(), 
                                             VARIANT* AddressFromLeft/*[in,opt]*/= TNoParam(), 
                                             VARIANT* AddressFromTop/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ReturnAddressFromLeft/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ReturnAddressFromTop/*[in,opt]*/= TNoParam(), 
                                             VARIANT* DefaultFaceUp/*[in,opt]*/= TNoParam(), 
                                             VARIANT* DefaultOrientation/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintEPostage/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Vertical/*[in,opt]*/= TNoParam(), 
                                             VARIANT* RecipientNamefromLeft/*[in,opt]*/= TNoParam(), 
                                             VARIANT* RecipientNamefromTop/*[in,opt]*/= TNoParam(), 
                                             VARIANT* RecipientPostalfromLeft/*[in,opt]*/= TNoParam(), 
                                             VARIANT* RecipientPostalfromTop/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SenderNamefromLeft/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SenderNamefromTop/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SenderPostalfromLeft/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SenderPostalfromTop/*[in,opt]*/= TNoParam()) = 0; // [106]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Address(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Address(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_ReturnAddress(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_ReturnAddress(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DefaultPrintBarCode(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DefaultPrintBarCode((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DefaultPrintFIMA(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DefaultPrintFIMA((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_DefaultHeight(void)
  {
    float prop;
    OLECHECK(this->get_DefaultHeight((float*)&prop));
    return prop;
  }

  float __fastcall get_DefaultWidth(void)
  {
    float prop;
    OLECHECK(this->get_DefaultWidth((float*)&prop));
    return prop;
  }

  BSTR __fastcall get_DefaultSize(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_DefaultSize((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DefaultOmitReturnAddress(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DefaultOmitReturnAddress((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdPaperTray __fastcall get_FeedSource(void)
  {
    Word_xp::WdPaperTray prop;
    OLECHECK(this->get_FeedSource((Word_xp::WdPaperTray*)&prop));
    return prop;
  }

  float __fastcall get_AddressFromLeft(void)
  {
    float prop;
    OLECHECK(this->get_AddressFromLeft((float*)&prop));
    return prop;
  }

  float __fastcall get_AddressFromTop(void)
  {
    float prop;
    OLECHECK(this->get_AddressFromTop((float*)&prop));
    return prop;
  }

  float __fastcall get_ReturnAddressFromLeft(void)
  {
    float prop;
    OLECHECK(this->get_ReturnAddressFromLeft((float*)&prop));
    return prop;
  }

  float __fastcall get_ReturnAddressFromTop(void)
  {
    float prop;
    OLECHECK(this->get_ReturnAddressFromTop((float*)&prop));
    return prop;
  }

  Word_xp::StylePtr __fastcall get_AddressStyle(void)
  {
    Word_xp::StylePtr prop;
    OLECHECK(this->get_AddressStyle(&prop));
    return prop;
  }

  Word_xp::StylePtr __fastcall get_ReturnAddressStyle(void)
  {
    Word_xp::StylePtr prop;
    OLECHECK(this->get_ReturnAddressStyle(&prop));
    return prop;
  }

  Word_xp::WdEnvelopeOrientation __fastcall get_DefaultOrientation(void)
  {
    Word_xp::WdEnvelopeOrientation prop;
    OLECHECK(this->get_DefaultOrientation((Word_xp::WdEnvelopeOrientation*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DefaultFaceUp(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DefaultFaceUp((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Vertical(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Vertical((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_RecipientNamefromLeft(void)
  {
    float prop;
    OLECHECK(this->get_RecipientNamefromLeft((float*)&prop));
    return prop;
  }

  float __fastcall get_RecipientNamefromTop(void)
  {
    float prop;
    OLECHECK(this->get_RecipientNamefromTop((float*)&prop));
    return prop;
  }

  float __fastcall get_RecipientPostalfromLeft(void)
  {
    float prop;
    OLECHECK(this->get_RecipientPostalfromLeft((float*)&prop));
    return prop;
  }

  float __fastcall get_RecipientPostalfromTop(void)
  {
    float prop;
    OLECHECK(this->get_RecipientPostalfromTop((float*)&prop));
    return prop;
  }

  float __fastcall get_SenderNamefromLeft(void)
  {
    float prop;
    OLECHECK(this->get_SenderNamefromLeft((float*)&prop));
    return prop;
  }

  float __fastcall get_SenderNamefromTop(void)
  {
    float prop;
    OLECHECK(this->get_SenderNamefromTop((float*)&prop));
    return prop;
  }

  float __fastcall get_SenderPostalfromLeft(void)
  {
    float prop;
    OLECHECK(this->get_SenderPostalfromLeft((float*)&prop));
    return prop;
  }

  float __fastcall get_SenderPostalfromTop(void)
  {
    float prop;
    OLECHECK(this->get_SenderPostalfromTop((float*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Address = {read = get_Address};
  __property   Word_xp::WordRangePtr ReturnAddress = {read = get_ReturnAddress};
  __property   VARIANT_BOOL    DefaultPrintBarCode = {read = get_DefaultPrintBarCode, write = set_DefaultPrintBarCode};
  __property   VARIANT_BOOL    DefaultPrintFIMA = {read = get_DefaultPrintFIMA, write = set_DefaultPrintFIMA};
  __property   float           DefaultHeight = {read = get_DefaultHeight, write = set_DefaultHeight};
  __property   float           DefaultWidth = {read = get_DefaultWidth, write = set_DefaultWidth};
  __property   BSTR            DefaultSize = {read = get_DefaultSize, write = set_DefaultSize};
  __property   VARIANT_BOOL    DefaultOmitReturnAddress = {read = get_DefaultOmitReturnAddress, write = set_DefaultOmitReturnAddress};
  __property   Word_xp::WdPaperTray FeedSource = {read = get_FeedSource, write = set_FeedSource};
  __property   float           AddressFromLeft = {read = get_AddressFromLeft, write = set_AddressFromLeft};
  __property   float           AddressFromTop = {read = get_AddressFromTop, write = set_AddressFromTop};
  __property   float           ReturnAddressFromLeft = {read = get_ReturnAddressFromLeft, write = set_ReturnAddressFromLeft};
  __property   float           ReturnAddressFromTop = {read = get_ReturnAddressFromTop, write = set_ReturnAddressFromTop};
  __property   Word_xp::StylePtr AddressStyle = {read = get_AddressStyle};
  __property   Word_xp::StylePtr ReturnAddressStyle = {read = get_ReturnAddressStyle};
  __property   Word_xp::WdEnvelopeOrientation DefaultOrientation = {read = get_DefaultOrientation, write = set_DefaultOrientation};
  __property   VARIANT_BOOL    DefaultFaceUp = {read = get_DefaultFaceUp, write = set_DefaultFaceUp};
  __property   VARIANT_BOOL    Vertical = {read = get_Vertical, write = set_Vertical};
  __property   float           RecipientNamefromLeft = {read = get_RecipientNamefromLeft, write = set_RecipientNamefromLeft};
  __property   float           RecipientNamefromTop = {read = get_RecipientNamefromTop, write = set_RecipientNamefromTop};
  __property   float           RecipientPostalfromLeft = {read = get_RecipientPostalfromLeft, write = set_RecipientPostalfromLeft};
  __property   float           RecipientPostalfromTop = {read = get_RecipientPostalfromTop, write = set_RecipientPostalfromTop};
  __property   float           SenderNamefromLeft = {read = get_SenderNamefromLeft, write = set_SenderNamefromLeft};
  __property   float           SenderNamefromTop = {read = get_SenderNamefromTop, write = set_SenderNamefromTop};
  __property   float           SenderPostalfromLeft = {read = get_SenderPostalfromLeft, write = set_SenderPostalfromLeft};
  __property   float           SenderPostalfromTop = {read = get_SenderPostalfromTop, write = set_SenderPostalfromTop};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: MailingLabel
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020917-0000-0000-C000-000000000046}
// *********************************************************************//
interface MailingLabel  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultPrintBarCode(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultPrintBarCode(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultLaserTray(Word_xp::WdPaperTray* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultLaserTray(Word_xp::WdPaperTray prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_CustomLabels(Word_xp::CustomLabels** prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultLabelName(BSTR* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultLabelName(BSTR prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE CreateNewDocument2000(VARIANT* Name/*[in,opt]*/, 
                                                          VARIANT* Address/*[in,opt]*/, 
                                                          VARIANT* AutoText/*[in,opt]*/, 
                                                          VARIANT* ExtractAddress/*[in,opt]*/, 
                                                          VARIANT* LaserTray/*[in,opt]*/, 
                                                          Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE PrintOut2000(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* LaserTray/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* SingleLabel/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Row/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Column/*[in,opt]*/= TNoParam()) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE LabelOptions(void) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE CreateNewDocument(VARIANT* Name/*[in,opt]*/, 
                                                      VARIANT* Address/*[in,opt]*/, 
                                                      VARIANT* AutoText/*[in,opt]*/, 
                                                      VARIANT* ExtractAddress/*[in,opt]*/, 
                                                      VARIANT* LaserTray/*[in,opt]*/, 
                                                      VARIANT* PrintEPostageLabel/*[in,opt]*/, 
                                                      VARIANT* Vertical/*[in,opt]*/, 
                                                      Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE PrintOut(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                             VARIANT* LaserTray/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SingleLabel/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Row/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Column/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PrintEPostageLabel/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Vertical/*[in,opt]*/= TNoParam()) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_Vertical(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_Vertical(VARIANT_BOOL prop/*[in]*/) = 0; // [10]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DefaultPrintBarCode(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DefaultPrintBarCode((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdPaperTray __fastcall get_DefaultLaserTray(void)
  {
    Word_xp::WdPaperTray prop;
    OLECHECK(this->get_DefaultLaserTray((Word_xp::WdPaperTray*)&prop));
    return prop;
  }

  Word_xp::CustomLabelsPtr __fastcall get_CustomLabels(void)
  {
    Word_xp::CustomLabelsPtr prop;
    OLECHECK(this->get_CustomLabels(&prop));
    return prop;
  }

  BSTR __fastcall get_DefaultLabelName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_DefaultLabelName((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordDocument* __fastcall CreateNewDocument2000(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                                                          VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                                          VARIANT* AutoText/*[in,opt]*/= TNoParam(), 
                                                          VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                                          VARIANT* LaserTray/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordDocument* prop = 0;
    OLECHECK(this->CreateNewDocument2000(Name, Address, AutoText, ExtractAddress, LaserTray, (Word_xp::WordDocument**)&prop));
    return prop;
  }

  Word_xp::WordDocument* __fastcall CreateNewDocument(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* AutoText/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* LaserTray/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* PrintEPostageLabel/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* Vertical/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordDocument* prop = 0;
    OLECHECK(this->CreateNewDocument(Name, Address, AutoText, ExtractAddress, LaserTray, 
                                     PrintEPostageLabel, Vertical, (Word_xp::WordDocument**)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Vertical(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Vertical((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    DefaultPrintBarCode = {read = get_DefaultPrintBarCode, write = set_DefaultPrintBarCode};
  __property   Word_xp::WdPaperTray DefaultLaserTray = {read = get_DefaultLaserTray, write = set_DefaultLaserTray};
  __property   Word_xp::CustomLabelsPtr CustomLabels = {read = get_CustomLabels};
  __property   BSTR            DefaultLabelName = {read = get_DefaultLabelName, write = set_DefaultLabelName};
  __property   VARIANT_BOOL    Vertical = {read = get_Vertical, write = set_Vertical};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: CustomLabels
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020916-0000-0000-C000-000000000046}
// *********************************************************************//
interface CustomLabels  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::CustomLabel** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, VARIANT* DotMatrix/*[in,opt]*/, 
                                        Word_xp::CustomLabel** prop/*[out,retval]*/) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::CustomLabel* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::CustomLabel* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::CustomLabel**)&prop));
    return prop;
  }

  Word_xp::CustomLabel* __fastcall Add(BSTR Name/*[in]*/, VARIANT* DotMatrix/*[in,opt]*/= TNoParam())
  {
    Word_xp::CustomLabel* prop = 0;
    OLECHECK(this->Add(Name, DotMatrix, (Word_xp::CustomLabel**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: CustomLabel
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020915-0000-0000-C000-000000000046}
// *********************************************************************//
interface CustomLabel  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_TopMargin(float* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_TopMargin(float prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_SideMargin(float* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_SideMargin(float prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Height(float* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_Height(float prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Width(float* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_Width(float prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_VerticalPitch(float* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_VerticalPitch(float prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_HorizontalPitch(float* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_HorizontalPitch(float prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_NumberAcross(long* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_NumberAcross(long prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_NumberDown(long* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_NumberDown(long prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_DotMatrix(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_PageSize(Word_xp::WdCustomLabelPageSize* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_PageSize(Word_xp::WdCustomLabelPageSize prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_Valid(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  float __fastcall get_TopMargin(void)
  {
    float prop;
    OLECHECK(this->get_TopMargin((float*)&prop));
    return prop;
  }

  float __fastcall get_SideMargin(void)
  {
    float prop;
    OLECHECK(this->get_SideMargin((float*)&prop));
    return prop;
  }

  float __fastcall get_Height(void)
  {
    float prop;
    OLECHECK(this->get_Height((float*)&prop));
    return prop;
  }

  float __fastcall get_Width(void)
  {
    float prop;
    OLECHECK(this->get_Width((float*)&prop));
    return prop;
  }

  float __fastcall get_VerticalPitch(void)
  {
    float prop;
    OLECHECK(this->get_VerticalPitch((float*)&prop));
    return prop;
  }

  float __fastcall get_HorizontalPitch(void)
  {
    float prop;
    OLECHECK(this->get_HorizontalPitch((float*)&prop));
    return prop;
  }

  long __fastcall get_NumberAcross(void)
  {
    long prop;
    OLECHECK(this->get_NumberAcross((long*)&prop));
    return prop;
  }

  long __fastcall get_NumberDown(void)
  {
    long prop;
    OLECHECK(this->get_NumberDown((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DotMatrix(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DotMatrix((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdCustomLabelPageSize __fastcall get_PageSize(void)
  {
    Word_xp::WdCustomLabelPageSize prop;
    OLECHECK(this->get_PageSize((Word_xp::WdCustomLabelPageSize*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Valid(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Valid((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   float           TopMargin = {read = get_TopMargin, write = set_TopMargin};
  __property   float           SideMargin = {read = get_SideMargin, write = set_SideMargin};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   float           VerticalPitch = {read = get_VerticalPitch, write = set_VerticalPitch};
  __property   float           HorizontalPitch = {read = get_HorizontalPitch, write = set_HorizontalPitch};
  __property   long            NumberAcross = {read = get_NumberAcross, write = set_NumberAcross};
  __property   long            NumberDown = {read = get_NumberDown, write = set_NumberDown};
  __property   VARIANT_BOOL    DotMatrix = {read = get_DotMatrix};
  __property   Word_xp::WdCustomLabelPageSize PageSize = {read = get_PageSize, write = set_PageSize};
  __property   VARIANT_BOOL    Valid = {read = get_Valid};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TablesOfContents
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020914-0000-0000-C000-000000000046}
// *********************************************************************//
interface TablesOfContents  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Format(Word_xp::WdTocFormat* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Format(Word_xp::WdTocFormat prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::TableOfContents** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                           VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                           VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                           VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                           VARIANT* UseFields/*[in,opt]*/, 
                                           VARIANT* TableID/*[in,opt]*/, 
                                           VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                           VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                           VARIANT* AddedStyles/*[in,opt]*/, 
                                           Word_xp::TableOfContents** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE MarkEntry(Word_xp::WordRange* Range/*[in]*/, 
                                              VARIANT* Entry/*[in,opt]*/, 
                                              VARIANT* EntryAutoText/*[in,opt]*/, 
                                              VARIANT* TableID/*[in,opt]*/, 
                                              VARIANT* Level/*[in,opt]*/, 
                                              Word_xp::Field** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Add2000(Word_xp::WordRange* Range/*[in]*/, 
                                            VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                            VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                            VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                            VARIANT* UseFields/*[in,opt]*/, 
                                            VARIANT* TableID/*[in,opt]*/, 
                                            VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                            VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                            VARIANT* AddedStyles/*[in,opt]*/, 
                                            VARIANT* UseHyperlinks/*[in,opt]*/, 
                                            VARIANT* HidePageNumbersInWeb/*[in,opt]*/, 
                                            Word_xp::TableOfContents** prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WordRange* Range/*[in]*/, 
                                        VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                        VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                        VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                        VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                        VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                        VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                        VARIANT* AddedStyles/*[in,opt]*/, 
                                        VARIANT* UseHyperlinks/*[in,opt]*/, 
                                        VARIANT* HidePageNumbersInWeb/*[in,opt]*/, 
                                        VARIANT* UseOutlineLevels/*[in,opt]*/, 
                                        Word_xp::TableOfContents** prop/*[out,retval]*/) = 0; // [103]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WdTocFormat __fastcall get_Format(void)
  {
    Word_xp::WdTocFormat prop;
    OLECHECK(this->get_Format((Word_xp::WdTocFormat*)&prop));
    return prop;
  }

  Word_xp::TableOfContents* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::TableOfContents* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::TableOfContents**)&prop));
    return prop;
  }

  Word_xp::TableOfContents* __fastcall AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                              VARIANT* UseHeadingStyles/*[in,opt]*/= TNoParam(), 
                                              VARIANT* UpperHeadingLevel/*[in,opt]*/= TNoParam(), 
                                              VARIANT* LowerHeadingLevel/*[in,opt]*/= TNoParam(), 
                                              VARIANT* UseFields/*[in,opt]*/= TNoParam(), 
                                              VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                              VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                              VARIANT* IncludePageNumbers/*[in,opt]*/= TNoParam(), 
                                              VARIANT* AddedStyles/*[in,opt]*/= TNoParam())
  {
    Word_xp::TableOfContents* prop = 0;
    OLECHECK(this->AddOld(Range, UseHeadingStyles, UpperHeadingLevel, LowerHeadingLevel, UseFields, 
                          TableID, RightAlignPageNumbers, IncludePageNumbers, AddedStyles, (Word_xp::TableOfContents**)&prop));
    return prop;
  }

  Word_xp::Field* __fastcall MarkEntry(Word_xp::WordRange* Range/*[in]*/, 
                                       VARIANT* Entry/*[in,opt]*/= TNoParam(), 
                                       VARIANT* EntryAutoText/*[in,opt]*/= TNoParam(), 
                                       VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Level/*[in,opt]*/= TNoParam())
  {
    Word_xp::Field* prop = 0;
    OLECHECK(this->MarkEntry(Range, Entry, EntryAutoText, TableID, Level, (Word_xp::Field**)&prop));
    return prop;
  }

  Word_xp::TableOfContents* __fastcall Add2000(Word_xp::WordRange* Range/*[in]*/, 
                                               VARIANT* UseHeadingStyles/*[in,opt]*/= TNoParam(), 
                                               VARIANT* UpperHeadingLevel/*[in,opt]*/= TNoParam(), 
                                               VARIANT* LowerHeadingLevel/*[in,opt]*/= TNoParam(), 
                                               VARIANT* UseFields/*[in,opt]*/= TNoParam(), 
                                               VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                               VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                               VARIANT* IncludePageNumbers/*[in,opt]*/= TNoParam(), 
                                               VARIANT* AddedStyles/*[in,opt]*/= TNoParam(), 
                                               VARIANT* UseHyperlinks/*[in,opt]*/= TNoParam(), 
                                               VARIANT* HidePageNumbersInWeb/*[in,opt]*/= TNoParam())
  {
    Word_xp::TableOfContents* prop = 0;
    OLECHECK(this->Add2000(Range, UseHeadingStyles, UpperHeadingLevel, LowerHeadingLevel, UseFields, 
                           TableID, RightAlignPageNumbers, IncludePageNumbers, AddedStyles, 
                           UseHyperlinks, HidePageNumbersInWeb, (Word_xp::TableOfContents**)&prop));
    return prop;
  }

  Word_xp::TableOfContents* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                           VARIANT* UseHeadingStyles/*[in,opt]*/= TNoParam(), 
                                           VARIANT* UpperHeadingLevel/*[in,opt]*/= TNoParam(), 
                                           VARIANT* LowerHeadingLevel/*[in,opt]*/= TNoParam(), 
                                           VARIANT* UseFields/*[in,opt]*/= TNoParam(), 
                                           VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                           VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                           VARIANT* IncludePageNumbers/*[in,opt]*/= TNoParam(), 
                                           VARIANT* AddedStyles/*[in,opt]*/= TNoParam(), 
                                           VARIANT* UseHyperlinks/*[in,opt]*/= TNoParam(), 
                                           VARIANT* HidePageNumbersInWeb/*[in,opt]*/= TNoParam(), 
                                           VARIANT* UseOutlineLevels/*[in,opt]*/= TNoParam())
  {
    Word_xp::TableOfContents* prop = 0;
    OLECHECK(this->Add(Range, UseHeadingStyles, UpperHeadingLevel, LowerHeadingLevel, UseFields, 
                       TableID, RightAlignPageNumbers, IncludePageNumbers, AddedStyles, 
                       UseHyperlinks, HidePageNumbersInWeb, UseOutlineLevels, (Word_xp::TableOfContents**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdTocFormat Format = {read = get_Format, write = set_Format};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TableOfContents
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020913-0000-0000-C000-000000000046}
// *********************************************************************//
interface TableOfContents  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_UseHeadingStyles(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_UseHeadingStyles(VARIANT_BOOL prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_UseFields(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_UseFields(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_UpperHeadingLevel(long* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_UpperHeadingLevel(long prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_LowerHeadingLevel(long* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_LowerHeadingLevel(long prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_TableID(BSTR* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_TableID(BSTR prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_HeadingStyles(Word_xp::HeadingStyles** prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_RightAlignPageNumbers(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_RightAlignPageNumbers(VARIANT_BOOL prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_IncludePageNumbers(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_IncludePageNumbers(VARIANT_BOOL prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_TabLeader(Word_xp::WdTabLeader* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_TabLeader(Word_xp::WdTabLeader prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE UpdatePageNumbers(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE _Update(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_UseHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_UseHyperlinks(VARIANT_BOOL prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_HidePageNumbersInWeb(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_HidePageNumbersInWeb(VARIANT_BOOL prop/*[in]*/) = 0; // [12]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseHeadingStyles(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseHeadingStyles((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseFields(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseFields((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_UpperHeadingLevel(void)
  {
    long prop;
    OLECHECK(this->get_UpperHeadingLevel((long*)&prop));
    return prop;
  }

  long __fastcall get_LowerHeadingLevel(void)
  {
    long prop;
    OLECHECK(this->get_LowerHeadingLevel((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_TableID(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_TableID((BSTR*)&prop));
    return prop;
  }

  Word_xp::HeadingStylesPtr __fastcall get_HeadingStyles(void)
  {
    Word_xp::HeadingStylesPtr prop;
    OLECHECK(this->get_HeadingStyles(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RightAlignPageNumbers(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RightAlignPageNumbers((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IncludePageNumbers(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IncludePageNumbers((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WdTabLeader __fastcall get_TabLeader(void)
  {
    Word_xp::WdTabLeader prop;
    OLECHECK(this->get_TabLeader((Word_xp::WdTabLeader*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseHyperlinks(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseHyperlinks((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HidePageNumbersInWeb(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HidePageNumbersInWeb((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    UseHeadingStyles = {read = get_UseHeadingStyles, write = set_UseHeadingStyles};
  __property   VARIANT_BOOL    UseFields = {read = get_UseFields, write = set_UseFields};
  __property   long            UpperHeadingLevel = {read = get_UpperHeadingLevel, write = set_UpperHeadingLevel};
  __property   long            LowerHeadingLevel = {read = get_LowerHeadingLevel, write = set_LowerHeadingLevel};
  __property   BSTR            TableID = {read = get_TableID, write = set_TableID};
  __property   Word_xp::HeadingStylesPtr HeadingStyles = {read = get_HeadingStyles};
  __property   VARIANT_BOOL    RightAlignPageNumbers = {read = get_RightAlignPageNumbers, write = set_RightAlignPageNumbers};
  __property   VARIANT_BOOL    IncludePageNumbers = {read = get_IncludePageNumbers, write = set_IncludePageNumbers};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WdTabLeader TabLeader = {read = get_TabLeader, write = set_TabLeader};
  __property   VARIANT_BOOL    UseHyperlinks = {read = get_UseHyperlinks, write = set_UseHyperlinks};
  __property   VARIANT_BOOL    HidePageNumbersInWeb = {read = get_HidePageNumbersInWeb, write = set_HidePageNumbersInWeb};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TablesOfAuthorities
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020912-0000-0000-C000-000000000046}
// *********************************************************************//
interface TablesOfAuthorities  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Format(Word_xp::WdToaFormat* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Format(Word_xp::WdToaFormat prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::TableOfAuthorities** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WordRange* Range/*[in]*/, 
                                        VARIANT* Category/*[in,opt]*/, VARIANT* Bookmark/*[in,opt]*/, 
                                        VARIANT* Passim/*[in,opt]*/, 
                                        VARIANT* KeepEntryFormatting/*[in,opt]*/, 
                                        VARIANT* Separator/*[in,opt]*/, 
                                        VARIANT* IncludeSequenceName/*[in,opt]*/, 
                                        VARIANT* EntrySeparator/*[in,opt]*/, 
                                        VARIANT* PageRangeSeparator/*[in,opt]*/, 
                                        VARIANT* IncludeCategoryHeader/*[in,opt]*/, 
                                        VARIANT* PageNumberSeparator/*[in,opt]*/, 
                                        Word_xp::TableOfAuthorities** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE NextCitation(BSTR ShortCitation/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE MarkCitation(Word_xp::WordRange* Range/*[in]*/, 
                                                 BSTR ShortCitation/*[in]*/, 
                                                 VARIANT* LongCitation/*[in,opt]*/, 
                                                 VARIANT* LongCitationAutoText/*[in,opt]*/, 
                                                 VARIANT* Category/*[in,opt]*/, 
                                                 Word_xp::Field** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE MarkAllCitations(BSTR ShortCitation/*[in]*/, 
                                                     VARIANT* LongCitation/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* LongCitationAutoText/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* Category/*[in,opt]*/= TNoParam()) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WdToaFormat __fastcall get_Format(void)
  {
    Word_xp::WdToaFormat prop;
    OLECHECK(this->get_Format((Word_xp::WdToaFormat*)&prop));
    return prop;
  }

  Word_xp::TableOfAuthorities* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::TableOfAuthorities* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::TableOfAuthorities**)&prop));
    return prop;
  }

  Word_xp::TableOfAuthorities* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                              VARIANT* Category/*[in,opt]*/= TNoParam(), 
                                              VARIANT* Bookmark/*[in,opt]*/= TNoParam(), 
                                              VARIANT* Passim/*[in,opt]*/= TNoParam(), 
                                              VARIANT* KeepEntryFormatting/*[in,opt]*/= TNoParam(), 
                                              VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                              VARIANT* IncludeSequenceName/*[in,opt]*/= TNoParam(), 
                                              VARIANT* EntrySeparator/*[in,opt]*/= TNoParam(), 
                                              VARIANT* PageRangeSeparator/*[in,opt]*/= TNoParam(), 
                                              VARIANT* IncludeCategoryHeader/*[in,opt]*/= TNoParam(), 
                                              VARIANT* PageNumberSeparator/*[in,opt]*/= TNoParam())
  {
    Word_xp::TableOfAuthorities* prop = 0;
    OLECHECK(this->Add(Range, Category, Bookmark, Passim, KeepEntryFormatting, Separator, 
                       IncludeSequenceName, EntrySeparator, PageRangeSeparator, 
                       IncludeCategoryHeader, PageNumberSeparator, (Word_xp::TableOfAuthorities**)&prop));
    return prop;
  }

  Word_xp::Field* __fastcall MarkCitation(Word_xp::WordRange* Range/*[in]*/, 
                                          BSTR ShortCitation/*[in]*/, 
                                          VARIANT* LongCitation/*[in,opt]*/= TNoParam(), 
                                          VARIANT* LongCitationAutoText/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Category/*[in,opt]*/= TNoParam())
  {
    Word_xp::Field* prop = 0;
    OLECHECK(this->MarkCitation(Range, ShortCitation, LongCitation, LongCitationAutoText, Category, (Word_xp::Field**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdToaFormat Format = {read = get_Format, write = set_Format};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TableOfAuthorities
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020911-0000-0000-C000-000000000046}
// *********************************************************************//
interface TableOfAuthorities  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Passim(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_Passim(VARIANT_BOOL prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_KeepEntryFormatting(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_KeepEntryFormatting(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Category(long* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Category(long prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Bookmark(BSTR* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_Bookmark(BSTR prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Separator(BSTR* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_Separator(BSTR prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_IncludeSequenceName(BSTR* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_IncludeSequenceName(BSTR prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_EntrySeparator(BSTR* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_EntrySeparator(BSTR prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_PageRangeSeparator(BSTR* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_PageRangeSeparator(BSTR prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_IncludeCategoryHeader(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_IncludeCategoryHeader(VARIANT_BOOL prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_PageNumberSeparator(BSTR* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_PageNumberSeparator(BSTR prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_TabLeader(Word_xp::WdTabLeader* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_TabLeader(Word_xp::WdTabLeader prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE _Update(void) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Passim(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Passim((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_KeepEntryFormatting(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_KeepEntryFormatting((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_Category(void)
  {
    long prop;
    OLECHECK(this->get_Category((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Bookmark(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Bookmark((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Separator(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Separator((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_IncludeSequenceName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_IncludeSequenceName((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_EntrySeparator(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_EntrySeparator((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_PageRangeSeparator(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_PageRangeSeparator((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IncludeCategoryHeader(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IncludeCategoryHeader((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_PageNumberSeparator(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_PageNumberSeparator((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WdTabLeader __fastcall get_TabLeader(void)
  {
    Word_xp::WdTabLeader prop;
    OLECHECK(this->get_TabLeader((Word_xp::WdTabLeader*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Passim = {read = get_Passim, write = set_Passim};
  __property   VARIANT_BOOL    KeepEntryFormatting = {read = get_KeepEntryFormatting, write = set_KeepEntryFormatting};
  __property   long            Category = {read = get_Category, write = set_Category};
  __property   BSTR            Bookmark = {read = get_Bookmark, write = set_Bookmark};
  __property   BSTR            Separator = {read = get_Separator, write = set_Separator};
  __property   BSTR            IncludeSequenceName = {read = get_IncludeSequenceName, write = set_IncludeSequenceName};
  __property   BSTR            EntrySeparator = {read = get_EntrySeparator, write = set_EntrySeparator};
  __property   BSTR            PageRangeSeparator = {read = get_PageRangeSeparator, write = set_PageRangeSeparator};
  __property   VARIANT_BOOL    IncludeCategoryHeader = {read = get_IncludeCategoryHeader, write = set_IncludeCategoryHeader};
  __property   BSTR            PageNumberSeparator = {read = get_PageNumberSeparator, write = set_PageNumberSeparator};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WdTabLeader TabLeader = {read = get_TabLeader, write = set_TabLeader};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Dialogs
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020910-0000-0000-C000-000000000046}
// *********************************************************************//
interface Dialogs  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(Word_xp::WdWordDialog Index/*[in]*/, 
                                         Word_xp::Dialog** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::Dialog* __fastcall Item(Word_xp::WdWordDialog Index/*[in]*/)
  {
    Word_xp::Dialog* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Dialog**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Dialog
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {000209B8-0000-0000-C000-000000000046}
// *********************************************************************//
interface Dialog  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [32003]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [32004]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [32005]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultTab(Word_xp::WdWordDialogTab* prop/*[out,retval]*/) = 0; // [32002]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultTab(Word_xp::WdWordDialogTab prop/*[in]*/) = 0; // [32002]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdWordDialog* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Show(VARIANT* TimeOut/*[in,opt]*/, long* prop/*[out,retval]*/) = 0; // [336]
  virtual HRESULT STDMETHODCALLTYPE Display(VARIANT* TimeOut/*[in,opt]*/, long* prop/*[out,retval]*/) = 0; // [338]
  virtual HRESULT STDMETHODCALLTYPE Execute(void) = 0; // [32001]
  virtual HRESULT STDMETHODCALLTYPE _Update(void) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE get_CommandName(BSTR* prop/*[out,retval]*/) = 0; // [32006]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdWordDialogTab __fastcall get_DefaultTab(void)
  {
    Word_xp::WdWordDialogTab prop;
    OLECHECK(this->get_DefaultTab((Word_xp::WdWordDialogTab*)&prop));
    return prop;
  }

  Word_xp::WdWordDialog __fastcall get_Type(void)
  {
    Word_xp::WdWordDialog prop;
    OLECHECK(this->get_Type((Word_xp::WdWordDialog*)&prop));
    return prop;
  }

  long __fastcall Show(VARIANT* TimeOut/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->Show(TimeOut, (long*)&prop));
    return prop;
  }

  long __fastcall Display(VARIANT* TimeOut/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->Display(TimeOut, (long*)&prop));
    return prop;
  }

  BSTR __fastcall get_CommandName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_CommandName((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdWordDialogTab DefaultTab = {read = get_DefaultTab, write = set_DefaultTab};
  __property   Word_xp::WdWordDialog Type = {read = get_Type};
  __property   BSTR            CommandName = {read = get_CommandName};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: PageSetup
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020971-0000-0000-C000-000000000046}
// *********************************************************************//
interface PageSetup  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_TopMargin(float* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_TopMargin(float prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_BottomMargin(float* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_BottomMargin(float prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_LeftMargin(float* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_LeftMargin(float prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_RightMargin(float* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_RightMargin(float prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Gutter(float* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_Gutter(float prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_PageWidth(float* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_PageWidth(float prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_PageHeight(float* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_PageHeight(float prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_Orientation(Word_xp::WdOrientation* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_Orientation(Word_xp::WdOrientation prop/*[in]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_FirstPageTray(Word_xp::WdPaperTray* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE set_FirstPageTray(Word_xp::WdPaperTray prop/*[in]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_OtherPagesTray(Word_xp::WdPaperTray* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_OtherPagesTray(Word_xp::WdPaperTray prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_VerticalAlignment(Word_xp::WdVerticalAlignment* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE set_VerticalAlignment(Word_xp::WdVerticalAlignment prop/*[in]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_MirrorMargins(long* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_MirrorMargins(long prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_HeaderDistance(float* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE set_HeaderDistance(float prop/*[in]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_FooterDistance(float* prop/*[out,retval]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE set_FooterDistance(float prop/*[in]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE get_SectionStart(Word_xp::WdSectionStart* prop/*[out,retval]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE set_SectionStart(Word_xp::WdSectionStart prop/*[in]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE get_OddAndEvenPagesHeaderFooter(long* prop/*[out,retval]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE set_OddAndEvenPagesHeaderFooter(long prop/*[in]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE get_DifferentFirstPageHeaderFooter(long* prop/*[out,retval]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE set_DifferentFirstPageHeaderFooter(long prop/*[in]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE get_SuppressEndnotes(long* prop/*[out,retval]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE set_SuppressEndnotes(long prop/*[in]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE get_LineNumbering(Word_xp::LineNumbering** prop/*[out,retval]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE set_LineNumbering(Word_xp::LineNumbering* prop/*[in]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE get_TextColumns(Word_xp::TextColumns** prop/*[out,retval]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE set_TextColumns(Word_xp::TextColumns* prop/*[in]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE get_PaperSize(Word_xp::WdPaperSize* prop/*[out,retval]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE set_PaperSize(Word_xp::WdPaperSize prop/*[in]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE get_TwoPagesOnOne(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE set_TwoPagesOnOne(VARIANT_BOOL prop/*[in]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE get_GutterOnTop(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE set_GutterOnTop(VARIANT_BOOL prop/*[in]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE get_CharsLine(float* prop/*[out,retval]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE set_CharsLine(float prop/*[in]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE get_LinesPage(float* prop/*[out,retval]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE set_LinesPage(float prop/*[in]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE get_ShowGrid(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE set_ShowGrid(VARIANT_BOOL prop/*[in]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE TogglePortrait(void) = 0; // [201]
  virtual HRESULT STDMETHODCALLTYPE SetAsTemplateDefault(void) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE get_GutterStyle(Word_xp::WdGutterStyleOld* prop/*[out,retval]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE set_GutterStyle(Word_xp::WdGutterStyleOld prop/*[in]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE get_SectionDirection(Word_xp::WdSectionDirection* prop/*[out,retval]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE set_SectionDirection(Word_xp::WdSectionDirection prop/*[in]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE get_LayoutMode(Word_xp::WdLayoutMode* prop/*[out,retval]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE set_LayoutMode(Word_xp::WdLayoutMode prop/*[in]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE get_GutterPos(Word_xp::WdGutterStyle* prop/*[out,retval]*/) = 0; // [1222]
  virtual HRESULT STDMETHODCALLTYPE set_GutterPos(Word_xp::WdGutterStyle prop/*[in]*/) = 0; // [1222]
  virtual HRESULT STDMETHODCALLTYPE get_BookFoldPrinting(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1223]
  virtual HRESULT STDMETHODCALLTYPE set_BookFoldPrinting(VARIANT_BOOL prop/*[in]*/) = 0; // [1223]
  virtual HRESULT STDMETHODCALLTYPE get_BookFoldRevPrinting(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1224]
  virtual HRESULT STDMETHODCALLTYPE set_BookFoldRevPrinting(VARIANT_BOOL prop/*[in]*/) = 0; // [1224]
  virtual HRESULT STDMETHODCALLTYPE get_BookFoldPrintingSheets(long* prop/*[out,retval]*/) = 0; // [1225]
  virtual HRESULT STDMETHODCALLTYPE set_BookFoldPrintingSheets(long prop/*[in]*/) = 0; // [1225]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  float __fastcall get_TopMargin(void)
  {
    float prop;
    OLECHECK(this->get_TopMargin((float*)&prop));
    return prop;
  }

  float __fastcall get_BottomMargin(void)
  {
    float prop;
    OLECHECK(this->get_BottomMargin((float*)&prop));
    return prop;
  }

  float __fastcall get_LeftMargin(void)
  {
    float prop;
    OLECHECK(this->get_LeftMargin((float*)&prop));
    return prop;
  }

  float __fastcall get_RightMargin(void)
  {
    float prop;
    OLECHECK(this->get_RightMargin((float*)&prop));
    return prop;
  }

  float __fastcall get_Gutter(void)
  {
    float prop;
    OLECHECK(this->get_Gutter((float*)&prop));
    return prop;
  }

  float __fastcall get_PageWidth(void)
  {
    float prop;
    OLECHECK(this->get_PageWidth((float*)&prop));
    return prop;
  }

  float __fastcall get_PageHeight(void)
  {
    float prop;
    OLECHECK(this->get_PageHeight((float*)&prop));
    return prop;
  }

  Word_xp::WdOrientation __fastcall get_Orientation(void)
  {
    Word_xp::WdOrientation prop;
    OLECHECK(this->get_Orientation((Word_xp::WdOrientation*)&prop));
    return prop;
  }

  Word_xp::WdPaperTray __fastcall get_FirstPageTray(void)
  {
    Word_xp::WdPaperTray prop;
    OLECHECK(this->get_FirstPageTray((Word_xp::WdPaperTray*)&prop));
    return prop;
  }

  Word_xp::WdPaperTray __fastcall get_OtherPagesTray(void)
  {
    Word_xp::WdPaperTray prop;
    OLECHECK(this->get_OtherPagesTray((Word_xp::WdPaperTray*)&prop));
    return prop;
  }

  Word_xp::WdVerticalAlignment __fastcall get_VerticalAlignment(void)
  {
    Word_xp::WdVerticalAlignment prop;
    OLECHECK(this->get_VerticalAlignment((Word_xp::WdVerticalAlignment*)&prop));
    return prop;
  }

  long __fastcall get_MirrorMargins(void)
  {
    long prop;
    OLECHECK(this->get_MirrorMargins((long*)&prop));
    return prop;
  }

  float __fastcall get_HeaderDistance(void)
  {
    float prop;
    OLECHECK(this->get_HeaderDistance((float*)&prop));
    return prop;
  }

  float __fastcall get_FooterDistance(void)
  {
    float prop;
    OLECHECK(this->get_FooterDistance((float*)&prop));
    return prop;
  }

  Word_xp::WdSectionStart __fastcall get_SectionStart(void)
  {
    Word_xp::WdSectionStart prop;
    OLECHECK(this->get_SectionStart((Word_xp::WdSectionStart*)&prop));
    return prop;
  }

  long __fastcall get_OddAndEvenPagesHeaderFooter(void)
  {
    long prop;
    OLECHECK(this->get_OddAndEvenPagesHeaderFooter((long*)&prop));
    return prop;
  }

  long __fastcall get_DifferentFirstPageHeaderFooter(void)
  {
    long prop;
    OLECHECK(this->get_DifferentFirstPageHeaderFooter((long*)&prop));
    return prop;
  }

  long __fastcall get_SuppressEndnotes(void)
  {
    long prop;
    OLECHECK(this->get_SuppressEndnotes((long*)&prop));
    return prop;
  }

  Word_xp::LineNumberingPtr __fastcall get_LineNumbering(void)
  {
    Word_xp::LineNumberingPtr prop;
    OLECHECK(this->get_LineNumbering(&prop));
    return prop;
  }

  HRESULT __fastcall  set_LineNumbering(Word_xp::LineNumberingPtr prop/*[in]*/)
  {
    return set_LineNumbering((Word_xp::LineNumbering*)prop/*[in]*/);
  }

  Word_xp::TextColumnsPtr __fastcall get_TextColumns(void)
  {
    Word_xp::TextColumnsPtr prop;
    OLECHECK(this->get_TextColumns(&prop));
    return prop;
  }

  HRESULT __fastcall  set_TextColumns(Word_xp::TextColumnsPtr prop/*[in]*/)
  {
    return set_TextColumns((Word_xp::TextColumns*)prop/*[in]*/);
  }

  Word_xp::WdPaperSize __fastcall get_PaperSize(void)
  {
    Word_xp::WdPaperSize prop;
    OLECHECK(this->get_PaperSize((Word_xp::WdPaperSize*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_TwoPagesOnOne(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_TwoPagesOnOne((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_GutterOnTop(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_GutterOnTop((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_CharsLine(void)
  {
    float prop;
    OLECHECK(this->get_CharsLine((float*)&prop));
    return prop;
  }

  float __fastcall get_LinesPage(void)
  {
    float prop;
    OLECHECK(this->get_LinesPage((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowGrid(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowGrid((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdGutterStyleOld __fastcall get_GutterStyle(void)
  {
    Word_xp::WdGutterStyleOld prop;
    OLECHECK(this->get_GutterStyle((Word_xp::WdGutterStyleOld*)&prop));
    return prop;
  }

  Word_xp::WdSectionDirection __fastcall get_SectionDirection(void)
  {
    Word_xp::WdSectionDirection prop;
    OLECHECK(this->get_SectionDirection((Word_xp::WdSectionDirection*)&prop));
    return prop;
  }

  Word_xp::WdLayoutMode __fastcall get_LayoutMode(void)
  {
    Word_xp::WdLayoutMode prop;
    OLECHECK(this->get_LayoutMode((Word_xp::WdLayoutMode*)&prop));
    return prop;
  }

  Word_xp::WdGutterStyle __fastcall get_GutterPos(void)
  {
    Word_xp::WdGutterStyle prop;
    OLECHECK(this->get_GutterPos((Word_xp::WdGutterStyle*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_BookFoldPrinting(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_BookFoldPrinting((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_BookFoldRevPrinting(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_BookFoldRevPrinting((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_BookFoldPrintingSheets(void)
  {
    long prop;
    OLECHECK(this->get_BookFoldPrintingSheets((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           TopMargin = {read = get_TopMargin, write = set_TopMargin};
  __property   float           BottomMargin = {read = get_BottomMargin, write = set_BottomMargin};
  __property   float           LeftMargin = {read = get_LeftMargin, write = set_LeftMargin};
  __property   float           RightMargin = {read = get_RightMargin, write = set_RightMargin};
  __property   float           Gutter = {read = get_Gutter, write = set_Gutter};
  __property   float           PageWidth = {read = get_PageWidth, write = set_PageWidth};
  __property   float           PageHeight = {read = get_PageHeight, write = set_PageHeight};
  __property   Word_xp::WdOrientation Orientation = {read = get_Orientation, write = set_Orientation};
  __property   Word_xp::WdPaperTray FirstPageTray = {read = get_FirstPageTray, write = set_FirstPageTray};
  __property   Word_xp::WdPaperTray OtherPagesTray = {read = get_OtherPagesTray, write = set_OtherPagesTray};
  __property   Word_xp::WdVerticalAlignment VerticalAlignment = {read = get_VerticalAlignment, write = set_VerticalAlignment};
  __property   long            MirrorMargins = {read = get_MirrorMargins, write = set_MirrorMargins};
  __property   float           HeaderDistance = {read = get_HeaderDistance, write = set_HeaderDistance};
  __property   float           FooterDistance = {read = get_FooterDistance, write = set_FooterDistance};
  __property   Word_xp::WdSectionStart SectionStart = {read = get_SectionStart, write = set_SectionStart};
  __property   long            OddAndEvenPagesHeaderFooter = {read = get_OddAndEvenPagesHeaderFooter, write = set_OddAndEvenPagesHeaderFooter};
  __property   long            DifferentFirstPageHeaderFooter = {read = get_DifferentFirstPageHeaderFooter, write = set_DifferentFirstPageHeaderFooter};
  __property   long            SuppressEndnotes = {read = get_SuppressEndnotes, write = set_SuppressEndnotes};
  __property   Word_xp::LineNumberingPtr LineNumbering = {read = get_LineNumbering, write = set_LineNumbering};
  __property   Word_xp::TextColumnsPtr TextColumns = {read = get_TextColumns, write = set_TextColumns};
  __property   Word_xp::WdPaperSize PaperSize = {read = get_PaperSize, write = set_PaperSize};
  __property   VARIANT_BOOL    TwoPagesOnOne = {read = get_TwoPagesOnOne, write = set_TwoPagesOnOne};
  __property   VARIANT_BOOL    GutterOnTop = {read = get_GutterOnTop, write = set_GutterOnTop};
  __property   float           CharsLine = {read = get_CharsLine, write = set_CharsLine};
  __property   float           LinesPage = {read = get_LinesPage, write = set_LinesPage};
  __property   VARIANT_BOOL    ShowGrid = {read = get_ShowGrid, write = set_ShowGrid};
  __property   Word_xp::WdGutterStyleOld GutterStyle = {read = get_GutterStyle, write = set_GutterStyle};
  __property   Word_xp::WdSectionDirection SectionDirection = {read = get_SectionDirection, write = set_SectionDirection};
  __property   Word_xp::WdLayoutMode LayoutMode = {read = get_LayoutMode, write = set_LayoutMode};
  __property   Word_xp::WdGutterStyle GutterPos = {read = get_GutterPos, write = set_GutterPos};
  __property   VARIANT_BOOL    BookFoldPrinting = {read = get_BookFoldPrinting, write = set_BookFoldPrinting};
  __property   VARIANT_BOOL    BookFoldRevPrinting = {read = get_BookFoldRevPrinting, write = set_BookFoldRevPrinting};
  __property   long            BookFoldPrintingSheets = {read = get_BookFoldPrintingSheets, write = set_BookFoldPrintingSheets};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: LineNumbering
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020972-0000-0000-C000-000000000046}
// *********************************************************************//
interface LineNumbering  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_RestartMode(Word_xp::WdNumberingRule* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_RestartMode(Word_xp::WdNumberingRule prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_StartingNumber(long* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_StartingNumber(long prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceFromText(float* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceFromText(float prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_CountBy(long* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_CountBy(long prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Active(long* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_Active(long prop/*[in]*/) = 0; // [104]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdNumberingRule __fastcall get_RestartMode(void)
  {
    Word_xp::WdNumberingRule prop;
    OLECHECK(this->get_RestartMode((Word_xp::WdNumberingRule*)&prop));
    return prop;
  }

  long __fastcall get_StartingNumber(void)
  {
    long prop;
    OLECHECK(this->get_StartingNumber((long*)&prop));
    return prop;
  }

  float __fastcall get_DistanceFromText(void)
  {
    float prop;
    OLECHECK(this->get_DistanceFromText((float*)&prop));
    return prop;
  }

  long __fastcall get_CountBy(void)
  {
    long prop;
    OLECHECK(this->get_CountBy((long*)&prop));
    return prop;
  }

  long __fastcall get_Active(void)
  {
    long prop;
    OLECHECK(this->get_Active((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdNumberingRule RestartMode = {read = get_RestartMode, write = set_RestartMode};
  __property   long            StartingNumber = {read = get_StartingNumber, write = set_StartingNumber};
  __property   float           DistanceFromText = {read = get_DistanceFromText, write = set_DistanceFromText};
  __property   long            CountBy = {read = get_CountBy, write = set_CountBy};
  __property   long            Active = {read = get_Active, write = set_Active};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TextColumns
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020973-0000-0000-C000-000000000046}
// *********************************************************************//
interface TextColumns  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_EvenlySpaced(long* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_EvenlySpaced(long prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_LineBetween(long* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_LineBetween(long prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Width(float* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_Width(float prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_Spacing(float* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_Spacing(float prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::TextColumn** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* Width/*[in,opt]*/, VARIANT* Spacing/*[in,opt]*/, 
                                        VARIANT* EvenlySpaced/*[in,opt]*/, 
                                        Word_xp::TextColumn** prop/*[out,retval]*/) = 0; // [201]
  virtual HRESULT STDMETHODCALLTYPE SetCount(long NumColumns/*[in]*/) = 0; // [202]
  virtual HRESULT STDMETHODCALLTYPE get_FlowDirection(Word_xp::WdFlowDirection* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_FlowDirection(Word_xp::WdFlowDirection prop/*[in]*/) = 0; // [104]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_EvenlySpaced(void)
  {
    long prop;
    OLECHECK(this->get_EvenlySpaced((long*)&prop));
    return prop;
  }

  long __fastcall get_LineBetween(void)
  {
    long prop;
    OLECHECK(this->get_LineBetween((long*)&prop));
    return prop;
  }

  float __fastcall get_Width(void)
  {
    float prop;
    OLECHECK(this->get_Width((float*)&prop));
    return prop;
  }

  float __fastcall get_Spacing(void)
  {
    float prop;
    OLECHECK(this->get_Spacing((float*)&prop));
    return prop;
  }

  Word_xp::TextColumn* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::TextColumn* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::TextColumn**)&prop));
    return prop;
  }

  Word_xp::TextColumn* __fastcall Add(VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Spacing/*[in,opt]*/= TNoParam(), 
                                      VARIANT* EvenlySpaced/*[in,opt]*/= TNoParam())
  {
    Word_xp::TextColumn* prop = 0;
    OLECHECK(this->Add(Width, Spacing, EvenlySpaced, (Word_xp::TextColumn**)&prop));
    return prop;
  }

  Word_xp::WdFlowDirection __fastcall get_FlowDirection(void)
  {
    Word_xp::WdFlowDirection prop;
    OLECHECK(this->get_FlowDirection((Word_xp::WdFlowDirection*)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            EvenlySpaced = {read = get_EvenlySpaced, write = set_EvenlySpaced};
  __property   long            LineBetween = {read = get_LineBetween, write = set_LineBetween};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   float           Spacing = {read = get_Spacing, write = set_Spacing};
  __property   Word_xp::WdFlowDirection FlowDirection = {read = get_FlowDirection, write = set_FlowDirection};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TextColumn
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020974-0000-0000-C000-000000000046}
// *********************************************************************//
interface TextColumn  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Width(float* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Width(float prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceAfter(float* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceAfter(float prop/*[in]*/) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  float __fastcall get_Width(void)
  {
    float prop;
    OLECHECK(this->get_Width((float*)&prop));
    return prop;
  }

  float __fastcall get_SpaceAfter(void)
  {
    float prop;
    OLECHECK(this->get_SpaceAfter((float*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   float           SpaceAfter = {read = get_SpaceAfter, write = set_SpaceAfter};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: WordSelection
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020975-0000-0000-C000-000000000046}
// *********************************************************************//
interface WordSelection  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Text(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Text(BSTR prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_FormattedText(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_FormattedText(Word_xp::WordRange* prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Start(long* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Start(long prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_End(long* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_End(long prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Font(Word_xp::WordFont** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_Font(Word_xp::WordFont* prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdSelectionType* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_StoryType(Word_xp::WdStoryType* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_Style(VARIANT* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_Style(VARIANT* prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_Tables(Word_xp::Tables** prop/*[out,retval]*/) = 0; // [50]
  virtual HRESULT STDMETHODCALLTYPE get_Words(Word_xp::Words** prop/*[out,retval]*/) = 0; // [51]
  virtual HRESULT STDMETHODCALLTYPE get_Sentences(Word_xp::Sentences** prop/*[out,retval]*/) = 0; // [52]
  virtual HRESULT STDMETHODCALLTYPE get_Characters(Word_xp::Characters** prop/*[out,retval]*/) = 0; // [53]
  virtual HRESULT STDMETHODCALLTYPE get_Footnotes(Word_xp::Footnotes** prop/*[out,retval]*/) = 0; // [54]
  virtual HRESULT STDMETHODCALLTYPE get_Endnotes(Word_xp::Endnotes** prop/*[out,retval]*/) = 0; // [55]
  virtual HRESULT STDMETHODCALLTYPE get_Comments(Word_xp::Comments** prop/*[out,retval]*/) = 0; // [56]
  virtual HRESULT STDMETHODCALLTYPE get_Cells(Word_xp::Cells** prop/*[out,retval]*/) = 0; // [57]
  virtual HRESULT STDMETHODCALLTYPE get_Sections(Word_xp::Sections** prop/*[out,retval]*/) = 0; // [58]
  virtual HRESULT STDMETHODCALLTYPE get_Paragraphs(Word_xp::Paragraphs** prop/*[out,retval]*/) = 0; // [59]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [61]
  virtual HRESULT STDMETHODCALLTYPE get_Fields(Word_xp::Fields** prop/*[out,retval]*/) = 0; // [64]
  virtual HRESULT STDMETHODCALLTYPE get_FormFields(Word_xp::FormFields** prop/*[out,retval]*/) = 0; // [65]
  virtual HRESULT STDMETHODCALLTYPE get_Frames(Word_xp::Frames** prop/*[out,retval]*/) = 0; // [66]
  virtual HRESULT STDMETHODCALLTYPE get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/) = 0; // [1102]
  virtual HRESULT STDMETHODCALLTYPE set_ParagraphFormat(Word_xp::WordParagraphFormat* prop/*[in]*/) = 0; // [1102]
  virtual HRESULT STDMETHODCALLTYPE get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE set_PageSetup(Word_xp::PageSetup* prop/*[in]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE get_Bookmarks(Word_xp::Bookmarks** prop/*[out,retval]*/) = 0; // [75]
  virtual HRESULT STDMETHODCALLTYPE get_StoryLength(long* prop/*[out,retval]*/) = 0; // [152]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [153]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [153]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [154]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [154]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageIDOther(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [155]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageIDOther(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [155]
  virtual HRESULT STDMETHODCALLTYPE get_Hyperlinks(Word_xp::Hyperlinks** prop/*[out,retval]*/) = 0; // [156]
  virtual HRESULT STDMETHODCALLTYPE get_Columns(Word_xp::Columns** prop/*[out,retval]*/) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE get_Rows(Word_xp::Rows** prop/*[out,retval]*/) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE get_HeaderFooter(Word_xp::HeaderFooter** prop/*[out,retval]*/) = 0; // [306]
  virtual HRESULT STDMETHODCALLTYPE get_IsEndOfRowMark(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [307]
  virtual HRESULT STDMETHODCALLTYPE get_BookmarkID(long* prop/*[out,retval]*/) = 0; // [308]
  virtual HRESULT STDMETHODCALLTYPE get_PreviousBookmarkID(long* prop/*[out,retval]*/) = 0; // [309]
  virtual HRESULT STDMETHODCALLTYPE get_Find(Word_xp::Find** prop/*[out,retval]*/) = 0; // [262]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [400]
  virtual HRESULT STDMETHODCALLTYPE get_Information(Word_xp::WdInformation Type/*[in]*/, 
                                                    VARIANT* prop/*[out,retval]*/) = 0; // [401]
  virtual HRESULT STDMETHODCALLTYPE get_Flags(Word_xp::WdSelectionFlags* prop/*[out,retval]*/) = 0; // [402]
  virtual HRESULT STDMETHODCALLTYPE set_Flags(Word_xp::WdSelectionFlags prop/*[in]*/) = 0; // [402]
  virtual HRESULT STDMETHODCALLTYPE get_Active(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [403]
  virtual HRESULT STDMETHODCALLTYPE get_StartIsActive(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [404]
  virtual HRESULT STDMETHODCALLTYPE set_StartIsActive(VARIANT_BOOL prop/*[in]*/) = 0; // [404]
  virtual HRESULT STDMETHODCALLTYPE get_IPAtEndOfLine(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [405]
  virtual HRESULT STDMETHODCALLTYPE get_ExtendMode(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [406]
  virtual HRESULT STDMETHODCALLTYPE set_ExtendMode(VARIANT_BOOL prop/*[in]*/) = 0; // [406]
  virtual HRESULT STDMETHODCALLTYPE get_ColumnSelectMode(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [407]
  virtual HRESULT STDMETHODCALLTYPE set_ColumnSelectMode(VARIANT_BOOL prop/*[in]*/) = 0; // [407]
  virtual HRESULT STDMETHODCALLTYPE get_Orientation(Word_xp::WdTextOrientation* prop/*[out,retval]*/) = 0; // [410]
  virtual HRESULT STDMETHODCALLTYPE set_Orientation(Word_xp::WdTextOrientation prop/*[in]*/) = 0; // [410]
  virtual HRESULT STDMETHODCALLTYPE get_InlineShapes(Word_xp::InlineShapes** prop/*[out,retval]*/) = 0; // [411]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Document(Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [1003]
  virtual HRESULT STDMETHODCALLTYPE get_ShapeRange(Word_xp::ShapeRange** prop/*[out,retval]*/) = 0; // [1004]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE SetRange(long Start/*[in]*/, long End/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Collapse(VARIANT* Direction/*[in,opt]*/= TNoParam()) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE InsertBefore(BSTR Text/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE InsertAfter(BSTR Text/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE Next(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                         Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE Previous(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                             Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE StartOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                                            long* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE EndOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                                          long* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE Move(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                         long* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE MoveStart(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                              long* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE MoveEnd(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                            long* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE MoveWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                              long* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE MoveStartWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                                   long* prop/*[out,retval]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE MoveEndWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                                 long* prop/*[out,retval]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE MoveUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                              long* prop/*[out,retval]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE MoveStartUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                                   long* prop/*[out,retval]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE MoveEndUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                                 long* prop/*[out,retval]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE Cut(void) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE Copy(void) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE Paste(void) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE InsertBreak(VARIANT* Type/*[in,opt]*/= TNoParam()) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE InsertFile(BSTR FileName/*[in]*/, 
                                               VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Link/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Attachment/*[in,opt]*/= TNoParam()) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE InStory(Word_xp::WordRange* Range/*[in]*/, 
                                            VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE InRange(Word_xp::WordRange* Range/*[in]*/, 
                                            VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE Delete(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                           long* prop/*[out,retval]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE Expand(VARIANT* Unit/*[in,opt]*/, long* prop/*[out,retval]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE InsertParagraph(void) = 0; // [160]
  virtual HRESULT STDMETHODCALLTYPE InsertParagraphAfter(void) = 0; // [161]
  virtual HRESULT STDMETHODCALLTYPE ConvertToTableOld(VARIANT* Separator/*[in,opt]*/, 
                                                      VARIANT* NumRows/*[in,opt]*/, 
                                                      VARIANT* NumColumns/*[in,opt]*/, 
                                                      VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                                      VARIANT* Format/*[in,opt]*/, 
                                                      VARIANT* ApplyBorders/*[in,opt]*/, 
                                                      VARIANT* ApplyShading/*[in,opt]*/, 
                                                      VARIANT* ApplyFont/*[in,opt]*/, 
                                                      VARIANT* ApplyColor/*[in,opt]*/, 
                                                      VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                                      VARIANT* ApplyLastRow/*[in,opt]*/, 
                                                      VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                                      VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                                      VARIANT* AutoFit/*[in,opt]*/, 
                                                      Word_xp::Table** prop/*[out,retval]*/) = 0; // [162]
  virtual HRESULT STDMETHODCALLTYPE InsertDateTimeOld(VARIANT* DateTimeFormat/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* InsertAsField/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* InsertAsFullWidth/*[in,opt]*/= TNoParam()) = 0; // [163]
  virtual HRESULT STDMETHODCALLTYPE InsertSymbol(long CharacterNumber/*[in]*/, 
                                                 VARIANT* Font/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Unicode/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Bias/*[in,opt]*/= TNoParam()) = 0; // [164]
  virtual HRESULT STDMETHODCALLTYPE InsertCrossReference(VARIANT* ReferenceType/*[in]*/, 
                                                         Word_xp::WdReferenceKind ReferenceKind/*[in]*/, 
                                                         VARIANT* ReferenceItem/*[in]*/, 
                                                         VARIANT* InsertAsHyperlink/*[in,opt]*/= TNoParam(), 
                                                         VARIANT* IncludePosition/*[in,opt]*/= TNoParam()) = 0; // [165]
  virtual HRESULT STDMETHODCALLTYPE InsertCaption(VARIANT* Label/*[in]*/, 
                                                  VARIANT* Title/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* TitleAutoText/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* Position/*[in,opt]*/= TNoParam()) = 0; // [166]
  virtual HRESULT STDMETHODCALLTYPE CopyAsPicture(void) = 0; // [167]
  virtual HRESULT STDMETHODCALLTYPE SortOld(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SortColumn/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                            VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                            VARIANT* LanguageID/*[in,opt]*/= TNoParam()) = 0; // [168]
  virtual HRESULT STDMETHODCALLTYPE SortAscending(void) = 0; // [169]
  virtual HRESULT STDMETHODCALLTYPE SortDescending(void) = 0; // [170]
  virtual HRESULT STDMETHODCALLTYPE IsEqual(Word_xp::WordRange* Range/*[in]*/, 
                                            VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [171]
  virtual HRESULT STDMETHODCALLTYPE Calculate(float* prop/*[out,retval]*/) = 0; // [172]
  virtual HRESULT STDMETHODCALLTYPE GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                                         VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                                         Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [173]
  virtual HRESULT STDMETHODCALLTYPE GoToNext(Word_xp::WdGoToItem What/*[in]*/, 
                                             Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [174]
  virtual HRESULT STDMETHODCALLTYPE GoToPrevious(Word_xp::WdGoToItem What/*[in]*/, 
                                                 Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [175]
  virtual HRESULT STDMETHODCALLTYPE PasteSpecial(VARIANT* IconIndex/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Link/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Placement/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* DisplayAsIcon/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* DataType/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* IconFileName/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* IconLabel/*[in,opt]*/= TNoParam()) = 0; // [176]
  virtual HRESULT STDMETHODCALLTYPE PreviousField(Word_xp::Field** prop/*[out,retval]*/) = 0; // [177]
  virtual HRESULT STDMETHODCALLTYPE NextField(Word_xp::Field** prop/*[out,retval]*/) = 0; // [178]
  virtual HRESULT STDMETHODCALLTYPE InsertParagraphBefore(void) = 0; // [212]
  virtual HRESULT STDMETHODCALLTYPE InsertCells(VARIANT* ShiftCells/*[in,opt]*/= TNoParam()) = 0; // [214]
  virtual HRESULT STDMETHODCALLTYPE Extend(VARIANT* Character/*[in,opt]*/= TNoParam()) = 0; // [300]
  virtual HRESULT STDMETHODCALLTYPE Shrink(void) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE MoveLeft(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                             VARIANT* Extend/*[in,opt]*/, long* prop/*[out,retval]*/) = 0; // [500]
  virtual HRESULT STDMETHODCALLTYPE MoveRight(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                              VARIANT* Extend/*[in,opt]*/, 
                                              long* prop/*[out,retval]*/) = 0; // [501]
  virtual HRESULT STDMETHODCALLTYPE MoveUp(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                           VARIANT* Extend/*[in,opt]*/, long* prop/*[out,retval]*/) = 0; // [502]
  virtual HRESULT STDMETHODCALLTYPE MoveDown(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                             VARIANT* Extend/*[in,opt]*/, long* prop/*[out,retval]*/) = 0; // [503]
  virtual HRESULT STDMETHODCALLTYPE HomeKey(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                                            long* prop/*[out,retval]*/) = 0; // [504]
  virtual HRESULT STDMETHODCALLTYPE EndKey(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                                           long* prop/*[out,retval]*/) = 0; // [505]
  virtual HRESULT STDMETHODCALLTYPE EscapeKey(void) = 0; // [506]
  virtual HRESULT STDMETHODCALLTYPE TypeText(BSTR Text/*[in]*/) = 0; // [507]
  virtual HRESULT STDMETHODCALLTYPE CopyFormat(void) = 0; // [509]
  virtual HRESULT STDMETHODCALLTYPE PasteFormat(void) = 0; // [510]
  virtual HRESULT STDMETHODCALLTYPE TypeParagraph(void) = 0; // [512]
  virtual HRESULT STDMETHODCALLTYPE TypeBackspace(void) = 0; // [513]
  virtual HRESULT STDMETHODCALLTYPE NextSubdocument(void) = 0; // [514]
  virtual HRESULT STDMETHODCALLTYPE PreviousSubdocument(void) = 0; // [515]
  virtual HRESULT STDMETHODCALLTYPE SelectColumn(void) = 0; // [516]
  virtual HRESULT STDMETHODCALLTYPE SelectCurrentFont(void) = 0; // [517]
  virtual HRESULT STDMETHODCALLTYPE SelectCurrentAlignment(void) = 0; // [518]
  virtual HRESULT STDMETHODCALLTYPE SelectCurrentSpacing(void) = 0; // [519]
  virtual HRESULT STDMETHODCALLTYPE SelectCurrentIndent(void) = 0; // [520]
  virtual HRESULT STDMETHODCALLTYPE SelectCurrentTabs(void) = 0; // [521]
  virtual HRESULT STDMETHODCALLTYPE SelectCurrentColor(void) = 0; // [522]
  virtual HRESULT STDMETHODCALLTYPE CreateTextbox(void) = 0; // [523]
  virtual HRESULT STDMETHODCALLTYPE WholeStory(void) = 0; // [524]
  virtual HRESULT STDMETHODCALLTYPE SelectRow(void) = 0; // [525]
  virtual HRESULT STDMETHODCALLTYPE SplitTable(void) = 0; // [526]
  virtual HRESULT STDMETHODCALLTYPE InsertRows(VARIANT* NumRows/*[in,opt]*/= TNoParam()) = 0; // [528]
  virtual HRESULT STDMETHODCALLTYPE InsertColumns(void) = 0; // [529]
  virtual HRESULT STDMETHODCALLTYPE InsertFormula(VARIANT* Formula/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* NumberFormat/*[in,opt]*/= TNoParam()) = 0; // [530]
  virtual HRESULT STDMETHODCALLTYPE NextRevision(VARIANT* Wrap/*[in,opt]*/, 
                                                 Word_xp::Revision** prop/*[out,retval]*/) = 0; // [531]
  virtual HRESULT STDMETHODCALLTYPE PreviousRevision(VARIANT* Wrap/*[in,opt]*/, 
                                                     Word_xp::Revision** prop/*[out,retval]*/) = 0; // [532]
  virtual HRESULT STDMETHODCALLTYPE PasteAsNestedTable(void) = 0; // [533]
  virtual HRESULT STDMETHODCALLTYPE CreateAutoTextEntry(BSTR Name/*[in]*/, BSTR StyleName/*[in]*/, 
                                                        Word_xp::AutoTextEntry** prop/*[out,retval]*/) = 0; // [534]
  virtual HRESULT STDMETHODCALLTYPE DetectLanguage(void) = 0; // [535]
  virtual HRESULT STDMETHODCALLTYPE SelectCell(void) = 0; // [536]
  virtual HRESULT STDMETHODCALLTYPE InsertRowsBelow(VARIANT* NumRows/*[in,opt]*/= TNoParam()) = 0; // [537]
  virtual HRESULT STDMETHODCALLTYPE InsertColumnsRight(void) = 0; // [538]
  virtual HRESULT STDMETHODCALLTYPE InsertRowsAbove(VARIANT* NumRows/*[in,opt]*/= TNoParam()) = 0; // [539]
  virtual HRESULT STDMETHODCALLTYPE RtlRun(void) = 0; // [600]
  virtual HRESULT STDMETHODCALLTYPE LtrRun(void) = 0; // [601]
  virtual HRESULT STDMETHODCALLTYPE BoldRun(void) = 0; // [602]
  virtual HRESULT STDMETHODCALLTYPE ItalicRun(void) = 0; // [603]
  virtual HRESULT STDMETHODCALLTYPE RtlPara(void) = 0; // [605]
  virtual HRESULT STDMETHODCALLTYPE LtrPara(void) = 0; // [606]
  virtual HRESULT STDMETHODCALLTYPE InsertDateTime(VARIANT* DateTimeFormat/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* InsertAsField/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* InsertAsFullWidth/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* DateLanguage/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* CalendarType/*[in,opt]*/= TNoParam()) = 0; // [444]
  virtual HRESULT STDMETHODCALLTYPE Sort2000(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                             VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                             VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                             VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SortColumn/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                             VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                             VARIANT* BidiSort/*[in,opt]*/= TNoParam(), 
                                             VARIANT* IgnoreThe/*[in,opt]*/= TNoParam(), 
                                             VARIANT* IgnoreKashida/*[in,opt]*/= TNoParam(), 
                                             VARIANT* IgnoreDiacritics/*[in,opt]*/= TNoParam(), 
                                             VARIANT* IgnoreHe/*[in,opt]*/= TNoParam(), 
                                             VARIANT* LanguageID/*[in,opt]*/= TNoParam()) = 0; // [445]
  virtual HRESULT STDMETHODCALLTYPE ConvertToTable(VARIANT* Separator/*[in,opt]*/, 
                                                   VARIANT* NumRows/*[in,opt]*/, 
                                                   VARIANT* NumColumns/*[in,opt]*/, 
                                                   VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                                   VARIANT* Format/*[in,opt]*/, 
                                                   VARIANT* ApplyBorders/*[in,opt]*/, 
                                                   VARIANT* ApplyShading/*[in,opt]*/, 
                                                   VARIANT* ApplyFont/*[in,opt]*/, 
                                                   VARIANT* ApplyColor/*[in,opt]*/, 
                                                   VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                                   VARIANT* ApplyLastRow/*[in,opt]*/, 
                                                   VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                                   VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                                   VARIANT* AutoFit/*[in,opt]*/, 
                                                   VARIANT* AutoFitBehavior/*[in,opt]*/, 
                                                   VARIANT* DefaultTableBehavior/*[in,opt]*/, 
                                                   Word_xp::Table** prop/*[out,retval]*/) = 0; // [457]
  virtual HRESULT STDMETHODCALLTYPE get_NoProofing(long* prop/*[out,retval]*/) = 0; // [1005]
  virtual HRESULT STDMETHODCALLTYPE set_NoProofing(long prop/*[in]*/) = 0; // [1005]
  virtual HRESULT STDMETHODCALLTYPE get_TopLevelTables(Word_xp::Tables** prop/*[out,retval]*/) = 0; // [1006]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageDetected(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1007]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageDetected(VARIANT_BOOL prop/*[in]*/) = 0; // [1007]
  virtual HRESULT STDMETHODCALLTYPE get_FitTextWidth(float* prop/*[out,retval]*/) = 0; // [1008]
  virtual HRESULT STDMETHODCALLTYPE set_FitTextWidth(float prop/*[in]*/) = 0; // [1008]
  virtual HRESULT STDMETHODCALLTYPE ClearFormatting(void) = 0; // [1009]
  virtual HRESULT STDMETHODCALLTYPE PasteAppendTable(void) = 0; // [1010]
  virtual HRESULT STDMETHODCALLTYPE get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/) = 0; // [1011]
  virtual HRESULT STDMETHODCALLTYPE get_SmartTags(Word_xp::SmartTags** prop/*[out,retval]*/) = 0; // [1015]
  virtual HRESULT STDMETHODCALLTYPE get_ChildShapeRange(Word_xp::ShapeRange** prop/*[out,retval]*/) = 0; // [1021]
  virtual HRESULT STDMETHODCALLTYPE get_HasChildShapeRange(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1022]
  virtual HRESULT STDMETHODCALLTYPE get_FootnoteOptions(Word_xp::FootnoteOptions** prop/*[out,retval]*/) = 0; // [1024]
  virtual HRESULT STDMETHODCALLTYPE get_EndnoteOptions(Word_xp::EndnoteOptions** prop/*[out,retval]*/) = 0; // [1025]
  virtual HRESULT STDMETHODCALLTYPE ToggleCharacterCode(void) = 0; // [1012]
  virtual HRESULT STDMETHODCALLTYPE PasteAndFormat(Word_xp::WdRecoveryType Type/*[in]*/) = 0; // [1013]
  virtual HRESULT STDMETHODCALLTYPE PasteExcelTable(VARIANT_BOOL LinkedToExcel/*[in]*/, 
                                                    VARIANT_BOOL WordFormatting/*[in]*/, 
                                                    VARIANT_BOOL RTF/*[in]*/) = 0; // [1014]
  virtual HRESULT STDMETHODCALLTYPE ShrinkDiscontiguousSelection(void) = 0; // [1019]
  virtual HRESULT STDMETHODCALLTYPE InsertStyleSeparator(void) = 0; // [1020]
  virtual HRESULT STDMETHODCALLTYPE Sort(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                         VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                         VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                         VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SortColumn/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                         VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                         VARIANT* BidiSort/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreThe/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreKashida/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreDiacritics/*[in,opt]*/= TNoParam(), 
                                         VARIANT* IgnoreHe/*[in,opt]*/= TNoParam(), 
                                         VARIANT* LanguageID/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SubFieldNumber/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SubFieldNumber2/*[in,opt]*/= TNoParam(), 
                                         VARIANT* SubFieldNumber3/*[in,opt]*/= TNoParam()) = 0; // [1023]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_Text(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Text((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_FormattedText(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_FormattedText(&prop));
    return prop;
  }

  HRESULT __fastcall  set_FormattedText(Word_xp::WordRangePtr prop/*[in]*/)
  {
    return set_FormattedText((Word_xp::WordRange*)prop/*[in]*/);
  }

  long __fastcall get_Start(void)
  {
    long prop;
    OLECHECK(this->get_Start((long*)&prop));
    return prop;
  }

  long __fastcall get_End(void)
  {
    long prop;
    OLECHECK(this->get_End((long*)&prop));
    return prop;
  }

  Word_xp::WordFontPtr __fastcall get_Font(void)
  {
    Word_xp::WordFontPtr prop;
    OLECHECK(this->get_Font(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Font(Word_xp::WordFontPtr prop/*[in]*/)
  {
    return set_Font((Word_xp::WordFont*)prop/*[in]*/);
  }

  Word_xp::WdSelectionType __fastcall get_Type(void)
  {
    Word_xp::WdSelectionType prop;
    OLECHECK(this->get_Type((Word_xp::WdSelectionType*)&prop));
    return prop;
  }

  Word_xp::WdStoryType __fastcall get_StoryType(void)
  {
    Word_xp::WdStoryType prop;
    OLECHECK(this->get_StoryType((Word_xp::WdStoryType*)&prop));
    return prop;
  }

  VARIANT __fastcall get_Style(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Style((VARIANT*)&prop));
    return prop;
  }

  Word_xp::TablesPtr __fastcall get_Tables(void)
  {
    Word_xp::TablesPtr prop;
    OLECHECK(this->get_Tables(&prop));
    return prop;
  }

  Word_xp::WordsPtr __fastcall get_Words(void)
  {
    Word_xp::WordsPtr prop;
    OLECHECK(this->get_Words(&prop));
    return prop;
  }

  Word_xp::SentencesPtr __fastcall get_Sentences(void)
  {
    Word_xp::SentencesPtr prop;
    OLECHECK(this->get_Sentences(&prop));
    return prop;
  }

  Word_xp::CharactersPtr __fastcall get_Characters(void)
  {
    Word_xp::CharactersPtr prop;
    OLECHECK(this->get_Characters(&prop));
    return prop;
  }

  Word_xp::FootnotesPtr __fastcall get_Footnotes(void)
  {
    Word_xp::FootnotesPtr prop;
    OLECHECK(this->get_Footnotes(&prop));
    return prop;
  }

  Word_xp::EndnotesPtr __fastcall get_Endnotes(void)
  {
    Word_xp::EndnotesPtr prop;
    OLECHECK(this->get_Endnotes(&prop));
    return prop;
  }

  Word_xp::CommentsPtr __fastcall get_Comments(void)
  {
    Word_xp::CommentsPtr prop;
    OLECHECK(this->get_Comments(&prop));
    return prop;
  }

  Word_xp::CellsPtr __fastcall get_Cells(void)
  {
    Word_xp::CellsPtr prop;
    OLECHECK(this->get_Cells(&prop));
    return prop;
  }

  Word_xp::SectionsPtr __fastcall get_Sections(void)
  {
    Word_xp::SectionsPtr prop;
    OLECHECK(this->get_Sections(&prop));
    return prop;
  }

  Word_xp::ParagraphsPtr __fastcall get_Paragraphs(void)
  {
    Word_xp::ParagraphsPtr prop;
    OLECHECK(this->get_Paragraphs(&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::FieldsPtr __fastcall get_Fields(void)
  {
    Word_xp::FieldsPtr prop;
    OLECHECK(this->get_Fields(&prop));
    return prop;
  }

  Word_xp::FormFieldsPtr __fastcall get_FormFields(void)
  {
    Word_xp::FormFieldsPtr prop;
    OLECHECK(this->get_FormFields(&prop));
    return prop;
  }

  Word_xp::FramesPtr __fastcall get_Frames(void)
  {
    Word_xp::FramesPtr prop;
    OLECHECK(this->get_Frames(&prop));
    return prop;
  }

  Word_xp::WordParagraphFormatPtr __fastcall get_ParagraphFormat(void)
  {
    Word_xp::WordParagraphFormatPtr prop;
    OLECHECK(this->get_ParagraphFormat(&prop));
    return prop;
  }

  HRESULT __fastcall  set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
  {
    return set_ParagraphFormat((Word_xp::WordParagraphFormat*)prop/*[in]*/);
  }

  Word_xp::PageSetupPtr __fastcall get_PageSetup(void)
  {
    Word_xp::PageSetupPtr prop;
    OLECHECK(this->get_PageSetup(&prop));
    return prop;
  }

  HRESULT __fastcall  set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/)
  {
    return set_PageSetup((Word_xp::PageSetup*)prop/*[in]*/);
  }

  Word_xp::BookmarksPtr __fastcall get_Bookmarks(void)
  {
    Word_xp::BookmarksPtr prop;
    OLECHECK(this->get_Bookmarks(&prop));
    return prop;
  }

  long __fastcall get_StoryLength(void)
  {
    long prop;
    OLECHECK(this->get_StoryLength((long*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageID(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageID((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageIDFarEast(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageIDFarEast((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageIDOther(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageIDOther((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  Word_xp::HyperlinksPtr __fastcall get_Hyperlinks(void)
  {
    Word_xp::HyperlinksPtr prop;
    OLECHECK(this->get_Hyperlinks(&prop));
    return prop;
  }

  Word_xp::ColumnsPtr __fastcall get_Columns(void)
  {
    Word_xp::ColumnsPtr prop;
    OLECHECK(this->get_Columns(&prop));
    return prop;
  }

  Word_xp::RowsPtr __fastcall get_Rows(void)
  {
    Word_xp::RowsPtr prop;
    OLECHECK(this->get_Rows(&prop));
    return prop;
  }

  Word_xp::HeaderFooterPtr __fastcall get_HeaderFooter(void)
  {
    Word_xp::HeaderFooterPtr prop;
    OLECHECK(this->get_HeaderFooter(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsEndOfRowMark(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsEndOfRowMark((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_BookmarkID(void)
  {
    long prop;
    OLECHECK(this->get_BookmarkID((long*)&prop));
    return prop;
  }

  long __fastcall get_PreviousBookmarkID(void)
  {
    long prop;
    OLECHECK(this->get_PreviousBookmarkID((long*)&prop));
    return prop;
  }

  Word_xp::FindPtr __fastcall get_Find(void)
  {
    Word_xp::FindPtr prop;
    OLECHECK(this->get_Find(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  VARIANT __fastcall get_Information(Word_xp::WdInformation Type/*[in]*/)
  {
    VARIANT prop;
    OLECHECK(this->get_Information(Type, (VARIANT*)&prop));
    return prop;
  }

  Word_xp::WdSelectionFlags __fastcall get_Flags(void)
  {
    Word_xp::WdSelectionFlags prop;
    OLECHECK(this->get_Flags((Word_xp::WdSelectionFlags*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Active(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Active((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_StartIsActive(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_StartIsActive((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IPAtEndOfLine(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IPAtEndOfLine((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ExtendMode(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ExtendMode((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ColumnSelectMode(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ColumnSelectMode((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdTextOrientation __fastcall get_Orientation(void)
  {
    Word_xp::WdTextOrientation prop;
    OLECHECK(this->get_Orientation((Word_xp::WdTextOrientation*)&prop));
    return prop;
  }

  Word_xp::InlineShapesPtr __fastcall get_InlineShapes(void)
  {
    Word_xp::InlineShapesPtr prop;
    OLECHECK(this->get_InlineShapes(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordDocumentPtr __fastcall get_Document(void)
  {
    Word_xp::WordDocumentPtr prop;
    OLECHECK(this->get_Document(&prop));
    return prop;
  }

  Word_xp::ShapeRangePtr __fastcall get_ShapeRange(void)
  {
    Word_xp::ShapeRangePtr prop;
    OLECHECK(this->get_ShapeRange(&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall Next(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->Next(Unit, Count, (Word_xp::WordRange**)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall Previous(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->Previous(Unit, Count, (Word_xp::WordRange**)&prop));
    return prop;
  }

  long __fastcall StartOf(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                          VARIANT* Extend/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->StartOf(Unit, Extend, (long*)&prop));
    return prop;
  }

  long __fastcall EndOf(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                        VARIANT* Extend/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->EndOf(Unit, Extend, (long*)&prop));
    return prop;
  }

  long __fastcall Move(VARIANT* Unit/*[in,opt]*/= TNoParam(), VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->Move(Unit, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveStart(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                            VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveStart(Unit, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveEnd(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                          VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveEnd(Unit, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveWhile(Cset, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveStartWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveStartWhile(Cset, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveEndWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveEndWhile(Cset, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveUntil(Cset, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveStartUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveStartUntil(Cset, Count, (long*)&prop));
    return prop;
  }

  long __fastcall MoveEndUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveEndUntil(Cset, Count, (long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall InStory(Word_xp::WordRange* Range/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->InStory(Range, (VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall InRange(Word_xp::WordRange* Range/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->InRange(Range, (VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall Delete(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                         VARIANT* Count/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->Delete(Unit, Count, (long*)&prop));
    return prop;
  }

  long __fastcall Expand(VARIANT* Unit/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->Expand(Unit, (long*)&prop));
    return prop;
  }

  Word_xp::Table* __fastcall ConvertToTableOld(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NumRows/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NumColumns/*[in,opt]*/= TNoParam(), 
                                               VARIANT* InitialColumnWidth/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyBorders/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyShading/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyFont/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyColor/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyHeadingRows/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyLastRow/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyFirstColumn/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyLastColumn/*[in,opt]*/= TNoParam(), 
                                               VARIANT* AutoFit/*[in,opt]*/= TNoParam())
  {
    Word_xp::Table* prop = 0;
    OLECHECK(this->ConvertToTableOld(Separator, NumRows, NumColumns, InitialColumnWidth, Format, 
                                     ApplyBorders, ApplyShading, ApplyFont, ApplyColor, 
                                     ApplyHeadingRows, ApplyLastRow, ApplyFirstColumn, 
                                     ApplyLastColumn, AutoFit, (Word_xp::Table**)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall IsEqual(Word_xp::WordRange* Range/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->IsEqual(Range, (VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall Calculate(void)
  {
    float prop;
    OLECHECK(this->Calculate((float*)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall GoTo(VARIANT* What/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Which/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Name/*[in,opt]*/= TNoParam())
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->GoTo(What, Which, Count, Name, (Word_xp::WordRange**)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall GoToNext(Word_xp::WdGoToItem What/*[in]*/)
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->GoToNext(What, (Word_xp::WordRange**)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall GoToPrevious(Word_xp::WdGoToItem What/*[in]*/)
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->GoToPrevious(What, (Word_xp::WordRange**)&prop));
    return prop;
  }

  Word_xp::Field* __fastcall PreviousField(void)
  {
    Word_xp::Field* prop = 0;
    OLECHECK(this->PreviousField((Word_xp::Field**)&prop));
    return prop;
  }

  Word_xp::Field* __fastcall NextField(void)
  {
    Word_xp::Field* prop = 0;
    OLECHECK(this->NextField((Word_xp::Field**)&prop));
    return prop;
  }

  long __fastcall MoveLeft(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                           VARIANT* Count/*[in,opt]*/= TNoParam(), 
                           VARIANT* Extend/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveLeft(Unit, Count, Extend, (long*)&prop));
    return prop;
  }

  long __fastcall MoveRight(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                            VARIANT* Count/*[in,opt]*/= TNoParam(), 
                            VARIANT* Extend/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveRight(Unit, Count, Extend, (long*)&prop));
    return prop;
  }

  long __fastcall MoveUp(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                         VARIANT* Count/*[in,opt]*/= TNoParam(), 
                         VARIANT* Extend/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveUp(Unit, Count, Extend, (long*)&prop));
    return prop;
  }

  long __fastcall MoveDown(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                           VARIANT* Count/*[in,opt]*/= TNoParam(), 
                           VARIANT* Extend/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->MoveDown(Unit, Count, Extend, (long*)&prop));
    return prop;
  }

  long __fastcall HomeKey(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                          VARIANT* Extend/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->HomeKey(Unit, Extend, (long*)&prop));
    return prop;
  }

  long __fastcall EndKey(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                         VARIANT* Extend/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->EndKey(Unit, Extend, (long*)&prop));
    return prop;
  }

  Word_xp::Revision* __fastcall NextRevision(VARIANT* Wrap/*[in,opt]*/= TNoParam())
  {
    Word_xp::Revision* prop = 0;
    OLECHECK(this->NextRevision(Wrap, (Word_xp::Revision**)&prop));
    return prop;
  }

  Word_xp::Revision* __fastcall PreviousRevision(VARIANT* Wrap/*[in,opt]*/= TNoParam())
  {
    Word_xp::Revision* prop = 0;
    OLECHECK(this->PreviousRevision(Wrap, (Word_xp::Revision**)&prop));
    return prop;
  }

  Word_xp::AutoTextEntry* __fastcall CreateAutoTextEntry(BSTR Name/*[in]*/, BSTR StyleName/*[in]*/)
  {
    Word_xp::AutoTextEntry* prop = 0;
    OLECHECK(this->CreateAutoTextEntry(Name, StyleName, (Word_xp::AutoTextEntry**)&prop));
    return prop;
  }

  Word_xp::Table* __fastcall ConvertToTable(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                            VARIANT* NumRows/*[in,opt]*/= TNoParam(), 
                                            VARIANT* NumColumns/*[in,opt]*/= TNoParam(), 
                                            VARIANT* InitialColumnWidth/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyBorders/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyShading/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyFont/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyColor/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyHeadingRows/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyLastRow/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyFirstColumn/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyLastColumn/*[in,opt]*/= TNoParam(), 
                                            VARIANT* AutoFit/*[in,opt]*/= TNoParam(), 
                                            VARIANT* AutoFitBehavior/*[in,opt]*/= TNoParam(), 
                                            VARIANT* DefaultTableBehavior/*[in,opt]*/= TNoParam())
  {
    Word_xp::Table* prop = 0;
    OLECHECK(this->ConvertToTable(Separator, NumRows, NumColumns, InitialColumnWidth, Format, 
                                  ApplyBorders, ApplyShading, ApplyFont, ApplyColor, 
                                  ApplyHeadingRows, ApplyLastRow, ApplyFirstColumn, ApplyLastColumn, 
                                  AutoFit, AutoFitBehavior, DefaultTableBehavior, (Word_xp::Table**)&prop));
    return prop;
  }

  long __fastcall get_NoProofing(void)
  {
    long prop;
    OLECHECK(this->get_NoProofing((long*)&prop));
    return prop;
  }

  Word_xp::TablesPtr __fastcall get_TopLevelTables(void)
  {
    Word_xp::TablesPtr prop;
    OLECHECK(this->get_TopLevelTables(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_LanguageDetected(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_LanguageDetected((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_FitTextWidth(void)
  {
    float prop;
    OLECHECK(this->get_FitTextWidth((float*)&prop));
    return prop;
  }

  Word_xp::HTMLDivisionsPtr __fastcall get_HTMLDivisions(void)
  {
    Word_xp::HTMLDivisionsPtr prop;
    OLECHECK(this->get_HTMLDivisions(&prop));
    return prop;
  }

  Word_xp::SmartTagsPtr __fastcall get_SmartTags(void)
  {
    Word_xp::SmartTagsPtr prop;
    OLECHECK(this->get_SmartTags(&prop));
    return prop;
  }

  Word_xp::ShapeRangePtr __fastcall get_ChildShapeRange(void)
  {
    Word_xp::ShapeRangePtr prop;
    OLECHECK(this->get_ChildShapeRange(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HasChildShapeRange(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HasChildShapeRange((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::FootnoteOptionsPtr __fastcall get_FootnoteOptions(void)
  {
    Word_xp::FootnoteOptionsPtr prop;
    OLECHECK(this->get_FootnoteOptions(&prop));
    return prop;
  }

  Word_xp::EndnoteOptionsPtr __fastcall get_EndnoteOptions(void)
  {
    Word_xp::EndnoteOptionsPtr prop;
    OLECHECK(this->get_EndnoteOptions(&prop));
    return prop;
  }


  __property   BSTR            Text = {read = get_Text, write = set_Text};
  __property   Word_xp::WordRangePtr FormattedText = {read = get_FormattedText, write = set_FormattedText};
  __property   long            Start = {read = get_Start, write = set_Start};
  __property   long            End = {read = get_End, write = set_End};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
  __property   Word_xp::WdSelectionType Type = {read = get_Type};
  __property   Word_xp::WdStoryType StoryType = {read = get_StoryType};
  __property   Word_xp::TablesPtr Tables = {read = get_Tables};
  __property   Word_xp::WordsPtr Words = {read = get_Words};
  __property   Word_xp::SentencesPtr Sentences = {read = get_Sentences};
  __property   Word_xp::CharactersPtr Characters = {read = get_Characters};
  __property   Word_xp::FootnotesPtr Footnotes = {read = get_Footnotes};
  __property   Word_xp::EndnotesPtr Endnotes = {read = get_Endnotes};
  __property   Word_xp::CommentsPtr Comments = {read = get_Comments};
  __property   Word_xp::CellsPtr Cells = {read = get_Cells};
  __property   Word_xp::SectionsPtr Sections = {read = get_Sections};
  __property   Word_xp::ParagraphsPtr Paragraphs = {read = get_Paragraphs};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::FieldsPtr Fields = {read = get_Fields};
  __property   Word_xp::FormFieldsPtr FormFields = {read = get_FormFields};
  __property   Word_xp::FramesPtr Frames = {read = get_Frames};
  __property   Word_xp::WordParagraphFormatPtr ParagraphFormat = {read = get_ParagraphFormat, write = set_ParagraphFormat};
  __property   Word_xp::PageSetupPtr PageSetup = {read = get_PageSetup, write = set_PageSetup};
  __property   Word_xp::BookmarksPtr Bookmarks = {read = get_Bookmarks};
  __property   long            StoryLength = {read = get_StoryLength};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   Word_xp::WdLanguageID LanguageIDFarEast = {read = get_LanguageIDFarEast, write = set_LanguageIDFarEast};
  __property   Word_xp::WdLanguageID LanguageIDOther = {read = get_LanguageIDOther, write = set_LanguageIDOther};
  __property   Word_xp::HyperlinksPtr Hyperlinks = {read = get_Hyperlinks};
  __property   Word_xp::ColumnsPtr Columns = {read = get_Columns};
  __property   Word_xp::RowsPtr Rows = {read = get_Rows};
  __property   Word_xp::HeaderFooterPtr HeaderFooter = {read = get_HeaderFooter};
  __property   VARIANT_BOOL    IsEndOfRowMark = {read = get_IsEndOfRowMark};
  __property   long            BookmarkID = {read = get_BookmarkID};
  __property   long            PreviousBookmarkID = {read = get_PreviousBookmarkID};
  __property   Word_xp::FindPtr Find = {read = get_Find};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WdSelectionFlags Flags = {read = get_Flags, write = set_Flags};
  __property   VARIANT_BOOL    Active = {read = get_Active};
  __property   VARIANT_BOOL    StartIsActive = {read = get_StartIsActive, write = set_StartIsActive};
  __property   VARIANT_BOOL    IPAtEndOfLine = {read = get_IPAtEndOfLine};
  __property   VARIANT_BOOL    ExtendMode = {read = get_ExtendMode, write = set_ExtendMode};
  __property   VARIANT_BOOL    ColumnSelectMode = {read = get_ColumnSelectMode, write = set_ColumnSelectMode};
  __property   Word_xp::WdTextOrientation Orientation = {read = get_Orientation, write = set_Orientation};
  __property   Word_xp::InlineShapesPtr InlineShapes = {read = get_InlineShapes};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordDocumentPtr Document = {read = get_Document};
  __property   Word_xp::ShapeRangePtr ShapeRange = {read = get_ShapeRange};
  __property   long            NoProofing = {read = get_NoProofing, write = set_NoProofing};
  __property   Word_xp::TablesPtr TopLevelTables = {read = get_TopLevelTables};
  __property   VARIANT_BOOL    LanguageDetected = {read = get_LanguageDetected, write = set_LanguageDetected};
  __property   float           FitTextWidth = {read = get_FitTextWidth, write = set_FitTextWidth};
  __property   Word_xp::HTMLDivisionsPtr HTMLDivisions = {read = get_HTMLDivisions};
  __property   Word_xp::SmartTagsPtr SmartTags = {read = get_SmartTags};
  __property   Word_xp::ShapeRangePtr ChildShapeRange = {read = get_ChildShapeRange};
  __property   VARIANT_BOOL    HasChildShapeRange = {read = get_HasChildShapeRange};
  __property   Word_xp::FootnoteOptionsPtr FootnoteOptions = {read = get_FootnoteOptions};
  __property   Word_xp::EndnoteOptionsPtr EndnoteOptions = {read = get_EndnoteOptions};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TablesOfAuthoritiesCategories
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020976-0000-0000-C000-000000000046}
// *********************************************************************//
interface TablesOfAuthoritiesCategories  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::TableOfAuthoritiesCategory** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::TableOfAuthoritiesCategory* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::TableOfAuthoritiesCategory* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::TableOfAuthoritiesCategory**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TableOfAuthoritiesCategory
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020977-0000-0000-C000-000000000046}
// *********************************************************************//
interface TableOfAuthoritiesCategory  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   long            Index = {read = get_Index};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: CaptionLabels
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020978-0000-0000-C000-000000000046}
// *********************************************************************//
interface CaptionLabels  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::CaptionLabel** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, 
                                        Word_xp::CaptionLabel** prop/*[out,retval]*/) = 0; // [100]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::CaptionLabel* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::CaptionLabel* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::CaptionLabel**)&prop));
    return prop;
  }

  Word_xp::CaptionLabel* __fastcall Add(BSTR Name/*[in]*/)
  {
    Word_xp::CaptionLabel* prop = 0;
    OLECHECK(this->Add(Name, (Word_xp::CaptionLabel**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: CaptionLabel
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020979-0000-0000-C000-000000000046}
// *********************************************************************//
interface CaptionLabel  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_BuiltIn(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_ID(Word_xp::WdCaptionLabelID* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_IncludeChapterNumber(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_IncludeChapterNumber(VARIANT_BOOL prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_NumberStyle(Word_xp::WdCaptionNumberStyle* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_NumberStyle(Word_xp::WdCaptionNumberStyle prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_ChapterStyleLevel(long* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_ChapterStyleLevel(long prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Separator(Word_xp::WdSeparatorType* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_Separator(Word_xp::WdSeparatorType prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Position(Word_xp::WdCaptionPosition* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_Position(Word_xp::WdCaptionPosition prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [100]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_BuiltIn(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_BuiltIn((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdCaptionLabelID __fastcall get_ID(void)
  {
    Word_xp::WdCaptionLabelID prop;
    OLECHECK(this->get_ID((Word_xp::WdCaptionLabelID*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IncludeChapterNumber(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IncludeChapterNumber((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdCaptionNumberStyle __fastcall get_NumberStyle(void)
  {
    Word_xp::WdCaptionNumberStyle prop;
    OLECHECK(this->get_NumberStyle((Word_xp::WdCaptionNumberStyle*)&prop));
    return prop;
  }

  long __fastcall get_ChapterStyleLevel(void)
  {
    long prop;
    OLECHECK(this->get_ChapterStyleLevel((long*)&prop));
    return prop;
  }

  Word_xp::WdSeparatorType __fastcall get_Separator(void)
  {
    Word_xp::WdSeparatorType prop;
    OLECHECK(this->get_Separator((Word_xp::WdSeparatorType*)&prop));
    return prop;
  }

  Word_xp::WdCaptionPosition __fastcall get_Position(void)
  {
    Word_xp::WdCaptionPosition prop;
    OLECHECK(this->get_Position((Word_xp::WdCaptionPosition*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   VARIANT_BOOL    BuiltIn = {read = get_BuiltIn};
  __property   Word_xp::WdCaptionLabelID ID = {read = get_ID};
  __property   VARIANT_BOOL    IncludeChapterNumber = {read = get_IncludeChapterNumber, write = set_IncludeChapterNumber};
  __property   Word_xp::WdCaptionNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   long            ChapterStyleLevel = {read = get_ChapterStyleLevel, write = set_ChapterStyleLevel};
  __property   Word_xp::WdSeparatorType Separator = {read = get_Separator, write = set_Separator};
  __property   Word_xp::WdCaptionPosition Position = {read = get_Position, write = set_Position};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: AutoCaptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097A-0000-0000-C000-000000000046}
// *********************************************************************//
interface AutoCaptions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::AutoCaption** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE CancelAutoInsert(void) = 0; // [100]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::AutoCaption* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::AutoCaption* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::AutoCaption**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: AutoCaption
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097B-0000-0000-C000-000000000046}
// *********************************************************************//
interface AutoCaption  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_AutoInsert(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_AutoInsert(VARIANT_BOOL prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_CaptionLabel(VARIANT* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_CaptionLabel(VARIANT* prop/*[in]*/) = 0; // [3]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoInsert(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoInsert((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  VARIANT __fastcall get_CaptionLabel(void)
  {
    VARIANT prop;
    OLECHECK(this->get_CaptionLabel((VARIANT*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   VARIANT_BOOL    AutoInsert = {read = get_AutoInsert, write = set_AutoInsert};
  __property   long            Index = {read = get_Index};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Indexes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097C-0000-0000-C000-000000000046}
// *********************************************************************//
interface Indexes  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Format(Word_xp::WdIndexFormat* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Format(Word_xp::WdIndexFormat prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::Index** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                           VARIANT* HeadingSeparator/*[in,opt]*/, 
                                           VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                           VARIANT* Type/*[in,opt]*/, 
                                           VARIANT* NumberOfColumns/*[in,opt]*/, 
                                           VARIANT* AccentedLetters/*[in,opt]*/, 
                                           Word_xp::Index** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE MarkEntry(Word_xp::WordRange* Range/*[in]*/, 
                                              VARIANT* Entry/*[in,opt]*/, 
                                              VARIANT* EntryAutoText/*[in,opt]*/, 
                                              VARIANT* CrossReference/*[in,opt]*/, 
                                              VARIANT* CrossReferenceAutoText/*[in,opt]*/, 
                                              VARIANT* BookmarkName/*[in,opt]*/, 
                                              VARIANT* Bold/*[in,opt]*/, VARIANT* Italic/*[in,opt]*/, 
                                              VARIANT* Reading/*[in,opt]*/, 
                                              Word_xp::Field** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE MarkAllEntries(Word_xp::WordRange* Range/*[in]*/, 
                                                   VARIANT* Entry/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* EntryAutoText/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* CrossReference/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* CrossReferenceAutoText/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* BookmarkName/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* Bold/*[in,opt]*/= TNoParam(), 
                                                   VARIANT* Italic/*[in,opt]*/= TNoParam()) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE AutoMarkEntries(BSTR ConcordanceFileName/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WordRange* Range/*[in]*/, 
                                        VARIANT* HeadingSeparator/*[in,opt]*/, 
                                        VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                        VARIANT* Type/*[in,opt]*/, 
                                        VARIANT* NumberOfColumns/*[in,opt]*/, 
                                        VARIANT* AccentedLetters/*[in,opt]*/, 
                                        VARIANT* SortBy/*[in,opt]*/, 
                                        VARIANT* IndexLanguage/*[in,opt]*/, 
                                        Word_xp::Index** prop/*[out,retval]*/) = 0; // [104]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WdIndexFormat __fastcall get_Format(void)
  {
    Word_xp::WdIndexFormat prop;
    OLECHECK(this->get_Format((Word_xp::WdIndexFormat*)&prop));
    return prop;
  }

  Word_xp::Index* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Index* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Index**)&prop));
    return prop;
  }

  Word_xp::Index* __fastcall AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                    VARIANT* HeadingSeparator/*[in,opt]*/= TNoParam(), 
                                    VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Type/*[in,opt]*/= TNoParam(), 
                                    VARIANT* NumberOfColumns/*[in,opt]*/= TNoParam(), 
                                    VARIANT* AccentedLetters/*[in,opt]*/= TNoParam())
  {
    Word_xp::Index* prop = 0;
    OLECHECK(this->AddOld(Range, HeadingSeparator, RightAlignPageNumbers, Type, NumberOfColumns, 
                          AccentedLetters, (Word_xp::Index**)&prop));
    return prop;
  }

  Word_xp::Field* __fastcall MarkEntry(Word_xp::WordRange* Range/*[in]*/, 
                                       VARIANT* Entry/*[in,opt]*/= TNoParam(), 
                                       VARIANT* EntryAutoText/*[in,opt]*/= TNoParam(), 
                                       VARIANT* CrossReference/*[in,opt]*/= TNoParam(), 
                                       VARIANT* CrossReferenceAutoText/*[in,opt]*/= TNoParam(), 
                                       VARIANT* BookmarkName/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Bold/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Italic/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Reading/*[in,opt]*/= TNoParam())
  {
    Word_xp::Field* prop = 0;
    OLECHECK(this->MarkEntry(Range, Entry, EntryAutoText, CrossReference, CrossReferenceAutoText, 
                             BookmarkName, Bold, Italic, Reading, (Word_xp::Field**)&prop));
    return prop;
  }

  Word_xp::Index* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                 VARIANT* HeadingSeparator/*[in,opt]*/= TNoParam(), 
                                 VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                 VARIANT* Type/*[in,opt]*/= TNoParam(), 
                                 VARIANT* NumberOfColumns/*[in,opt]*/= TNoParam(), 
                                 VARIANT* AccentedLetters/*[in,opt]*/= TNoParam(), 
                                 VARIANT* SortBy/*[in,opt]*/= TNoParam(), 
                                 VARIANT* IndexLanguage/*[in,opt]*/= TNoParam())
  {
    Word_xp::Index* prop = 0;
    OLECHECK(this->Add(Range, HeadingSeparator, RightAlignPageNumbers, Type, NumberOfColumns, 
                       AccentedLetters, SortBy, IndexLanguage, (Word_xp::Index**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdIndexFormat Format = {read = get_Format, write = set_Format};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Index
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097D-0000-0000-C000-000000000046}
// *********************************************************************//
interface Index  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_HeadingSeparator(Word_xp::WdHeadingSeparator* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_HeadingSeparator(Word_xp::WdHeadingSeparator prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_RightAlignPageNumbers(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_RightAlignPageNumbers(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdIndexType* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Type(Word_xp::WdIndexType prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_NumberOfColumns(long* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_NumberOfColumns(long prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_TabLeader(Word_xp::WdTabLeader* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_TabLeader(Word_xp::WdTabLeader prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_AccentedLetters(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_AccentedLetters(VARIANT_BOOL prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_SortBy(Word_xp::WdIndexSortBy* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_SortBy(Word_xp::WdIndexSortBy prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_Filter(Word_xp::WdIndexFilter* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_Filter(Word_xp::WdIndexFilter prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE _Update(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_IndexLanguage(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_IndexLanguage(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [10]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdHeadingSeparator __fastcall get_HeadingSeparator(void)
  {
    Word_xp::WdHeadingSeparator prop;
    OLECHECK(this->get_HeadingSeparator((Word_xp::WdHeadingSeparator*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RightAlignPageNumbers(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RightAlignPageNumbers((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdIndexType __fastcall get_Type(void)
  {
    Word_xp::WdIndexType prop;
    OLECHECK(this->get_Type((Word_xp::WdIndexType*)&prop));
    return prop;
  }

  long __fastcall get_NumberOfColumns(void)
  {
    long prop;
    OLECHECK(this->get_NumberOfColumns((long*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WdTabLeader __fastcall get_TabLeader(void)
  {
    Word_xp::WdTabLeader prop;
    OLECHECK(this->get_TabLeader((Word_xp::WdTabLeader*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AccentedLetters(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AccentedLetters((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdIndexSortBy __fastcall get_SortBy(void)
  {
    Word_xp::WdIndexSortBy prop;
    OLECHECK(this->get_SortBy((Word_xp::WdIndexSortBy*)&prop));
    return prop;
  }

  Word_xp::WdIndexFilter __fastcall get_Filter(void)
  {
    Word_xp::WdIndexFilter prop;
    OLECHECK(this->get_Filter((Word_xp::WdIndexFilter*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_IndexLanguage(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_IndexLanguage((Word_xp::WdLanguageID*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdHeadingSeparator HeadingSeparator = {read = get_HeadingSeparator, write = set_HeadingSeparator};
  __property   VARIANT_BOOL    RightAlignPageNumbers = {read = get_RightAlignPageNumbers, write = set_RightAlignPageNumbers};
  __property   Word_xp::WdIndexType Type = {read = get_Type, write = set_Type};
  __property   long            NumberOfColumns = {read = get_NumberOfColumns, write = set_NumberOfColumns};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WdTabLeader TabLeader = {read = get_TabLeader, write = set_TabLeader};
  __property   VARIANT_BOOL    AccentedLetters = {read = get_AccentedLetters, write = set_AccentedLetters};
  __property   Word_xp::WdIndexSortBy SortBy = {read = get_SortBy, write = set_SortBy};
  __property   Word_xp::WdIndexFilter Filter = {read = get_Filter, write = set_Filter};
  __property   Word_xp::WdLanguageID IndexLanguage = {read = get_IndexLanguage, write = set_IndexLanguage};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: AddIn
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097E-0000-0000-C000-000000000046}
// *********************************************************************//
interface AddIn  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Path(BSTR* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Installed(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_Installed(VARIANT_BOOL prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Compiled(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Autoload(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Path(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Path((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Installed(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Installed((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Compiled(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Compiled((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Autoload(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Autoload((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Path = {read = get_Path};
  __property   VARIANT_BOOL    Installed = {read = get_Installed, write = set_Installed};
  __property   VARIANT_BOOL    Compiled = {read = get_Compiled};
  __property   VARIANT_BOOL    Autoload = {read = get_Autoload};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: AddIns
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097F-0000-0000-C000-000000000046}
// *********************************************************************//
interface AddIns  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::AddIn** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR FileName/*[in]*/, VARIANT* Install/*[in,opt]*/, 
                                        Word_xp::AddIn** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Unload(VARIANT_BOOL RemoveFromList/*[in]*/) = 0; // [3]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::AddIn* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::AddIn* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::AddIn**)&prop));
    return prop;
  }

  Word_xp::AddIn* __fastcall Add(BSTR FileName/*[in]*/, VARIANT* Install/*[in,opt]*/= TNoParam())
  {
    Word_xp::AddIn* prop = 0;
    OLECHECK(this->Add(FileName, Install, (Word_xp::AddIn**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Revisions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020980-0000-0000-C000-000000000046}
// *********************************************************************//
interface Revisions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::Revision** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE AcceptAll(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE RejectAll(void) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::Revision* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Revision* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Revision**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Revision
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020981-0000-0000-C000-000000000046}
// *********************************************************************//
interface Revision  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Author(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Date(DATE* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdRevisionType* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE Accept(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Reject(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_Style(Word_xp::Style** prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_FormatDescription(BSTR* prop/*[out,retval]*/) = 0; // [9]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Author(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Author((BSTR*)&prop));
    return prop;
  }

  DATE __fastcall get_Date(void)
  {
    DATE prop;
    OLECHECK(this->get_Date((DATE*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WdRevisionType __fastcall get_Type(void)
  {
    Word_xp::WdRevisionType prop;
    OLECHECK(this->get_Type((Word_xp::WdRevisionType*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  Word_xp::StylePtr __fastcall get_Style(void)
  {
    Word_xp::StylePtr prop;
    OLECHECK(this->get_Style(&prop));
    return prop;
  }

  BSTR __fastcall get_FormatDescription(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_FormatDescription((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Author = {read = get_Author};
  __property   DATE            Date = {read = get_Date};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WdRevisionType Type = {read = get_Type};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::StylePtr Style = {read = get_Style};
  __property   BSTR            FormatDescription = {read = get_FormatDescription};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Task
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020982-0000-0000-C000-000000000046}
// *********************************************************************//
interface Task  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Left(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_Left(long prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Top(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Top(long prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Width(long* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Width(long prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Height(long* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_Height(long prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_WindowState(Word_xp::WdWindowState* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_WindowState(Word_xp::WdWindowState prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Visible(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_Visible(VARIANT_BOOL prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE Activate(VARIANT* Wait/*[in,opt]*/= TNoParam()) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE Close(void) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE Move(long Left/*[in]*/, long Top/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE Resize(long Width/*[in]*/, long Height/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE SendWindowMessage(long Message/*[in]*/, long wParam/*[in]*/, 
                                                      long lParam/*[in]*/) = 0; // [14]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_Left(void)
  {
    long prop;
    OLECHECK(this->get_Left((long*)&prop));
    return prop;
  }

  long __fastcall get_Top(void)
  {
    long prop;
    OLECHECK(this->get_Top((long*)&prop));
    return prop;
  }

  long __fastcall get_Width(void)
  {
    long prop;
    OLECHECK(this->get_Width((long*)&prop));
    return prop;
  }

  long __fastcall get_Height(void)
  {
    long prop;
    OLECHECK(this->get_Height((long*)&prop));
    return prop;
  }

  Word_xp::WdWindowState __fastcall get_WindowState(void)
  {
    Word_xp::WdWindowState prop;
    OLECHECK(this->get_WindowState((Word_xp::WdWindowState*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Visible(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Visible((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   long            Left = {read = get_Left, write = set_Left};
  __property   long            Top = {read = get_Top, write = set_Top};
  __property   long            Width = {read = get_Width, write = set_Width};
  __property   long            Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdWindowState WindowState = {read = get_WindowState, write = set_WindowState};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Tasks
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020983-0000-0000-C000-000000000046}
// *********************************************************************//
interface Tasks  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Task** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Exists(BSTR Name/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE ExitWindoz(void) = 0; // [3]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::Task* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Task* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Task**)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall Exists(BSTR Name/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->Exists(Name, (VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: HeadersFooters
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020984-0000-0000-C000-000000000046}
// *********************************************************************//
interface HeadersFooters  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(Word_xp::WdHeaderFooterIndex Index/*[in]*/, 
                                         Word_xp::HeaderFooter** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::HeaderFooter* __fastcall Item(Word_xp::WdHeaderFooterIndex Index/*[in]*/)
  {
    Word_xp::HeaderFooter* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::HeaderFooter**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: HeaderFooter
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020985-0000-0000-C000-000000000046}
// *********************************************************************//
interface HeaderFooter  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Index(Word_xp::WdHeaderFooterIndex* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_IsHeader(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Exists(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_Exists(VARIANT_BOOL prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_PageNumbers(Word_xp::PageNumbers** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_LinkToPrevious(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_LinkToPrevious(VARIANT_BOOL prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Shapes(Word_xp::Shapes** prop/*[out,retval]*/) = 0; // [7]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::WdHeaderFooterIndex __fastcall get_Index(void)
  {
    Word_xp::WdHeaderFooterIndex prop;
    OLECHECK(this->get_Index((Word_xp::WdHeaderFooterIndex*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsHeader(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsHeader((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Exists(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Exists((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::PageNumbersPtr __fastcall get_PageNumbers(void)
  {
    Word_xp::PageNumbersPtr prop;
    OLECHECK(this->get_PageNumbers(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_LinkToPrevious(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_LinkToPrevious((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::ShapesPtr __fastcall get_Shapes(void)
  {
    Word_xp::ShapesPtr prop;
    OLECHECK(this->get_Shapes(&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WdHeaderFooterIndex Index = {read = get_Index};
  __property   VARIANT_BOOL    IsHeader = {read = get_IsHeader};
  __property   VARIANT_BOOL    Exists = {read = get_Exists, write = set_Exists};
  __property   Word_xp::PageNumbersPtr PageNumbers = {read = get_PageNumbers};
  __property   VARIANT_BOOL    LinkToPrevious = {read = get_LinkToPrevious, write = set_LinkToPrevious};
  __property   Word_xp::ShapesPtr Shapes = {read = get_Shapes};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: PageNumbers
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020986-0000-0000-C000-000000000046}
// *********************************************************************//
interface PageNumbers  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_NumberStyle(Word_xp::WdPageNumberStyle* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_NumberStyle(Word_xp::WdPageNumberStyle prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_IncludeChapterNumber(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_IncludeChapterNumber(VARIANT_BOOL prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_HeadingLevelForChapter(long* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_HeadingLevelForChapter(long prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_ChapterPageSeparator(Word_xp::WdSeparatorType* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_ChapterPageSeparator(Word_xp::WdSeparatorType prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_RestartNumberingAtSection(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_RestartNumberingAtSection(VARIANT_BOOL prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_StartingNumber(long* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_StartingNumber(long prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_ShowFirstPageNumber(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_ShowFirstPageNumber(VARIANT_BOOL prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::PageNumber** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* PageNumberAlignment/*[in,opt]*/, 
                                        VARIANT* FirstPage/*[in,opt]*/, 
                                        Word_xp::PageNumber** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_DoubleQuote(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_DoubleQuote(VARIANT_BOOL prop/*[in]*/) = 0; // [10]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WdPageNumberStyle __fastcall get_NumberStyle(void)
  {
    Word_xp::WdPageNumberStyle prop;
    OLECHECK(this->get_NumberStyle((Word_xp::WdPageNumberStyle*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IncludeChapterNumber(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IncludeChapterNumber((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_HeadingLevelForChapter(void)
  {
    long prop;
    OLECHECK(this->get_HeadingLevelForChapter((long*)&prop));
    return prop;
  }

  Word_xp::WdSeparatorType __fastcall get_ChapterPageSeparator(void)
  {
    Word_xp::WdSeparatorType prop;
    OLECHECK(this->get_ChapterPageSeparator((Word_xp::WdSeparatorType*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RestartNumberingAtSection(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RestartNumberingAtSection((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_StartingNumber(void)
  {
    long prop;
    OLECHECK(this->get_StartingNumber((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowFirstPageNumber(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowFirstPageNumber((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::PageNumber* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::PageNumber* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::PageNumber**)&prop));
    return prop;
  }

  Word_xp::PageNumber* __fastcall Add(VARIANT* PageNumberAlignment/*[in,opt]*/= TNoParam(), 
                                      VARIANT* FirstPage/*[in,opt]*/= TNoParam())
  {
    Word_xp::PageNumber* prop = 0;
    OLECHECK(this->Add(PageNumberAlignment, FirstPage, (Word_xp::PageNumber**)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DoubleQuote(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DoubleQuote((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdPageNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   VARIANT_BOOL    IncludeChapterNumber = {read = get_IncludeChapterNumber, write = set_IncludeChapterNumber};
  __property   long            HeadingLevelForChapter = {read = get_HeadingLevelForChapter, write = set_HeadingLevelForChapter};
  __property   Word_xp::WdSeparatorType ChapterPageSeparator = {read = get_ChapterPageSeparator, write = set_ChapterPageSeparator};
  __property   VARIANT_BOOL    RestartNumberingAtSection = {read = get_RestartNumberingAtSection, write = set_RestartNumberingAtSection};
  __property   long            StartingNumber = {read = get_StartingNumber, write = set_StartingNumber};
  __property   VARIANT_BOOL    ShowFirstPageNumber = {read = get_ShowFirstPageNumber, write = set_ShowFirstPageNumber};
  __property   VARIANT_BOOL    DoubleQuote = {read = get_DoubleQuote, write = set_DoubleQuote};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: PageNumber
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020987-0000-0000-C000-000000000046}
// *********************************************************************//
interface PageNumber  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Alignment(Word_xp::WdPageNumberAlignment* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Alignment(Word_xp::WdPageNumberAlignment prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE Copy(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Cut(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [103]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  Word_xp::WdPageNumberAlignment __fastcall get_Alignment(void)
  {
    Word_xp::WdPageNumberAlignment prop;
    OLECHECK(this->get_Alignment((Word_xp::WdPageNumberAlignment*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::WdPageNumberAlignment Alignment = {read = get_Alignment, write = set_Alignment};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Subdocuments
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020988-0000-0000-C000-000000000046}
// *********************************************************************//
interface Subdocuments  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Expanded(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Expanded(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::Subdocument** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE AddFromFile(VARIANT* Name/*[in]*/, 
                                                VARIANT* ConfirmConversions/*[in,opt]*/, 
                                                VARIANT* ReadOnly/*[in,opt]*/, 
                                                VARIANT* PasswordDocument/*[in,opt]*/, 
                                                VARIANT* PasswordTemplate/*[in,opt]*/, 
                                                VARIANT* Revert/*[in,opt]*/, 
                                                VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                                VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                                Word_xp::Subdocument** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE AddFromRange(Word_xp::WordRange* Range/*[in]*/, 
                                                 Word_xp::Subdocument** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Merge(VARIANT* FirstSubdocument/*[in,opt]*/= TNoParam(), 
                                          VARIANT* LastSubdocument/*[in,opt]*/= TNoParam()) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [104]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Expanded(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Expanded((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::Subdocument* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Subdocument* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Subdocument**)&prop));
    return prop;
  }

  Word_xp::Subdocument* __fastcall AddFromFile(VARIANT* Name/*[in]*/, 
                                               VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                               VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                               VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                               VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                               VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam())
  {
    Word_xp::Subdocument* prop = 0;
    OLECHECK(this->AddFromFile(Name, ConfirmConversions, ReadOnly, PasswordDocument, 
                               PasswordTemplate, Revert, WritePasswordDocument, 
                               WritePasswordTemplate, (Word_xp::Subdocument**)&prop));
    return prop;
  }

  Word_xp::Subdocument* __fastcall AddFromRange(Word_xp::WordRange* Range/*[in]*/)
  {
    Word_xp::Subdocument* prop = 0;
    OLECHECK(this->AddFromRange(Range, (Word_xp::Subdocument**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   VARIANT_BOOL    Expanded = {read = get_Expanded, write = set_Expanded};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Subdocument
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020989-0000-0000-C000-000000000046}
// *********************************************************************//
interface Subdocument  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Locked(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_Locked(VARIANT_BOOL prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Path(BSTR* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_HasFile(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Level(long* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Split(Word_xp::WordRange* Range/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Open(Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Locked(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Locked((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Path(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Path((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HasFile(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HasFile((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_Level(void)
  {
    long prop;
    OLECHECK(this->get_Level((long*)&prop));
    return prop;
  }

  Word_xp::WordDocument* __fastcall Open(void)
  {
    Word_xp::WordDocument* prop = 0;
    OLECHECK(this->Open((Word_xp::WordDocument**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Locked = {read = get_Locked, write = set_Locked};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Path = {read = get_Path};
  __property   VARIANT_BOOL    HasFile = {read = get_HasFile};
  __property   long            Level = {read = get_Level};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: HeadingStyles
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098A-0000-0000-C000-000000000046}
// *********************************************************************//
interface HeadingStyles  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::HeadingStyle** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* Style/*[in]*/, short Level/*[in]*/, 
                                        Word_xp::HeadingStyle** prop/*[out,retval]*/) = 0; // [100]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::HeadingStyle* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::HeadingStyle* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::HeadingStyle**)&prop));
    return prop;
  }

  Word_xp::HeadingStyle* __fastcall Add(VARIANT* Style/*[in]*/, short Level/*[in]*/)
  {
    Word_xp::HeadingStyle* prop = 0;
    OLECHECK(this->Add(Style, Level, (Word_xp::HeadingStyle**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: HeadingStyle
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098B-0000-0000-C000-000000000046}
// *********************************************************************//
interface HeadingStyle  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Style(VARIANT* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Style(VARIANT* prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Level(short* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Level(short prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [100]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT __fastcall get_Style(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Style((VARIANT*)&prop));
    return prop;
  }

  short __fastcall get_Level(void)
  {
    short prop;
    OLECHECK(this->get_Level((short*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   short           Level = {read = get_Level, write = set_Level};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: StoryRanges
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098C-0000-0000-C000-000000000046}
// *********************************************************************//
interface StoryRanges  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(Word_xp::WdStoryType Index/*[in]*/, 
                                         Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall Item(Word_xp::WdStoryType Index/*[in]*/)
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::WordRange**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ListLevel
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098D-0000-0000-C000-000000000046}
// *********************************************************************//
interface ListLevel  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_NumberFormat(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_NumberFormat(BSTR prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_TrailingCharacter(Word_xp::WdTrailingCharacter* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_TrailingCharacter(Word_xp::WdTrailingCharacter prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_NumberStyle(Word_xp::WdListNumberStyle* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_NumberStyle(Word_xp::WdListNumberStyle prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_NumberPosition(float* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_NumberPosition(float prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Alignment(Word_xp::WdListLevelAlignment* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_Alignment(Word_xp::WdListLevelAlignment prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_TextPosition(float* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_TextPosition(float prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_TabPosition(float* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_TabPosition(float prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_ResetOnHigherOld(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_ResetOnHigherOld(VARIANT_BOOL prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_StartAt(long* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_StartAt(long prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_LinkedStyle(BSTR* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_LinkedStyle(BSTR prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_Font(Word_xp::WordFont** prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_Font(Word_xp::WordFont* prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_ResetOnHigher(long* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_ResetOnHigher(long prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_PictureBullet(Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE ApplyPictureBullet(BSTR FileName/*[in]*/, 
                                                       Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_NumberFormat(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_NumberFormat((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdTrailingCharacter __fastcall get_TrailingCharacter(void)
  {
    Word_xp::WdTrailingCharacter prop;
    OLECHECK(this->get_TrailingCharacter((Word_xp::WdTrailingCharacter*)&prop));
    return prop;
  }

  Word_xp::WdListNumberStyle __fastcall get_NumberStyle(void)
  {
    Word_xp::WdListNumberStyle prop;
    OLECHECK(this->get_NumberStyle((Word_xp::WdListNumberStyle*)&prop));
    return prop;
  }

  float __fastcall get_NumberPosition(void)
  {
    float prop;
    OLECHECK(this->get_NumberPosition((float*)&prop));
    return prop;
  }

  Word_xp::WdListLevelAlignment __fastcall get_Alignment(void)
  {
    Word_xp::WdListLevelAlignment prop;
    OLECHECK(this->get_Alignment((Word_xp::WdListLevelAlignment*)&prop));
    return prop;
  }

  float __fastcall get_TextPosition(void)
  {
    float prop;
    OLECHECK(this->get_TextPosition((float*)&prop));
    return prop;
  }

  float __fastcall get_TabPosition(void)
  {
    float prop;
    OLECHECK(this->get_TabPosition((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ResetOnHigherOld(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ResetOnHigherOld((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_StartAt(void)
  {
    long prop;
    OLECHECK(this->get_StartAt((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_LinkedStyle(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_LinkedStyle((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordFontPtr __fastcall get_Font(void)
  {
    Word_xp::WordFontPtr prop;
    OLECHECK(this->get_Font(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Font(Word_xp::WordFontPtr prop/*[in]*/)
  {
    return set_Font((Word_xp::WordFont*)prop/*[in]*/);
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_ResetOnHigher(void)
  {
    long prop;
    OLECHECK(this->get_ResetOnHigher((long*)&prop));
    return prop;
  }

  Word_xp::InlineShapePtr __fastcall get_PictureBullet(void)
  {
    Word_xp::InlineShapePtr prop;
    OLECHECK(this->get_PictureBullet(&prop));
    return prop;
  }

  Word_xp::InlineShape* __fastcall ApplyPictureBullet(BSTR FileName/*[in]*/)
  {
    Word_xp::InlineShape* prop = 0;
    OLECHECK(this->ApplyPictureBullet(FileName, (Word_xp::InlineShape**)&prop));
    return prop;
  }


  __property   long            Index = {read = get_Index};
  __property   BSTR            NumberFormat = {read = get_NumberFormat, write = set_NumberFormat};
  __property   Word_xp::WdTrailingCharacter TrailingCharacter = {read = get_TrailingCharacter, write = set_TrailingCharacter};
  __property   Word_xp::WdListNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   float           NumberPosition = {read = get_NumberPosition, write = set_NumberPosition};
  __property   Word_xp::WdListLevelAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   float           TextPosition = {read = get_TextPosition, write = set_TextPosition};
  __property   float           TabPosition = {read = get_TabPosition, write = set_TabPosition};
  __property   VARIANT_BOOL    ResetOnHigherOld = {read = get_ResetOnHigherOld, write = set_ResetOnHigherOld};
  __property   long            StartAt = {read = get_StartAt, write = set_StartAt};
  __property   BSTR            LinkedStyle = {read = get_LinkedStyle, write = set_LinkedStyle};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            ResetOnHigher = {read = get_ResetOnHigher, write = set_ResetOnHigher};
  __property   Word_xp::InlineShapePtr PictureBullet = {read = get_PictureBullet};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ListLevels
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098E-0000-0000-C000-000000000046}
// *********************************************************************//
interface ListLevels  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::ListLevel** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::ListLevel* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::ListLevel* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::ListLevel**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ListTemplate
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098F-0000-0000-C000-000000000046}
// *********************************************************************//
interface ListTemplate  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_OutlineNumbered(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_OutlineNumbered(VARIANT_BOOL prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_ListLevels(Word_xp::ListLevels** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Convert(VARIANT* Level/*[in,opt]*/, 
                                            Word_xp::ListTemplate** prop/*[out,retval]*/) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_OutlineNumbered(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_OutlineNumbered((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  Word_xp::ListLevelsPtr __fastcall get_ListLevels(void)
  {
    Word_xp::ListLevelsPtr prop;
    OLECHECK(this->get_ListLevels(&prop));
    return prop;
  }

  Word_xp::ListTemplate* __fastcall Convert(VARIANT* Level/*[in,opt]*/= TNoParam())
  {
    Word_xp::ListTemplate* prop = 0;
    OLECHECK(this->Convert(Level, (Word_xp::ListTemplate**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    OutlineNumbered = {read = get_OutlineNumbered, write = set_OutlineNumbered};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   Word_xp::ListLevelsPtr ListLevels = {read = get_ListLevels};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ListTemplates
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020990-0000-0000-C000-000000000046}
// *********************************************************************//
interface ListTemplates  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::ListTemplate** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* OutlineNumbered/*[in,opt]*/, 
                                        VARIANT* Name/*[in,opt]*/, 
                                        Word_xp::ListTemplate** prop/*[out,retval]*/) = 0; // [100]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::ListTemplate* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::ListTemplate* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::ListTemplate**)&prop));
    return prop;
  }

  Word_xp::ListTemplate* __fastcall Add(VARIANT* OutlineNumbered/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Name/*[in,opt]*/= TNoParam())
  {
    Word_xp::ListTemplate* prop = 0;
    OLECHECK(this->Add(OutlineNumbered, Name, (Word_xp::ListTemplate**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ListParagraphs
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020991-0000-0000-C000-000000000046}
// *********************************************************************//
interface ListParagraphs  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::Paragraph** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::Paragraph* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Paragraph* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Paragraph**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: List
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020992-0000-0000-C000-000000000046}
// *********************************************************************//
interface List  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_ListParagraphs(Word_xp::ListParagraphs** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_SingleListTemplate(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE ConvertNumbersToText(VARIANT* NumberType/*[in,opt]*/= TNoParam()) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE RemoveNumbers(VARIANT* NumberType/*[in,opt]*/= TNoParam()) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, 
                                                       VARIANT* Level/*[in,opt]*/, 
                                                       long* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE ApplyListTemplateOld(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                                         VARIANT* ContinuePreviousList/*[in,opt]*/= TNoParam()) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE CanContinuePreviousList(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                                            Word_xp::WdContinue* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE ApplyListTemplate(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                                      VARIANT* ContinuePreviousList/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* DefaultListBehavior/*[in,opt]*/= TNoParam()) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_StyleName(BSTR* prop/*[out,retval]*/) = 0; // [4]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::ListParagraphsPtr __fastcall get_ListParagraphs(void)
  {
    Word_xp::ListParagraphsPtr prop;
    OLECHECK(this->get_ListParagraphs(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SingleListTemplate(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SingleListTemplate((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall CountNumberedItems(VARIANT* NumberType/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Level/*[in,opt]*/= TNoParam())
  {
    long prop;
    OLECHECK(this->CountNumberedItems(NumberType, Level, (long*)&prop));
    return prop;
  }

  Word_xp::WdContinue __fastcall CanContinuePreviousList(Word_xp::ListTemplate* ListTemplate/*[in]*/)
  {
    Word_xp::WdContinue prop;
    OLECHECK(this->CanContinuePreviousList(ListTemplate, (Word_xp::WdContinue*)&prop));
    return prop;
  }

  BSTR __fastcall get_StyleName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_StyleName((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::ListParagraphsPtr ListParagraphs = {read = get_ListParagraphs};
  __property   VARIANT_BOOL    SingleListTemplate = {read = get_SingleListTemplate};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            StyleName = {read = get_StyleName};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Lists
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020993-0000-0000-C000-000000000046}
// *********************************************************************//
interface Lists  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::List** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::List* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::List* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::List**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ListGallery
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020994-0000-0000-C000-000000000046}
// *********************************************************************//
interface ListGallery  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ListTemplates(Word_xp::ListTemplates** prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Modified(long Index/*[in]*/, 
                                                 VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Reset(long Index/*[in]*/) = 0; // [100]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::ListTemplatesPtr __fastcall get_ListTemplates(void)
  {
    Word_xp::ListTemplatesPtr prop;
    OLECHECK(this->get_ListTemplates(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Modified(long Index/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Modified(Index, (VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::ListTemplatesPtr ListTemplates = {read = get_ListTemplates};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ListGalleries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020995-0000-0000-C000-000000000046}
// *********************************************************************//
interface ListGalleries  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(Word_xp::WdListGalleryType Index/*[in]*/, 
                                         Word_xp::ListGallery** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::ListGallery* __fastcall Item(Word_xp::WdListGalleryType Index/*[in]*/)
  {
    Word_xp::ListGallery* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::ListGallery**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: KeyBindings
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020996-0000-0000-C000-000000000046}
// *********************************************************************//
interface KeyBindings  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Context(LPDISPATCH* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::KeyBinding** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                        BSTR Command/*[in]*/, long KeyCode/*[in]*/, 
                                        VARIANT* KeyCode2/*[in,opt]*/, 
                                        VARIANT* CommandParameter/*[in,opt]*/, 
                                        Word_xp::KeyBinding** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE ClearAll(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE Key(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                        Word_xp::KeyBinding** prop/*[out,retval]*/) = 0; // [110]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Context(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Context((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::KeyBinding* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::KeyBinding* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::KeyBinding**)&prop));
    return prop;
  }

  Word_xp::KeyBinding* __fastcall Add(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                      BSTR Command/*[in]*/, long KeyCode/*[in]*/, 
                                      VARIANT* KeyCode2/*[in,opt]*/= TNoParam(), 
                                      VARIANT* CommandParameter/*[in,opt]*/= TNoParam())
  {
    Word_xp::KeyBinding* prop = 0;
    OLECHECK(this->Add(KeyCategory, Command, KeyCode, KeyCode2, CommandParameter, (Word_xp::KeyBinding**)&prop));
    return prop;
  }

  Word_xp::KeyBinding* __fastcall Key(long KeyCode/*[in]*/, 
                                      VARIANT* KeyCode2/*[in,opt]*/= TNoParam())
  {
    Word_xp::KeyBinding* prop = 0;
    OLECHECK(this->Key(KeyCode, KeyCode2, (Word_xp::KeyBinding**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   LPDISPATCH      Context = {read = get_Context};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: KeysBoundTo
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020997-0000-0000-C000-000000000046}
// *********************************************************************//
interface KeysBoundTo  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_KeyCategory(Word_xp::WdKeyCategory* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Command(BSTR* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_CommandParameter(BSTR* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Context(LPDISPATCH* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::KeyBinding** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Key(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                        Word_xp::KeyBinding** prop/*[out,retval]*/) = 0; // [1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WdKeyCategory __fastcall get_KeyCategory(void)
  {
    Word_xp::WdKeyCategory prop;
    OLECHECK(this->get_KeyCategory((Word_xp::WdKeyCategory*)&prop));
    return prop;
  }

  BSTR __fastcall get_Command(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Command((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_CommandParameter(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_CommandParameter((BSTR*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Context(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Context((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::KeyBinding* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::KeyBinding* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::KeyBinding**)&prop));
    return prop;
  }

  Word_xp::KeyBinding* __fastcall Key(long KeyCode/*[in]*/, 
                                      VARIANT* KeyCode2/*[in,opt]*/= TNoParam())
  {
    Word_xp::KeyBinding* prop = 0;
    OLECHECK(this->Key(KeyCode, KeyCode2, (Word_xp::KeyBinding**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdKeyCategory KeyCategory = {read = get_KeyCategory};
  __property   BSTR            Command = {read = get_Command};
  __property   BSTR            CommandParameter = {read = get_CommandParameter};
  __property   LPDISPATCH      Context = {read = get_Context};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: KeyBinding
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020998-0000-0000-C000-000000000046}
// *********************************************************************//
interface KeyBinding  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Command(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_KeyString(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Protected(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_KeyCategory(Word_xp::WdKeyCategory* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_KeyCode(long* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_KeyCode2(long* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_CommandParameter(BSTR* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_Context(LPDISPATCH* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE Clear(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Disable(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE Execute(void) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE Rebind(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                           BSTR Command/*[in]*/, 
                                           VARIANT* CommandParameter/*[in,opt]*/= TNoParam()) = 0; // [104]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Command(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Command((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_KeyString(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_KeyString((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Protected(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Protected((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdKeyCategory __fastcall get_KeyCategory(void)
  {
    Word_xp::WdKeyCategory prop;
    OLECHECK(this->get_KeyCategory((Word_xp::WdKeyCategory*)&prop));
    return prop;
  }

  long __fastcall get_KeyCode(void)
  {
    long prop;
    OLECHECK(this->get_KeyCode((long*)&prop));
    return prop;
  }

  long __fastcall get_KeyCode2(void)
  {
    long prop;
    OLECHECK(this->get_KeyCode2((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_CommandParameter(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_CommandParameter((BSTR*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Context(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Context((LPDISPATCH*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Command = {read = get_Command};
  __property   BSTR            KeyString = {read = get_KeyString};
  __property   VARIANT_BOOL    Protected = {read = get_Protected};
  __property   Word_xp::WdKeyCategory KeyCategory = {read = get_KeyCategory};
  __property   long            KeyCode = {read = get_KeyCode};
  __property   long            KeyCode2 = {read = get_KeyCode2};
  __property   BSTR            CommandParameter = {read = get_CommandParameter};
  __property   LPDISPATCH      Context = {read = get_Context};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: FileConverter
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020999-0000-0000-C000-000000000046}
// *********************************************************************//
interface FileConverter  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_FormatName(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_ClassName(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_SaveFormat(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_OpenFormat(long* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_CanSave(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_CanOpen(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Path(BSTR* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_Extensions(BSTR* prop/*[out,retval]*/) = 0; // [8]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_FormatName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_FormatName((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_ClassName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ClassName((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_SaveFormat(void)
  {
    long prop;
    OLECHECK(this->get_SaveFormat((long*)&prop));
    return prop;
  }

  long __fastcall get_OpenFormat(void)
  {
    long prop;
    OLECHECK(this->get_OpenFormat((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CanSave(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CanSave((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CanOpen(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CanOpen((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_Path(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Path((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Extensions(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Extensions((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            FormatName = {read = get_FormatName};
  __property   BSTR            ClassName = {read = get_ClassName};
  __property   long            SaveFormat = {read = get_SaveFormat};
  __property   long            OpenFormat = {read = get_OpenFormat};
  __property   VARIANT_BOOL    CanSave = {read = get_CanSave};
  __property   VARIANT_BOOL    CanOpen = {read = get_CanOpen};
  __property   BSTR            Path = {read = get_Path};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Extensions = {read = get_Extensions};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: FileConverters
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099A-0000-0000-C000-000000000046}
// *********************************************************************//
interface FileConverters  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_ConvertMacWordChevrons(Word_xp::WdChevronConvertRule* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_ConvertMacWordChevrons(Word_xp::WdChevronConvertRule prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::FileConverter** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::WdChevronConvertRule __fastcall get_ConvertMacWordChevrons(void)
  {
    Word_xp::WdChevronConvertRule prop;
    OLECHECK(this->get_ConvertMacWordChevrons((Word_xp::WdChevronConvertRule*)&prop));
    return prop;
  }

  Word_xp::FileConverter* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::FileConverter* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::FileConverter**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   Word_xp::WdChevronConvertRule ConvertMacWordChevrons = {read = get_ConvertMacWordChevrons, write = set_ConvertMacWordChevrons};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: SynonymInfo
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099B-0000-0000-C000-000000000046}
// *********************************************************************//
interface SynonymInfo  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Word(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Found(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_MeaningCount(long* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_MeaningList(VARIANT* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_PartOfSpeechList(VARIANT* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_SynonymList(VARIANT* Meaning/*[in]*/, 
                                                    VARIANT* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_AntonymList(VARIANT* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_RelatedExpressionList(VARIANT* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_RelatedWordList(VARIANT* prop/*[out,retval]*/) = 0; // [10]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Word(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Word((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Found(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Found((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_MeaningCount(void)
  {
    long prop;
    OLECHECK(this->get_MeaningCount((long*)&prop));
    return prop;
  }

  VARIANT __fastcall get_MeaningList(void)
  {
    VARIANT prop;
    OLECHECK(this->get_MeaningList((VARIANT*)&prop));
    return prop;
  }

  VARIANT __fastcall get_PartOfSpeechList(void)
  {
    VARIANT prop;
    OLECHECK(this->get_PartOfSpeechList((VARIANT*)&prop));
    return prop;
  }

  VARIANT __fastcall get_SynonymList(VARIANT* Meaning/*[in]*/)
  {
    VARIANT prop;
    OLECHECK(this->get_SynonymList(Meaning, (VARIANT*)&prop));
    return prop;
  }

  VARIANT __fastcall get_AntonymList(void)
  {
    VARIANT prop;
    OLECHECK(this->get_AntonymList((VARIANT*)&prop));
    return prop;
  }

  VARIANT __fastcall get_RelatedExpressionList(void)
  {
    VARIANT prop;
    OLECHECK(this->get_RelatedExpressionList((VARIANT*)&prop));
    return prop;
  }

  VARIANT __fastcall get_RelatedWordList(void)
  {
    VARIANT prop;
    OLECHECK(this->get_RelatedWordList((VARIANT*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Word = {read = get_Word};
  __property   VARIANT_BOOL    Found = {read = get_Found};
  __property   long            MeaningCount = {read = get_MeaningCount};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Hyperlinks
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099C-0000-0000-C000-000000000046}
// *********************************************************************//
interface Hyperlinks  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Hyperlink** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE _Add(LPDISPATCH Anchor/*[in]*/, VARIANT* Address/*[in,opt]*/, 
                                         VARIANT* SubAddress/*[in,opt]*/, 
                                         Word_xp::Hyperlink** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Add(LPDISPATCH Anchor/*[in]*/, VARIANT* Address/*[in,opt]*/, 
                                        VARIANT* SubAddress/*[in,opt]*/, 
                                        VARIANT* ScreenTip/*[in,opt]*/, 
                                        VARIANT* TextToDisplay/*[in,opt]*/, 
                                        VARIANT* Target/*[in,opt]*/, 
                                        Word_xp::Hyperlink** prop/*[out,retval]*/) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::Hyperlink* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Hyperlink* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Hyperlink**)&prop));
    return prop;
  }

  Word_xp::Hyperlink* __fastcall _Add(LPDISPATCH Anchor/*[in]*/, 
                                      VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SubAddress/*[in,opt]*/= TNoParam())
  {
    Word_xp::Hyperlink* prop = 0;
    OLECHECK(this->_Add(Anchor, Address, SubAddress, (Word_xp::Hyperlink**)&prop));
    return prop;
  }

  Word_xp::Hyperlink* __fastcall Add(LPDISPATCH Anchor/*[in]*/, 
                                     VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SubAddress/*[in,opt]*/= TNoParam(), 
                                     VARIANT* ScreenTip/*[in,opt]*/= TNoParam(), 
                                     VARIANT* TextToDisplay/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Target/*[in,opt]*/= TNoParam())
  {
    Word_xp::Hyperlink* prop = 0;
    OLECHECK(this->Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay, Target, (Word_xp::Hyperlink**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Hyperlink
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099D-0000-0000-C000-000000000046}
// *********************************************************************//
interface Hyperlink  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [1003]
  virtual HRESULT STDMETHODCALLTYPE get_AddressOld(BSTR* prop/*[out,retval]*/) = 0; // [1004]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Office_xp::MsoHyperlinkType* prop/*[out,retval]*/) = 0; // [1005]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [1006]
  virtual HRESULT STDMETHODCALLTYPE get_Shape(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [1007]
  virtual HRESULT STDMETHODCALLTYPE get_SubAddressOld(BSTR* prop/*[out,retval]*/) = 0; // [1008]
  virtual HRESULT STDMETHODCALLTYPE get_ExtraInfoRequired(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1009]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE Follow(VARIANT* NewWindow/*[in,opt]*/= TNoParam(), 
                                           VARIANT* AddHistory/*[in,opt]*/= TNoParam(), 
                                           VARIANT* ExtraInfo/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Method/*[in,opt]*/= TNoParam(), 
                                           VARIANT* HeaderInfo/*[in,opt]*/= TNoParam()) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE AddToFavorites(void) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE CreateNewDocument(BSTR FileName/*[in]*/, 
                                                      VARIANT_BOOL EditNow/*[in]*/, 
                                                      VARIANT_BOOL Overwrite/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_Address(BSTR* prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Address(BSTR prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_SubAddress(BSTR* prop/*[out,retval]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE set_SubAddress(BSTR prop/*[in]*/) = 0; // [1101]
  virtual HRESULT STDMETHODCALLTYPE get_EmailSubject(BSTR* prop/*[out,retval]*/) = 0; // [1010]
  virtual HRESULT STDMETHODCALLTYPE set_EmailSubject(BSTR prop/*[in]*/) = 0; // [1010]
  virtual HRESULT STDMETHODCALLTYPE get_ScreenTip(BSTR* prop/*[out,retval]*/) = 0; // [1011]
  virtual HRESULT STDMETHODCALLTYPE set_ScreenTip(BSTR prop/*[in]*/) = 0; // [1011]
  virtual HRESULT STDMETHODCALLTYPE get_TextToDisplay(BSTR* prop/*[out,retval]*/) = 0; // [1012]
  virtual HRESULT STDMETHODCALLTYPE set_TextToDisplay(BSTR prop/*[in]*/) = 0; // [1012]
  virtual HRESULT STDMETHODCALLTYPE get_Target(BSTR* prop/*[out,retval]*/) = 0; // [1013]
  virtual HRESULT STDMETHODCALLTYPE set_Target(BSTR prop/*[in]*/) = 0; // [1013]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_AddressOld(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_AddressOld((BSTR*)&prop));
    return prop;
  }

  Office_xp::MsoHyperlinkType __fastcall get_Type(void)
  {
    Office_xp::MsoHyperlinkType prop;
    OLECHECK(this->get_Type((Office_xp::MsoHyperlinkType*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::ShapePtr __fastcall get_Shape(void)
  {
    Word_xp::ShapePtr prop;
    OLECHECK(this->get_Shape(&prop));
    return prop;
  }

  BSTR __fastcall get_SubAddressOld(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SubAddressOld((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ExtraInfoRequired(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ExtraInfoRequired((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_Address(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Address((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_SubAddress(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SubAddress((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_EmailSubject(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_EmailSubject((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_ScreenTip(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ScreenTip((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_TextToDisplay(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_TextToDisplay((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Target(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Target((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            AddressOld = {read = get_AddressOld};
  __property   Office_xp::MsoHyperlinkType Type = {read = get_Type};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::ShapePtr Shape = {read = get_Shape};
  __property   BSTR            SubAddressOld = {read = get_SubAddressOld};
  __property   VARIANT_BOOL    ExtraInfoRequired = {read = get_ExtraInfoRequired};
  __property   BSTR            Address = {read = get_Address, write = set_Address};
  __property   BSTR            SubAddress = {read = get_SubAddress, write = set_SubAddress};
  __property   BSTR            EmailSubject = {read = get_EmailSubject, write = set_EmailSubject};
  __property   BSTR            ScreenTip = {read = get_ScreenTip, write = set_ScreenTip};
  __property   BSTR            TextToDisplay = {read = get_TextToDisplay, write = set_TextToDisplay};
  __property   BSTR            Target = {read = get_Target, write = set_Target};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Shapes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099F-0000-0000-C000-000000000046}
// *********************************************************************//
interface Shapes  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [8000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [8001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Shape** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE AddCallout(Office_xp::MsoCalloutType Type/*[in]*/, 
                                               float Left/*[in]*/, float Top/*[in]*/, 
                                               float Width/*[in]*/, float Height/*[in]*/, 
                                               VARIANT* Anchor/*[in,opt]*/, 
                                               Word_xp::Shape** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE AddConnector(Office_xp::MsoConnectorType Type/*[in]*/, 
                                                 float BeginX/*[in]*/, float BeginY/*[in]*/, 
                                                 float EndX/*[in]*/, float EndY/*[in]*/, 
                                                 Word_xp::Shape** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE AddCurve(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                             VARIANT* Anchor/*[in,opt]*/, 
                                             Word_xp::Shape** prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE AddLabel(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                             float Left/*[in]*/, float Top/*[in]*/, 
                                             float Width/*[in]*/, float Height/*[in]*/, 
                                             VARIANT* Anchor/*[in,opt]*/, 
                                             Word_xp::Shape** prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE AddLine(float BeginX/*[in]*/, float BeginY/*[in]*/, 
                                            float EndX/*[in]*/, float EndY/*[in]*/, 
                                            VARIANT* Anchor/*[in,opt]*/, 
                                            Word_xp::Shape** prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE AddPicture(BSTR FileName/*[in]*/, 
                                               VARIANT* LinkToFile/*[in,opt]*/, 
                                               VARIANT* SaveWithDocument/*[in,opt]*/, 
                                               VARIANT* Left/*[in,opt]*/, VARIANT* Top/*[in,opt]*/, 
                                               VARIANT* Width/*[in,opt]*/, 
                                               VARIANT* Height/*[in,opt]*/, 
                                               VARIANT* Anchor/*[in,opt]*/, 
                                               Word_xp::Shape** prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE AddPolyline(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                                VARIANT* Anchor/*[in,opt]*/, 
                                                Word_xp::Shape** prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE AddShape(long Type/*[in]*/, float Left/*[in]*/, 
                                             float Top/*[in]*/, float Width/*[in]*/, 
                                             float Height/*[in]*/, VARIANT* Anchor/*[in,opt]*/, 
                                             Word_xp::Shape** prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE AddTextEffect(Office_xp::MsoPresetTextEffect PresetTextEffect/*[in]*/, 
                                                  BSTR Text/*[in]*/, BSTR FontName/*[in]*/, 
                                                  float FontSize/*[in]*/, 
                                                  Office_xp::MsoTriState FontBold/*[in]*/, 
                                                  Office_xp::MsoTriState FontItalic/*[in]*/, 
                                                  float Left/*[in]*/, float Top/*[in]*/, 
                                                  VARIANT* Anchor/*[in,opt]*/, 
                                                  Word_xp::Shape** prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE AddTextbox(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                               float Left/*[in]*/, float Top/*[in]*/, 
                                               float Width/*[in]*/, float Height/*[in]*/, 
                                               VARIANT* Anchor/*[in,opt]*/, 
                                               Word_xp::Shape** prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE BuildFreeform(Office_xp::MsoEditingType EditingType/*[in]*/, 
                                                  float X1/*[in]*/, float Y1/*[in]*/, 
                                                  Word_xp::FreeformBuilder** prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE Range(VARIANT* Index/*[in]*/, 
                                          Word_xp::ShapeRange** prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE SelectAll(void) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE AddOLEObject(VARIANT* ClassType/*[in,opt]*/, 
                                                 VARIANT* FileName/*[in,opt]*/, 
                                                 VARIANT* LinkToFile/*[in,opt]*/, 
                                                 VARIANT* DisplayAsIcon/*[in,opt]*/, 
                                                 VARIANT* IconFileName/*[in,opt]*/, 
                                                 VARIANT* IconIndex/*[in,opt]*/, 
                                                 VARIANT* IconLabel/*[in,opt]*/, 
                                                 VARIANT* Left/*[in,opt]*/, VARIANT* Top/*[in,opt]*/, 
                                                 VARIANT* Width/*[in,opt]*/, 
                                                 VARIANT* Height/*[in,opt]*/, 
                                                 VARIANT* Anchor/*[in,opt]*/, 
                                                 Word_xp::Shape** prop/*[out,retval]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE AddOLEControl(VARIANT* ClassType/*[in,opt]*/, 
                                                  VARIANT* Left/*[in,opt]*/, 
                                                  VARIANT* Top/*[in,opt]*/, 
                                                  VARIANT* Width/*[in,opt]*/, 
                                                  VARIANT* Height/*[in,opt]*/, 
                                                  VARIANT* Anchor/*[in,opt]*/, 
                                                  Word_xp::Shape** prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE AddDiagram(Office_xp::MsoDiagramType Type/*[in]*/, 
                                               float Left/*[in]*/, float Top/*[in]*/, 
                                               float Width/*[in]*/, float Height/*[in]*/, 
                                               VARIANT* Anchor/*[in,opt]*/, 
                                               Word_xp::Shape** prop/*[out,retval]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE AddCanvas(float Left/*[in]*/, float Top/*[in]*/, 
                                              float Width/*[in]*/, float Height/*[in]*/, 
                                              VARIANT* Anchor/*[in,opt]*/, 
                                              Word_xp::Shape** prop/*[out,retval]*/) = 0; // [25]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddCallout(Office_xp::MsoCalloutType Type/*[in]*/, float Left/*[in]*/, 
                                        float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                                        VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddCallout(Type, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddConnector(Office_xp::MsoConnectorType Type/*[in]*/, 
                                          float BeginX/*[in]*/, float BeginY/*[in]*/, 
                                          float EndX/*[in]*/, float EndY/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddConnector(Type, BeginX, BeginY, EndX, EndY, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddCurve(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                      VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddCurve(SafeArrayOfPoints, Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddLabel(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                      float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                      float Height/*[in]*/, VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddLabel(Orientation, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddLine(float BeginX/*[in]*/, float BeginY/*[in]*/, float EndX/*[in]*/, 
                                     float EndY/*[in]*/, VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddLine(BeginX, BeginY, EndX, EndY, Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddPicture(BSTR FileName/*[in]*/, 
                                        VARIANT* LinkToFile/*[in,opt]*/= TNoParam(), 
                                        VARIANT* SaveWithDocument/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Left/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Top/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddPicture(FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height, 
                              Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddPolyline(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                         VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddPolyline(SafeArrayOfPoints, Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddShape(long Type/*[in]*/, float Left/*[in]*/, float Top/*[in]*/, 
                                      float Width/*[in]*/, float Height/*[in]*/, 
                                      VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddShape(Type, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddTextEffect(Office_xp::MsoPresetTextEffect PresetTextEffect/*[in]*/, 
                                           BSTR Text/*[in]*/, BSTR FontName/*[in]*/, 
                                           float FontSize/*[in]*/, 
                                           Office_xp::MsoTriState FontBold/*[in]*/, 
                                           Office_xp::MsoTriState FontItalic/*[in]*/, 
                                           float Left/*[in]*/, float Top/*[in]*/, 
                                           VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddTextEffect(PresetTextEffect, Text, FontName, FontSize, FontBold, FontItalic, 
                                 Left, Top, Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddTextbox(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                        float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                        float Height/*[in]*/, 
                                        VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddTextbox(Orientation, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::FreeformBuilder* __fastcall BuildFreeform(Office_xp::MsoEditingType EditingType/*[in]*/, 
                                                     float X1/*[in]*/, float Y1/*[in]*/)
  {
    Word_xp::FreeformBuilder* prop = 0;
    OLECHECK(this->BuildFreeform(EditingType, X1, Y1, (Word_xp::FreeformBuilder**)&prop));
    return prop;
  }

  Word_xp::ShapeRange* __fastcall Range(VARIANT* Index/*[in]*/)
  {
    Word_xp::ShapeRange* prop = 0;
    OLECHECK(this->Range(Index, (Word_xp::ShapeRange**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddOLEObject(VARIANT* ClassType/*[in,opt]*/= TNoParam(), 
                                          VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* LinkToFile/*[in,opt]*/= TNoParam(), 
                                          VARIANT* DisplayAsIcon/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IconFileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IconIndex/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IconLabel/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Left/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Top/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddOLEObject(ClassType, FileName, LinkToFile, DisplayAsIcon, IconFileName, 
                                IconIndex, IconLabel, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddOLEControl(VARIANT* ClassType/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Left/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Top/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddOLEControl(ClassType, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddDiagram(Office_xp::MsoDiagramType Type/*[in]*/, float Left/*[in]*/, 
                                        float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                                        VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddDiagram(Type, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddCanvas(float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                       float Height/*[in]*/, VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddCanvas(Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ShapeRange
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B5-0000-0000-C000-000000000046}
// *********************************************************************//
interface ShapeRange  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [8000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [8001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Adjustments(Word_xp::Adjustments** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_AutoShapeType(Office_xp::MsoAutoShapeType* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_AutoShapeType(Office_xp::MsoAutoShapeType prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Callout(Word_xp::CalloutFormat** prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_ConnectionSiteCount(long* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Connector(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_ConnectorFormat(Word_xp::ConnectorFormat** prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_Fill(Word_xp::FillFormat** prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_GroupItems(Word_xp::GroupShapes** prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_Height(float* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_Height(float prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_HorizontalFlip(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_Left(float* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_Left(float prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_Line(Word_xp::LineFormat** prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_LockAspectRatio(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE set_LockAspectRatio(Office_xp::MsoTriState prop/*[in]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE get_Nodes(Word_xp::ShapeNodes** prop/*[out,retval]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE get_Rotation(float* prop/*[out,retval]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE set_Rotation(float prop/*[in]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE get_PictureFormat(Word_xp::PictureFormat** prop/*[out,retval]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE get_Shadow(Word_xp::ShadowFormat** prop/*[out,retval]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE get_TextEffect(Word_xp::TextEffectFormat** prop/*[out,retval]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE get_TextFrame(Word_xp::TextFrame** prop/*[out,retval]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE get_ThreeD(Word_xp::ThreeDFormat** prop/*[out,retval]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE get_Top(float* prop/*[out,retval]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE set_Top(float prop/*[in]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Office_xp::MsoShapeType* prop/*[out,retval]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE get_VerticalFlip(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE get_Vertices(VARIANT* prop/*[out,retval]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE set_Visible(Office_xp::MsoTriState prop/*[in]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE get_Width(float* prop/*[out,retval]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE set_Width(float prop/*[in]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE get_ZOrderPosition(long* prop/*[out,retval]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE get_Hyperlink(Word_xp::Hyperlink** prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition* prop/*[out,retval]*/) = 0; // [300]
  virtual HRESULT STDMETHODCALLTYPE set_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition prop/*[in]*/) = 0; // [300]
  virtual HRESULT STDMETHODCALLTYPE get_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition* prop/*[out,retval]*/) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE set_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition prop/*[in]*/) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE get_LockAnchor(long* prop/*[out,retval]*/) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE set_LockAnchor(long prop/*[in]*/) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE get_WrapFormat(Word_xp::WrapFormat** prop/*[out,retval]*/) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE get_Anchor(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [304]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Shape** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Align(Office_xp::MsoAlignCmd Align/*[in]*/, 
                                          long RelativeTo/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE Apply(void) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE Distribute(Office_xp::MsoDistributeCmd Distribute/*[in]*/, 
                                               long RelativeTo/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE Duplicate(Word_xp::ShapeRange** prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE Flip(Office_xp::MsoFlipCmd FlipCmd/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE IncrementLeft(float Increment/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE IncrementRotation(float Increment/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE IncrementTop(float Increment/*[in]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE Group(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE PickUp(void) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE Regroup(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE RerouteConnections(void) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE ScaleHeight(float Factor/*[in]*/, 
                                                Office_xp::MsoTriState RelativeToOriginalSize/*[in]*/, 
                                                Office_xp::MsoScaleFrom Scale/*[in,def,opt]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE ScaleWidth(float Factor/*[in]*/, 
                                               Office_xp::MsoTriState RelativeToOriginalSize/*[in]*/, 
                                               Office_xp::MsoScaleFrom Scale/*[in,def,opt]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE Select(VARIANT* Replace/*[in,opt]*/= TNoParam()) = 0; // [25]
  virtual HRESULT STDMETHODCALLTYPE SetShapesDefaultProperties(void) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE Ungroup(Word_xp::ShapeRange** prop/*[out,retval]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE ZOrder(Office_xp::MsoZOrderCmd ZOrderCmd/*[in]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE ConvertToFrame(Word_xp::Frame** prop/*[out,retval]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE ConvertToInlineShape(Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE Activate(void) = 0; // [50]
  virtual HRESULT STDMETHODCALLTYPE get_AlternativeText(BSTR* prop/*[out,retval]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE set_AlternativeText(BSTR prop/*[in]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE get_HasDiagram(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [132]
  virtual HRESULT STDMETHODCALLTYPE get_Diagram(Office_xp::IMsoDiagram** prop/*[out,retval]*/) = 0; // [133]
  virtual HRESULT STDMETHODCALLTYPE get_HasDiagramNode(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [134]
  virtual HRESULT STDMETHODCALLTYPE get_DiagramNode(Word_xp::DiagramNode** prop/*[out,retval]*/) = 0; // [135]
  virtual HRESULT STDMETHODCALLTYPE get_Child(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [136]
  virtual HRESULT STDMETHODCALLTYPE get_ParentGroup(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [137]
  virtual HRESULT STDMETHODCALLTYPE get_CanvasItems(Word_xp::CanvasShapes** prop/*[out,retval]*/) = 0; // [138]
  virtual HRESULT STDMETHODCALLTYPE get_ID(long* prop/*[out,retval]*/) = 0; // [139]
  virtual HRESULT STDMETHODCALLTYPE CanvasCropLeft(float Increment/*[in]*/) = 0; // [140]
  virtual HRESULT STDMETHODCALLTYPE CanvasCropTop(float Increment/*[in]*/) = 0; // [141]
  virtual HRESULT STDMETHODCALLTYPE CanvasCropRight(float Increment/*[in]*/) = 0; // [142]
  virtual HRESULT STDMETHODCALLTYPE CanvasCropBottom(float Increment/*[in]*/) = 0; // [143]
  virtual HRESULT STDMETHODCALLTYPE set_RTF(BSTR Param1/*[in]*/) = 0; // [144]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::AdjustmentsPtr __fastcall get_Adjustments(void)
  {
    Word_xp::AdjustmentsPtr prop;
    OLECHECK(this->get_Adjustments(&prop));
    return prop;
  }

  Office_xp::MsoAutoShapeType __fastcall get_AutoShapeType(void)
  {
    Office_xp::MsoAutoShapeType prop;
    OLECHECK(this->get_AutoShapeType((Office_xp::MsoAutoShapeType*)&prop));
    return prop;
  }

  Word_xp::CalloutFormatPtr __fastcall get_Callout(void)
  {
    Word_xp::CalloutFormatPtr prop;
    OLECHECK(this->get_Callout(&prop));
    return prop;
  }

  long __fastcall get_ConnectionSiteCount(void)
  {
    long prop;
    OLECHECK(this->get_ConnectionSiteCount((long*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Connector(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Connector((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Word_xp::ConnectorFormatPtr __fastcall get_ConnectorFormat(void)
  {
    Word_xp::ConnectorFormatPtr prop;
    OLECHECK(this->get_ConnectorFormat(&prop));
    return prop;
  }

  Word_xp::FillFormatPtr __fastcall get_Fill(void)
  {
    Word_xp::FillFormatPtr prop;
    OLECHECK(this->get_Fill(&prop));
    return prop;
  }

  Word_xp::GroupShapesPtr __fastcall get_GroupItems(void)
  {
    Word_xp::GroupShapesPtr prop;
    OLECHECK(this->get_GroupItems(&prop));
    return prop;
  }

  float __fastcall get_Height(void)
  {
    float prop;
    OLECHECK(this->get_Height((float*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_HorizontalFlip(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_HorizontalFlip((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  float __fastcall get_Left(void)
  {
    float prop;
    OLECHECK(this->get_Left((float*)&prop));
    return prop;
  }

  Word_xp::LineFormatPtr __fastcall get_Line(void)
  {
    Word_xp::LineFormatPtr prop;
    OLECHECK(this->get_Line(&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_LockAspectRatio(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_LockAspectRatio((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  Word_xp::ShapeNodesPtr __fastcall get_Nodes(void)
  {
    Word_xp::ShapeNodesPtr prop;
    OLECHECK(this->get_Nodes(&prop));
    return prop;
  }

  float __fastcall get_Rotation(void)
  {
    float prop;
    OLECHECK(this->get_Rotation((float*)&prop));
    return prop;
  }

  Word_xp::PictureFormatPtr __fastcall get_PictureFormat(void)
  {
    Word_xp::PictureFormatPtr prop;
    OLECHECK(this->get_PictureFormat(&prop));
    return prop;
  }

  Word_xp::ShadowFormatPtr __fastcall get_Shadow(void)
  {
    Word_xp::ShadowFormatPtr prop;
    OLECHECK(this->get_Shadow(&prop));
    return prop;
  }

  Word_xp::TextEffectFormatPtr __fastcall get_TextEffect(void)
  {
    Word_xp::TextEffectFormatPtr prop;
    OLECHECK(this->get_TextEffect(&prop));
    return prop;
  }

  Word_xp::TextFramePtr __fastcall get_TextFrame(void)
  {
    Word_xp::TextFramePtr prop;
    OLECHECK(this->get_TextFrame(&prop));
    return prop;
  }

  Word_xp::ThreeDFormatPtr __fastcall get_ThreeD(void)
  {
    Word_xp::ThreeDFormatPtr prop;
    OLECHECK(this->get_ThreeD(&prop));
    return prop;
  }

  float __fastcall get_Top(void)
  {
    float prop;
    OLECHECK(this->get_Top((float*)&prop));
    return prop;
  }

  Office_xp::MsoShapeType __fastcall get_Type(void)
  {
    Office_xp::MsoShapeType prop;
    OLECHECK(this->get_Type((Office_xp::MsoShapeType*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_VerticalFlip(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_VerticalFlip((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  VARIANT __fastcall get_Vertices(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Vertices((VARIANT*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Visible(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Visible((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  float __fastcall get_Width(void)
  {
    float prop;
    OLECHECK(this->get_Width((float*)&prop));
    return prop;
  }

  long __fastcall get_ZOrderPosition(void)
  {
    long prop;
    OLECHECK(this->get_ZOrderPosition((long*)&prop));
    return prop;
  }

  Word_xp::HyperlinkPtr __fastcall get_Hyperlink(void)
  {
    Word_xp::HyperlinkPtr prop;
    OLECHECK(this->get_Hyperlink(&prop));
    return prop;
  }

  Word_xp::WdRelativeHorizontalPosition __fastcall get_RelativeHorizontalPosition(void)
  {
    Word_xp::WdRelativeHorizontalPosition prop;
    OLECHECK(this->get_RelativeHorizontalPosition((Word_xp::WdRelativeHorizontalPosition*)&prop));
    return prop;
  }

  Word_xp::WdRelativeVerticalPosition __fastcall get_RelativeVerticalPosition(void)
  {
    Word_xp::WdRelativeVerticalPosition prop;
    OLECHECK(this->get_RelativeVerticalPosition((Word_xp::WdRelativeVerticalPosition*)&prop));
    return prop;
  }

  long __fastcall get_LockAnchor(void)
  {
    long prop;
    OLECHECK(this->get_LockAnchor((long*)&prop));
    return prop;
  }

  Word_xp::WrapFormatPtr __fastcall get_WrapFormat(void)
  {
    Word_xp::WrapFormatPtr prop;
    OLECHECK(this->get_WrapFormat(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Anchor(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Anchor(&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::ShapeRange* __fastcall Duplicate(void)
  {
    Word_xp::ShapeRange* prop = 0;
    OLECHECK(this->Duplicate((Word_xp::ShapeRange**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall Group(void)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->Group((Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall Regroup(void)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->Regroup((Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::ShapeRange* __fastcall Ungroup(void)
  {
    Word_xp::ShapeRange* prop = 0;
    OLECHECK(this->Ungroup((Word_xp::ShapeRange**)&prop));
    return prop;
  }

  Word_xp::Frame* __fastcall ConvertToFrame(void)
  {
    Word_xp::Frame* prop = 0;
    OLECHECK(this->ConvertToFrame((Word_xp::Frame**)&prop));
    return prop;
  }

  Word_xp::InlineShape* __fastcall ConvertToInlineShape(void)
  {
    Word_xp::InlineShape* prop = 0;
    OLECHECK(this->ConvertToInlineShape((Word_xp::InlineShape**)&prop));
    return prop;
  }

  BSTR __fastcall get_AlternativeText(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_AlternativeText((BSTR*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_HasDiagram(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_HasDiagram((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Office_xp::IMsoDiagramPtr __fastcall get_Diagram(void)
  {
    Office_xp::IMsoDiagramPtr prop;
    OLECHECK(this->get_Diagram(&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_HasDiagramNode(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_HasDiagramNode((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Word_xp::DiagramNodePtr __fastcall get_DiagramNode(void)
  {
    Word_xp::DiagramNodePtr prop;
    OLECHECK(this->get_DiagramNode(&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Child(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Child((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Word_xp::ShapePtr __fastcall get_ParentGroup(void)
  {
    Word_xp::ShapePtr prop;
    OLECHECK(this->get_ParentGroup(&prop));
    return prop;
  }

  Word_xp::CanvasShapesPtr __fastcall get_CanvasItems(void)
  {
    Word_xp::CanvasShapesPtr prop;
    OLECHECK(this->get_CanvasItems(&prop));
    return prop;
  }

  long __fastcall get_ID(void)
  {
    long prop;
    OLECHECK(this->get_ID((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   Word_xp::AdjustmentsPtr Adjustments = {read = get_Adjustments};
  __property   Office_xp::MsoAutoShapeType AutoShapeType = {read = get_AutoShapeType, write = set_AutoShapeType};
  __property   Word_xp::CalloutFormatPtr Callout = {read = get_Callout};
  __property   long            ConnectionSiteCount = {read = get_ConnectionSiteCount};
  __property   Office_xp::MsoTriState Connector = {read = get_Connector};
  __property   Word_xp::ConnectorFormatPtr ConnectorFormat = {read = get_ConnectorFormat};
  __property   Word_xp::FillFormatPtr Fill = {read = get_Fill};
  __property   Word_xp::GroupShapesPtr GroupItems = {read = get_GroupItems};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   Office_xp::MsoTriState HorizontalFlip = {read = get_HorizontalFlip};
  __property   float           Left = {read = get_Left, write = set_Left};
  __property   Word_xp::LineFormatPtr Line = {read = get_Line};
  __property   Office_xp::MsoTriState LockAspectRatio = {read = get_LockAspectRatio, write = set_LockAspectRatio};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   Word_xp::ShapeNodesPtr Nodes = {read = get_Nodes};
  __property   float           Rotation = {read = get_Rotation, write = set_Rotation};
  __property   Word_xp::PictureFormatPtr PictureFormat = {read = get_PictureFormat};
  __property   Word_xp::ShadowFormatPtr Shadow = {read = get_Shadow};
  __property   Word_xp::TextEffectFormatPtr TextEffect = {read = get_TextEffect};
  __property   Word_xp::TextFramePtr TextFrame = {read = get_TextFrame};
  __property   Word_xp::ThreeDFormatPtr ThreeD = {read = get_ThreeD};
  __property   float           Top = {read = get_Top, write = set_Top};
  __property   Office_xp::MsoShapeType Type = {read = get_Type};
  __property   Office_xp::MsoTriState VerticalFlip = {read = get_VerticalFlip};
  __property   Office_xp::MsoTriState Visible = {read = get_Visible, write = set_Visible};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   long            ZOrderPosition = {read = get_ZOrderPosition};
  __property   Word_xp::HyperlinkPtr Hyperlink = {read = get_Hyperlink};
  __property   Word_xp::WdRelativeHorizontalPosition RelativeHorizontalPosition = {read = get_RelativeHorizontalPosition, write = set_RelativeHorizontalPosition};
  __property   Word_xp::WdRelativeVerticalPosition RelativeVerticalPosition = {read = get_RelativeVerticalPosition, write = set_RelativeVerticalPosition};
  __property   long            LockAnchor = {read = get_LockAnchor, write = set_LockAnchor};
  __property   Word_xp::WrapFormatPtr WrapFormat = {read = get_WrapFormat};
  __property   Word_xp::WordRangePtr Anchor = {read = get_Anchor};
  __property   BSTR            AlternativeText = {read = get_AlternativeText, write = set_AlternativeText};
  __property   Office_xp::MsoTriState HasDiagram = {read = get_HasDiagram};
  __property   Office_xp::IMsoDiagramPtr Diagram = {read = get_Diagram};
  __property   Office_xp::MsoTriState HasDiagramNode = {read = get_HasDiagramNode};
  __property   Word_xp::DiagramNodePtr DiagramNode = {read = get_DiagramNode};
  __property   Office_xp::MsoTriState Child = {read = get_Child};
  __property   Word_xp::ShapePtr ParentGroup = {read = get_ParentGroup};
  __property   Word_xp::CanvasShapesPtr CanvasItems = {read = get_CanvasItems};
  __property   long            ID = {read = get_ID};
  __property   BSTR            RTF = {write = set_RTF};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: GroupShapes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B6-0000-0000-C000-000000000046}
// *********************************************************************//
interface GroupShapes  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [8000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [8001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Shape** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Range(VARIANT* Index/*[in]*/, 
                                          Word_xp::ShapeRange** prop/*[out,retval]*/) = 0; // [10]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::ShapeRange* __fastcall Range(VARIANT* Index/*[in]*/)
  {
    Word_xp::ShapeRange* prop = 0;
    OLECHECK(this->Range(Index, (Word_xp::ShapeRange**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Shape
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A0-0000-0000-C000-000000000046}
// *********************************************************************//
interface Shape  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [8000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [8001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Adjustments(Word_xp::Adjustments** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_AutoShapeType(Office_xp::MsoAutoShapeType* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_AutoShapeType(Office_xp::MsoAutoShapeType prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Callout(Word_xp::CalloutFormat** prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_ConnectionSiteCount(long* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Connector(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_ConnectorFormat(Word_xp::ConnectorFormat** prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_Fill(Word_xp::FillFormat** prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_GroupItems(Word_xp::GroupShapes** prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_Height(float* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_Height(float prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_HorizontalFlip(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_Left(float* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_Left(float prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_Line(Word_xp::LineFormat** prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_LockAspectRatio(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE set_LockAspectRatio(Office_xp::MsoTriState prop/*[in]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE get_Nodes(Word_xp::ShapeNodes** prop/*[out,retval]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE get_Rotation(float* prop/*[out,retval]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE set_Rotation(float prop/*[in]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE get_PictureFormat(Word_xp::PictureFormat** prop/*[out,retval]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE get_Shadow(Word_xp::ShadowFormat** prop/*[out,retval]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE get_TextEffect(Word_xp::TextEffectFormat** prop/*[out,retval]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE get_TextFrame(Word_xp::TextFrame** prop/*[out,retval]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE get_ThreeD(Word_xp::ThreeDFormat** prop/*[out,retval]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE get_Top(float* prop/*[out,retval]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE set_Top(float prop/*[in]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Office_xp::MsoShapeType* prop/*[out,retval]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE get_VerticalFlip(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE get_Vertices(VARIANT* prop/*[out,retval]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE set_Visible(Office_xp::MsoTriState prop/*[in]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE get_Width(float* prop/*[out,retval]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE set_Width(float prop/*[in]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE get_ZOrderPosition(long* prop/*[out,retval]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE get_Hyperlink(Word_xp::Hyperlink** prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition* prop/*[out,retval]*/) = 0; // [300]
  virtual HRESULT STDMETHODCALLTYPE set_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition prop/*[in]*/) = 0; // [300]
  virtual HRESULT STDMETHODCALLTYPE get_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition* prop/*[out,retval]*/) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE set_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition prop/*[in]*/) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE get_LockAnchor(long* prop/*[out,retval]*/) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE set_LockAnchor(long prop/*[in]*/) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE get_WrapFormat(Word_xp::WrapFormat** prop/*[out,retval]*/) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE get_OLEFormat(Word_xp::OLEFormat** prop/*[out,retval]*/) = 0; // [500]
  virtual HRESULT STDMETHODCALLTYPE get_Anchor(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [501]
  virtual HRESULT STDMETHODCALLTYPE get_LinkFormat(Word_xp::LinkFormat** prop/*[out,retval]*/) = 0; // [502]
  virtual HRESULT STDMETHODCALLTYPE Apply(void) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE Duplicate(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE Flip(Office_xp::MsoFlipCmd FlipCmd/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE IncrementLeft(float Increment/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE IncrementRotation(float Increment/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE IncrementTop(float Increment/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE PickUp(void) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE RerouteConnections(void) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE ScaleHeight(float Factor/*[in]*/, 
                                                Office_xp::MsoTriState RelativeToOriginalSize/*[in]*/, 
                                                Office_xp::MsoScaleFrom Scale/*[in,def,opt]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE ScaleWidth(float Factor/*[in]*/, 
                                               Office_xp::MsoTriState RelativeToOriginalSize/*[in]*/, 
                                               Office_xp::MsoScaleFrom Scale/*[in,def,opt]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE Select(VARIANT* Replace/*[in,opt]*/= TNoParam()) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE SetShapesDefaultProperties(void) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE Ungroup(Word_xp::ShapeRange** prop/*[out,retval]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE ZOrder(Office_xp::MsoZOrderCmd ZOrderCmd/*[in]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE ConvertToInlineShape(Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [25]
  virtual HRESULT STDMETHODCALLTYPE ConvertToFrame(Word_xp::Frame** prop/*[out,retval]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE Activate(void) = 0; // [50]
  virtual HRESULT STDMETHODCALLTYPE get_AlternativeText(BSTR* prop/*[out,retval]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE set_AlternativeText(BSTR prop/*[in]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE get_Script(Office_xp::Script** prop/*[out,retval]*/) = 0; // [503]
  virtual HRESULT STDMETHODCALLTYPE get_HasDiagram(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [132]
  virtual HRESULT STDMETHODCALLTYPE get_Diagram(Office_xp::IMsoDiagram** prop/*[out,retval]*/) = 0; // [133]
  virtual HRESULT STDMETHODCALLTYPE get_HasDiagramNode(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [134]
  virtual HRESULT STDMETHODCALLTYPE get_DiagramNode(Word_xp::DiagramNode** prop/*[out,retval]*/) = 0; // [135]
  virtual HRESULT STDMETHODCALLTYPE get_Child(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [136]
  virtual HRESULT STDMETHODCALLTYPE get_ParentGroup(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [137]
  virtual HRESULT STDMETHODCALLTYPE get_CanvasItems(Word_xp::CanvasShapes** prop/*[out,retval]*/) = 0; // [138]
  virtual HRESULT STDMETHODCALLTYPE get_ID(long* prop/*[out,retval]*/) = 0; // [139]
  virtual HRESULT STDMETHODCALLTYPE CanvasCropLeft(float Increment/*[in]*/) = 0; // [140]
  virtual HRESULT STDMETHODCALLTYPE CanvasCropTop(float Increment/*[in]*/) = 0; // [141]
  virtual HRESULT STDMETHODCALLTYPE CanvasCropRight(float Increment/*[in]*/) = 0; // [142]
  virtual HRESULT STDMETHODCALLTYPE CanvasCropBottom(float Increment/*[in]*/) = 0; // [143]
  virtual HRESULT STDMETHODCALLTYPE set_RTF(BSTR Param1/*[in]*/) = 0; // [144]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::AdjustmentsPtr __fastcall get_Adjustments(void)
  {
    Word_xp::AdjustmentsPtr prop;
    OLECHECK(this->get_Adjustments(&prop));
    return prop;
  }

  Office_xp::MsoAutoShapeType __fastcall get_AutoShapeType(void)
  {
    Office_xp::MsoAutoShapeType prop;
    OLECHECK(this->get_AutoShapeType((Office_xp::MsoAutoShapeType*)&prop));
    return prop;
  }

  Word_xp::CalloutFormatPtr __fastcall get_Callout(void)
  {
    Word_xp::CalloutFormatPtr prop;
    OLECHECK(this->get_Callout(&prop));
    return prop;
  }

  long __fastcall get_ConnectionSiteCount(void)
  {
    long prop;
    OLECHECK(this->get_ConnectionSiteCount((long*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Connector(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Connector((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Word_xp::ConnectorFormatPtr __fastcall get_ConnectorFormat(void)
  {
    Word_xp::ConnectorFormatPtr prop;
    OLECHECK(this->get_ConnectorFormat(&prop));
    return prop;
  }

  Word_xp::FillFormatPtr __fastcall get_Fill(void)
  {
    Word_xp::FillFormatPtr prop;
    OLECHECK(this->get_Fill(&prop));
    return prop;
  }

  Word_xp::GroupShapesPtr __fastcall get_GroupItems(void)
  {
    Word_xp::GroupShapesPtr prop;
    OLECHECK(this->get_GroupItems(&prop));
    return prop;
  }

  float __fastcall get_Height(void)
  {
    float prop;
    OLECHECK(this->get_Height((float*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_HorizontalFlip(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_HorizontalFlip((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  float __fastcall get_Left(void)
  {
    float prop;
    OLECHECK(this->get_Left((float*)&prop));
    return prop;
  }

  Word_xp::LineFormatPtr __fastcall get_Line(void)
  {
    Word_xp::LineFormatPtr prop;
    OLECHECK(this->get_Line(&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_LockAspectRatio(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_LockAspectRatio((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  Word_xp::ShapeNodesPtr __fastcall get_Nodes(void)
  {
    Word_xp::ShapeNodesPtr prop;
    OLECHECK(this->get_Nodes(&prop));
    return prop;
  }

  float __fastcall get_Rotation(void)
  {
    float prop;
    OLECHECK(this->get_Rotation((float*)&prop));
    return prop;
  }

  Word_xp::PictureFormatPtr __fastcall get_PictureFormat(void)
  {
    Word_xp::PictureFormatPtr prop;
    OLECHECK(this->get_PictureFormat(&prop));
    return prop;
  }

  Word_xp::ShadowFormatPtr __fastcall get_Shadow(void)
  {
    Word_xp::ShadowFormatPtr prop;
    OLECHECK(this->get_Shadow(&prop));
    return prop;
  }

  Word_xp::TextEffectFormatPtr __fastcall get_TextEffect(void)
  {
    Word_xp::TextEffectFormatPtr prop;
    OLECHECK(this->get_TextEffect(&prop));
    return prop;
  }

  Word_xp::TextFramePtr __fastcall get_TextFrame(void)
  {
    Word_xp::TextFramePtr prop;
    OLECHECK(this->get_TextFrame(&prop));
    return prop;
  }

  Word_xp::ThreeDFormatPtr __fastcall get_ThreeD(void)
  {
    Word_xp::ThreeDFormatPtr prop;
    OLECHECK(this->get_ThreeD(&prop));
    return prop;
  }

  float __fastcall get_Top(void)
  {
    float prop;
    OLECHECK(this->get_Top((float*)&prop));
    return prop;
  }

  Office_xp::MsoShapeType __fastcall get_Type(void)
  {
    Office_xp::MsoShapeType prop;
    OLECHECK(this->get_Type((Office_xp::MsoShapeType*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_VerticalFlip(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_VerticalFlip((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  VARIANT __fastcall get_Vertices(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Vertices((VARIANT*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Visible(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Visible((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  float __fastcall get_Width(void)
  {
    float prop;
    OLECHECK(this->get_Width((float*)&prop));
    return prop;
  }

  long __fastcall get_ZOrderPosition(void)
  {
    long prop;
    OLECHECK(this->get_ZOrderPosition((long*)&prop));
    return prop;
  }

  Word_xp::HyperlinkPtr __fastcall get_Hyperlink(void)
  {
    Word_xp::HyperlinkPtr prop;
    OLECHECK(this->get_Hyperlink(&prop));
    return prop;
  }

  Word_xp::WdRelativeHorizontalPosition __fastcall get_RelativeHorizontalPosition(void)
  {
    Word_xp::WdRelativeHorizontalPosition prop;
    OLECHECK(this->get_RelativeHorizontalPosition((Word_xp::WdRelativeHorizontalPosition*)&prop));
    return prop;
  }

  Word_xp::WdRelativeVerticalPosition __fastcall get_RelativeVerticalPosition(void)
  {
    Word_xp::WdRelativeVerticalPosition prop;
    OLECHECK(this->get_RelativeVerticalPosition((Word_xp::WdRelativeVerticalPosition*)&prop));
    return prop;
  }

  long __fastcall get_LockAnchor(void)
  {
    long prop;
    OLECHECK(this->get_LockAnchor((long*)&prop));
    return prop;
  }

  Word_xp::WrapFormatPtr __fastcall get_WrapFormat(void)
  {
    Word_xp::WrapFormatPtr prop;
    OLECHECK(this->get_WrapFormat(&prop));
    return prop;
  }

  Word_xp::OLEFormatPtr __fastcall get_OLEFormat(void)
  {
    Word_xp::OLEFormatPtr prop;
    OLECHECK(this->get_OLEFormat(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Anchor(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Anchor(&prop));
    return prop;
  }

  Word_xp::LinkFormatPtr __fastcall get_LinkFormat(void)
  {
    Word_xp::LinkFormatPtr prop;
    OLECHECK(this->get_LinkFormat(&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall Duplicate(void)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->Duplicate((Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::ShapeRange* __fastcall Ungroup(void)
  {
    Word_xp::ShapeRange* prop = 0;
    OLECHECK(this->Ungroup((Word_xp::ShapeRange**)&prop));
    return prop;
  }

  Word_xp::InlineShape* __fastcall ConvertToInlineShape(void)
  {
    Word_xp::InlineShape* prop = 0;
    OLECHECK(this->ConvertToInlineShape((Word_xp::InlineShape**)&prop));
    return prop;
  }

  Word_xp::Frame* __fastcall ConvertToFrame(void)
  {
    Word_xp::Frame* prop = 0;
    OLECHECK(this->ConvertToFrame((Word_xp::Frame**)&prop));
    return prop;
  }

  BSTR __fastcall get_AlternativeText(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_AlternativeText((BSTR*)&prop));
    return prop;
  }

  Office_xp::ScriptPtr __fastcall get_Script(void)
  {
    Office_xp::ScriptPtr prop;
    OLECHECK(this->get_Script(&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_HasDiagram(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_HasDiagram((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Office_xp::IMsoDiagramPtr __fastcall get_Diagram(void)
  {
    Office_xp::IMsoDiagramPtr prop;
    OLECHECK(this->get_Diagram(&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_HasDiagramNode(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_HasDiagramNode((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Word_xp::DiagramNodePtr __fastcall get_DiagramNode(void)
  {
    Word_xp::DiagramNodePtr prop;
    OLECHECK(this->get_DiagramNode(&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Child(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Child((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Word_xp::ShapePtr __fastcall get_ParentGroup(void)
  {
    Word_xp::ShapePtr prop;
    OLECHECK(this->get_ParentGroup(&prop));
    return prop;
  }

  Word_xp::CanvasShapesPtr __fastcall get_CanvasItems(void)
  {
    Word_xp::CanvasShapesPtr prop;
    OLECHECK(this->get_CanvasItems(&prop));
    return prop;
  }

  long __fastcall get_ID(void)
  {
    long prop;
    OLECHECK(this->get_ID((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::AdjustmentsPtr Adjustments = {read = get_Adjustments};
  __property   Office_xp::MsoAutoShapeType AutoShapeType = {read = get_AutoShapeType, write = set_AutoShapeType};
  __property   Word_xp::CalloutFormatPtr Callout = {read = get_Callout};
  __property   long            ConnectionSiteCount = {read = get_ConnectionSiteCount};
  __property   Office_xp::MsoTriState Connector = {read = get_Connector};
  __property   Word_xp::ConnectorFormatPtr ConnectorFormat = {read = get_ConnectorFormat};
  __property   Word_xp::FillFormatPtr Fill = {read = get_Fill};
  __property   Word_xp::GroupShapesPtr GroupItems = {read = get_GroupItems};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   Office_xp::MsoTriState HorizontalFlip = {read = get_HorizontalFlip};
  __property   float           Left = {read = get_Left, write = set_Left};
  __property   Word_xp::LineFormatPtr Line = {read = get_Line};
  __property   Office_xp::MsoTriState LockAspectRatio = {read = get_LockAspectRatio, write = set_LockAspectRatio};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   Word_xp::ShapeNodesPtr Nodes = {read = get_Nodes};
  __property   float           Rotation = {read = get_Rotation, write = set_Rotation};
  __property   Word_xp::PictureFormatPtr PictureFormat = {read = get_PictureFormat};
  __property   Word_xp::ShadowFormatPtr Shadow = {read = get_Shadow};
  __property   Word_xp::TextEffectFormatPtr TextEffect = {read = get_TextEffect};
  __property   Word_xp::TextFramePtr TextFrame = {read = get_TextFrame};
  __property   Word_xp::ThreeDFormatPtr ThreeD = {read = get_ThreeD};
  __property   float           Top = {read = get_Top, write = set_Top};
  __property   Office_xp::MsoShapeType Type = {read = get_Type};
  __property   Office_xp::MsoTriState VerticalFlip = {read = get_VerticalFlip};
  __property   Office_xp::MsoTriState Visible = {read = get_Visible, write = set_Visible};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   long            ZOrderPosition = {read = get_ZOrderPosition};
  __property   Word_xp::HyperlinkPtr Hyperlink = {read = get_Hyperlink};
  __property   Word_xp::WdRelativeHorizontalPosition RelativeHorizontalPosition = {read = get_RelativeHorizontalPosition, write = set_RelativeHorizontalPosition};
  __property   Word_xp::WdRelativeVerticalPosition RelativeVerticalPosition = {read = get_RelativeVerticalPosition, write = set_RelativeVerticalPosition};
  __property   long            LockAnchor = {read = get_LockAnchor, write = set_LockAnchor};
  __property   Word_xp::WrapFormatPtr WrapFormat = {read = get_WrapFormat};
  __property   Word_xp::OLEFormatPtr OLEFormat = {read = get_OLEFormat};
  __property   Word_xp::WordRangePtr Anchor = {read = get_Anchor};
  __property   Word_xp::LinkFormatPtr LinkFormat = {read = get_LinkFormat};
  __property   BSTR            AlternativeText = {read = get_AlternativeText, write = set_AlternativeText};
  __property   Office_xp::ScriptPtr Script = {read = get_Script};
  __property   Office_xp::MsoTriState HasDiagram = {read = get_HasDiagram};
  __property   Office_xp::IMsoDiagramPtr Diagram = {read = get_Diagram};
  __property   Office_xp::MsoTriState HasDiagramNode = {read = get_HasDiagramNode};
  __property   Word_xp::DiagramNodePtr DiagramNode = {read = get_DiagramNode};
  __property   Office_xp::MsoTriState Child = {read = get_Child};
  __property   Word_xp::ShapePtr ParentGroup = {read = get_ParentGroup};
  __property   Word_xp::CanvasShapesPtr CanvasItems = {read = get_CanvasItems};
  __property   long            ID = {read = get_ID};
  __property   BSTR            RTF = {write = set_RTF};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TextFrame
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B2-0000-0000-C000-000000000046}
// *********************************************************************//
interface TextFrame  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [8000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [8001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_MarginBottom(float* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_MarginBottom(float prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_MarginLeft(float* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_MarginLeft(float prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_MarginRight(float* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_MarginRight(float prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_MarginTop(float* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_MarginTop(float prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Orientation(Office_xp::MsoTextOrientation* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_Orientation(Office_xp::MsoTextOrientation prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_TextRange(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_ContainingRange(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Next(Word_xp::TextFrame** prop/*[out,retval]*/) = 0; // [5001]
  virtual HRESULT STDMETHODCALLTYPE set_Next(Word_xp::TextFrame* prop/*[in]*/) = 0; // [5001]
  virtual HRESULT STDMETHODCALLTYPE get_Previous(Word_xp::TextFrame** prop/*[out,retval]*/) = 0; // [5002]
  virtual HRESULT STDMETHODCALLTYPE set_Previous(Word_xp::TextFrame* prop/*[in]*/) = 0; // [5002]
  virtual HRESULT STDMETHODCALLTYPE get_Overflowing(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5003]
  virtual HRESULT STDMETHODCALLTYPE get_HasText(long* prop/*[out,retval]*/) = 0; // [5008]
  virtual HRESULT STDMETHODCALLTYPE BreakForwardLink(void) = 0; // [5004]
  virtual HRESULT STDMETHODCALLTYPE ValidLinkTarget(Word_xp::TextFrame* TargetTextFrame/*[in]*/, 
                                                    VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5006]
  virtual HRESULT STDMETHODCALLTYPE get_AutoSize(long* prop/*[out,retval]*/) = 0; // [5009]
  virtual HRESULT STDMETHODCALLTYPE set_AutoSize(long prop/*[in]*/) = 0; // [5009]
  virtual HRESULT STDMETHODCALLTYPE get_WordWrap(long* prop/*[out,retval]*/) = 0; // [5010]
  virtual HRESULT STDMETHODCALLTYPE set_WordWrap(long prop/*[in]*/) = 0; // [5010]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  Word_xp::ShapePtr __fastcall get_Parent(void)
  {
    Word_xp::ShapePtr prop;
    OLECHECK(this->get_Parent(&prop));
    return prop;
  }

  float __fastcall get_MarginBottom(void)
  {
    float prop;
    OLECHECK(this->get_MarginBottom((float*)&prop));
    return prop;
  }

  float __fastcall get_MarginLeft(void)
  {
    float prop;
    OLECHECK(this->get_MarginLeft((float*)&prop));
    return prop;
  }

  float __fastcall get_MarginRight(void)
  {
    float prop;
    OLECHECK(this->get_MarginRight((float*)&prop));
    return prop;
  }

  float __fastcall get_MarginTop(void)
  {
    float prop;
    OLECHECK(this->get_MarginTop((float*)&prop));
    return prop;
  }

  Office_xp::MsoTextOrientation __fastcall get_Orientation(void)
  {
    Office_xp::MsoTextOrientation prop;
    OLECHECK(this->get_Orientation((Office_xp::MsoTextOrientation*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_TextRange(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_TextRange(&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_ContainingRange(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_ContainingRange(&prop));
    return prop;
  }

  Word_xp::TextFramePtr __fastcall get_Next(void)
  {
    Word_xp::TextFramePtr prop;
    OLECHECK(this->get_Next(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Next(Word_xp::TextFramePtr prop/*[in]*/)
  {
    return set_Next((Word_xp::TextFrame*)prop/*[in]*/);
  }

  Word_xp::TextFramePtr __fastcall get_Previous(void)
  {
    Word_xp::TextFramePtr prop;
    OLECHECK(this->get_Previous(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Previous(Word_xp::TextFramePtr prop/*[in]*/)
  {
    return set_Previous((Word_xp::TextFrame*)prop/*[in]*/);
  }

  VARIANT_BOOL __fastcall get_Overflowing(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Overflowing((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_HasText(void)
  {
    long prop;
    OLECHECK(this->get_HasText((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall ValidLinkTarget(Word_xp::TextFrame* TargetTextFrame/*[in]*/)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->ValidLinkTarget(TargetTextFrame, (VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_AutoSize(void)
  {
    long prop;
    OLECHECK(this->get_AutoSize((long*)&prop));
    return prop;
  }

  long __fastcall get_WordWrap(void)
  {
    long prop;
    OLECHECK(this->get_WordWrap((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   Word_xp::ShapePtr Parent = {read = get_Parent};
  __property   float           MarginBottom = {read = get_MarginBottom, write = set_MarginBottom};
  __property   float           MarginLeft = {read = get_MarginLeft, write = set_MarginLeft};
  __property   float           MarginRight = {read = get_MarginRight, write = set_MarginRight};
  __property   float           MarginTop = {read = get_MarginTop, write = set_MarginTop};
  __property   Office_xp::MsoTextOrientation Orientation = {read = get_Orientation, write = set_Orientation};
  __property   Word_xp::WordRangePtr TextRange = {read = get_TextRange};
  __property   Word_xp::WordRangePtr ContainingRange = {read = get_ContainingRange};
  __property   Word_xp::TextFramePtr Next = {read = get_Next, write = set_Next};
  __property   Word_xp::TextFramePtr Previous = {read = get_Previous, write = set_Previous};
  __property   VARIANT_BOOL    Overflowing = {read = get_Overflowing};
  __property   long            HasText = {read = get_HasText};
  __property   long            AutoSize = {read = get_AutoSize, write = set_AutoSize};
  __property   long            WordWrap = {read = get_WordWrap, write = set_WordWrap};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: _LetterContent
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A1-0000-0000-C000-000000000046}
// *********************************************************************//
interface _LetterContent  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Duplicate(Word_xp::WordLetterContent** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_DateFormat(BSTR* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_DateFormat(BSTR prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_IncludeHeaderFooter(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_IncludeHeaderFooter(VARIANT_BOOL prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_PageDesign(BSTR* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_PageDesign(BSTR prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_LetterStyle(Word_xp::WdLetterStyle* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_LetterStyle(Word_xp::WdLetterStyle prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Letterhead(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_Letterhead(VARIANT_BOOL prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_LetterheadLocation(Word_xp::WdLetterheadLocation* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_LetterheadLocation(Word_xp::WdLetterheadLocation prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_LetterheadSize(float* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_LetterheadSize(float prop/*[in]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_RecipientName(BSTR* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE set_RecipientName(BSTR prop/*[in]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_RecipientAddress(BSTR* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_RecipientAddress(BSTR prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_Salutation(BSTR* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE set_Salutation(BSTR prop/*[in]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_SalutationType(Word_xp::WdSalutationType* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_SalutationType(Word_xp::WdSalutationType prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_RecipientReference(BSTR* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE set_RecipientReference(BSTR prop/*[in]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_MailingInstructions(BSTR* prop/*[out,retval]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE set_MailingInstructions(BSTR prop/*[in]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE get_AttentionLine(BSTR* prop/*[out,retval]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE set_AttentionLine(BSTR prop/*[in]*/) = 0; // [115]
  virtual HRESULT STDMETHODCALLTYPE get_Subject(BSTR* prop/*[out,retval]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE set_Subject(BSTR prop/*[in]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE get_EnclosureNumber(long* prop/*[out,retval]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE set_EnclosureNumber(long prop/*[in]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE get_CCList(BSTR* prop/*[out,retval]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE set_CCList(BSTR prop/*[in]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE get_ReturnAddress(BSTR* prop/*[out,retval]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE set_ReturnAddress(BSTR prop/*[in]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE get_SenderName(BSTR* prop/*[out,retval]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE set_SenderName(BSTR prop/*[in]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE get_Closing(BSTR* prop/*[out,retval]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE set_Closing(BSTR prop/*[in]*/) = 0; // [121]
  virtual HRESULT STDMETHODCALLTYPE get_SenderCompany(BSTR* prop/*[out,retval]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE set_SenderCompany(BSTR prop/*[in]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE get_SenderJobTitle(BSTR* prop/*[out,retval]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE set_SenderJobTitle(BSTR prop/*[in]*/) = 0; // [123]
  virtual HRESULT STDMETHODCALLTYPE get_SenderInitials(BSTR* prop/*[out,retval]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE set_SenderInitials(BSTR prop/*[in]*/) = 0; // [124]
  virtual HRESULT STDMETHODCALLTYPE get_InfoBlock(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE set_InfoBlock(VARIANT_BOOL prop/*[in]*/) = 0; // [125]
  virtual HRESULT STDMETHODCALLTYPE get_RecipientCode(BSTR* prop/*[out,retval]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE set_RecipientCode(BSTR prop/*[in]*/) = 0; // [126]
  virtual HRESULT STDMETHODCALLTYPE get_RecipientGender(Word_xp::WdSalutationGender* prop/*[out,retval]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE set_RecipientGender(Word_xp::WdSalutationGender prop/*[in]*/) = 0; // [127]
  virtual HRESULT STDMETHODCALLTYPE get_ReturnAddressShortForm(BSTR* prop/*[out,retval]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE set_ReturnAddressShortForm(BSTR prop/*[in]*/) = 0; // [128]
  virtual HRESULT STDMETHODCALLTYPE get_SenderCity(BSTR* prop/*[out,retval]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE set_SenderCity(BSTR prop/*[in]*/) = 0; // [129]
  virtual HRESULT STDMETHODCALLTYPE get_SenderCode(BSTR* prop/*[out,retval]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE set_SenderCode(BSTR prop/*[in]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE get_SenderGender(Word_xp::WdSalutationGender* prop/*[out,retval]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE set_SenderGender(Word_xp::WdSalutationGender prop/*[in]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE get_SenderReference(BSTR* prop/*[out,retval]*/) = 0; // [132]
  virtual HRESULT STDMETHODCALLTYPE set_SenderReference(BSTR prop/*[in]*/) = 0; // [132]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordLetterContentPtr __fastcall get_Duplicate(void)
  {
    Word_xp::WordLetterContentPtr prop;
    OLECHECK(this->get_Duplicate(&prop));
    return prop;
  }

  BSTR __fastcall get_DateFormat(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_DateFormat((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IncludeHeaderFooter(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IncludeHeaderFooter((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_PageDesign(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_PageDesign((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdLetterStyle __fastcall get_LetterStyle(void)
  {
    Word_xp::WdLetterStyle prop;
    OLECHECK(this->get_LetterStyle((Word_xp::WdLetterStyle*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Letterhead(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Letterhead((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdLetterheadLocation __fastcall get_LetterheadLocation(void)
  {
    Word_xp::WdLetterheadLocation prop;
    OLECHECK(this->get_LetterheadLocation((Word_xp::WdLetterheadLocation*)&prop));
    return prop;
  }

  float __fastcall get_LetterheadSize(void)
  {
    float prop;
    OLECHECK(this->get_LetterheadSize((float*)&prop));
    return prop;
  }

  BSTR __fastcall get_RecipientName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_RecipientName((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_RecipientAddress(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_RecipientAddress((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Salutation(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Salutation((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdSalutationType __fastcall get_SalutationType(void)
  {
    Word_xp::WdSalutationType prop;
    OLECHECK(this->get_SalutationType((Word_xp::WdSalutationType*)&prop));
    return prop;
  }

  BSTR __fastcall get_RecipientReference(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_RecipientReference((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_MailingInstructions(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_MailingInstructions((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_AttentionLine(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_AttentionLine((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Subject(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Subject((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_EnclosureNumber(void)
  {
    long prop;
    OLECHECK(this->get_EnclosureNumber((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_CCList(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_CCList((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_ReturnAddress(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ReturnAddress((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_SenderName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SenderName((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Closing(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Closing((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_SenderCompany(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SenderCompany((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_SenderJobTitle(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SenderJobTitle((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_SenderInitials(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SenderInitials((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_InfoBlock(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_InfoBlock((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_RecipientCode(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_RecipientCode((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdSalutationGender __fastcall get_RecipientGender(void)
  {
    Word_xp::WdSalutationGender prop;
    OLECHECK(this->get_RecipientGender((Word_xp::WdSalutationGender*)&prop));
    return prop;
  }

  BSTR __fastcall get_ReturnAddressShortForm(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ReturnAddressShortForm((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_SenderCity(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SenderCity((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_SenderCode(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SenderCode((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdSalutationGender __fastcall get_SenderGender(void)
  {
    Word_xp::WdSalutationGender prop;
    OLECHECK(this->get_SenderGender((Word_xp::WdSalutationGender*)&prop));
    return prop;
  }

  BSTR __fastcall get_SenderReference(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SenderReference((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordLetterContentPtr Duplicate = {read = get_Duplicate};
  __property   BSTR            DateFormat = {read = get_DateFormat, write = set_DateFormat};
  __property   VARIANT_BOOL    IncludeHeaderFooter = {read = get_IncludeHeaderFooter, write = set_IncludeHeaderFooter};
  __property   BSTR            PageDesign = {read = get_PageDesign, write = set_PageDesign};
  __property   Word_xp::WdLetterStyle LetterStyle = {read = get_LetterStyle, write = set_LetterStyle};
  __property   VARIANT_BOOL    Letterhead = {read = get_Letterhead, write = set_Letterhead};
  __property   Word_xp::WdLetterheadLocation LetterheadLocation = {read = get_LetterheadLocation, write = set_LetterheadLocation};
  __property   float           LetterheadSize = {read = get_LetterheadSize, write = set_LetterheadSize};
  __property   BSTR            RecipientName = {read = get_RecipientName, write = set_RecipientName};
  __property   BSTR            RecipientAddress = {read = get_RecipientAddress, write = set_RecipientAddress};
  __property   BSTR            Salutation = {read = get_Salutation, write = set_Salutation};
  __property   Word_xp::WdSalutationType SalutationType = {read = get_SalutationType, write = set_SalutationType};
  __property   BSTR            RecipientReference = {read = get_RecipientReference, write = set_RecipientReference};
  __property   BSTR            MailingInstructions = {read = get_MailingInstructions, write = set_MailingInstructions};
  __property   BSTR            AttentionLine = {read = get_AttentionLine, write = set_AttentionLine};
  __property   BSTR            Subject = {read = get_Subject, write = set_Subject};
  __property   long            EnclosureNumber = {read = get_EnclosureNumber, write = set_EnclosureNumber};
  __property   BSTR            CCList = {read = get_CCList, write = set_CCList};
  __property   BSTR            ReturnAddress = {read = get_ReturnAddress, write = set_ReturnAddress};
  __property   BSTR            SenderName = {read = get_SenderName, write = set_SenderName};
  __property   BSTR            Closing = {read = get_Closing, write = set_Closing};
  __property   BSTR            SenderCompany = {read = get_SenderCompany, write = set_SenderCompany};
  __property   BSTR            SenderJobTitle = {read = get_SenderJobTitle, write = set_SenderJobTitle};
  __property   BSTR            SenderInitials = {read = get_SenderInitials, write = set_SenderInitials};
  __property   VARIANT_BOOL    InfoBlock = {read = get_InfoBlock, write = set_InfoBlock};
  __property   BSTR            RecipientCode = {read = get_RecipientCode, write = set_RecipientCode};
  __property   Word_xp::WdSalutationGender RecipientGender = {read = get_RecipientGender, write = set_RecipientGender};
  __property   BSTR            ReturnAddressShortForm = {read = get_ReturnAddressShortForm, write = set_ReturnAddressShortForm};
  __property   BSTR            SenderCity = {read = get_SenderCity, write = set_SenderCity};
  __property   BSTR            SenderCode = {read = get_SenderCode, write = set_SenderCode};
  __property   Word_xp::WdSalutationGender SenderGender = {read = get_SenderGender, write = set_SenderGender};
  __property   BSTR            SenderReference = {read = get_SenderReference, write = set_SenderReference};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: View
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A5-0000-0000-C000-000000000046}
// *********************************************************************//
interface View  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdViewType* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Type(Word_xp::WdViewType prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_FullScreen(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_FullScreen(VARIANT_BOOL prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Draft(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Draft(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_ShowAll(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_ShowAll(VARIANT_BOOL prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_ShowFieldCodes(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_ShowFieldCodes(VARIANT_BOOL prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_MailMergeDataView(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_MailMergeDataView(VARIANT_BOOL prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Magnifier(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_Magnifier(VARIANT_BOOL prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_ShowFirstLineOnly(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_ShowFirstLineOnly(VARIANT_BOOL prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_ShowFormat(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_ShowFormat(VARIANT_BOOL prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_Zoom(Word_xp::Zoom** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_ShowObjectAnchors(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_ShowObjectAnchors(VARIANT_BOOL prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_ShowTextBoundaries(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_ShowTextBoundaries(VARIANT_BOOL prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_ShowHighlight(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_ShowHighlight(VARIANT_BOOL prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_ShowDrawings(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_ShowDrawings(VARIANT_BOOL prop/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_ShowTabs(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE set_ShowTabs(VARIANT_BOOL prop/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_ShowSpaces(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE set_ShowSpaces(VARIANT_BOOL prop/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_ShowParagraphs(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE set_ShowParagraphs(VARIANT_BOOL prop/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_ShowHyphens(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE set_ShowHyphens(VARIANT_BOOL prop/*[in]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_ShowHiddenText(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE set_ShowHiddenText(VARIANT_BOOL prop/*[in]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE get_WrapToWindow(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE set_WrapToWindow(VARIANT_BOOL prop/*[in]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE get_ShowPicturePlaceHolders(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE set_ShowPicturePlaceHolders(VARIANT_BOOL prop/*[in]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE get_ShowBookmarks(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE set_ShowBookmarks(VARIANT_BOOL prop/*[in]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE get_FieldShading(Word_xp::WdFieldShading* prop/*[out,retval]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE set_FieldShading(Word_xp::WdFieldShading prop/*[in]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE get_ShowAnimation(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE set_ShowAnimation(VARIANT_BOOL prop/*[in]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE get_TableGridlines(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [25]
  virtual HRESULT STDMETHODCALLTYPE set_TableGridlines(VARIANT_BOOL prop/*[in]*/) = 0; // [25]
  virtual HRESULT STDMETHODCALLTYPE get_EnlargeFontsLessThan(long* prop/*[out,retval]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE set_EnlargeFontsLessThan(long prop/*[in]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE get_ShowMainTextLayer(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE set_ShowMainTextLayer(VARIANT_BOOL prop/*[in]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE get_SeekView(Word_xp::WdSeekView* prop/*[out,retval]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE set_SeekView(Word_xp::WdSeekView prop/*[in]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE get_SplitSpecial(Word_xp::WdSpecialPane* prop/*[out,retval]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE set_SplitSpecial(Word_xp::WdSpecialPane prop/*[in]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE get_BrowseToWindow(long* prop/*[out,retval]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE set_BrowseToWindow(long prop/*[in]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE get_ShowOptionalBreaks(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [31]
  virtual HRESULT STDMETHODCALLTYPE set_ShowOptionalBreaks(VARIANT_BOOL prop/*[in]*/) = 0; // [31]
  virtual HRESULT STDMETHODCALLTYPE CollapseOutline(VARIANT* Range/*[in,opt]*/= TNoParam()) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE ExpandOutline(VARIANT* Range/*[in,opt]*/= TNoParam()) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE ShowAllHeadings(void) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE ShowHeading(long Level/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE PreviousHeaderFooter(void) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE NextHeaderFooter(void) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayPageBoundaries(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [32]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayPageBoundaries(VARIANT_BOOL prop/*[in]*/) = 0; // [32]
  virtual HRESULT STDMETHODCALLTYPE get_DisplaySmartTags(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [33]
  virtual HRESULT STDMETHODCALLTYPE set_DisplaySmartTags(VARIANT_BOOL prop/*[in]*/) = 0; // [33]
  virtual HRESULT STDMETHODCALLTYPE get_ShowRevisionsAndComments(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [34]
  virtual HRESULT STDMETHODCALLTYPE set_ShowRevisionsAndComments(VARIANT_BOOL prop/*[in]*/) = 0; // [34]
  virtual HRESULT STDMETHODCALLTYPE get_ShowComments(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [35]
  virtual HRESULT STDMETHODCALLTYPE set_ShowComments(VARIANT_BOOL prop/*[in]*/) = 0; // [35]
  virtual HRESULT STDMETHODCALLTYPE get_ShowInsertionsAndDeletions(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [36]
  virtual HRESULT STDMETHODCALLTYPE set_ShowInsertionsAndDeletions(VARIANT_BOOL prop/*[in]*/) = 0; // [36]
  virtual HRESULT STDMETHODCALLTYPE get_ShowFormatChanges(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [37]
  virtual HRESULT STDMETHODCALLTYPE set_ShowFormatChanges(VARIANT_BOOL prop/*[in]*/) = 0; // [37]
  virtual HRESULT STDMETHODCALLTYPE get_RevisionsView(Word_xp::WdRevisionsView* prop/*[out,retval]*/) = 0; // [38]
  virtual HRESULT STDMETHODCALLTYPE set_RevisionsView(Word_xp::WdRevisionsView prop/*[in]*/) = 0; // [38]
  virtual HRESULT STDMETHODCALLTYPE get_RevisionsMode(Word_xp::WdRevisionsMode* prop/*[out,retval]*/) = 0; // [39]
  virtual HRESULT STDMETHODCALLTYPE set_RevisionsMode(Word_xp::WdRevisionsMode prop/*[in]*/) = 0; // [39]
  virtual HRESULT STDMETHODCALLTYPE get_RevisionsBalloonWidth(float* prop/*[out,retval]*/) = 0; // [40]
  virtual HRESULT STDMETHODCALLTYPE set_RevisionsBalloonWidth(float prop/*[in]*/) = 0; // [40]
  virtual HRESULT STDMETHODCALLTYPE get_RevisionsBalloonWidthType(Word_xp::WdRevisionsBalloonWidthType* prop/*[out,retval]*/) = 0; // [41]
  virtual HRESULT STDMETHODCALLTYPE set_RevisionsBalloonWidthType(Word_xp::WdRevisionsBalloonWidthType prop/*[in]*/) = 0; // [41]
  virtual HRESULT STDMETHODCALLTYPE get_RevisionsBalloonSide(Word_xp::WdRevisionsBalloonMargin* prop/*[out,retval]*/) = 0; // [42]
  virtual HRESULT STDMETHODCALLTYPE set_RevisionsBalloonSide(Word_xp::WdRevisionsBalloonMargin prop/*[in]*/) = 0; // [42]
  virtual HRESULT STDMETHODCALLTYPE get_Reviewers(Word_xp::Reviewers** prop/*[out,retval]*/) = 0; // [43]
  virtual HRESULT STDMETHODCALLTYPE get_RevisionsBalloonShowConnectingLines(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [44]
  virtual HRESULT STDMETHODCALLTYPE set_RevisionsBalloonShowConnectingLines(VARIANT_BOOL prop/*[in]*/) = 0; // [44]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdViewType __fastcall get_Type(void)
  {
    Word_xp::WdViewType prop;
    OLECHECK(this->get_Type((Word_xp::WdViewType*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FullScreen(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FullScreen((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Draft(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Draft((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowAll(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowAll((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowFieldCodes(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowFieldCodes((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MailMergeDataView(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MailMergeDataView((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Magnifier(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Magnifier((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowFirstLineOnly(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowFirstLineOnly((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowFormat(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowFormat((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::ZoomPtr __fastcall get_Zoom(void)
  {
    Word_xp::ZoomPtr prop;
    OLECHECK(this->get_Zoom(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowObjectAnchors(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowObjectAnchors((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowTextBoundaries(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowTextBoundaries((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowHighlight(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowHighlight((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowDrawings(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowDrawings((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowTabs(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowTabs((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowSpaces(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowSpaces((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowParagraphs(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowParagraphs((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowHyphens(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowHyphens((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowHiddenText(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowHiddenText((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_WrapToWindow(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_WrapToWindow((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowPicturePlaceHolders(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowPicturePlaceHolders((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowBookmarks(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowBookmarks((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdFieldShading __fastcall get_FieldShading(void)
  {
    Word_xp::WdFieldShading prop;
    OLECHECK(this->get_FieldShading((Word_xp::WdFieldShading*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowAnimation(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowAnimation((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_TableGridlines(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_TableGridlines((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_EnlargeFontsLessThan(void)
  {
    long prop;
    OLECHECK(this->get_EnlargeFontsLessThan((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowMainTextLayer(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowMainTextLayer((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdSeekView __fastcall get_SeekView(void)
  {
    Word_xp::WdSeekView prop;
    OLECHECK(this->get_SeekView((Word_xp::WdSeekView*)&prop));
    return prop;
  }

  Word_xp::WdSpecialPane __fastcall get_SplitSpecial(void)
  {
    Word_xp::WdSpecialPane prop;
    OLECHECK(this->get_SplitSpecial((Word_xp::WdSpecialPane*)&prop));
    return prop;
  }

  long __fastcall get_BrowseToWindow(void)
  {
    long prop;
    OLECHECK(this->get_BrowseToWindow((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowOptionalBreaks(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowOptionalBreaks((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayPageBoundaries(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayPageBoundaries((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplaySmartTags(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplaySmartTags((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowRevisionsAndComments(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowRevisionsAndComments((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowComments(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowComments((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowInsertionsAndDeletions(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowInsertionsAndDeletions((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowFormatChanges(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowFormatChanges((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdRevisionsView __fastcall get_RevisionsView(void)
  {
    Word_xp::WdRevisionsView prop;
    OLECHECK(this->get_RevisionsView((Word_xp::WdRevisionsView*)&prop));
    return prop;
  }

  Word_xp::WdRevisionsMode __fastcall get_RevisionsMode(void)
  {
    Word_xp::WdRevisionsMode prop;
    OLECHECK(this->get_RevisionsMode((Word_xp::WdRevisionsMode*)&prop));
    return prop;
  }

  float __fastcall get_RevisionsBalloonWidth(void)
  {
    float prop;
    OLECHECK(this->get_RevisionsBalloonWidth((float*)&prop));
    return prop;
  }

  Word_xp::WdRevisionsBalloonWidthType __fastcall get_RevisionsBalloonWidthType(void)
  {
    Word_xp::WdRevisionsBalloonWidthType prop;
    OLECHECK(this->get_RevisionsBalloonWidthType((Word_xp::WdRevisionsBalloonWidthType*)&prop));
    return prop;
  }

  Word_xp::WdRevisionsBalloonMargin __fastcall get_RevisionsBalloonSide(void)
  {
    Word_xp::WdRevisionsBalloonMargin prop;
    OLECHECK(this->get_RevisionsBalloonSide((Word_xp::WdRevisionsBalloonMargin*)&prop));
    return prop;
  }

  Word_xp::ReviewersPtr __fastcall get_Reviewers(void)
  {
    Word_xp::ReviewersPtr prop;
    OLECHECK(this->get_Reviewers(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RevisionsBalloonShowConnectingLines(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RevisionsBalloonShowConnectingLines((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdViewType Type = {read = get_Type, write = set_Type};
  __property   VARIANT_BOOL    FullScreen = {read = get_FullScreen, write = set_FullScreen};
  __property   VARIANT_BOOL    Draft = {read = get_Draft, write = set_Draft};
  __property   VARIANT_BOOL    ShowAll = {read = get_ShowAll, write = set_ShowAll};
  __property   VARIANT_BOOL    ShowFieldCodes = {read = get_ShowFieldCodes, write = set_ShowFieldCodes};
  __property   VARIANT_BOOL    MailMergeDataView = {read = get_MailMergeDataView, write = set_MailMergeDataView};
  __property   VARIANT_BOOL    Magnifier = {read = get_Magnifier, write = set_Magnifier};
  __property   VARIANT_BOOL    ShowFirstLineOnly = {read = get_ShowFirstLineOnly, write = set_ShowFirstLineOnly};
  __property   VARIANT_BOOL    ShowFormat = {read = get_ShowFormat, write = set_ShowFormat};
  __property   Word_xp::ZoomPtr Zoom = {read = get_Zoom};
  __property   VARIANT_BOOL    ShowObjectAnchors = {read = get_ShowObjectAnchors, write = set_ShowObjectAnchors};
  __property   VARIANT_BOOL    ShowTextBoundaries = {read = get_ShowTextBoundaries, write = set_ShowTextBoundaries};
  __property   VARIANT_BOOL    ShowHighlight = {read = get_ShowHighlight, write = set_ShowHighlight};
  __property   VARIANT_BOOL    ShowDrawings = {read = get_ShowDrawings, write = set_ShowDrawings};
  __property   VARIANT_BOOL    ShowTabs = {read = get_ShowTabs, write = set_ShowTabs};
  __property   VARIANT_BOOL    ShowSpaces = {read = get_ShowSpaces, write = set_ShowSpaces};
  __property   VARIANT_BOOL    ShowParagraphs = {read = get_ShowParagraphs, write = set_ShowParagraphs};
  __property   VARIANT_BOOL    ShowHyphens = {read = get_ShowHyphens, write = set_ShowHyphens};
  __property   VARIANT_BOOL    ShowHiddenText = {read = get_ShowHiddenText, write = set_ShowHiddenText};
  __property   VARIANT_BOOL    WrapToWindow = {read = get_WrapToWindow, write = set_WrapToWindow};
  __property   VARIANT_BOOL    ShowPicturePlaceHolders = {read = get_ShowPicturePlaceHolders, write = set_ShowPicturePlaceHolders};
  __property   VARIANT_BOOL    ShowBookmarks = {read = get_ShowBookmarks, write = set_ShowBookmarks};
  __property   Word_xp::WdFieldShading FieldShading = {read = get_FieldShading, write = set_FieldShading};
  __property   VARIANT_BOOL    ShowAnimation = {read = get_ShowAnimation, write = set_ShowAnimation};
  __property   VARIANT_BOOL    TableGridlines = {read = get_TableGridlines, write = set_TableGridlines};
  __property   long            EnlargeFontsLessThan = {read = get_EnlargeFontsLessThan, write = set_EnlargeFontsLessThan};
  __property   VARIANT_BOOL    ShowMainTextLayer = {read = get_ShowMainTextLayer, write = set_ShowMainTextLayer};
  __property   Word_xp::WdSeekView SeekView = {read = get_SeekView, write = set_SeekView};
  __property   Word_xp::WdSpecialPane SplitSpecial = {read = get_SplitSpecial, write = set_SplitSpecial};
  __property   long            BrowseToWindow = {read = get_BrowseToWindow, write = set_BrowseToWindow};
  __property   VARIANT_BOOL    ShowOptionalBreaks = {read = get_ShowOptionalBreaks, write = set_ShowOptionalBreaks};
  __property   VARIANT_BOOL    DisplayPageBoundaries = {read = get_DisplayPageBoundaries, write = set_DisplayPageBoundaries};
  __property   VARIANT_BOOL    DisplaySmartTags = {read = get_DisplaySmartTags, write = set_DisplaySmartTags};
  __property   VARIANT_BOOL    ShowRevisionsAndComments = {read = get_ShowRevisionsAndComments, write = set_ShowRevisionsAndComments};
  __property   VARIANT_BOOL    ShowComments = {read = get_ShowComments, write = set_ShowComments};
  __property   VARIANT_BOOL    ShowInsertionsAndDeletions = {read = get_ShowInsertionsAndDeletions, write = set_ShowInsertionsAndDeletions};
  __property   VARIANT_BOOL    ShowFormatChanges = {read = get_ShowFormatChanges, write = set_ShowFormatChanges};
  __property   Word_xp::WdRevisionsView RevisionsView = {read = get_RevisionsView, write = set_RevisionsView};
  __property   Word_xp::WdRevisionsMode RevisionsMode = {read = get_RevisionsMode, write = set_RevisionsMode};
  __property   float           RevisionsBalloonWidth = {read = get_RevisionsBalloonWidth, write = set_RevisionsBalloonWidth};
  __property   Word_xp::WdRevisionsBalloonWidthType RevisionsBalloonWidthType = {read = get_RevisionsBalloonWidthType, write = set_RevisionsBalloonWidthType};
  __property   Word_xp::WdRevisionsBalloonMargin RevisionsBalloonSide = {read = get_RevisionsBalloonSide, write = set_RevisionsBalloonSide};
  __property   Word_xp::ReviewersPtr Reviewers = {read = get_Reviewers};
  __property   VARIANT_BOOL    RevisionsBalloonShowConnectingLines = {read = get_RevisionsBalloonShowConnectingLines, write = set_RevisionsBalloonShowConnectingLines};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Zoom
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A6-0000-0000-C000-000000000046}
// *********************************************************************//
interface Zoom  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Percentage(long* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Percentage(long prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_PageFit(Word_xp::WdPageFit* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_PageFit(Word_xp::WdPageFit prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_PageRows(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_PageRows(long prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_PageColumns(long* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_PageColumns(long prop/*[in]*/) = 0; // [3]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Percentage(void)
  {
    long prop;
    OLECHECK(this->get_Percentage((long*)&prop));
    return prop;
  }

  Word_xp::WdPageFit __fastcall get_PageFit(void)
  {
    Word_xp::WdPageFit prop;
    OLECHECK(this->get_PageFit((Word_xp::WdPageFit*)&prop));
    return prop;
  }

  long __fastcall get_PageRows(void)
  {
    long prop;
    OLECHECK(this->get_PageRows((long*)&prop));
    return prop;
  }

  long __fastcall get_PageColumns(void)
  {
    long prop;
    OLECHECK(this->get_PageColumns((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Percentage = {read = get_Percentage, write = set_Percentage};
  __property   Word_xp::WdPageFit PageFit = {read = get_PageFit, write = set_PageFit};
  __property   long            PageRows = {read = get_PageRows, write = set_PageRows};
  __property   long            PageColumns = {read = get_PageColumns, write = set_PageColumns};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Zooms
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A7-0000-0000-C000-000000000046}
// *********************************************************************//
interface Zooms  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(Word_xp::WdViewType Index/*[in]*/, 
                                         Word_xp::Zoom** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::Zoom* __fastcall Item(Word_xp::WdViewType Index/*[in]*/)
  {
    Word_xp::Zoom* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Zoom**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: InlineShape
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A8-0000-0000-C000-000000000046}
// *********************************************************************//
interface InlineShape  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_LinkFormat(Word_xp::LinkFormat** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Field(Word_xp::Field** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_OLEFormat(Word_xp::OLEFormat** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdInlineShapeType* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_Hyperlink(Word_xp::Hyperlink** prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_Height(float* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_Height(float prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_Width(float* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_Width(float prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_ScaleHeight(float* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_ScaleHeight(float prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_ScaleWidth(float* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_ScaleWidth(float prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_LockAspectRatio(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_LockAspectRatio(Office_xp::MsoTriState prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_Line(Word_xp::LineFormat** prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_Fill(Word_xp::FillFormat** prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_PictureFormat(Word_xp::PictureFormat** prop/*[out,retval]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE set_PictureFormat(Word_xp::PictureFormat* prop/*[in]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE Activate(void) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE Reset(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE ConvertToShape(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_HorizontalLineFormat(Word_xp::HorizontalLineFormat** prop/*[out,retval]*/) = 0; // [119]
  virtual HRESULT STDMETHODCALLTYPE get_Script(Office_xp::Script** prop/*[out,retval]*/) = 0; // [122]
  virtual HRESULT STDMETHODCALLTYPE get_OWSAnchor(long* prop/*[out,retval]*/) = 0; // [130]
  virtual HRESULT STDMETHODCALLTYPE get_TextEffect(Word_xp::TextEffectFormat** prop/*[out,retval]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE set_TextEffect(Word_xp::TextEffectFormat* prop/*[in]*/) = 0; // [120]
  virtual HRESULT STDMETHODCALLTYPE get_AlternativeText(BSTR* prop/*[out,retval]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE set_AlternativeText(BSTR prop/*[in]*/) = 0; // [131]
  virtual HRESULT STDMETHODCALLTYPE get_IsPictureBullet(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [132]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::LinkFormatPtr __fastcall get_LinkFormat(void)
  {
    Word_xp::LinkFormatPtr prop;
    OLECHECK(this->get_LinkFormat(&prop));
    return prop;
  }

  Word_xp::FieldPtr __fastcall get_Field(void)
  {
    Word_xp::FieldPtr prop;
    OLECHECK(this->get_Field(&prop));
    return prop;
  }

  Word_xp::OLEFormatPtr __fastcall get_OLEFormat(void)
  {
    Word_xp::OLEFormatPtr prop;
    OLECHECK(this->get_OLEFormat(&prop));
    return prop;
  }

  Word_xp::WdInlineShapeType __fastcall get_Type(void)
  {
    Word_xp::WdInlineShapeType prop;
    OLECHECK(this->get_Type((Word_xp::WdInlineShapeType*)&prop));
    return prop;
  }

  Word_xp::HyperlinkPtr __fastcall get_Hyperlink(void)
  {
    Word_xp::HyperlinkPtr prop;
    OLECHECK(this->get_Hyperlink(&prop));
    return prop;
  }

  float __fastcall get_Height(void)
  {
    float prop;
    OLECHECK(this->get_Height((float*)&prop));
    return prop;
  }

  float __fastcall get_Width(void)
  {
    float prop;
    OLECHECK(this->get_Width((float*)&prop));
    return prop;
  }

  float __fastcall get_ScaleHeight(void)
  {
    float prop;
    OLECHECK(this->get_ScaleHeight((float*)&prop));
    return prop;
  }

  float __fastcall get_ScaleWidth(void)
  {
    float prop;
    OLECHECK(this->get_ScaleWidth((float*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_LockAspectRatio(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_LockAspectRatio((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Word_xp::LineFormatPtr __fastcall get_Line(void)
  {
    Word_xp::LineFormatPtr prop;
    OLECHECK(this->get_Line(&prop));
    return prop;
  }

  Word_xp::FillFormatPtr __fastcall get_Fill(void)
  {
    Word_xp::FillFormatPtr prop;
    OLECHECK(this->get_Fill(&prop));
    return prop;
  }

  Word_xp::PictureFormatPtr __fastcall get_PictureFormat(void)
  {
    Word_xp::PictureFormatPtr prop;
    OLECHECK(this->get_PictureFormat(&prop));
    return prop;
  }

  HRESULT __fastcall  set_PictureFormat(Word_xp::PictureFormatPtr prop/*[in]*/)
  {
    return set_PictureFormat((Word_xp::PictureFormat*)prop/*[in]*/);
  }

  Word_xp::Shape* __fastcall ConvertToShape(void)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->ConvertToShape((Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::HorizontalLineFormatPtr __fastcall get_HorizontalLineFormat(void)
  {
    Word_xp::HorizontalLineFormatPtr prop;
    OLECHECK(this->get_HorizontalLineFormat(&prop));
    return prop;
  }

  Office_xp::ScriptPtr __fastcall get_Script(void)
  {
    Office_xp::ScriptPtr prop;
    OLECHECK(this->get_Script(&prop));
    return prop;
  }

  long __fastcall get_OWSAnchor(void)
  {
    long prop;
    OLECHECK(this->get_OWSAnchor((long*)&prop));
    return prop;
  }

  Word_xp::TextEffectFormatPtr __fastcall get_TextEffect(void)
  {
    Word_xp::TextEffectFormatPtr prop;
    OLECHECK(this->get_TextEffect(&prop));
    return prop;
  }

  HRESULT __fastcall  set_TextEffect(Word_xp::TextEffectFormatPtr prop/*[in]*/)
  {
    return set_TextEffect((Word_xp::TextEffectFormat*)prop/*[in]*/);
  }

  BSTR __fastcall get_AlternativeText(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_AlternativeText((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IsPictureBullet(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IsPictureBullet((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::LinkFormatPtr LinkFormat = {read = get_LinkFormat};
  __property   Word_xp::FieldPtr Field = {read = get_Field};
  __property   Word_xp::OLEFormatPtr OLEFormat = {read = get_OLEFormat};
  __property   Word_xp::WdInlineShapeType Type = {read = get_Type};
  __property   Word_xp::HyperlinkPtr Hyperlink = {read = get_Hyperlink};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   float           ScaleHeight = {read = get_ScaleHeight, write = set_ScaleHeight};
  __property   float           ScaleWidth = {read = get_ScaleWidth, write = set_ScaleWidth};
  __property   Office_xp::MsoTriState LockAspectRatio = {read = get_LockAspectRatio, write = set_LockAspectRatio};
  __property   Word_xp::LineFormatPtr Line = {read = get_Line};
  __property   Word_xp::FillFormatPtr Fill = {read = get_Fill};
  __property   Word_xp::PictureFormatPtr PictureFormat = {read = get_PictureFormat, write = set_PictureFormat};
  __property   Word_xp::HorizontalLineFormatPtr HorizontalLineFormat = {read = get_HorizontalLineFormat};
  __property   Office_xp::ScriptPtr Script = {read = get_Script};
  __property   long            OWSAnchor = {read = get_OWSAnchor};
  __property   Word_xp::TextEffectFormatPtr TextEffect = {read = get_TextEffect, write = set_TextEffect};
  __property   BSTR            AlternativeText = {read = get_AlternativeText, write = set_AlternativeText};
  __property   VARIANT_BOOL    IsPictureBullet = {read = get_IsPictureBullet};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: InlineShapes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A9-0000-0000-C000-000000000046}
// *********************************************************************//
interface InlineShapes  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE AddPicture(BSTR FileName/*[in]*/, 
                                               VARIANT* LinkToFile/*[in,opt]*/, 
                                               VARIANT* SaveWithDocument/*[in,opt]*/, 
                                               VARIANT* Range/*[in,opt]*/, 
                                               Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE AddOLEObject(VARIANT* ClassType/*[in,opt]*/, 
                                                 VARIANT* FileName/*[in,opt]*/, 
                                                 VARIANT* LinkToFile/*[in,opt]*/, 
                                                 VARIANT* DisplayAsIcon/*[in,opt]*/, 
                                                 VARIANT* IconFileName/*[in,opt]*/, 
                                                 VARIANT* IconIndex/*[in,opt]*/, 
                                                 VARIANT* IconLabel/*[in,opt]*/, 
                                                 VARIANT* Range/*[in,opt]*/, 
                                                 Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE AddOLEControl(VARIANT* ClassType/*[in,opt]*/, 
                                                  VARIANT* Range/*[in,opt]*/, 
                                                  Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE New(Word_xp::WordRange* Range/*[in]*/, 
                                        Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [200]
  virtual HRESULT STDMETHODCALLTYPE AddHorizontalLine(BSTR FileName/*[in]*/, 
                                                      VARIANT* Range/*[in,opt]*/, 
                                                      Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE AddHorizontalLineStandard(VARIANT* Range/*[in,opt]*/, 
                                                              Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE AddPictureBullet(BSTR FileName/*[in]*/, 
                                                     VARIANT* Range/*[in,opt]*/, 
                                                     Word_xp::InlineShape** prop/*[out,retval]*/) = 0; // [106]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::InlineShape* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::InlineShape* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::InlineShape**)&prop));
    return prop;
  }

  Word_xp::InlineShape* __fastcall AddPicture(BSTR FileName/*[in]*/, 
                                              VARIANT* LinkToFile/*[in,opt]*/= TNoParam(), 
                                              VARIANT* SaveWithDocument/*[in,opt]*/= TNoParam(), 
                                              VARIANT* Range/*[in,opt]*/= TNoParam())
  {
    Word_xp::InlineShape* prop = 0;
    OLECHECK(this->AddPicture(FileName, LinkToFile, SaveWithDocument, Range, (Word_xp::InlineShape**)&prop));
    return prop;
  }

  Word_xp::InlineShape* __fastcall AddOLEObject(VARIANT* ClassType/*[in,opt]*/= TNoParam(), 
                                                VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                                VARIANT* LinkToFile/*[in,opt]*/= TNoParam(), 
                                                VARIANT* DisplayAsIcon/*[in,opt]*/= TNoParam(), 
                                                VARIANT* IconFileName/*[in,opt]*/= TNoParam(), 
                                                VARIANT* IconIndex/*[in,opt]*/= TNoParam(), 
                                                VARIANT* IconLabel/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Range/*[in,opt]*/= TNoParam())
  {
    Word_xp::InlineShape* prop = 0;
    OLECHECK(this->AddOLEObject(ClassType, FileName, LinkToFile, DisplayAsIcon, IconFileName, 
                                IconIndex, IconLabel, Range, (Word_xp::InlineShape**)&prop));
    return prop;
  }

  Word_xp::InlineShape* __fastcall AddOLEControl(VARIANT* ClassType/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Range/*[in,opt]*/= TNoParam())
  {
    Word_xp::InlineShape* prop = 0;
    OLECHECK(this->AddOLEControl(ClassType, Range, (Word_xp::InlineShape**)&prop));
    return prop;
  }

  Word_xp::InlineShape* __fastcall New(Word_xp::WordRange* Range/*[in]*/)
  {
    Word_xp::InlineShape* prop = 0;
    OLECHECK(this->New(Range, (Word_xp::InlineShape**)&prop));
    return prop;
  }

  Word_xp::InlineShape* __fastcall AddHorizontalLine(BSTR FileName/*[in]*/, 
                                                     VARIANT* Range/*[in,opt]*/= TNoParam())
  {
    Word_xp::InlineShape* prop = 0;
    OLECHECK(this->AddHorizontalLine(FileName, Range, (Word_xp::InlineShape**)&prop));
    return prop;
  }

  Word_xp::InlineShape* __fastcall AddHorizontalLineStandard(VARIANT* Range/*[in,opt]*/= TNoParam())
  {
    Word_xp::InlineShape* prop = 0;
    OLECHECK(this->AddHorizontalLineStandard(Range, (Word_xp::InlineShape**)&prop));
    return prop;
  }

  Word_xp::InlineShape* __fastcall AddPictureBullet(BSTR FileName/*[in]*/, 
                                                    VARIANT* Range/*[in,opt]*/= TNoParam())
  {
    Word_xp::InlineShape* prop = 0;
    OLECHECK(this->AddPictureBullet(FileName, Range, (Word_xp::InlineShape**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: SpellingSuggestions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AA-0000-0000-C000-000000000046}
// *********************************************************************//
interface SpellingSuggestions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_SpellingErrorType(Word_xp::WdSpellingErrorType* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::SpellingSuggestion** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WdSpellingErrorType __fastcall get_SpellingErrorType(void)
  {
    Word_xp::WdSpellingErrorType prop;
    OLECHECK(this->get_SpellingErrorType((Word_xp::WdSpellingErrorType*)&prop));
    return prop;
  }

  Word_xp::SpellingSuggestion* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::SpellingSuggestion* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::SpellingSuggestion**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdSpellingErrorType SpellingErrorType = {read = get_SpellingErrorType};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: SpellingSuggestion
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AB-0000-0000-C000-000000000046}
// *********************************************************************//
interface SpellingSuggestion  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Dictionaries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AC-0000-0000-C000-000000000046}
// *********************************************************************//
interface Dictionaries  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Maximum(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveCustomDictionary(Word_xp::Dictionary** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_ActiveCustomDictionary(Word_xp::Dictionary* prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Dictionary** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR FileName/*[in]*/, 
                                        Word_xp::Dictionary** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE ClearAll(void) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  long __fastcall get_Maximum(void)
  {
    long prop;
    OLECHECK(this->get_Maximum((long*)&prop));
    return prop;
  }

  Word_xp::DictionaryPtr __fastcall get_ActiveCustomDictionary(void)
  {
    Word_xp::DictionaryPtr prop;
    OLECHECK(this->get_ActiveCustomDictionary(&prop));
    return prop;
  }

  HRESULT __fastcall  set_ActiveCustomDictionary(Word_xp::DictionaryPtr prop/*[in]*/)
  {
    return set_ActiveCustomDictionary((Word_xp::Dictionary*)prop/*[in]*/);
  }

  Word_xp::Dictionary* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Dictionary* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Dictionary**)&prop));
    return prop;
  }

  Word_xp::Dictionary* __fastcall Add(BSTR FileName/*[in]*/)
  {
    Word_xp::Dictionary* prop = 0;
    OLECHECK(this->Add(FileName, (Word_xp::Dictionary**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   long            Maximum = {read = get_Maximum};
  __property   Word_xp::DictionaryPtr ActiveCustomDictionary = {read = get_ActiveCustomDictionary, write = set_ActiveCustomDictionary};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: HangulHanjaConversionDictionaries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E0-0000-0000-C000-000000000046}
// *********************************************************************//
interface HangulHanjaConversionDictionaries  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Maximum(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_ActiveCustomDictionary(Word_xp::Dictionary** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_ActiveCustomDictionary(Word_xp::Dictionary* prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_BuiltinDictionary(Word_xp::Dictionary** prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Dictionary** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR FileName/*[in]*/, 
                                        Word_xp::Dictionary** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE ClearAll(void) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  long __fastcall get_Maximum(void)
  {
    long prop;
    OLECHECK(this->get_Maximum((long*)&prop));
    return prop;
  }

  Word_xp::DictionaryPtr __fastcall get_ActiveCustomDictionary(void)
  {
    Word_xp::DictionaryPtr prop;
    OLECHECK(this->get_ActiveCustomDictionary(&prop));
    return prop;
  }

  HRESULT __fastcall  set_ActiveCustomDictionary(Word_xp::DictionaryPtr prop/*[in]*/)
  {
    return set_ActiveCustomDictionary((Word_xp::Dictionary*)prop/*[in]*/);
  }

  Word_xp::DictionaryPtr __fastcall get_BuiltinDictionary(void)
  {
    Word_xp::DictionaryPtr prop;
    OLECHECK(this->get_BuiltinDictionary(&prop));
    return prop;
  }

  Word_xp::Dictionary* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Dictionary* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Dictionary**)&prop));
    return prop;
  }

  Word_xp::Dictionary* __fastcall Add(BSTR FileName/*[in]*/)
  {
    Word_xp::Dictionary* prop = 0;
    OLECHECK(this->Add(FileName, (Word_xp::Dictionary**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   long            Maximum = {read = get_Maximum};
  __property   Word_xp::DictionaryPtr ActiveCustomDictionary = {read = get_ActiveCustomDictionary, write = set_ActiveCustomDictionary};
  __property   Word_xp::DictionaryPtr BuiltinDictionary = {read = get_BuiltinDictionary};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Dictionary
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AD-0000-0000-C000-000000000046}
// *********************************************************************//
interface Dictionary  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Path(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_ReadOnly(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdDictionaryType* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageSpecific(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_LanguageSpecific(VARIANT_BOOL prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Path(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Path((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdLanguageID __fastcall get_LanguageID(void)
  {
    Word_xp::WdLanguageID prop;
    OLECHECK(this->get_LanguageID((Word_xp::WdLanguageID*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ReadOnly(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ReadOnly((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdDictionaryType __fastcall get_Type(void)
  {
    Word_xp::WdDictionaryType prop;
    OLECHECK(this->get_Type((Word_xp::WdDictionaryType*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_LanguageSpecific(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_LanguageSpecific((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Path = {read = get_Path};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   VARIANT_BOOL    ReadOnly = {read = get_ReadOnly};
  __property   Word_xp::WdDictionaryType Type = {read = get_Type};
  __property   VARIANT_BOOL    LanguageSpecific = {read = get_LanguageSpecific, write = set_LanguageSpecific};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ReadabilityStatistics
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AE-0000-0000-C000-000000000046}
// *********************************************************************//
interface ReadabilityStatistics  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::ReadabilityStatistic** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::ReadabilityStatistic* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::ReadabilityStatistic* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::ReadabilityStatistic**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ReadabilityStatistic
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AF-0000-0000-C000-000000000046}
// *********************************************************************//
interface ReadabilityStatistic  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Value(float* prop/*[out,retval]*/) = 0; // [1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  float __fastcall get_Value(void)
  {
    float prop;
    OLECHECK(this->get_Value((float*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   float           Value = {read = get_Value};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Versions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B3-0000-0000-C000-000000000046}
// *********************************************************************//
interface Versions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_AutoVersion(Word_xp::WdAutoVersions* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_AutoVersion(Word_xp::WdAutoVersions prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, Word_xp::Version** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Save(VARIANT* Comment/*[in,opt]*/= TNoParam()) = 0; // [11]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WdAutoVersions __fastcall get_AutoVersion(void)
  {
    Word_xp::WdAutoVersions prop;
    OLECHECK(this->get_AutoVersion((Word_xp::WdAutoVersions*)&prop));
    return prop;
  }

  Word_xp::Version* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::Version* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Version**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdAutoVersions AutoVersion = {read = get_AutoVersion, write = set_AutoVersion};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Version
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B4-0000-0000-C000-000000000046}
// *********************************************************************//
interface Version  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_SavedBy(BSTR* prop/*[out,retval]*/) = 0; // [1003]
  virtual HRESULT STDMETHODCALLTYPE get_Comment(BSTR* prop/*[out,retval]*/) = 0; // [1004]
  virtual HRESULT STDMETHODCALLTYPE get_Date(DATE* prop/*[out,retval]*/) = 0; // [1005]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE OpenOld(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE Open(Word_xp::WordDocument** prop/*[out,retval]*/) = 0; // [103]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_SavedBy(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_SavedBy((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Comment(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Comment((BSTR*)&prop));
    return prop;
  }

  DATE __fastcall get_Date(void)
  {
    DATE prop;
    OLECHECK(this->get_Date((DATE*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  Word_xp::WordDocument* __fastcall Open(void)
  {
    Word_xp::WordDocument* prop = 0;
    OLECHECK(this->Open((Word_xp::WordDocument**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            SavedBy = {read = get_SavedBy};
  __property   BSTR            Comment = {read = get_Comment};
  __property   DATE            Date = {read = get_Date};
  __property   long            Index = {read = get_Index};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Options
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B7-0000-0000-C000-000000000046}
// *********************************************************************//
interface Options  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_AllowAccentedUppercase(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_AllowAccentedUppercase(VARIANT_BOOL prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_WPHelp(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE set_WPHelp(VARIANT_BOOL prop/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_WPDocNavKeys(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE set_WPDocNavKeys(VARIANT_BOOL prop/*[in]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE get_Pagination(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE set_Pagination(VARIANT_BOOL prop/*[in]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE get_BlueScreen(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE set_BlueScreen(VARIANT_BOOL prop/*[in]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE get_EnableSound(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE set_EnableSound(VARIANT_BOOL prop/*[in]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE get_ConfirmConversions(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE set_ConfirmConversions(VARIANT_BOOL prop/*[in]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE get_UpdateLinksAtOpen(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE set_UpdateLinksAtOpen(VARIANT_BOOL prop/*[in]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE get_SendMailAttach(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE set_SendMailAttach(VARIANT_BOOL prop/*[in]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE get_MeasurementUnit(Word_xp::WdMeasurementUnits* prop/*[out,retval]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE set_MeasurementUnit(Word_xp::WdMeasurementUnits prop/*[in]*/) = 0; // [26]
  virtual HRESULT STDMETHODCALLTYPE get_ButtonFieldClicks(long* prop/*[out,retval]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE set_ButtonFieldClicks(long prop/*[in]*/) = 0; // [27]
  virtual HRESULT STDMETHODCALLTYPE get_ShortMenuNames(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE set_ShortMenuNames(VARIANT_BOOL prop/*[in]*/) = 0; // [28]
  virtual HRESULT STDMETHODCALLTYPE get_RTFInClipboard(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE set_RTFInClipboard(VARIANT_BOOL prop/*[in]*/) = 0; // [29]
  virtual HRESULT STDMETHODCALLTYPE get_UpdateFieldsAtPrint(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE set_UpdateFieldsAtPrint(VARIANT_BOOL prop/*[in]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE get_PrintProperties(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [31]
  virtual HRESULT STDMETHODCALLTYPE set_PrintProperties(VARIANT_BOOL prop/*[in]*/) = 0; // [31]
  virtual HRESULT STDMETHODCALLTYPE get_PrintFieldCodes(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [32]
  virtual HRESULT STDMETHODCALLTYPE set_PrintFieldCodes(VARIANT_BOOL prop/*[in]*/) = 0; // [32]
  virtual HRESULT STDMETHODCALLTYPE get_PrintComments(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [33]
  virtual HRESULT STDMETHODCALLTYPE set_PrintComments(VARIANT_BOOL prop/*[in]*/) = 0; // [33]
  virtual HRESULT STDMETHODCALLTYPE get_PrintHiddenText(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [34]
  virtual HRESULT STDMETHODCALLTYPE set_PrintHiddenText(VARIANT_BOOL prop/*[in]*/) = 0; // [34]
  virtual HRESULT STDMETHODCALLTYPE get_EnvelopeFeederInstalled(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [35]
  virtual HRESULT STDMETHODCALLTYPE get_UpdateLinksAtPrint(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [36]
  virtual HRESULT STDMETHODCALLTYPE set_UpdateLinksAtPrint(VARIANT_BOOL prop/*[in]*/) = 0; // [36]
  virtual HRESULT STDMETHODCALLTYPE get_PrintBackground(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [37]
  virtual HRESULT STDMETHODCALLTYPE set_PrintBackground(VARIANT_BOOL prop/*[in]*/) = 0; // [37]
  virtual HRESULT STDMETHODCALLTYPE get_PrintDrawingObjects(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [38]
  virtual HRESULT STDMETHODCALLTYPE set_PrintDrawingObjects(VARIANT_BOOL prop/*[in]*/) = 0; // [38]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultTray(BSTR* prop/*[out,retval]*/) = 0; // [39]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultTray(BSTR prop/*[in]*/) = 0; // [39]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultTrayID(long* prop/*[out,retval]*/) = 0; // [40]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultTrayID(long prop/*[in]*/) = 0; // [40]
  virtual HRESULT STDMETHODCALLTYPE get_CreateBackup(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [41]
  virtual HRESULT STDMETHODCALLTYPE set_CreateBackup(VARIANT_BOOL prop/*[in]*/) = 0; // [41]
  virtual HRESULT STDMETHODCALLTYPE get_AllowFastSave(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [42]
  virtual HRESULT STDMETHODCALLTYPE set_AllowFastSave(VARIANT_BOOL prop/*[in]*/) = 0; // [42]
  virtual HRESULT STDMETHODCALLTYPE get_SavePropertiesPrompt(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [43]
  virtual HRESULT STDMETHODCALLTYPE set_SavePropertiesPrompt(VARIANT_BOOL prop/*[in]*/) = 0; // [43]
  virtual HRESULT STDMETHODCALLTYPE get_SaveNormalPrompt(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [44]
  virtual HRESULT STDMETHODCALLTYPE set_SaveNormalPrompt(VARIANT_BOOL prop/*[in]*/) = 0; // [44]
  virtual HRESULT STDMETHODCALLTYPE get_SaveInterval(long* prop/*[out,retval]*/) = 0; // [45]
  virtual HRESULT STDMETHODCALLTYPE set_SaveInterval(long prop/*[in]*/) = 0; // [45]
  virtual HRESULT STDMETHODCALLTYPE get_BackgroundSave(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [46]
  virtual HRESULT STDMETHODCALLTYPE set_BackgroundSave(VARIANT_BOOL prop/*[in]*/) = 0; // [46]
  virtual HRESULT STDMETHODCALLTYPE get_InsertedTextMark(Word_xp::WdInsertedTextMark* prop/*[out,retval]*/) = 0; // [57]
  virtual HRESULT STDMETHODCALLTYPE set_InsertedTextMark(Word_xp::WdInsertedTextMark prop/*[in]*/) = 0; // [57]
  virtual HRESULT STDMETHODCALLTYPE get_DeletedTextMark(Word_xp::WdDeletedTextMark* prop/*[out,retval]*/) = 0; // [58]
  virtual HRESULT STDMETHODCALLTYPE set_DeletedTextMark(Word_xp::WdDeletedTextMark prop/*[in]*/) = 0; // [58]
  virtual HRESULT STDMETHODCALLTYPE get_RevisedLinesMark(Word_xp::WdRevisedLinesMark* prop/*[out,retval]*/) = 0; // [59]
  virtual HRESULT STDMETHODCALLTYPE set_RevisedLinesMark(Word_xp::WdRevisedLinesMark prop/*[in]*/) = 0; // [59]
  virtual HRESULT STDMETHODCALLTYPE get_InsertedTextColor(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [60]
  virtual HRESULT STDMETHODCALLTYPE set_InsertedTextColor(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [60]
  virtual HRESULT STDMETHODCALLTYPE get_DeletedTextColor(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [61]
  virtual HRESULT STDMETHODCALLTYPE set_DeletedTextColor(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [61]
  virtual HRESULT STDMETHODCALLTYPE get_RevisedLinesColor(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [62]
  virtual HRESULT STDMETHODCALLTYPE set_RevisedLinesColor(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [62]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultFilePath(Word_xp::WdDefaultFilePath Path/*[in]*/, 
                                                        BSTR* prop/*[out,retval]*/) = 0; // [65]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultFilePath(Word_xp::WdDefaultFilePath Path/*[in]*/, 
                                                        BSTR prop/*[in]*/) = 0; // [65]
  virtual HRESULT STDMETHODCALLTYPE get_Overtype(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [66]
  virtual HRESULT STDMETHODCALLTYPE set_Overtype(VARIANT_BOOL prop/*[in]*/) = 0; // [66]
  virtual HRESULT STDMETHODCALLTYPE get_ReplaceSelection(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [67]
  virtual HRESULT STDMETHODCALLTYPE set_ReplaceSelection(VARIANT_BOOL prop/*[in]*/) = 0; // [67]
  virtual HRESULT STDMETHODCALLTYPE get_AllowDragAndDrop(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [68]
  virtual HRESULT STDMETHODCALLTYPE set_AllowDragAndDrop(VARIANT_BOOL prop/*[in]*/) = 0; // [68]
  virtual HRESULT STDMETHODCALLTYPE get_AutoWordSelection(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [69]
  virtual HRESULT STDMETHODCALLTYPE set_AutoWordSelection(VARIANT_BOOL prop/*[in]*/) = 0; // [69]
  virtual HRESULT STDMETHODCALLTYPE get_INSKeyForPaste(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [70]
  virtual HRESULT STDMETHODCALLTYPE set_INSKeyForPaste(VARIANT_BOOL prop/*[in]*/) = 0; // [70]
  virtual HRESULT STDMETHODCALLTYPE get_SmartCutPaste(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [71]
  virtual HRESULT STDMETHODCALLTYPE set_SmartCutPaste(VARIANT_BOOL prop/*[in]*/) = 0; // [71]
  virtual HRESULT STDMETHODCALLTYPE get_TabIndentKey(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [72]
  virtual HRESULT STDMETHODCALLTYPE set_TabIndentKey(VARIANT_BOOL prop/*[in]*/) = 0; // [72]
  virtual HRESULT STDMETHODCALLTYPE get_PictureEditor(BSTR* prop/*[out,retval]*/) = 0; // [73]
  virtual HRESULT STDMETHODCALLTYPE set_PictureEditor(BSTR prop/*[in]*/) = 0; // [73]
  virtual HRESULT STDMETHODCALLTYPE get_AnimateScreenMovements(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [74]
  virtual HRESULT STDMETHODCALLTYPE set_AnimateScreenMovements(VARIANT_BOOL prop/*[in]*/) = 0; // [74]
  virtual HRESULT STDMETHODCALLTYPE get_VirusProtection(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [75]
  virtual HRESULT STDMETHODCALLTYPE set_VirusProtection(VARIANT_BOOL prop/*[in]*/) = 0; // [75]
  virtual HRESULT STDMETHODCALLTYPE get_RevisedPropertiesMark(Word_xp::WdRevisedPropertiesMark* prop/*[out,retval]*/) = 0; // [76]
  virtual HRESULT STDMETHODCALLTYPE set_RevisedPropertiesMark(Word_xp::WdRevisedPropertiesMark prop/*[in]*/) = 0; // [76]
  virtual HRESULT STDMETHODCALLTYPE get_RevisedPropertiesColor(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [77]
  virtual HRESULT STDMETHODCALLTYPE set_RevisedPropertiesColor(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [77]
  virtual HRESULT STDMETHODCALLTYPE get_SnapToGrid(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [79]
  virtual HRESULT STDMETHODCALLTYPE set_SnapToGrid(VARIANT_BOOL prop/*[in]*/) = 0; // [79]
  virtual HRESULT STDMETHODCALLTYPE get_SnapToShapes(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [80]
  virtual HRESULT STDMETHODCALLTYPE set_SnapToShapes(VARIANT_BOOL prop/*[in]*/) = 0; // [80]
  virtual HRESULT STDMETHODCALLTYPE get_GridDistanceHorizontal(float* prop/*[out,retval]*/) = 0; // [81]
  virtual HRESULT STDMETHODCALLTYPE set_GridDistanceHorizontal(float prop/*[in]*/) = 0; // [81]
  virtual HRESULT STDMETHODCALLTYPE get_GridDistanceVertical(float* prop/*[out,retval]*/) = 0; // [82]
  virtual HRESULT STDMETHODCALLTYPE set_GridDistanceVertical(float prop/*[in]*/) = 0; // [82]
  virtual HRESULT STDMETHODCALLTYPE get_GridOriginHorizontal(float* prop/*[out,retval]*/) = 0; // [83]
  virtual HRESULT STDMETHODCALLTYPE set_GridOriginHorizontal(float prop/*[in]*/) = 0; // [83]
  virtual HRESULT STDMETHODCALLTYPE get_GridOriginVertical(float* prop/*[out,retval]*/) = 0; // [84]
  virtual HRESULT STDMETHODCALLTYPE set_GridOriginVertical(float prop/*[in]*/) = 0; // [84]
  virtual HRESULT STDMETHODCALLTYPE get_InlineConversion(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [86]
  virtual HRESULT STDMETHODCALLTYPE set_InlineConversion(VARIANT_BOOL prop/*[in]*/) = 0; // [86]
  virtual HRESULT STDMETHODCALLTYPE get_IMEAutomaticControl(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [87]
  virtual HRESULT STDMETHODCALLTYPE set_IMEAutomaticControl(VARIANT_BOOL prop/*[in]*/) = 0; // [87]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatApplyHeadings(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [250]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatApplyHeadings(VARIANT_BOOL prop/*[in]*/) = 0; // [250]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatApplyLists(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [251]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatApplyLists(VARIANT_BOOL prop/*[in]*/) = 0; // [251]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatApplyBulletedLists(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [252]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatApplyBulletedLists(VARIANT_BOOL prop/*[in]*/) = 0; // [252]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatApplyOtherParas(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [253]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatApplyOtherParas(VARIANT_BOOL prop/*[in]*/) = 0; // [253]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatReplaceQuotes(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [254]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatReplaceQuotes(VARIANT_BOOL prop/*[in]*/) = 0; // [254]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatReplaceSymbols(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [255]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatReplaceSymbols(VARIANT_BOOL prop/*[in]*/) = 0; // [255]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatReplaceOrdinals(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [256]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatReplaceOrdinals(VARIANT_BOOL prop/*[in]*/) = 0; // [256]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatReplaceFractions(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [257]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatReplaceFractions(VARIANT_BOOL prop/*[in]*/) = 0; // [257]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatReplacePlainTextEmphasis(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [258]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatReplacePlainTextEmphasis(VARIANT_BOOL prop/*[in]*/) = 0; // [258]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatPreserveStyles(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [259]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatPreserveStyles(VARIANT_BOOL prop/*[in]*/) = 0; // [259]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyHeadings(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [260]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyHeadings(VARIANT_BOOL prop/*[in]*/) = 0; // [260]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyBorders(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [261]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyBorders(VARIANT_BOOL prop/*[in]*/) = 0; // [261]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyBulletedLists(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [262]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyBulletedLists(VARIANT_BOOL prop/*[in]*/) = 0; // [262]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyNumberedLists(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [263]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyNumberedLists(VARIANT_BOOL prop/*[in]*/) = 0; // [263]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplaceQuotes(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [264]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplaceQuotes(VARIANT_BOOL prop/*[in]*/) = 0; // [264]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplaceSymbols(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [265]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplaceSymbols(VARIANT_BOOL prop/*[in]*/) = 0; // [265]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplaceOrdinals(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [266]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplaceOrdinals(VARIANT_BOOL prop/*[in]*/) = 0; // [266]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplaceFractions(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [267]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplaceFractions(VARIANT_BOOL prop/*[in]*/) = 0; // [267]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplacePlainTextEmphasis(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [268]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplacePlainTextEmphasis(VARIANT_BOOL prop/*[in]*/) = 0; // [268]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeFormatListItemBeginning(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [269]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeFormatListItemBeginning(VARIANT_BOOL prop/*[in]*/) = 0; // [269]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeDefineStyles(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [270]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeDefineStyles(VARIANT_BOOL prop/*[in]*/) = 0; // [270]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatPlainTextWordMail(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [271]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatPlainTextWordMail(VARIANT_BOOL prop/*[in]*/) = 0; // [271]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplaceHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [272]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplaceHyperlinks(VARIANT_BOOL prop/*[in]*/) = 0; // [272]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatReplaceHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [273]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatReplaceHyperlinks(VARIANT_BOOL prop/*[in]*/) = 0; // [273]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultHighlightColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [274]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultHighlightColorIndex(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [274]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultBorderLineStyle(Word_xp::WdLineStyle* prop/*[out,retval]*/) = 0; // [275]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultBorderLineStyle(Word_xp::WdLineStyle prop/*[in]*/) = 0; // [275]
  virtual HRESULT STDMETHODCALLTYPE get_CheckSpellingAsYouType(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [276]
  virtual HRESULT STDMETHODCALLTYPE set_CheckSpellingAsYouType(VARIANT_BOOL prop/*[in]*/) = 0; // [276]
  virtual HRESULT STDMETHODCALLTYPE get_CheckGrammarAsYouType(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [277]
  virtual HRESULT STDMETHODCALLTYPE set_CheckGrammarAsYouType(VARIANT_BOOL prop/*[in]*/) = 0; // [277]
  virtual HRESULT STDMETHODCALLTYPE get_IgnoreInternetAndFileAddresses(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [278]
  virtual HRESULT STDMETHODCALLTYPE set_IgnoreInternetAndFileAddresses(VARIANT_BOOL prop/*[in]*/) = 0; // [278]
  virtual HRESULT STDMETHODCALLTYPE get_ShowReadabilityStatistics(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [279]
  virtual HRESULT STDMETHODCALLTYPE set_ShowReadabilityStatistics(VARIANT_BOOL prop/*[in]*/) = 0; // [279]
  virtual HRESULT STDMETHODCALLTYPE get_IgnoreUppercase(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [280]
  virtual HRESULT STDMETHODCALLTYPE set_IgnoreUppercase(VARIANT_BOOL prop/*[in]*/) = 0; // [280]
  virtual HRESULT STDMETHODCALLTYPE get_IgnoreMixedDigits(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [281]
  virtual HRESULT STDMETHODCALLTYPE set_IgnoreMixedDigits(VARIANT_BOOL prop/*[in]*/) = 0; // [281]
  virtual HRESULT STDMETHODCALLTYPE get_SuggestFromMainDictionaryOnly(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [282]
  virtual HRESULT STDMETHODCALLTYPE set_SuggestFromMainDictionaryOnly(VARIANT_BOOL prop/*[in]*/) = 0; // [282]
  virtual HRESULT STDMETHODCALLTYPE get_SuggestSpellingCorrections(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [283]
  virtual HRESULT STDMETHODCALLTYPE set_SuggestSpellingCorrections(VARIANT_BOOL prop/*[in]*/) = 0; // [283]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultBorderLineWidth(Word_xp::WdLineWidth* prop/*[out,retval]*/) = 0; // [284]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultBorderLineWidth(Word_xp::WdLineWidth prop/*[in]*/) = 0; // [284]
  virtual HRESULT STDMETHODCALLTYPE get_CheckGrammarWithSpelling(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [285]
  virtual HRESULT STDMETHODCALLTYPE set_CheckGrammarWithSpelling(VARIANT_BOOL prop/*[in]*/) = 0; // [285]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultOpenFormat(Word_xp::WdOpenFormat* prop/*[out,retval]*/) = 0; // [286]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultOpenFormat(Word_xp::WdOpenFormat prop/*[in]*/) = 0; // [286]
  virtual HRESULT STDMETHODCALLTYPE get_PrintDraft(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [287]
  virtual HRESULT STDMETHODCALLTYPE set_PrintDraft(VARIANT_BOOL prop/*[in]*/) = 0; // [287]
  virtual HRESULT STDMETHODCALLTYPE get_PrintReverse(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [288]
  virtual HRESULT STDMETHODCALLTYPE set_PrintReverse(VARIANT_BOOL prop/*[in]*/) = 0; // [288]
  virtual HRESULT STDMETHODCALLTYPE get_MapPaperSize(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [289]
  virtual HRESULT STDMETHODCALLTYPE set_MapPaperSize(VARIANT_BOOL prop/*[in]*/) = 0; // [289]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyTables(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [290]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyTables(VARIANT_BOOL prop/*[in]*/) = 0; // [290]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatApplyFirstIndents(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [291]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatApplyFirstIndents(VARIANT_BOOL prop/*[in]*/) = 0; // [291]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatMatchParentheses(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [294]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatMatchParentheses(VARIANT_BOOL prop/*[in]*/) = 0; // [294]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatReplaceFarEastDashes(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [295]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatReplaceFarEastDashes(VARIANT_BOOL prop/*[in]*/) = 0; // [295]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatDeleteAutoSpaces(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [296]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatDeleteAutoSpaces(VARIANT_BOOL prop/*[in]*/) = 0; // [296]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyFirstIndents(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [297]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyFirstIndents(VARIANT_BOOL prop/*[in]*/) = 0; // [297]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyDates(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [298]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyDates(VARIANT_BOOL prop/*[in]*/) = 0; // [298]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyClosings(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [299]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyClosings(VARIANT_BOOL prop/*[in]*/) = 0; // [299]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeMatchParentheses(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [300]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeMatchParentheses(VARIANT_BOOL prop/*[in]*/) = 0; // [300]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplaceFarEastDashes(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplaceFarEastDashes(VARIANT_BOOL prop/*[in]*/) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeDeleteAutoSpaces(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeDeleteAutoSpaces(VARIANT_BOOL prop/*[in]*/) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeInsertClosings(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeInsertClosings(VARIANT_BOOL prop/*[in]*/) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeAutoLetterWizard(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [304]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeAutoLetterWizard(VARIANT_BOOL prop/*[in]*/) = 0; // [304]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeInsertOvers(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [305]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeInsertOvers(VARIANT_BOOL prop/*[in]*/) = 0; // [305]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayGridLines(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [306]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayGridLines(VARIANT_BOOL prop/*[in]*/) = 0; // [306]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyCase(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [309]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyCase(VARIANT_BOOL prop/*[in]*/) = 0; // [309]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyByte(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [310]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyByte(VARIANT_BOOL prop/*[in]*/) = 0; // [310]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyHiragana(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [311]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyHiragana(VARIANT_BOOL prop/*[in]*/) = 0; // [311]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzySmallKana(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [312]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzySmallKana(VARIANT_BOOL prop/*[in]*/) = 0; // [312]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyDash(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [313]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyDash(VARIANT_BOOL prop/*[in]*/) = 0; // [313]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyIterationMark(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [314]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyIterationMark(VARIANT_BOOL prop/*[in]*/) = 0; // [314]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyKanji(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [315]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyKanji(VARIANT_BOOL prop/*[in]*/) = 0; // [315]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyOldKana(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [316]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyOldKana(VARIANT_BOOL prop/*[in]*/) = 0; // [316]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyProlongedSoundMark(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [317]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyProlongedSoundMark(VARIANT_BOOL prop/*[in]*/) = 0; // [317]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyDZ(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [318]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyDZ(VARIANT_BOOL prop/*[in]*/) = 0; // [318]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyBV(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [319]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyBV(VARIANT_BOOL prop/*[in]*/) = 0; // [319]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyTC(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [320]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyTC(VARIANT_BOOL prop/*[in]*/) = 0; // [320]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyHF(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [321]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyHF(VARIANT_BOOL prop/*[in]*/) = 0; // [321]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyZJ(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [322]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyZJ(VARIANT_BOOL prop/*[in]*/) = 0; // [322]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyAY(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [323]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyAY(VARIANT_BOOL prop/*[in]*/) = 0; // [323]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyKiKu(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [324]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyKiKu(VARIANT_BOOL prop/*[in]*/) = 0; // [324]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzyPunctuation(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [325]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzyPunctuation(VARIANT_BOOL prop/*[in]*/) = 0; // [325]
  virtual HRESULT STDMETHODCALLTYPE get_MatchFuzzySpace(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [326]
  virtual HRESULT STDMETHODCALLTYPE set_MatchFuzzySpace(VARIANT_BOOL prop/*[in]*/) = 0; // [326]
  virtual HRESULT STDMETHODCALLTYPE get_ApplyFarEastFontsToAscii(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [327]
  virtual HRESULT STDMETHODCALLTYPE set_ApplyFarEastFontsToAscii(VARIANT_BOOL prop/*[in]*/) = 0; // [327]
  virtual HRESULT STDMETHODCALLTYPE get_ConvertHighAnsiToFarEast(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [328]
  virtual HRESULT STDMETHODCALLTYPE set_ConvertHighAnsiToFarEast(VARIANT_BOOL prop/*[in]*/) = 0; // [328]
  virtual HRESULT STDMETHODCALLTYPE get_PrintOddPagesInAscendingOrder(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [330]
  virtual HRESULT STDMETHODCALLTYPE set_PrintOddPagesInAscendingOrder(VARIANT_BOOL prop/*[in]*/) = 0; // [330]
  virtual HRESULT STDMETHODCALLTYPE get_PrintEvenPagesInAscendingOrder(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [331]
  virtual HRESULT STDMETHODCALLTYPE set_PrintEvenPagesInAscendingOrder(VARIANT_BOOL prop/*[in]*/) = 0; // [331]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultBorderColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [337]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultBorderColorIndex(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [337]
  virtual HRESULT STDMETHODCALLTYPE get_EnableMisusedWordsDictionary(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [338]
  virtual HRESULT STDMETHODCALLTYPE set_EnableMisusedWordsDictionary(VARIANT_BOOL prop/*[in]*/) = 0; // [338]
  virtual HRESULT STDMETHODCALLTYPE get_AllowCombinedAuxiliaryForms(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [339]
  virtual HRESULT STDMETHODCALLTYPE set_AllowCombinedAuxiliaryForms(VARIANT_BOOL prop/*[in]*/) = 0; // [339]
  virtual HRESULT STDMETHODCALLTYPE get_HangulHanjaFastConversion(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [340]
  virtual HRESULT STDMETHODCALLTYPE set_HangulHanjaFastConversion(VARIANT_BOOL prop/*[in]*/) = 0; // [340]
  virtual HRESULT STDMETHODCALLTYPE get_CheckHangulEndings(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [341]
  virtual HRESULT STDMETHODCALLTYPE set_CheckHangulEndings(VARIANT_BOOL prop/*[in]*/) = 0; // [341]
  virtual HRESULT STDMETHODCALLTYPE get_EnableHangulHanjaRecentOrdering(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [342]
  virtual HRESULT STDMETHODCALLTYPE set_EnableHangulHanjaRecentOrdering(VARIANT_BOOL prop/*[in]*/) = 0; // [342]
  virtual HRESULT STDMETHODCALLTYPE get_MultipleWordConversionsMode(Word_xp::WdMultipleWordConversionsMode* prop/*[out,retval]*/) = 0; // [343]
  virtual HRESULT STDMETHODCALLTYPE set_MultipleWordConversionsMode(Word_xp::WdMultipleWordConversionsMode prop/*[in]*/) = 0; // [343]
  virtual HRESULT STDMETHODCALLTYPE SetWPHelpOptions(VARIANT* CommandKeyHelp/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* DocNavigationKeys/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* MouseSimulation/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* DemoGuidance/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* DemoSpeed/*[in,opt]*/= TNoParam(), 
                                                     VARIANT* HelpType/*[in,opt]*/= TNoParam()) = 0; // [333]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultBorderColor(Word_xp::WdColor* prop/*[out,retval]*/) = 0; // [344]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultBorderColor(Word_xp::WdColor prop/*[in]*/) = 0; // [344]
  virtual HRESULT STDMETHODCALLTYPE get_AllowPixelUnits(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [345]
  virtual HRESULT STDMETHODCALLTYPE set_AllowPixelUnits(VARIANT_BOOL prop/*[in]*/) = 0; // [345]
  virtual HRESULT STDMETHODCALLTYPE get_UseCharacterUnit(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [346]
  virtual HRESULT STDMETHODCALLTYPE set_UseCharacterUnit(VARIANT_BOOL prop/*[in]*/) = 0; // [346]
  virtual HRESULT STDMETHODCALLTYPE get_AllowCompoundNounProcessing(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [347]
  virtual HRESULT STDMETHODCALLTYPE set_AllowCompoundNounProcessing(VARIANT_BOOL prop/*[in]*/) = 0; // [347]
  virtual HRESULT STDMETHODCALLTYPE get_AutoKeyboardSwitching(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [399]
  virtual HRESULT STDMETHODCALLTYPE set_AutoKeyboardSwitching(VARIANT_BOOL prop/*[in]*/) = 0; // [399]
  virtual HRESULT STDMETHODCALLTYPE get_DocumentViewDirection(Word_xp::WdDocumentViewDirection* prop/*[out,retval]*/) = 0; // [400]
  virtual HRESULT STDMETHODCALLTYPE set_DocumentViewDirection(Word_xp::WdDocumentViewDirection prop/*[in]*/) = 0; // [400]
  virtual HRESULT STDMETHODCALLTYPE get_ArabicNumeral(Word_xp::WdArabicNumeral* prop/*[out,retval]*/) = 0; // [401]
  virtual HRESULT STDMETHODCALLTYPE set_ArabicNumeral(Word_xp::WdArabicNumeral prop/*[in]*/) = 0; // [401]
  virtual HRESULT STDMETHODCALLTYPE get_MonthNames(Word_xp::WdMonthNames* prop/*[out,retval]*/) = 0; // [402]
  virtual HRESULT STDMETHODCALLTYPE set_MonthNames(Word_xp::WdMonthNames prop/*[in]*/) = 0; // [402]
  virtual HRESULT STDMETHODCALLTYPE get_CursorMovement(Word_xp::WdCursorMovement* prop/*[out,retval]*/) = 0; // [403]
  virtual HRESULT STDMETHODCALLTYPE set_CursorMovement(Word_xp::WdCursorMovement prop/*[in]*/) = 0; // [403]
  virtual HRESULT STDMETHODCALLTYPE get_VisualSelection(Word_xp::WdVisualSelection* prop/*[out,retval]*/) = 0; // [404]
  virtual HRESULT STDMETHODCALLTYPE set_VisualSelection(Word_xp::WdVisualSelection prop/*[in]*/) = 0; // [404]
  virtual HRESULT STDMETHODCALLTYPE get_ShowDiacritics(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [405]
  virtual HRESULT STDMETHODCALLTYPE set_ShowDiacritics(VARIANT_BOOL prop/*[in]*/) = 0; // [405]
  virtual HRESULT STDMETHODCALLTYPE get_ShowControlCharacters(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [406]
  virtual HRESULT STDMETHODCALLTYPE set_ShowControlCharacters(VARIANT_BOOL prop/*[in]*/) = 0; // [406]
  virtual HRESULT STDMETHODCALLTYPE get_AddControlCharacters(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [407]
  virtual HRESULT STDMETHODCALLTYPE set_AddControlCharacters(VARIANT_BOOL prop/*[in]*/) = 0; // [407]
  virtual HRESULT STDMETHODCALLTYPE get_AddBiDirectionalMarksWhenSavingTextFile(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [408]
  virtual HRESULT STDMETHODCALLTYPE set_AddBiDirectionalMarksWhenSavingTextFile(VARIANT_BOOL prop/*[in]*/) = 0; // [408]
  virtual HRESULT STDMETHODCALLTYPE get_StrictInitialAlefHamza(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [409]
  virtual HRESULT STDMETHODCALLTYPE set_StrictInitialAlefHamza(VARIANT_BOOL prop/*[in]*/) = 0; // [409]
  virtual HRESULT STDMETHODCALLTYPE get_StrictFinalYaa(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [410]
  virtual HRESULT STDMETHODCALLTYPE set_StrictFinalYaa(VARIANT_BOOL prop/*[in]*/) = 0; // [410]
  virtual HRESULT STDMETHODCALLTYPE get_HebrewMode(Word_xp::WdHebSpellStart* prop/*[out,retval]*/) = 0; // [411]
  virtual HRESULT STDMETHODCALLTYPE set_HebrewMode(Word_xp::WdHebSpellStart prop/*[in]*/) = 0; // [411]
  virtual HRESULT STDMETHODCALLTYPE get_ArabicMode(Word_xp::WdAraSpeller* prop/*[out,retval]*/) = 0; // [412]
  virtual HRESULT STDMETHODCALLTYPE set_ArabicMode(Word_xp::WdAraSpeller prop/*[in]*/) = 0; // [412]
  virtual HRESULT STDMETHODCALLTYPE get_AllowClickAndTypeMouse(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [413]
  virtual HRESULT STDMETHODCALLTYPE set_AllowClickAndTypeMouse(VARIANT_BOOL prop/*[in]*/) = 0; // [413]
  virtual HRESULT STDMETHODCALLTYPE get_UseGermanSpellingReform(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [415]
  virtual HRESULT STDMETHODCALLTYPE set_UseGermanSpellingReform(VARIANT_BOOL prop/*[in]*/) = 0; // [415]
  virtual HRESULT STDMETHODCALLTYPE get_InterpretHighAnsi(Word_xp::WdHighAnsiText* prop/*[out,retval]*/) = 0; // [418]
  virtual HRESULT STDMETHODCALLTYPE set_InterpretHighAnsi(Word_xp::WdHighAnsiText prop/*[in]*/) = 0; // [418]
  virtual HRESULT STDMETHODCALLTYPE get_AddHebDoubleQuote(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [419]
  virtual HRESULT STDMETHODCALLTYPE set_AddHebDoubleQuote(VARIANT_BOOL prop/*[in]*/) = 0; // [419]
  virtual HRESULT STDMETHODCALLTYPE get_UseDiffDiacColor(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [420]
  virtual HRESULT STDMETHODCALLTYPE set_UseDiffDiacColor(VARIANT_BOOL prop/*[in]*/) = 0; // [420]
  virtual HRESULT STDMETHODCALLTYPE get_DiacriticColorVal(Word_xp::WdColor* prop/*[out,retval]*/) = 0; // [421]
  virtual HRESULT STDMETHODCALLTYPE set_DiacriticColorVal(Word_xp::WdColor prop/*[in]*/) = 0; // [421]
  virtual HRESULT STDMETHODCALLTYPE get_OptimizeForWord97byDefault(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [423]
  virtual HRESULT STDMETHODCALLTYPE set_OptimizeForWord97byDefault(VARIANT_BOOL prop/*[in]*/) = 0; // [423]
  virtual HRESULT STDMETHODCALLTYPE get_LocalNetworkFile(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [424]
  virtual HRESULT STDMETHODCALLTYPE set_LocalNetworkFile(VARIANT_BOOL prop/*[in]*/) = 0; // [424]
  virtual HRESULT STDMETHODCALLTYPE get_TypeNReplace(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [425]
  virtual HRESULT STDMETHODCALLTYPE set_TypeNReplace(VARIANT_BOOL prop/*[in]*/) = 0; // [425]
  virtual HRESULT STDMETHODCALLTYPE get_SequenceCheck(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [426]
  virtual HRESULT STDMETHODCALLTYPE set_SequenceCheck(VARIANT_BOOL prop/*[in]*/) = 0; // [426]
  virtual HRESULT STDMETHODCALLTYPE get_BackgroundOpen(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [427]
  virtual HRESULT STDMETHODCALLTYPE set_BackgroundOpen(VARIANT_BOOL prop/*[in]*/) = 0; // [427]
  virtual HRESULT STDMETHODCALLTYPE get_DisableFeaturesbyDefault(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [428]
  virtual HRESULT STDMETHODCALLTYPE set_DisableFeaturesbyDefault(VARIANT_BOOL prop/*[in]*/) = 0; // [428]
  virtual HRESULT STDMETHODCALLTYPE get_PasteAdjustWordSpacing(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [429]
  virtual HRESULT STDMETHODCALLTYPE set_PasteAdjustWordSpacing(VARIANT_BOOL prop/*[in]*/) = 0; // [429]
  virtual HRESULT STDMETHODCALLTYPE get_PasteAdjustParagraphSpacing(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [430]
  virtual HRESULT STDMETHODCALLTYPE set_PasteAdjustParagraphSpacing(VARIANT_BOOL prop/*[in]*/) = 0; // [430]
  virtual HRESULT STDMETHODCALLTYPE get_PasteAdjustTableFormatting(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [431]
  virtual HRESULT STDMETHODCALLTYPE set_PasteAdjustTableFormatting(VARIANT_BOOL prop/*[in]*/) = 0; // [431]
  virtual HRESULT STDMETHODCALLTYPE get_PasteSmartStyleBehavior(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [432]
  virtual HRESULT STDMETHODCALLTYPE set_PasteSmartStyleBehavior(VARIANT_BOOL prop/*[in]*/) = 0; // [432]
  virtual HRESULT STDMETHODCALLTYPE get_PasteMergeFromPPT(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [433]
  virtual HRESULT STDMETHODCALLTYPE set_PasteMergeFromPPT(VARIANT_BOOL prop/*[in]*/) = 0; // [433]
  virtual HRESULT STDMETHODCALLTYPE get_PasteMergeFromXL(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [434]
  virtual HRESULT STDMETHODCALLTYPE set_PasteMergeFromXL(VARIANT_BOOL prop/*[in]*/) = 0; // [434]
  virtual HRESULT STDMETHODCALLTYPE get_CtrlClickHyperlinkToOpen(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [435]
  virtual HRESULT STDMETHODCALLTYPE set_CtrlClickHyperlinkToOpen(VARIANT_BOOL prop/*[in]*/) = 0; // [435]
  virtual HRESULT STDMETHODCALLTYPE get_PictureWrapType(Word_xp::WdWrapTypeMerged* prop/*[out,retval]*/) = 0; // [436]
  virtual HRESULT STDMETHODCALLTYPE set_PictureWrapType(Word_xp::WdWrapTypeMerged prop/*[in]*/) = 0; // [436]
  virtual HRESULT STDMETHODCALLTYPE get_DisableFeaturesIntroducedAfterbyDefault(Word_xp::WdDisableFeaturesIntroducedAfter* prop/*[out,retval]*/) = 0; // [437]
  virtual HRESULT STDMETHODCALLTYPE set_DisableFeaturesIntroducedAfterbyDefault(Word_xp::WdDisableFeaturesIntroducedAfter prop/*[in]*/) = 0; // [437]
  virtual HRESULT STDMETHODCALLTYPE get_PasteSmartCutPaste(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [438]
  virtual HRESULT STDMETHODCALLTYPE set_PasteSmartCutPaste(VARIANT_BOOL prop/*[in]*/) = 0; // [438]
  virtual HRESULT STDMETHODCALLTYPE get_DisplayPasteOptions(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [439]
  virtual HRESULT STDMETHODCALLTYPE set_DisplayPasteOptions(VARIANT_BOOL prop/*[in]*/) = 0; // [439]
  virtual HRESULT STDMETHODCALLTYPE get_PromptUpdateStyle(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [441]
  virtual HRESULT STDMETHODCALLTYPE set_PromptUpdateStyle(VARIANT_BOOL prop/*[in]*/) = 0; // [441]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultEPostageApp(BSTR* prop/*[out,retval]*/) = 0; // [442]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultEPostageApp(BSTR prop/*[in]*/) = 0; // [442]
  virtual HRESULT STDMETHODCALLTYPE get_DefaultTextEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/) = 0; // [443]
  virtual HRESULT STDMETHODCALLTYPE set_DefaultTextEncoding(Office_xp::MsoEncoding prop/*[in]*/) = 0; // [443]
  virtual HRESULT STDMETHODCALLTYPE get_LabelSmartTags(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [444]
  virtual HRESULT STDMETHODCALLTYPE set_LabelSmartTags(VARIANT_BOOL prop/*[in]*/) = 0; // [444]
  virtual HRESULT STDMETHODCALLTYPE get_DisplaySmartTagButtons(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [445]
  virtual HRESULT STDMETHODCALLTYPE set_DisplaySmartTagButtons(VARIANT_BOOL prop/*[in]*/) = 0; // [445]
  virtual HRESULT STDMETHODCALLTYPE get_WarnBeforeSavingPrintingSendingMarkup(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [446]
  virtual HRESULT STDMETHODCALLTYPE set_WarnBeforeSavingPrintingSendingMarkup(VARIANT_BOOL prop/*[in]*/) = 0; // [446]
  virtual HRESULT STDMETHODCALLTYPE get_StoreRSIDOnSave(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [447]
  virtual HRESULT STDMETHODCALLTYPE set_StoreRSIDOnSave(VARIANT_BOOL prop/*[in]*/) = 0; // [447]
  virtual HRESULT STDMETHODCALLTYPE get_ShowFormatError(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [448]
  virtual HRESULT STDMETHODCALLTYPE set_ShowFormatError(VARIANT_BOOL prop/*[in]*/) = 0; // [448]
  virtual HRESULT STDMETHODCALLTYPE get_FormatScanning(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [449]
  virtual HRESULT STDMETHODCALLTYPE set_FormatScanning(VARIANT_BOOL prop/*[in]*/) = 0; // [449]
  virtual HRESULT STDMETHODCALLTYPE get_PasteMergeLists(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [450]
  virtual HRESULT STDMETHODCALLTYPE set_PasteMergeLists(VARIANT_BOOL prop/*[in]*/) = 0; // [450]
  virtual HRESULT STDMETHODCALLTYPE get_AutoCreateNewDrawings(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [451]
  virtual HRESULT STDMETHODCALLTYPE set_AutoCreateNewDrawings(VARIANT_BOOL prop/*[in]*/) = 0; // [451]
  virtual HRESULT STDMETHODCALLTYPE get_SmartParaSelection(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [452]
  virtual HRESULT STDMETHODCALLTYPE set_SmartParaSelection(VARIANT_BOOL prop/*[in]*/) = 0; // [452]
  virtual HRESULT STDMETHODCALLTYPE get_RevisionsBalloonPrintOrientation(Word_xp::WdRevisionsBalloonPrintOrientation* prop/*[out,retval]*/) = 0; // [453]
  virtual HRESULT STDMETHODCALLTYPE set_RevisionsBalloonPrintOrientation(Word_xp::WdRevisionsBalloonPrintOrientation prop/*[in]*/) = 0; // [453]
  virtual HRESULT STDMETHODCALLTYPE get_CommentsColor(Word_xp::WdColorIndex* prop/*[out,retval]*/) = 0; // [454]
  virtual HRESULT STDMETHODCALLTYPE set_CommentsColor(Word_xp::WdColorIndex prop/*[in]*/) = 0; // [454]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AllowAccentedUppercase(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AllowAccentedUppercase((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_WPHelp(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_WPHelp((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_WPDocNavKeys(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_WPDocNavKeys((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Pagination(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Pagination((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_BlueScreen(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_BlueScreen((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_EnableSound(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_EnableSound((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ConfirmConversions(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ConfirmConversions((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UpdateLinksAtOpen(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UpdateLinksAtOpen((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SendMailAttach(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SendMailAttach((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdMeasurementUnits __fastcall get_MeasurementUnit(void)
  {
    Word_xp::WdMeasurementUnits prop;
    OLECHECK(this->get_MeasurementUnit((Word_xp::WdMeasurementUnits*)&prop));
    return prop;
  }

  long __fastcall get_ButtonFieldClicks(void)
  {
    long prop;
    OLECHECK(this->get_ButtonFieldClicks((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShortMenuNames(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShortMenuNames((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RTFInClipboard(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RTFInClipboard((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UpdateFieldsAtPrint(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UpdateFieldsAtPrint((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintProperties(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintProperties((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintFieldCodes(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintFieldCodes((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintComments(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintComments((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintHiddenText(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintHiddenText((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_EnvelopeFeederInstalled(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_EnvelopeFeederInstalled((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UpdateLinksAtPrint(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UpdateLinksAtPrint((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintBackground(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintBackground((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintDrawingObjects(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintDrawingObjects((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_DefaultTray(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_DefaultTray((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_DefaultTrayID(void)
  {
    long prop;
    OLECHECK(this->get_DefaultTrayID((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CreateBackup(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CreateBackup((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AllowFastSave(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AllowFastSave((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SavePropertiesPrompt(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SavePropertiesPrompt((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SaveNormalPrompt(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SaveNormalPrompt((VARIANT_BOOL*)&prop));
    return prop;
  }

  long __fastcall get_SaveInterval(void)
  {
    long prop;
    OLECHECK(this->get_SaveInterval((long*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_BackgroundSave(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_BackgroundSave((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdInsertedTextMark __fastcall get_InsertedTextMark(void)
  {
    Word_xp::WdInsertedTextMark prop;
    OLECHECK(this->get_InsertedTextMark((Word_xp::WdInsertedTextMark*)&prop));
    return prop;
  }

  Word_xp::WdDeletedTextMark __fastcall get_DeletedTextMark(void)
  {
    Word_xp::WdDeletedTextMark prop;
    OLECHECK(this->get_DeletedTextMark((Word_xp::WdDeletedTextMark*)&prop));
    return prop;
  }

  Word_xp::WdRevisedLinesMark __fastcall get_RevisedLinesMark(void)
  {
    Word_xp::WdRevisedLinesMark prop;
    OLECHECK(this->get_RevisedLinesMark((Word_xp::WdRevisedLinesMark*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_InsertedTextColor(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_InsertedTextColor((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_DeletedTextColor(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_DeletedTextColor((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_RevisedLinesColor(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_RevisedLinesColor((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  BSTR __fastcall get_DefaultFilePath(Word_xp::WdDefaultFilePath Path/*[in]*/)
  {
    BSTR prop = 0;
    OLECHECK(this->get_DefaultFilePath(Path, (BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Overtype(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Overtype((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ReplaceSelection(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ReplaceSelection((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AllowDragAndDrop(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AllowDragAndDrop((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoWordSelection(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoWordSelection((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_INSKeyForPaste(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_INSKeyForPaste((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SmartCutPaste(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SmartCutPaste((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_TabIndentKey(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_TabIndentKey((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_PictureEditor(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_PictureEditor((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AnimateScreenMovements(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AnimateScreenMovements((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_VirusProtection(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_VirusProtection((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdRevisedPropertiesMark __fastcall get_RevisedPropertiesMark(void)
  {
    Word_xp::WdRevisedPropertiesMark prop;
    OLECHECK(this->get_RevisedPropertiesMark((Word_xp::WdRevisedPropertiesMark*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_RevisedPropertiesColor(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_RevisedPropertiesColor((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SnapToGrid(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SnapToGrid((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SnapToShapes(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SnapToShapes((VARIANT_BOOL*)&prop));
    return prop;
  }

  float __fastcall get_GridDistanceHorizontal(void)
  {
    float prop;
    OLECHECK(this->get_GridDistanceHorizontal((float*)&prop));
    return prop;
  }

  float __fastcall get_GridDistanceVertical(void)
  {
    float prop;
    OLECHECK(this->get_GridDistanceVertical((float*)&prop));
    return prop;
  }

  float __fastcall get_GridOriginHorizontal(void)
  {
    float prop;
    OLECHECK(this->get_GridOriginHorizontal((float*)&prop));
    return prop;
  }

  float __fastcall get_GridOriginVertical(void)
  {
    float prop;
    OLECHECK(this->get_GridOriginVertical((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_InlineConversion(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_InlineConversion((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IMEAutomaticControl(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IMEAutomaticControl((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatApplyHeadings(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatApplyHeadings((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatApplyLists(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatApplyLists((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatApplyBulletedLists(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatApplyBulletedLists((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatApplyOtherParas(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatApplyOtherParas((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatReplaceQuotes(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatReplaceQuotes((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatReplaceSymbols(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatReplaceSymbols((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatReplaceOrdinals(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatReplaceOrdinals((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatReplaceFractions(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatReplaceFractions((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatReplacePlainTextEmphasis(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatReplacePlainTextEmphasis((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatPreserveStyles(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatPreserveStyles((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyHeadings(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyHeadings((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyBorders(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyBorders((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyBulletedLists(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyBulletedLists((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyNumberedLists(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyNumberedLists((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplaceQuotes(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplaceQuotes((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplaceSymbols(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplaceSymbols((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplaceOrdinals(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplaceOrdinals((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplaceFractions(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplaceFractions((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplacePlainTextEmphasis(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplacePlainTextEmphasis((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeFormatListItemBeginning(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeFormatListItemBeginning((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeDefineStyles(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeDefineStyles((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatPlainTextWordMail(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatPlainTextWordMail((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplaceHyperlinks(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplaceHyperlinks((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatReplaceHyperlinks(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatReplaceHyperlinks((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_DefaultHighlightColorIndex(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_DefaultHighlightColorIndex((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  Word_xp::WdLineStyle __fastcall get_DefaultBorderLineStyle(void)
  {
    Word_xp::WdLineStyle prop;
    OLECHECK(this->get_DefaultBorderLineStyle((Word_xp::WdLineStyle*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CheckSpellingAsYouType(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CheckSpellingAsYouType((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CheckGrammarAsYouType(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CheckGrammarAsYouType((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IgnoreInternetAndFileAddresses(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IgnoreInternetAndFileAddresses((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowReadabilityStatistics(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowReadabilityStatistics((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IgnoreUppercase(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IgnoreUppercase((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_IgnoreMixedDigits(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_IgnoreMixedDigits((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SuggestFromMainDictionaryOnly(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SuggestFromMainDictionaryOnly((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SuggestSpellingCorrections(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SuggestSpellingCorrections((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdLineWidth __fastcall get_DefaultBorderLineWidth(void)
  {
    Word_xp::WdLineWidth prop;
    OLECHECK(this->get_DefaultBorderLineWidth((Word_xp::WdLineWidth*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CheckGrammarWithSpelling(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CheckGrammarWithSpelling((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdOpenFormat __fastcall get_DefaultOpenFormat(void)
  {
    Word_xp::WdOpenFormat prop;
    OLECHECK(this->get_DefaultOpenFormat((Word_xp::WdOpenFormat*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintDraft(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintDraft((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintReverse(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintReverse((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MapPaperSize(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MapPaperSize((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyTables(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyTables((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatApplyFirstIndents(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatApplyFirstIndents((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatMatchParentheses(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatMatchParentheses((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatReplaceFarEastDashes(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatReplaceFarEastDashes((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatDeleteAutoSpaces(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatDeleteAutoSpaces((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyFirstIndents(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyFirstIndents((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyDates(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyDates((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyClosings(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyClosings((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeMatchParentheses(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeMatchParentheses((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplaceFarEastDashes(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplaceFarEastDashes((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeDeleteAutoSpaces(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeDeleteAutoSpaces((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeInsertClosings(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeInsertClosings((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeAutoLetterWizard(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeAutoLetterWizard((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeInsertOvers(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeInsertOvers((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayGridLines(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayGridLines((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyCase(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyCase((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyByte(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyByte((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyHiragana(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyHiragana((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzySmallKana(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzySmallKana((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyDash(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyDash((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyIterationMark(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyIterationMark((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyKanji(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyKanji((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyOldKana(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyOldKana((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyProlongedSoundMark(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyProlongedSoundMark((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyDZ(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyDZ((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyBV(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyBV((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyTC(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyTC((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyHF(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyHF((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyZJ(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyZJ((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyAY(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyAY((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyKiKu(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyKiKu((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzyPunctuation(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzyPunctuation((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MatchFuzzySpace(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MatchFuzzySpace((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ApplyFarEastFontsToAscii(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ApplyFarEastFontsToAscii((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ConvertHighAnsiToFarEast(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ConvertHighAnsiToFarEast((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintOddPagesInAscendingOrder(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintOddPagesInAscendingOrder((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PrintEvenPagesInAscendingOrder(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PrintEvenPagesInAscendingOrder((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_DefaultBorderColorIndex(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_DefaultBorderColorIndex((Word_xp::WdColorIndex*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_EnableMisusedWordsDictionary(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_EnableMisusedWordsDictionary((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AllowCombinedAuxiliaryForms(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AllowCombinedAuxiliaryForms((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_HangulHanjaFastConversion(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_HangulHanjaFastConversion((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CheckHangulEndings(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CheckHangulEndings((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_EnableHangulHanjaRecentOrdering(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_EnableHangulHanjaRecentOrdering((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdMultipleWordConversionsMode __fastcall get_MultipleWordConversionsMode(void)
  {
    Word_xp::WdMultipleWordConversionsMode prop;
    OLECHECK(this->get_MultipleWordConversionsMode((Word_xp::WdMultipleWordConversionsMode*)&prop));
    return prop;
  }

  Word_xp::WdColor __fastcall get_DefaultBorderColor(void)
  {
    Word_xp::WdColor prop;
    OLECHECK(this->get_DefaultBorderColor((Word_xp::WdColor*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AllowPixelUnits(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AllowPixelUnits((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseCharacterUnit(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseCharacterUnit((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AllowCompoundNounProcessing(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AllowCompoundNounProcessing((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoKeyboardSwitching(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoKeyboardSwitching((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdDocumentViewDirection __fastcall get_DocumentViewDirection(void)
  {
    Word_xp::WdDocumentViewDirection prop;
    OLECHECK(this->get_DocumentViewDirection((Word_xp::WdDocumentViewDirection*)&prop));
    return prop;
  }

  Word_xp::WdArabicNumeral __fastcall get_ArabicNumeral(void)
  {
    Word_xp::WdArabicNumeral prop;
    OLECHECK(this->get_ArabicNumeral((Word_xp::WdArabicNumeral*)&prop));
    return prop;
  }

  Word_xp::WdMonthNames __fastcall get_MonthNames(void)
  {
    Word_xp::WdMonthNames prop;
    OLECHECK(this->get_MonthNames((Word_xp::WdMonthNames*)&prop));
    return prop;
  }

  Word_xp::WdCursorMovement __fastcall get_CursorMovement(void)
  {
    Word_xp::WdCursorMovement prop;
    OLECHECK(this->get_CursorMovement((Word_xp::WdCursorMovement*)&prop));
    return prop;
  }

  Word_xp::WdVisualSelection __fastcall get_VisualSelection(void)
  {
    Word_xp::WdVisualSelection prop;
    OLECHECK(this->get_VisualSelection((Word_xp::WdVisualSelection*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowDiacritics(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowDiacritics((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowControlCharacters(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowControlCharacters((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AddControlCharacters(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AddControlCharacters((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AddBiDirectionalMarksWhenSavingTextFile(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AddBiDirectionalMarksWhenSavingTextFile((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_StrictInitialAlefHamza(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_StrictInitialAlefHamza((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_StrictFinalYaa(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_StrictFinalYaa((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdHebSpellStart __fastcall get_HebrewMode(void)
  {
    Word_xp::WdHebSpellStart prop;
    OLECHECK(this->get_HebrewMode((Word_xp::WdHebSpellStart*)&prop));
    return prop;
  }

  Word_xp::WdAraSpeller __fastcall get_ArabicMode(void)
  {
    Word_xp::WdAraSpeller prop;
    OLECHECK(this->get_ArabicMode((Word_xp::WdAraSpeller*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AllowClickAndTypeMouse(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AllowClickAndTypeMouse((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseGermanSpellingReform(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseGermanSpellingReform((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdHighAnsiText __fastcall get_InterpretHighAnsi(void)
  {
    Word_xp::WdHighAnsiText prop;
    OLECHECK(this->get_InterpretHighAnsi((Word_xp::WdHighAnsiText*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AddHebDoubleQuote(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AddHebDoubleQuote((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseDiffDiacColor(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseDiffDiacColor((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdColor __fastcall get_DiacriticColorVal(void)
  {
    Word_xp::WdColor prop;
    OLECHECK(this->get_DiacriticColorVal((Word_xp::WdColor*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_OptimizeForWord97byDefault(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_OptimizeForWord97byDefault((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_LocalNetworkFile(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_LocalNetworkFile((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_TypeNReplace(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_TypeNReplace((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SequenceCheck(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SequenceCheck((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_BackgroundOpen(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_BackgroundOpen((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisableFeaturesbyDefault(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisableFeaturesbyDefault((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PasteAdjustWordSpacing(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PasteAdjustWordSpacing((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PasteAdjustParagraphSpacing(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PasteAdjustParagraphSpacing((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PasteAdjustTableFormatting(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PasteAdjustTableFormatting((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PasteSmartStyleBehavior(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PasteSmartStyleBehavior((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PasteMergeFromPPT(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PasteMergeFromPPT((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PasteMergeFromXL(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PasteMergeFromXL((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CtrlClickHyperlinkToOpen(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CtrlClickHyperlinkToOpen((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdWrapTypeMerged __fastcall get_PictureWrapType(void)
  {
    Word_xp::WdWrapTypeMerged prop;
    OLECHECK(this->get_PictureWrapType((Word_xp::WdWrapTypeMerged*)&prop));
    return prop;
  }

  Word_xp::WdDisableFeaturesIntroducedAfter __fastcall get_DisableFeaturesIntroducedAfterbyDefault(void)
  {
    Word_xp::WdDisableFeaturesIntroducedAfter prop;
    OLECHECK(this->get_DisableFeaturesIntroducedAfterbyDefault((Word_xp::WdDisableFeaturesIntroducedAfter*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PasteSmartCutPaste(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PasteSmartCutPaste((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplayPasteOptions(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplayPasteOptions((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PromptUpdateStyle(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PromptUpdateStyle((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_DefaultEPostageApp(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_DefaultEPostageApp((BSTR*)&prop));
    return prop;
  }

  Office_xp::MsoEncoding __fastcall get_DefaultTextEncoding(void)
  {
    Office_xp::MsoEncoding prop;
    OLECHECK(this->get_DefaultTextEncoding((Office_xp::MsoEncoding*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_LabelSmartTags(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_LabelSmartTags((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_DisplaySmartTagButtons(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_DisplaySmartTagButtons((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_WarnBeforeSavingPrintingSendingMarkup(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_WarnBeforeSavingPrintingSendingMarkup((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_StoreRSIDOnSave(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_StoreRSIDOnSave((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_ShowFormatError(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_ShowFormatError((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FormatScanning(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FormatScanning((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_PasteMergeLists(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_PasteMergeLists((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoCreateNewDrawings(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoCreateNewDrawings((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SmartParaSelection(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SmartParaSelection((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdRevisionsBalloonPrintOrientation __fastcall get_RevisionsBalloonPrintOrientation(void)
  {
    Word_xp::WdRevisionsBalloonPrintOrientation prop;
    OLECHECK(this->get_RevisionsBalloonPrintOrientation((Word_xp::WdRevisionsBalloonPrintOrientation*)&prop));
    return prop;
  }

  Word_xp::WdColorIndex __fastcall get_CommentsColor(void)
  {
    Word_xp::WdColorIndex prop;
    OLECHECK(this->get_CommentsColor((Word_xp::WdColorIndex*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    AllowAccentedUppercase = {read = get_AllowAccentedUppercase, write = set_AllowAccentedUppercase};
  __property   VARIANT_BOOL    WPHelp = {read = get_WPHelp, write = set_WPHelp};
  __property   VARIANT_BOOL    WPDocNavKeys = {read = get_WPDocNavKeys, write = set_WPDocNavKeys};
  __property   VARIANT_BOOL    Pagination = {read = get_Pagination, write = set_Pagination};
  __property   VARIANT_BOOL    BlueScreen = {read = get_BlueScreen, write = set_BlueScreen};
  __property   VARIANT_BOOL    EnableSound = {read = get_EnableSound, write = set_EnableSound};
  __property   VARIANT_BOOL    ConfirmConversions = {read = get_ConfirmConversions, write = set_ConfirmConversions};
  __property   VARIANT_BOOL    UpdateLinksAtOpen = {read = get_UpdateLinksAtOpen, write = set_UpdateLinksAtOpen};
  __property   VARIANT_BOOL    SendMailAttach = {read = get_SendMailAttach, write = set_SendMailAttach};
  __property   Word_xp::WdMeasurementUnits MeasurementUnit = {read = get_MeasurementUnit, write = set_MeasurementUnit};
  __property   long            ButtonFieldClicks = {read = get_ButtonFieldClicks, write = set_ButtonFieldClicks};
  __property   VARIANT_BOOL    ShortMenuNames = {read = get_ShortMenuNames, write = set_ShortMenuNames};
  __property   VARIANT_BOOL    RTFInClipboard = {read = get_RTFInClipboard, write = set_RTFInClipboard};
  __property   VARIANT_BOOL    UpdateFieldsAtPrint = {read = get_UpdateFieldsAtPrint, write = set_UpdateFieldsAtPrint};
  __property   VARIANT_BOOL    PrintProperties = {read = get_PrintProperties, write = set_PrintProperties};
  __property   VARIANT_BOOL    PrintFieldCodes = {read = get_PrintFieldCodes, write = set_PrintFieldCodes};
  __property   VARIANT_BOOL    PrintComments = {read = get_PrintComments, write = set_PrintComments};
  __property   VARIANT_BOOL    PrintHiddenText = {read = get_PrintHiddenText, write = set_PrintHiddenText};
  __property   VARIANT_BOOL    EnvelopeFeederInstalled = {read = get_EnvelopeFeederInstalled};
  __property   VARIANT_BOOL    UpdateLinksAtPrint = {read = get_UpdateLinksAtPrint, write = set_UpdateLinksAtPrint};
  __property   VARIANT_BOOL    PrintBackground = {read = get_PrintBackground, write = set_PrintBackground};
  __property   VARIANT_BOOL    PrintDrawingObjects = {read = get_PrintDrawingObjects, write = set_PrintDrawingObjects};
  __property   BSTR            DefaultTray = {read = get_DefaultTray, write = set_DefaultTray};
  __property   long            DefaultTrayID = {read = get_DefaultTrayID, write = set_DefaultTrayID};
  __property   VARIANT_BOOL    CreateBackup = {read = get_CreateBackup, write = set_CreateBackup};
  __property   VARIANT_BOOL    AllowFastSave = {read = get_AllowFastSave, write = set_AllowFastSave};
  __property   VARIANT_BOOL    SavePropertiesPrompt = {read = get_SavePropertiesPrompt, write = set_SavePropertiesPrompt};
  __property   VARIANT_BOOL    SaveNormalPrompt = {read = get_SaveNormalPrompt, write = set_SaveNormalPrompt};
  __property   long            SaveInterval = {read = get_SaveInterval, write = set_SaveInterval};
  __property   VARIANT_BOOL    BackgroundSave = {read = get_BackgroundSave, write = set_BackgroundSave};
  __property   Word_xp::WdInsertedTextMark InsertedTextMark = {read = get_InsertedTextMark, write = set_InsertedTextMark};
  __property   Word_xp::WdDeletedTextMark DeletedTextMark = {read = get_DeletedTextMark, write = set_DeletedTextMark};
  __property   Word_xp::WdRevisedLinesMark RevisedLinesMark = {read = get_RevisedLinesMark, write = set_RevisedLinesMark};
  __property   Word_xp::WdColorIndex InsertedTextColor = {read = get_InsertedTextColor, write = set_InsertedTextColor};
  __property   Word_xp::WdColorIndex DeletedTextColor = {read = get_DeletedTextColor, write = set_DeletedTextColor};
  __property   Word_xp::WdColorIndex RevisedLinesColor = {read = get_RevisedLinesColor, write = set_RevisedLinesColor};
  __property   VARIANT_BOOL    Overtype = {read = get_Overtype, write = set_Overtype};
  __property   VARIANT_BOOL    ReplaceSelection = {read = get_ReplaceSelection, write = set_ReplaceSelection};
  __property   VARIANT_BOOL    AllowDragAndDrop = {read = get_AllowDragAndDrop, write = set_AllowDragAndDrop};
  __property   VARIANT_BOOL    AutoWordSelection = {read = get_AutoWordSelection, write = set_AutoWordSelection};
  __property   VARIANT_BOOL    INSKeyForPaste = {read = get_INSKeyForPaste, write = set_INSKeyForPaste};
  __property   VARIANT_BOOL    SmartCutPaste = {read = get_SmartCutPaste, write = set_SmartCutPaste};
  __property   VARIANT_BOOL    TabIndentKey = {read = get_TabIndentKey, write = set_TabIndentKey};
  __property   BSTR            PictureEditor = {read = get_PictureEditor, write = set_PictureEditor};
  __property   VARIANT_BOOL    AnimateScreenMovements = {read = get_AnimateScreenMovements, write = set_AnimateScreenMovements};
  __property   VARIANT_BOOL    VirusProtection = {read = get_VirusProtection, write = set_VirusProtection};
  __property   Word_xp::WdRevisedPropertiesMark RevisedPropertiesMark = {read = get_RevisedPropertiesMark, write = set_RevisedPropertiesMark};
  __property   Word_xp::WdColorIndex RevisedPropertiesColor = {read = get_RevisedPropertiesColor, write = set_RevisedPropertiesColor};
  __property   VARIANT_BOOL    SnapToGrid = {read = get_SnapToGrid, write = set_SnapToGrid};
  __property   VARIANT_BOOL    SnapToShapes = {read = get_SnapToShapes, write = set_SnapToShapes};
  __property   float           GridDistanceHorizontal = {read = get_GridDistanceHorizontal, write = set_GridDistanceHorizontal};
  __property   float           GridDistanceVertical = {read = get_GridDistanceVertical, write = set_GridDistanceVertical};
  __property   float           GridOriginHorizontal = {read = get_GridOriginHorizontal, write = set_GridOriginHorizontal};
  __property   float           GridOriginVertical = {read = get_GridOriginVertical, write = set_GridOriginVertical};
  __property   VARIANT_BOOL    InlineConversion = {read = get_InlineConversion, write = set_InlineConversion};
  __property   VARIANT_BOOL    IMEAutomaticControl = {read = get_IMEAutomaticControl, write = set_IMEAutomaticControl};
  __property   VARIANT_BOOL    AutoFormatApplyHeadings = {read = get_AutoFormatApplyHeadings, write = set_AutoFormatApplyHeadings};
  __property   VARIANT_BOOL    AutoFormatApplyLists = {read = get_AutoFormatApplyLists, write = set_AutoFormatApplyLists};
  __property   VARIANT_BOOL    AutoFormatApplyBulletedLists = {read = get_AutoFormatApplyBulletedLists, write = set_AutoFormatApplyBulletedLists};
  __property   VARIANT_BOOL    AutoFormatApplyOtherParas = {read = get_AutoFormatApplyOtherParas, write = set_AutoFormatApplyOtherParas};
  __property   VARIANT_BOOL    AutoFormatReplaceQuotes = {read = get_AutoFormatReplaceQuotes, write = set_AutoFormatReplaceQuotes};
  __property   VARIANT_BOOL    AutoFormatReplaceSymbols = {read = get_AutoFormatReplaceSymbols, write = set_AutoFormatReplaceSymbols};
  __property   VARIANT_BOOL    AutoFormatReplaceOrdinals = {read = get_AutoFormatReplaceOrdinals, write = set_AutoFormatReplaceOrdinals};
  __property   VARIANT_BOOL    AutoFormatReplaceFractions = {read = get_AutoFormatReplaceFractions, write = set_AutoFormatReplaceFractions};
  __property   VARIANT_BOOL    AutoFormatReplacePlainTextEmphasis = {read = get_AutoFormatReplacePlainTextEmphasis, write = set_AutoFormatReplacePlainTextEmphasis};
  __property   VARIANT_BOOL    AutoFormatPreserveStyles = {read = get_AutoFormatPreserveStyles, write = set_AutoFormatPreserveStyles};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyHeadings = {read = get_AutoFormatAsYouTypeApplyHeadings, write = set_AutoFormatAsYouTypeApplyHeadings};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyBorders = {read = get_AutoFormatAsYouTypeApplyBorders, write = set_AutoFormatAsYouTypeApplyBorders};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyBulletedLists = {read = get_AutoFormatAsYouTypeApplyBulletedLists, write = set_AutoFormatAsYouTypeApplyBulletedLists};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyNumberedLists = {read = get_AutoFormatAsYouTypeApplyNumberedLists, write = set_AutoFormatAsYouTypeApplyNumberedLists};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceQuotes = {read = get_AutoFormatAsYouTypeReplaceQuotes, write = set_AutoFormatAsYouTypeReplaceQuotes};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceSymbols = {read = get_AutoFormatAsYouTypeReplaceSymbols, write = set_AutoFormatAsYouTypeReplaceSymbols};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceOrdinals = {read = get_AutoFormatAsYouTypeReplaceOrdinals, write = set_AutoFormatAsYouTypeReplaceOrdinals};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceFractions = {read = get_AutoFormatAsYouTypeReplaceFractions, write = set_AutoFormatAsYouTypeReplaceFractions};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplacePlainTextEmphasis = {read = get_AutoFormatAsYouTypeReplacePlainTextEmphasis, write = set_AutoFormatAsYouTypeReplacePlainTextEmphasis};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeFormatListItemBeginning = {read = get_AutoFormatAsYouTypeFormatListItemBeginning, write = set_AutoFormatAsYouTypeFormatListItemBeginning};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeDefineStyles = {read = get_AutoFormatAsYouTypeDefineStyles, write = set_AutoFormatAsYouTypeDefineStyles};
  __property   VARIANT_BOOL    AutoFormatPlainTextWordMail = {read = get_AutoFormatPlainTextWordMail, write = set_AutoFormatPlainTextWordMail};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceHyperlinks = {read = get_AutoFormatAsYouTypeReplaceHyperlinks, write = set_AutoFormatAsYouTypeReplaceHyperlinks};
  __property   VARIANT_BOOL    AutoFormatReplaceHyperlinks = {read = get_AutoFormatReplaceHyperlinks, write = set_AutoFormatReplaceHyperlinks};
  __property   Word_xp::WdColorIndex DefaultHighlightColorIndex = {read = get_DefaultHighlightColorIndex, write = set_DefaultHighlightColorIndex};
  __property   Word_xp::WdLineStyle DefaultBorderLineStyle = {read = get_DefaultBorderLineStyle, write = set_DefaultBorderLineStyle};
  __property   VARIANT_BOOL    CheckSpellingAsYouType = {read = get_CheckSpellingAsYouType, write = set_CheckSpellingAsYouType};
  __property   VARIANT_BOOL    CheckGrammarAsYouType = {read = get_CheckGrammarAsYouType, write = set_CheckGrammarAsYouType};
  __property   VARIANT_BOOL    IgnoreInternetAndFileAddresses = {read = get_IgnoreInternetAndFileAddresses, write = set_IgnoreInternetAndFileAddresses};
  __property   VARIANT_BOOL    ShowReadabilityStatistics = {read = get_ShowReadabilityStatistics, write = set_ShowReadabilityStatistics};
  __property   VARIANT_BOOL    IgnoreUppercase = {read = get_IgnoreUppercase, write = set_IgnoreUppercase};
  __property   VARIANT_BOOL    IgnoreMixedDigits = {read = get_IgnoreMixedDigits, write = set_IgnoreMixedDigits};
  __property   VARIANT_BOOL    SuggestFromMainDictionaryOnly = {read = get_SuggestFromMainDictionaryOnly, write = set_SuggestFromMainDictionaryOnly};
  __property   VARIANT_BOOL    SuggestSpellingCorrections = {read = get_SuggestSpellingCorrections, write = set_SuggestSpellingCorrections};
  __property   Word_xp::WdLineWidth DefaultBorderLineWidth = {read = get_DefaultBorderLineWidth, write = set_DefaultBorderLineWidth};
  __property   VARIANT_BOOL    CheckGrammarWithSpelling = {read = get_CheckGrammarWithSpelling, write = set_CheckGrammarWithSpelling};
  __property   Word_xp::WdOpenFormat DefaultOpenFormat = {read = get_DefaultOpenFormat, write = set_DefaultOpenFormat};
  __property   VARIANT_BOOL    PrintDraft = {read = get_PrintDraft, write = set_PrintDraft};
  __property   VARIANT_BOOL    PrintReverse = {read = get_PrintReverse, write = set_PrintReverse};
  __property   VARIANT_BOOL    MapPaperSize = {read = get_MapPaperSize, write = set_MapPaperSize};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyTables = {read = get_AutoFormatAsYouTypeApplyTables, write = set_AutoFormatAsYouTypeApplyTables};
  __property   VARIANT_BOOL    AutoFormatApplyFirstIndents = {read = get_AutoFormatApplyFirstIndents, write = set_AutoFormatApplyFirstIndents};
  __property   VARIANT_BOOL    AutoFormatMatchParentheses = {read = get_AutoFormatMatchParentheses, write = set_AutoFormatMatchParentheses};
  __property   VARIANT_BOOL    AutoFormatReplaceFarEastDashes = {read = get_AutoFormatReplaceFarEastDashes, write = set_AutoFormatReplaceFarEastDashes};
  __property   VARIANT_BOOL    AutoFormatDeleteAutoSpaces = {read = get_AutoFormatDeleteAutoSpaces, write = set_AutoFormatDeleteAutoSpaces};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyFirstIndents = {read = get_AutoFormatAsYouTypeApplyFirstIndents, write = set_AutoFormatAsYouTypeApplyFirstIndents};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyDates = {read = get_AutoFormatAsYouTypeApplyDates, write = set_AutoFormatAsYouTypeApplyDates};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyClosings = {read = get_AutoFormatAsYouTypeApplyClosings, write = set_AutoFormatAsYouTypeApplyClosings};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeMatchParentheses = {read = get_AutoFormatAsYouTypeMatchParentheses, write = set_AutoFormatAsYouTypeMatchParentheses};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceFarEastDashes = {read = get_AutoFormatAsYouTypeReplaceFarEastDashes, write = set_AutoFormatAsYouTypeReplaceFarEastDashes};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeDeleteAutoSpaces = {read = get_AutoFormatAsYouTypeDeleteAutoSpaces, write = set_AutoFormatAsYouTypeDeleteAutoSpaces};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeInsertClosings = {read = get_AutoFormatAsYouTypeInsertClosings, write = set_AutoFormatAsYouTypeInsertClosings};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeAutoLetterWizard = {read = get_AutoFormatAsYouTypeAutoLetterWizard, write = set_AutoFormatAsYouTypeAutoLetterWizard};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeInsertOvers = {read = get_AutoFormatAsYouTypeInsertOvers, write = set_AutoFormatAsYouTypeInsertOvers};
  __property   VARIANT_BOOL    DisplayGridLines = {read = get_DisplayGridLines, write = set_DisplayGridLines};
  __property   VARIANT_BOOL    MatchFuzzyCase = {read = get_MatchFuzzyCase, write = set_MatchFuzzyCase};
  __property   VARIANT_BOOL    MatchFuzzyByte = {read = get_MatchFuzzyByte, write = set_MatchFuzzyByte};
  __property   VARIANT_BOOL    MatchFuzzyHiragana = {read = get_MatchFuzzyHiragana, write = set_MatchFuzzyHiragana};
  __property   VARIANT_BOOL    MatchFuzzySmallKana = {read = get_MatchFuzzySmallKana, write = set_MatchFuzzySmallKana};
  __property   VARIANT_BOOL    MatchFuzzyDash = {read = get_MatchFuzzyDash, write = set_MatchFuzzyDash};
  __property   VARIANT_BOOL    MatchFuzzyIterationMark = {read = get_MatchFuzzyIterationMark, write = set_MatchFuzzyIterationMark};
  __property   VARIANT_BOOL    MatchFuzzyKanji = {read = get_MatchFuzzyKanji, write = set_MatchFuzzyKanji};
  __property   VARIANT_BOOL    MatchFuzzyOldKana = {read = get_MatchFuzzyOldKana, write = set_MatchFuzzyOldKana};
  __property   VARIANT_BOOL    MatchFuzzyProlongedSoundMark = {read = get_MatchFuzzyProlongedSoundMark, write = set_MatchFuzzyProlongedSoundMark};
  __property   VARIANT_BOOL    MatchFuzzyDZ = {read = get_MatchFuzzyDZ, write = set_MatchFuzzyDZ};
  __property   VARIANT_BOOL    MatchFuzzyBV = {read = get_MatchFuzzyBV, write = set_MatchFuzzyBV};
  __property   VARIANT_BOOL    MatchFuzzyTC = {read = get_MatchFuzzyTC, write = set_MatchFuzzyTC};
  __property   VARIANT_BOOL    MatchFuzzyHF = {read = get_MatchFuzzyHF, write = set_MatchFuzzyHF};
  __property   VARIANT_BOOL    MatchFuzzyZJ = {read = get_MatchFuzzyZJ, write = set_MatchFuzzyZJ};
  __property   VARIANT_BOOL    MatchFuzzyAY = {read = get_MatchFuzzyAY, write = set_MatchFuzzyAY};
  __property   VARIANT_BOOL    MatchFuzzyKiKu = {read = get_MatchFuzzyKiKu, write = set_MatchFuzzyKiKu};
  __property   VARIANT_BOOL    MatchFuzzyPunctuation = {read = get_MatchFuzzyPunctuation, write = set_MatchFuzzyPunctuation};
  __property   VARIANT_BOOL    MatchFuzzySpace = {read = get_MatchFuzzySpace, write = set_MatchFuzzySpace};
  __property   VARIANT_BOOL    ApplyFarEastFontsToAscii = {read = get_ApplyFarEastFontsToAscii, write = set_ApplyFarEastFontsToAscii};
  __property   VARIANT_BOOL    ConvertHighAnsiToFarEast = {read = get_ConvertHighAnsiToFarEast, write = set_ConvertHighAnsiToFarEast};
  __property   VARIANT_BOOL    PrintOddPagesInAscendingOrder = {read = get_PrintOddPagesInAscendingOrder, write = set_PrintOddPagesInAscendingOrder};
  __property   VARIANT_BOOL    PrintEvenPagesInAscendingOrder = {read = get_PrintEvenPagesInAscendingOrder, write = set_PrintEvenPagesInAscendingOrder};
  __property   Word_xp::WdColorIndex DefaultBorderColorIndex = {read = get_DefaultBorderColorIndex, write = set_DefaultBorderColorIndex};
  __property   VARIANT_BOOL    EnableMisusedWordsDictionary = {read = get_EnableMisusedWordsDictionary, write = set_EnableMisusedWordsDictionary};
  __property   VARIANT_BOOL    AllowCombinedAuxiliaryForms = {read = get_AllowCombinedAuxiliaryForms, write = set_AllowCombinedAuxiliaryForms};
  __property   VARIANT_BOOL    HangulHanjaFastConversion = {read = get_HangulHanjaFastConversion, write = set_HangulHanjaFastConversion};
  __property   VARIANT_BOOL    CheckHangulEndings = {read = get_CheckHangulEndings, write = set_CheckHangulEndings};
  __property   VARIANT_BOOL    EnableHangulHanjaRecentOrdering = {read = get_EnableHangulHanjaRecentOrdering, write = set_EnableHangulHanjaRecentOrdering};
  __property   Word_xp::WdMultipleWordConversionsMode MultipleWordConversionsMode = {read = get_MultipleWordConversionsMode, write = set_MultipleWordConversionsMode};
  __property   Word_xp::WdColor DefaultBorderColor = {read = get_DefaultBorderColor, write = set_DefaultBorderColor};
  __property   VARIANT_BOOL    AllowPixelUnits = {read = get_AllowPixelUnits, write = set_AllowPixelUnits};
  __property   VARIANT_BOOL    UseCharacterUnit = {read = get_UseCharacterUnit, write = set_UseCharacterUnit};
  __property   VARIANT_BOOL    AllowCompoundNounProcessing = {read = get_AllowCompoundNounProcessing, write = set_AllowCompoundNounProcessing};
  __property   VARIANT_BOOL    AutoKeyboardSwitching = {read = get_AutoKeyboardSwitching, write = set_AutoKeyboardSwitching};
  __property   Word_xp::WdDocumentViewDirection DocumentViewDirection = {read = get_DocumentViewDirection, write = set_DocumentViewDirection};
  __property   Word_xp::WdArabicNumeral ArabicNumeral = {read = get_ArabicNumeral, write = set_ArabicNumeral};
  __property   Word_xp::WdMonthNames MonthNames = {read = get_MonthNames, write = set_MonthNames};
  __property   Word_xp::WdCursorMovement CursorMovement = {read = get_CursorMovement, write = set_CursorMovement};
  __property   Word_xp::WdVisualSelection VisualSelection = {read = get_VisualSelection, write = set_VisualSelection};
  __property   VARIANT_BOOL    ShowDiacritics = {read = get_ShowDiacritics, write = set_ShowDiacritics};
  __property   VARIANT_BOOL    ShowControlCharacters = {read = get_ShowControlCharacters, write = set_ShowControlCharacters};
  __property   VARIANT_BOOL    AddControlCharacters = {read = get_AddControlCharacters, write = set_AddControlCharacters};
  __property   VARIANT_BOOL    AddBiDirectionalMarksWhenSavingTextFile = {read = get_AddBiDirectionalMarksWhenSavingTextFile, write = set_AddBiDirectionalMarksWhenSavingTextFile};
  __property   VARIANT_BOOL    StrictInitialAlefHamza = {read = get_StrictInitialAlefHamza, write = set_StrictInitialAlefHamza};
  __property   VARIANT_BOOL    StrictFinalYaa = {read = get_StrictFinalYaa, write = set_StrictFinalYaa};
  __property   Word_xp::WdHebSpellStart HebrewMode = {read = get_HebrewMode, write = set_HebrewMode};
  __property   Word_xp::WdAraSpeller ArabicMode = {read = get_ArabicMode, write = set_ArabicMode};
  __property   VARIANT_BOOL    AllowClickAndTypeMouse = {read = get_AllowClickAndTypeMouse, write = set_AllowClickAndTypeMouse};
  __property   VARIANT_BOOL    UseGermanSpellingReform = {read = get_UseGermanSpellingReform, write = set_UseGermanSpellingReform};
  __property   Word_xp::WdHighAnsiText InterpretHighAnsi = {read = get_InterpretHighAnsi, write = set_InterpretHighAnsi};
  __property   VARIANT_BOOL    AddHebDoubleQuote = {read = get_AddHebDoubleQuote, write = set_AddHebDoubleQuote};
  __property   VARIANT_BOOL    UseDiffDiacColor = {read = get_UseDiffDiacColor, write = set_UseDiffDiacColor};
  __property   Word_xp::WdColor DiacriticColorVal = {read = get_DiacriticColorVal, write = set_DiacriticColorVal};
  __property   VARIANT_BOOL    OptimizeForWord97byDefault = {read = get_OptimizeForWord97byDefault, write = set_OptimizeForWord97byDefault};
  __property   VARIANT_BOOL    LocalNetworkFile = {read = get_LocalNetworkFile, write = set_LocalNetworkFile};
  __property   VARIANT_BOOL    TypeNReplace = {read = get_TypeNReplace, write = set_TypeNReplace};
  __property   VARIANT_BOOL    SequenceCheck = {read = get_SequenceCheck, write = set_SequenceCheck};
  __property   VARIANT_BOOL    BackgroundOpen = {read = get_BackgroundOpen, write = set_BackgroundOpen};
  __property   VARIANT_BOOL    DisableFeaturesbyDefault = {read = get_DisableFeaturesbyDefault, write = set_DisableFeaturesbyDefault};
  __property   VARIANT_BOOL    PasteAdjustWordSpacing = {read = get_PasteAdjustWordSpacing, write = set_PasteAdjustWordSpacing};
  __property   VARIANT_BOOL    PasteAdjustParagraphSpacing = {read = get_PasteAdjustParagraphSpacing, write = set_PasteAdjustParagraphSpacing};
  __property   VARIANT_BOOL    PasteAdjustTableFormatting = {read = get_PasteAdjustTableFormatting, write = set_PasteAdjustTableFormatting};
  __property   VARIANT_BOOL    PasteSmartStyleBehavior = {read = get_PasteSmartStyleBehavior, write = set_PasteSmartStyleBehavior};
  __property   VARIANT_BOOL    PasteMergeFromPPT = {read = get_PasteMergeFromPPT, write = set_PasteMergeFromPPT};
  __property   VARIANT_BOOL    PasteMergeFromXL = {read = get_PasteMergeFromXL, write = set_PasteMergeFromXL};
  __property   VARIANT_BOOL    CtrlClickHyperlinkToOpen = {read = get_CtrlClickHyperlinkToOpen, write = set_CtrlClickHyperlinkToOpen};
  __property   Word_xp::WdWrapTypeMerged PictureWrapType = {read = get_PictureWrapType, write = set_PictureWrapType};
  __property   Word_xp::WdDisableFeaturesIntroducedAfter DisableFeaturesIntroducedAfterbyDefault = {read = get_DisableFeaturesIntroducedAfterbyDefault, write = set_DisableFeaturesIntroducedAfterbyDefault};
  __property   VARIANT_BOOL    PasteSmartCutPaste = {read = get_PasteSmartCutPaste, write = set_PasteSmartCutPaste};
  __property   VARIANT_BOOL    DisplayPasteOptions = {read = get_DisplayPasteOptions, write = set_DisplayPasteOptions};
  __property   VARIANT_BOOL    PromptUpdateStyle = {read = get_PromptUpdateStyle, write = set_PromptUpdateStyle};
  __property   BSTR            DefaultEPostageApp = {read = get_DefaultEPostageApp, write = set_DefaultEPostageApp};
  __property   Office_xp::MsoEncoding DefaultTextEncoding = {read = get_DefaultTextEncoding, write = set_DefaultTextEncoding};
  __property   VARIANT_BOOL    LabelSmartTags = {read = get_LabelSmartTags, write = set_LabelSmartTags};
  __property   VARIANT_BOOL    DisplaySmartTagButtons = {read = get_DisplaySmartTagButtons, write = set_DisplaySmartTagButtons};
  __property   VARIANT_BOOL    WarnBeforeSavingPrintingSendingMarkup = {read = get_WarnBeforeSavingPrintingSendingMarkup, write = set_WarnBeforeSavingPrintingSendingMarkup};
  __property   VARIANT_BOOL    StoreRSIDOnSave = {read = get_StoreRSIDOnSave, write = set_StoreRSIDOnSave};
  __property   VARIANT_BOOL    ShowFormatError = {read = get_ShowFormatError, write = set_ShowFormatError};
  __property   VARIANT_BOOL    FormatScanning = {read = get_FormatScanning, write = set_FormatScanning};
  __property   VARIANT_BOOL    PasteMergeLists = {read = get_PasteMergeLists, write = set_PasteMergeLists};
  __property   VARIANT_BOOL    AutoCreateNewDrawings = {read = get_AutoCreateNewDrawings, write = set_AutoCreateNewDrawings};
  __property   VARIANT_BOOL    SmartParaSelection = {read = get_SmartParaSelection, write = set_SmartParaSelection};
  __property   Word_xp::WdRevisionsBalloonPrintOrientation RevisionsBalloonPrintOrientation = {read = get_RevisionsBalloonPrintOrientation, write = set_RevisionsBalloonPrintOrientation};
  __property   Word_xp::WdColorIndex CommentsColor = {read = get_CommentsColor, write = set_CommentsColor};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: MailMessage
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209BA-0000-0000-C000-000000000046}
// *********************************************************************//
interface MailMessage  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE CheckName(void) = 0; // [334]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [335]
  virtual HRESULT STDMETHODCALLTYPE DisplayMoveDialog(void) = 0; // [336]
  virtual HRESULT STDMETHODCALLTYPE DisplayProperties(void) = 0; // [337]
  virtual HRESULT STDMETHODCALLTYPE DisplaySelectNamesDialog(void) = 0; // [338]
  virtual HRESULT STDMETHODCALLTYPE Forward(void) = 0; // [339]
  virtual HRESULT STDMETHODCALLTYPE GoToNext(void) = 0; // [340]
  virtual HRESULT STDMETHODCALLTYPE GoToPrevious(void) = 0; // [341]
  virtual HRESULT STDMETHODCALLTYPE Reply(void) = 0; // [342]
  virtual HRESULT STDMETHODCALLTYPE ReplyAll(void) = 0; // [343]
  virtual HRESULT STDMETHODCALLTYPE ToggleHeader(void) = 0; // [344]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ProofreadingErrors
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209BB-0000-0000-C000-000000000046}
// *********************************************************************//
interface ProofreadingErrors  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdProofreadingErrorType* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WdProofreadingErrorType __fastcall get_Type(void)
  {
    Word_xp::WdProofreadingErrorType prop;
    OLECHECK(this->get_Type((Word_xp::WdProofreadingErrorType*)&prop));
    return prop;
  }

  Word_xp::WordRange* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::WordRange* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::WordRange**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdProofreadingErrorType Type = {read = get_Type};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Mailer
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209BD-0000-0000-C000-000000000046}
// *********************************************************************//
interface Mailer  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_BCCRecipients(VARIANT* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_BCCRecipients(VARIANT* prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_CCRecipients(VARIANT* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_CCRecipients(VARIANT* prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Recipients(VARIANT* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_Recipients(VARIANT* prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_Enclosures(VARIANT* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_Enclosures(VARIANT* prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Sender(BSTR* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_SendDateTime(DATE* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_Received(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_Subject(BSTR* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_Subject(BSTR prop/*[in]*/) = 0; // [107]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT __fastcall get_BCCRecipients(void)
  {
    VARIANT prop;
    OLECHECK(this->get_BCCRecipients((VARIANT*)&prop));
    return prop;
  }

  VARIANT __fastcall get_CCRecipients(void)
  {
    VARIANT prop;
    OLECHECK(this->get_CCRecipients((VARIANT*)&prop));
    return prop;
  }

  VARIANT __fastcall get_Recipients(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Recipients((VARIANT*)&prop));
    return prop;
  }

  VARIANT __fastcall get_Enclosures(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Enclosures((VARIANT*)&prop));
    return prop;
  }

  BSTR __fastcall get_Sender(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Sender((BSTR*)&prop));
    return prop;
  }

  DATE __fastcall get_SendDateTime(void)
  {
    DATE prop;
    OLECHECK(this->get_SendDateTime((DATE*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Received(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Received((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_Subject(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Subject((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Sender = {read = get_Sender};
  __property   DATE            SendDateTime = {read = get_SendDateTime};
  __property   VARIANT_BOOL    Received = {read = get_Received};
  __property   BSTR            Subject = {read = get_Subject, write = set_Subject};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: WrapFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C3-0000-0000-C000-000000000046}
// *********************************************************************//
interface WrapFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdWrapType* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Type(Word_xp::WdWrapType prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Side(Word_xp::WdWrapSideType* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_Side(Word_xp::WdWrapSideType prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceTop(float* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceTop(float prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceBottom(float* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceBottom(float prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceLeft(float* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceLeft(float prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_DistanceRight(float* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_DistanceRight(float prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_AllowOverlap(long* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_AllowOverlap(long prop/*[in]*/) = 0; // [106]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdWrapType __fastcall get_Type(void)
  {
    Word_xp::WdWrapType prop;
    OLECHECK(this->get_Type((Word_xp::WdWrapType*)&prop));
    return prop;
  }

  Word_xp::WdWrapSideType __fastcall get_Side(void)
  {
    Word_xp::WdWrapSideType prop;
    OLECHECK(this->get_Side((Word_xp::WdWrapSideType*)&prop));
    return prop;
  }

  float __fastcall get_DistanceTop(void)
  {
    float prop;
    OLECHECK(this->get_DistanceTop((float*)&prop));
    return prop;
  }

  float __fastcall get_DistanceBottom(void)
  {
    float prop;
    OLECHECK(this->get_DistanceBottom((float*)&prop));
    return prop;
  }

  float __fastcall get_DistanceLeft(void)
  {
    float prop;
    OLECHECK(this->get_DistanceLeft((float*)&prop));
    return prop;
  }

  float __fastcall get_DistanceRight(void)
  {
    float prop;
    OLECHECK(this->get_DistanceRight((float*)&prop));
    return prop;
  }

  long __fastcall get_AllowOverlap(void)
  {
    long prop;
    OLECHECK(this->get_AllowOverlap((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdWrapType Type = {read = get_Type, write = set_Type};
  __property   Word_xp::WdWrapSideType Side = {read = get_Side, write = set_Side};
  __property   float           DistanceTop = {read = get_DistanceTop, write = set_DistanceTop};
  __property   float           DistanceBottom = {read = get_DistanceBottom, write = set_DistanceBottom};
  __property   float           DistanceLeft = {read = get_DistanceLeft, write = set_DistanceLeft};
  __property   float           DistanceRight = {read = get_DistanceRight, write = set_DistanceRight};
  __property   long            AllowOverlap = {read = get_AllowOverlap, write = set_AllowOverlap};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: HangulAndAlphabetExceptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209D1-0000-0000-C000-000000000046}
// *********************************************************************//
interface HangulAndAlphabetExceptions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::HangulAndAlphabetException** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, 
                                        Word_xp::HangulAndAlphabetException** prop/*[out,retval]*/) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::HangulAndAlphabetException* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::HangulAndAlphabetException* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::HangulAndAlphabetException**)&prop));
    return prop;
  }

  Word_xp::HangulAndAlphabetException* __fastcall Add(BSTR Name/*[in]*/)
  {
    Word_xp::HangulAndAlphabetException* prop = 0;
    OLECHECK(this->Add(Name, (Word_xp::HangulAndAlphabetException**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: HangulAndAlphabetException
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209D2-0000-0000-C000-000000000046}
// *********************************************************************//
interface HangulAndAlphabetException  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Adjustments
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C4-0000-0000-C000-000000000046}
// *********************************************************************//
interface Adjustments  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Item(long Index/*[in]*/, float* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Item(long Index/*[in]*/, float prop/*[in]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  float __fastcall get_Item(long Index/*[in]*/)
  {
    float prop;
    OLECHECK(this->get_Item(Index, (float*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: CalloutFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C5-0000-0000-C000-000000000046}
// *********************************************************************//
interface CalloutFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Accent(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Accent(Office_xp::MsoTriState prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Angle(Office_xp::MsoCalloutAngleType* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_Angle(Office_xp::MsoCalloutAngleType prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_AutoAttach(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_AutoAttach(Office_xp::MsoTriState prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_AutoLength(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Border(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_Border(Office_xp::MsoTriState prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Drop(float* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_DropType(Office_xp::MsoCalloutDropType* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_Gap(float* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_Gap(float prop/*[in]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_Length(float* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Office_xp::MsoCalloutType* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_Type(Office_xp::MsoCalloutType prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE AutomaticLength(void) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE CustomDrop(float Drop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE CustomLength(float Length/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE PresetDrop(Office_xp::MsoCalloutDropType DropType/*[in]*/) = 0; // [13]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Accent(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Accent((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Office_xp::MsoCalloutAngleType __fastcall get_Angle(void)
  {
    Office_xp::MsoCalloutAngleType prop;
    OLECHECK(this->get_Angle((Office_xp::MsoCalloutAngleType*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_AutoAttach(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_AutoAttach((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_AutoLength(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_AutoLength((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Border(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Border((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  float __fastcall get_Drop(void)
  {
    float prop;
    OLECHECK(this->get_Drop((float*)&prop));
    return prop;
  }

  Office_xp::MsoCalloutDropType __fastcall get_DropType(void)
  {
    Office_xp::MsoCalloutDropType prop;
    OLECHECK(this->get_DropType((Office_xp::MsoCalloutDropType*)&prop));
    return prop;
  }

  float __fastcall get_Gap(void)
  {
    float prop;
    OLECHECK(this->get_Gap((float*)&prop));
    return prop;
  }

  float __fastcall get_Length(void)
  {
    float prop;
    OLECHECK(this->get_Length((float*)&prop));
    return prop;
  }

  Office_xp::MsoCalloutType __fastcall get_Type(void)
  {
    Office_xp::MsoCalloutType prop;
    OLECHECK(this->get_Type((Office_xp::MsoCalloutType*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Office_xp::MsoTriState Accent = {read = get_Accent, write = set_Accent};
  __property   Office_xp::MsoCalloutAngleType Angle = {read = get_Angle, write = set_Angle};
  __property   Office_xp::MsoTriState AutoAttach = {read = get_AutoAttach, write = set_AutoAttach};
  __property   Office_xp::MsoTriState AutoLength = {read = get_AutoLength};
  __property   Office_xp::MsoTriState Border = {read = get_Border, write = set_Border};
  __property   float           Drop = {read = get_Drop};
  __property   Office_xp::MsoCalloutDropType DropType = {read = get_DropType};
  __property   float           Gap = {read = get_Gap, write = set_Gap};
  __property   float           Length = {read = get_Length};
  __property   Office_xp::MsoCalloutType Type = {read = get_Type, write = set_Type};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ColorFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C6-0000-0000-C000-000000000046}
// *********************************************************************//
interface ColorFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_rgb(long* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_rgb(long prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_SchemeColor(long* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_SchemeColor(long prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Office_xp::MsoColorType* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_TintAndShade(float* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_TintAndShade(float prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_OverPrint(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_OverPrint(Office_xp::MsoTriState prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Ink(long Index/*[in]*/, float* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_Ink(long Index/*[in]*/, float prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_Cyan(long* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_Cyan(long prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_Magenta(long* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_Magenta(long prop/*[in]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_Yellow(long* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE set_Yellow(long prop/*[in]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_Black(long* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_Black(long prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE SetCMYK(long Cyan/*[in]*/, long Magenta/*[in]*/, 
                                            long Yellow/*[in]*/, long Black/*[in]*/) = 0; // [110]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_rgb(void)
  {
    long prop;
    OLECHECK(this->get_rgb((long*)&prop));
    return prop;
  }

  long __fastcall get_SchemeColor(void)
  {
    long prop;
    OLECHECK(this->get_SchemeColor((long*)&prop));
    return prop;
  }

  Office_xp::MsoColorType __fastcall get_Type(void)
  {
    Office_xp::MsoColorType prop;
    OLECHECK(this->get_Type((Office_xp::MsoColorType*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  float __fastcall get_TintAndShade(void)
  {
    float prop;
    OLECHECK(this->get_TintAndShade((float*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_OverPrint(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_OverPrint((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  float __fastcall get_Ink(long Index/*[in]*/)
  {
    float prop;
    OLECHECK(this->get_Ink(Index, (float*)&prop));
    return prop;
  }

  long __fastcall get_Cyan(void)
  {
    long prop;
    OLECHECK(this->get_Cyan((long*)&prop));
    return prop;
  }

  long __fastcall get_Magenta(void)
  {
    long prop;
    OLECHECK(this->get_Magenta((long*)&prop));
    return prop;
  }

  long __fastcall get_Yellow(void)
  {
    long prop;
    OLECHECK(this->get_Yellow((long*)&prop));
    return prop;
  }

  long __fastcall get_Black(void)
  {
    long prop;
    OLECHECK(this->get_Black((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            rgb = {read = get_rgb, write = set_rgb};
  __property   long            SchemeColor = {read = get_SchemeColor, write = set_SchemeColor};
  __property   Office_xp::MsoColorType Type = {read = get_Type};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   float           TintAndShade = {read = get_TintAndShade, write = set_TintAndShade};
  __property   Office_xp::MsoTriState OverPrint = {read = get_OverPrint, write = set_OverPrint};
  __property   long            Cyan = {read = get_Cyan, write = set_Cyan};
  __property   long            Magenta = {read = get_Magenta, write = set_Magenta};
  __property   long            Yellow = {read = get_Yellow, write = set_Yellow};
  __property   long            Black = {read = get_Black, write = set_Black};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ConnectorFormat
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C7-0000-0000-C000-000000000046}
// *********************************************************************//
interface ConnectorFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_BeginConnected(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_BeginConnectedShape(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_BeginConnectionSite(long* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_EndConnected(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_EndConnectedShape(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_EndConnectionSite(long* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Office_xp::MsoConnectorType* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_Type(Office_xp::MsoConnectorType prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE BeginConnect(Word_xp::Shape** ConnectedShape/*[out]*/, 
                                                 long ConnectionSite/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE BeginDisconnect(void) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE EndConnect(Word_xp::Shape** ConnectedShape/*[out]*/, 
                                               long ConnectionSite/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE EndDisconnect(void) = 0; // [13]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_BeginConnected(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_BeginConnected((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Word_xp::ShapePtr __fastcall get_BeginConnectedShape(void)
  {
    Word_xp::ShapePtr prop;
    OLECHECK(this->get_BeginConnectedShape(&prop));
    return prop;
  }

  long __fastcall get_BeginConnectionSite(void)
  {
    long prop;
    OLECHECK(this->get_BeginConnectionSite((long*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_EndConnected(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_EndConnected((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Word_xp::ShapePtr __fastcall get_EndConnectedShape(void)
  {
    Word_xp::ShapePtr prop;
    OLECHECK(this->get_EndConnectedShape(&prop));
    return prop;
  }

  long __fastcall get_EndConnectionSite(void)
  {
    long prop;
    OLECHECK(this->get_EndConnectionSite((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Office_xp::MsoConnectorType __fastcall get_Type(void)
  {
    Office_xp::MsoConnectorType prop;
    OLECHECK(this->get_Type((Office_xp::MsoConnectorType*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   Office_xp::MsoTriState BeginConnected = {read = get_BeginConnected};
  __property   Word_xp::ShapePtr BeginConnectedShape = {read = get_BeginConnectedShape};
  __property   long            BeginConnectionSite = {read = get_BeginConnectionSite};
  __property   Office_xp::MsoTriState EndConnected = {read = get_EndConnected};
  __property   Word_xp::ShapePtr EndConnectedShape = {read = get_EndConnectedShape};
  __property   long            EndConnectionSite = {read = get_EndConnectionSite};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Office_xp::MsoConnectorType Type = {read = get_Type, write = set_Type};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: FillFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C8-0000-0000-C000-000000000046}
// *********************************************************************//
interface FillFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_BackColor(Word_xp::ColorFormat** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_ForeColor(Word_xp::ColorFormat** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_GradientColorType(Office_xp::MsoGradientColorType* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_GradientDegree(float* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_GradientStyle(Office_xp::MsoGradientStyle* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_GradientVariant(long* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_Pattern(Office_xp::MsoPatternType* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_PresetGradientType(Office_xp::MsoPresetGradientType* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_PresetTexture(Office_xp::MsoPresetTexture* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_TextureName(BSTR* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_TextureType(Office_xp::MsoTextureType* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_Transparency(float* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_Transparency(float prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Office_xp::MsoFillType* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE set_Visible(Office_xp::MsoTriState prop/*[in]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE Background(void) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE OneColorGradient(Office_xp::MsoGradientStyle Style/*[in]*/, 
                                                     long Variant/*[in]*/, float Degree/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE Patterned(Office_xp::MsoPatternType Pattern/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE PresetGradient(Office_xp::MsoGradientStyle Style/*[in]*/, 
                                                   long Variant/*[in]*/, 
                                                   Office_xp::MsoPresetGradientType PresetGradientType/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE PresetTextured(Office_xp::MsoPresetTexture PresetTexture/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE Solid(void) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE TwoColorGradient(Office_xp::MsoGradientStyle Style/*[in]*/, 
                                                     long Variant/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE UserPicture(BSTR PictureFile/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE UserTextured(BSTR TextureFile/*[in]*/) = 0; // [18]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::ColorFormatPtr __fastcall get_BackColor(void)
  {
    Word_xp::ColorFormatPtr prop;
    OLECHECK(this->get_BackColor(&prop));
    return prop;
  }

  Word_xp::ColorFormatPtr __fastcall get_ForeColor(void)
  {
    Word_xp::ColorFormatPtr prop;
    OLECHECK(this->get_ForeColor(&prop));
    return prop;
  }

  Office_xp::MsoGradientColorType __fastcall get_GradientColorType(void)
  {
    Office_xp::MsoGradientColorType prop;
    OLECHECK(this->get_GradientColorType((Office_xp::MsoGradientColorType*)&prop));
    return prop;
  }

  float __fastcall get_GradientDegree(void)
  {
    float prop;
    OLECHECK(this->get_GradientDegree((float*)&prop));
    return prop;
  }

  Office_xp::MsoGradientStyle __fastcall get_GradientStyle(void)
  {
    Office_xp::MsoGradientStyle prop;
    OLECHECK(this->get_GradientStyle((Office_xp::MsoGradientStyle*)&prop));
    return prop;
  }

  long __fastcall get_GradientVariant(void)
  {
    long prop;
    OLECHECK(this->get_GradientVariant((long*)&prop));
    return prop;
  }

  Office_xp::MsoPatternType __fastcall get_Pattern(void)
  {
    Office_xp::MsoPatternType prop;
    OLECHECK(this->get_Pattern((Office_xp::MsoPatternType*)&prop));
    return prop;
  }

  Office_xp::MsoPresetGradientType __fastcall get_PresetGradientType(void)
  {
    Office_xp::MsoPresetGradientType prop;
    OLECHECK(this->get_PresetGradientType((Office_xp::MsoPresetGradientType*)&prop));
    return prop;
  }

  Office_xp::MsoPresetTexture __fastcall get_PresetTexture(void)
  {
    Office_xp::MsoPresetTexture prop;
    OLECHECK(this->get_PresetTexture((Office_xp::MsoPresetTexture*)&prop));
    return prop;
  }

  BSTR __fastcall get_TextureName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_TextureName((BSTR*)&prop));
    return prop;
  }

  Office_xp::MsoTextureType __fastcall get_TextureType(void)
  {
    Office_xp::MsoTextureType prop;
    OLECHECK(this->get_TextureType((Office_xp::MsoTextureType*)&prop));
    return prop;
  }

  float __fastcall get_Transparency(void)
  {
    float prop;
    OLECHECK(this->get_Transparency((float*)&prop));
    return prop;
  }

  Office_xp::MsoFillType __fastcall get_Type(void)
  {
    Office_xp::MsoFillType prop;
    OLECHECK(this->get_Type((Office_xp::MsoFillType*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Visible(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Visible((Office_xp::MsoTriState*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::ColorFormatPtr BackColor = {read = get_BackColor};
  __property   Word_xp::ColorFormatPtr ForeColor = {read = get_ForeColor};
  __property   Office_xp::MsoGradientColorType GradientColorType = {read = get_GradientColorType};
  __property   float           GradientDegree = {read = get_GradientDegree};
  __property   Office_xp::MsoGradientStyle GradientStyle = {read = get_GradientStyle};
  __property   long            GradientVariant = {read = get_GradientVariant};
  __property   Office_xp::MsoPatternType Pattern = {read = get_Pattern};
  __property   Office_xp::MsoPresetGradientType PresetGradientType = {read = get_PresetGradientType};
  __property   Office_xp::MsoPresetTexture PresetTexture = {read = get_PresetTexture};
  __property   BSTR            TextureName = {read = get_TextureName};
  __property   Office_xp::MsoTextureType TextureType = {read = get_TextureType};
  __property   float           Transparency = {read = get_Transparency, write = set_Transparency};
  __property   Office_xp::MsoFillType Type = {read = get_Type};
  __property   Office_xp::MsoTriState Visible = {read = get_Visible, write = set_Visible};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: FreeformBuilder
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C9-0000-0000-C000-000000000046}
// *********************************************************************//
interface FreeformBuilder  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE AddNodes(Office_xp::MsoSegmentType SegmentType/*[in]*/, 
                                             Office_xp::MsoEditingType EditingType/*[in]*/, 
                                             float X1/*[in]*/, float Y1/*[in]*/, 
                                             float X2/*[in,def,opt]*/, float Y2/*[in,def,opt]*/, 
                                             float X3/*[in,def,opt]*/, float Y3/*[in,def,opt]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE ConvertToShape(VARIANT* Anchor/*[in,opt]*/, 
                                                   Word_xp::Shape** prop/*[out,retval]*/) = 0; // [11]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall ConvertToShape(VARIANT* Anchor/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->ConvertToShape(Anchor, (Word_xp::Shape**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: LineFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CA-0000-0000-C000-000000000046}
// *********************************************************************//
interface LineFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_BackColor(Word_xp::ColorFormat** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_BeginArrowheadLength(Office_xp::MsoArrowheadLength* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_BeginArrowheadLength(Office_xp::MsoArrowheadLength prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_BeginArrowheadStyle(Office_xp::MsoArrowheadStyle* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_BeginArrowheadStyle(Office_xp::MsoArrowheadStyle prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_BeginArrowheadWidth(Office_xp::MsoArrowheadWidth* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_BeginArrowheadWidth(Office_xp::MsoArrowheadWidth prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_DashStyle(Office_xp::MsoLineDashStyle* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_DashStyle(Office_xp::MsoLineDashStyle prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_EndArrowheadLength(Office_xp::MsoArrowheadLength* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_EndArrowheadLength(Office_xp::MsoArrowheadLength prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_EndArrowheadStyle(Office_xp::MsoArrowheadStyle* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_EndArrowheadStyle(Office_xp::MsoArrowheadStyle prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_EndArrowheadWidth(Office_xp::MsoArrowheadWidth* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_EndArrowheadWidth(Office_xp::MsoArrowheadWidth prop/*[in]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_ForeColor(Word_xp::ColorFormat** prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_Pattern(Office_xp::MsoPatternType* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_Pattern(Office_xp::MsoPatternType prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_Style(Office_xp::MsoLineStyle* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE set_Style(Office_xp::MsoLineStyle prop/*[in]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_Transparency(float* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_Transparency(float prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE set_Visible(Office_xp::MsoTriState prop/*[in]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE get_Weight(float* prop/*[out,retval]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE set_Weight(float prop/*[in]*/) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE get_InsetPen(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE set_InsetPen(Office_xp::MsoTriState prop/*[in]*/) = 0; // [114]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::ColorFormatPtr __fastcall get_BackColor(void)
  {
    Word_xp::ColorFormatPtr prop;
    OLECHECK(this->get_BackColor(&prop));
    return prop;
  }

  Office_xp::MsoArrowheadLength __fastcall get_BeginArrowheadLength(void)
  {
    Office_xp::MsoArrowheadLength prop;
    OLECHECK(this->get_BeginArrowheadLength((Office_xp::MsoArrowheadLength*)&prop));
    return prop;
  }

  Office_xp::MsoArrowheadStyle __fastcall get_BeginArrowheadStyle(void)
  {
    Office_xp::MsoArrowheadStyle prop;
    OLECHECK(this->get_BeginArrowheadStyle((Office_xp::MsoArrowheadStyle*)&prop));
    return prop;
  }

  Office_xp::MsoArrowheadWidth __fastcall get_BeginArrowheadWidth(void)
  {
    Office_xp::MsoArrowheadWidth prop;
    OLECHECK(this->get_BeginArrowheadWidth((Office_xp::MsoArrowheadWidth*)&prop));
    return prop;
  }

  Office_xp::MsoLineDashStyle __fastcall get_DashStyle(void)
  {
    Office_xp::MsoLineDashStyle prop;
    OLECHECK(this->get_DashStyle((Office_xp::MsoLineDashStyle*)&prop));
    return prop;
  }

  Office_xp::MsoArrowheadLength __fastcall get_EndArrowheadLength(void)
  {
    Office_xp::MsoArrowheadLength prop;
    OLECHECK(this->get_EndArrowheadLength((Office_xp::MsoArrowheadLength*)&prop));
    return prop;
  }

  Office_xp::MsoArrowheadStyle __fastcall get_EndArrowheadStyle(void)
  {
    Office_xp::MsoArrowheadStyle prop;
    OLECHECK(this->get_EndArrowheadStyle((Office_xp::MsoArrowheadStyle*)&prop));
    return prop;
  }

  Office_xp::MsoArrowheadWidth __fastcall get_EndArrowheadWidth(void)
  {
    Office_xp::MsoArrowheadWidth prop;
    OLECHECK(this->get_EndArrowheadWidth((Office_xp::MsoArrowheadWidth*)&prop));
    return prop;
  }

  Word_xp::ColorFormatPtr __fastcall get_ForeColor(void)
  {
    Word_xp::ColorFormatPtr prop;
    OLECHECK(this->get_ForeColor(&prop));
    return prop;
  }

  Office_xp::MsoPatternType __fastcall get_Pattern(void)
  {
    Office_xp::MsoPatternType prop;
    OLECHECK(this->get_Pattern((Office_xp::MsoPatternType*)&prop));
    return prop;
  }

  Office_xp::MsoLineStyle __fastcall get_Style(void)
  {
    Office_xp::MsoLineStyle prop;
    OLECHECK(this->get_Style((Office_xp::MsoLineStyle*)&prop));
    return prop;
  }

  float __fastcall get_Transparency(void)
  {
    float prop;
    OLECHECK(this->get_Transparency((float*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Visible(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Visible((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  float __fastcall get_Weight(void)
  {
    float prop;
    OLECHECK(this->get_Weight((float*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_InsetPen(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_InsetPen((Office_xp::MsoTriState*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::ColorFormatPtr BackColor = {read = get_BackColor};
  __property   Office_xp::MsoArrowheadLength BeginArrowheadLength = {read = get_BeginArrowheadLength, write = set_BeginArrowheadLength};
  __property   Office_xp::MsoArrowheadStyle BeginArrowheadStyle = {read = get_BeginArrowheadStyle, write = set_BeginArrowheadStyle};
  __property   Office_xp::MsoArrowheadWidth BeginArrowheadWidth = {read = get_BeginArrowheadWidth, write = set_BeginArrowheadWidth};
  __property   Office_xp::MsoLineDashStyle DashStyle = {read = get_DashStyle, write = set_DashStyle};
  __property   Office_xp::MsoArrowheadLength EndArrowheadLength = {read = get_EndArrowheadLength, write = set_EndArrowheadLength};
  __property   Office_xp::MsoArrowheadStyle EndArrowheadStyle = {read = get_EndArrowheadStyle, write = set_EndArrowheadStyle};
  __property   Office_xp::MsoArrowheadWidth EndArrowheadWidth = {read = get_EndArrowheadWidth, write = set_EndArrowheadWidth};
  __property   Word_xp::ColorFormatPtr ForeColor = {read = get_ForeColor};
  __property   Office_xp::MsoPatternType Pattern = {read = get_Pattern, write = set_Pattern};
  __property   Office_xp::MsoLineStyle Style = {read = get_Style, write = set_Style};
  __property   float           Transparency = {read = get_Transparency, write = set_Transparency};
  __property   Office_xp::MsoTriState Visible = {read = get_Visible, write = set_Visible};
  __property   float           Weight = {read = get_Weight, write = set_Weight};
  __property   Office_xp::MsoTriState InsetPen = {read = get_InsetPen, write = set_InsetPen};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: PictureFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CB-0000-0000-C000-000000000046}
// *********************************************************************//
interface PictureFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Brightness(float* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Brightness(float prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_ColorType(Office_xp::MsoPictureColorType* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_ColorType(Office_xp::MsoPictureColorType prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Contrast(float* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_Contrast(float prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_CropBottom(float* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_CropBottom(float prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_CropLeft(float* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_CropLeft(float prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_CropRight(float* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_CropRight(float prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_CropTop(float* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_CropTop(float prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_TransparencyColor(long* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_TransparencyColor(long prop/*[in]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_TransparentBackground(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE set_TransparentBackground(Office_xp::MsoTriState prop/*[in]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE IncrementBrightness(float Increment/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE IncrementContrast(float Increment/*[in]*/) = 0; // [11]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  float __fastcall get_Brightness(void)
  {
    float prop;
    OLECHECK(this->get_Brightness((float*)&prop));
    return prop;
  }

  Office_xp::MsoPictureColorType __fastcall get_ColorType(void)
  {
    Office_xp::MsoPictureColorType prop;
    OLECHECK(this->get_ColorType((Office_xp::MsoPictureColorType*)&prop));
    return prop;
  }

  float __fastcall get_Contrast(void)
  {
    float prop;
    OLECHECK(this->get_Contrast((float*)&prop));
    return prop;
  }

  float __fastcall get_CropBottom(void)
  {
    float prop;
    OLECHECK(this->get_CropBottom((float*)&prop));
    return prop;
  }

  float __fastcall get_CropLeft(void)
  {
    float prop;
    OLECHECK(this->get_CropLeft((float*)&prop));
    return prop;
  }

  float __fastcall get_CropRight(void)
  {
    float prop;
    OLECHECK(this->get_CropRight((float*)&prop));
    return prop;
  }

  float __fastcall get_CropTop(void)
  {
    float prop;
    OLECHECK(this->get_CropTop((float*)&prop));
    return prop;
  }

  long __fastcall get_TransparencyColor(void)
  {
    long prop;
    OLECHECK(this->get_TransparencyColor((long*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_TransparentBackground(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_TransparentBackground((Office_xp::MsoTriState*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           Brightness = {read = get_Brightness, write = set_Brightness};
  __property   Office_xp::MsoPictureColorType ColorType = {read = get_ColorType, write = set_ColorType};
  __property   float           Contrast = {read = get_Contrast, write = set_Contrast};
  __property   float           CropBottom = {read = get_CropBottom, write = set_CropBottom};
  __property   float           CropLeft = {read = get_CropLeft, write = set_CropLeft};
  __property   float           CropRight = {read = get_CropRight, write = set_CropRight};
  __property   float           CropTop = {read = get_CropTop, write = set_CropTop};
  __property   long            TransparencyColor = {read = get_TransparencyColor, write = set_TransparencyColor};
  __property   Office_xp::MsoTriState TransparentBackground = {read = get_TransparentBackground, write = set_TransparentBackground};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ShadowFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CC-0000-0000-C000-000000000046}
// *********************************************************************//
interface ShadowFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_ForeColor(Word_xp::ColorFormat** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Obscured(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_Obscured(Office_xp::MsoTriState prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_OffsetX(float* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_OffsetX(float prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_OffsetY(float* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_OffsetY(float prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Transparency(float* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_Transparency(float prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Office_xp::MsoShadowType* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_Type(Office_xp::MsoShadowType prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_Visible(Office_xp::MsoTriState prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE IncrementOffsetX(float Increment/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE IncrementOffsetY(float Increment/*[in]*/) = 0; // [11]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::ColorFormatPtr __fastcall get_ForeColor(void)
  {
    Word_xp::ColorFormatPtr prop;
    OLECHECK(this->get_ForeColor(&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Obscured(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Obscured((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  float __fastcall get_OffsetX(void)
  {
    float prop;
    OLECHECK(this->get_OffsetX((float*)&prop));
    return prop;
  }

  float __fastcall get_OffsetY(void)
  {
    float prop;
    OLECHECK(this->get_OffsetY((float*)&prop));
    return prop;
  }

  float __fastcall get_Transparency(void)
  {
    float prop;
    OLECHECK(this->get_Transparency((float*)&prop));
    return prop;
  }

  Office_xp::MsoShadowType __fastcall get_Type(void)
  {
    Office_xp::MsoShadowType prop;
    OLECHECK(this->get_Type((Office_xp::MsoShadowType*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Visible(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Visible((Office_xp::MsoTriState*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::ColorFormatPtr ForeColor = {read = get_ForeColor};
  __property   Office_xp::MsoTriState Obscured = {read = get_Obscured, write = set_Obscured};
  __property   float           OffsetX = {read = get_OffsetX, write = set_OffsetX};
  __property   float           OffsetY = {read = get_OffsetY, write = set_OffsetY};
  __property   float           Transparency = {read = get_Transparency, write = set_Transparency};
  __property   Office_xp::MsoShadowType Type = {read = get_Type, write = set_Type};
  __property   Office_xp::MsoTriState Visible = {read = get_Visible, write = set_Visible};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ShapeNode
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CD-0000-0000-C000-000000000046}
// *********************************************************************//
interface ShapeNode  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_EditingType(Office_xp::MsoEditingType* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Points(VARIANT* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_SegmentType(Office_xp::MsoSegmentType* prop/*[out,retval]*/) = 0; // [102]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Office_xp::MsoEditingType __fastcall get_EditingType(void)
  {
    Office_xp::MsoEditingType prop;
    OLECHECK(this->get_EditingType((Office_xp::MsoEditingType*)&prop));
    return prop;
  }

  VARIANT __fastcall get_Points(void)
  {
    VARIANT prop;
    OLECHECK(this->get_Points((VARIANT*)&prop));
    return prop;
  }

  Office_xp::MsoSegmentType __fastcall get_SegmentType(void)
  {
    Office_xp::MsoSegmentType prop;
    OLECHECK(this->get_SegmentType((Office_xp::MsoSegmentType*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Office_xp::MsoEditingType EditingType = {read = get_EditingType};
  __property   Office_xp::MsoSegmentType SegmentType = {read = get_SegmentType};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ShapeNodes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CE-0000-0000-C000-000000000046}
// *********************************************************************//
interface ShapeNodes  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE Delete(long Index/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::ShapeNode** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE SetEditingType(long Index/*[in]*/, 
                                                   Office_xp::MsoEditingType EditingType/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE SetPosition(long Index/*[in]*/, float X1/*[in]*/, 
                                                float Y1/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE SetSegmentType(long Index/*[in]*/, 
                                                   Office_xp::MsoSegmentType SegmentType/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE Insert(long Index/*[in]*/, 
                                           Office_xp::MsoSegmentType SegmentType/*[in]*/, 
                                           Office_xp::MsoEditingType EditingType/*[in]*/, 
                                           float X1/*[in]*/, float Y1/*[in]*/, 
                                           float X2/*[in,def,opt]*/, float Y2/*[in,def,opt]*/, 
                                           float X3/*[in,def,opt]*/, float Y3/*[in,def,opt]*/) = 0; // [12]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::ShapeNode* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::ShapeNode* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::ShapeNode**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TextEffectFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CF-0000-0000-C000-000000000046}
// *********************************************************************//
interface TextEffectFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Alignment(Office_xp::MsoTextEffectAlignment* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Alignment(Office_xp::MsoTextEffectAlignment prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_FontBold(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_FontBold(Office_xp::MsoTriState prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_FontItalic(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_FontItalic(Office_xp::MsoTriState prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_FontName(BSTR* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_FontName(BSTR prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_FontSize(float* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_FontSize(float prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_KernedPairs(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_KernedPairs(Office_xp::MsoTriState prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_NormalizedHeight(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_NormalizedHeight(Office_xp::MsoTriState prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_PresetShape(Office_xp::MsoPresetTextEffectShape* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_PresetShape(Office_xp::MsoPresetTextEffectShape prop/*[in]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_PresetTextEffect(Office_xp::MsoPresetTextEffect* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE set_PresetTextEffect(Office_xp::MsoPresetTextEffect prop/*[in]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_RotatedChars(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_RotatedChars(Office_xp::MsoTriState prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_Text(BSTR* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE set_Text(BSTR prop/*[in]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_Tracking(float* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_Tracking(float prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE ToggleVerticalText(void) = 0; // [10]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Office_xp::MsoTextEffectAlignment __fastcall get_Alignment(void)
  {
    Office_xp::MsoTextEffectAlignment prop;
    OLECHECK(this->get_Alignment((Office_xp::MsoTextEffectAlignment*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_FontBold(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_FontBold((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_FontItalic(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_FontItalic((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  BSTR __fastcall get_FontName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_FontName((BSTR*)&prop));
    return prop;
  }

  float __fastcall get_FontSize(void)
  {
    float prop;
    OLECHECK(this->get_FontSize((float*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_KernedPairs(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_KernedPairs((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_NormalizedHeight(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_NormalizedHeight((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Office_xp::MsoPresetTextEffectShape __fastcall get_PresetShape(void)
  {
    Office_xp::MsoPresetTextEffectShape prop;
    OLECHECK(this->get_PresetShape((Office_xp::MsoPresetTextEffectShape*)&prop));
    return prop;
  }

  Office_xp::MsoPresetTextEffect __fastcall get_PresetTextEffect(void)
  {
    Office_xp::MsoPresetTextEffect prop;
    OLECHECK(this->get_PresetTextEffect((Office_xp::MsoPresetTextEffect*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_RotatedChars(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_RotatedChars((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  BSTR __fastcall get_Text(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Text((BSTR*)&prop));
    return prop;
  }

  float __fastcall get_Tracking(void)
  {
    float prop;
    OLECHECK(this->get_Tracking((float*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Office_xp::MsoTextEffectAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   Office_xp::MsoTriState FontBold = {read = get_FontBold, write = set_FontBold};
  __property   Office_xp::MsoTriState FontItalic = {read = get_FontItalic, write = set_FontItalic};
  __property   BSTR            FontName = {read = get_FontName, write = set_FontName};
  __property   float           FontSize = {read = get_FontSize, write = set_FontSize};
  __property   Office_xp::MsoTriState KernedPairs = {read = get_KernedPairs, write = set_KernedPairs};
  __property   Office_xp::MsoTriState NormalizedHeight = {read = get_NormalizedHeight, write = set_NormalizedHeight};
  __property   Office_xp::MsoPresetTextEffectShape PresetShape = {read = get_PresetShape, write = set_PresetShape};
  __property   Office_xp::MsoPresetTextEffect PresetTextEffect = {read = get_PresetTextEffect, write = set_PresetTextEffect};
  __property   Office_xp::MsoTriState RotatedChars = {read = get_RotatedChars, write = set_RotatedChars};
  __property   BSTR            Text = {read = get_Text, write = set_Text};
  __property   float           Tracking = {read = get_Tracking, write = set_Tracking};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ThreeDFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209D0-0000-0000-C000-000000000046}
// *********************************************************************//
interface ThreeDFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Depth(float* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Depth(float prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_ExtrusionColor(Word_xp::ColorFormat** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_ExtrusionColorType(Office_xp::MsoExtrusionColorType* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_ExtrusionColorType(Office_xp::MsoExtrusionColorType prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_Perspective(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_Perspective(Office_xp::MsoTriState prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_PresetExtrusionDirection(Office_xp::MsoPresetExtrusionDirection* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_PresetLightingDirection(Office_xp::MsoPresetLightingDirection* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_PresetLightingDirection(Office_xp::MsoPresetLightingDirection prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_PresetLightingSoftness(Office_xp::MsoPresetLightingSoftness* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_PresetLightingSoftness(Office_xp::MsoPresetLightingSoftness prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_PresetMaterial(Office_xp::MsoPresetMaterial* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_PresetMaterial(Office_xp::MsoPresetMaterial prop/*[in]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_PresetThreeDFormat(Office_xp::MsoPresetThreeDFormat* prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_RotationX(float* prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE set_RotationX(float prop/*[in]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_RotationY(float* prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE set_RotationY(float prop/*[in]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE set_Visible(Office_xp::MsoTriState prop/*[in]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE IncrementRotationX(float Increment/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE IncrementRotationY(float Increment/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE ResetRotation(void) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE SetExtrusionDirection(Office_xp::MsoPresetExtrusionDirection PresetExtrusionDirection/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE SetThreeDFormat(Office_xp::MsoPresetThreeDFormat PresetThreeDFormat/*[in]*/) = 0; // [13]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  float __fastcall get_Depth(void)
  {
    float prop;
    OLECHECK(this->get_Depth((float*)&prop));
    return prop;
  }

  Word_xp::ColorFormatPtr __fastcall get_ExtrusionColor(void)
  {
    Word_xp::ColorFormatPtr prop;
    OLECHECK(this->get_ExtrusionColor(&prop));
    return prop;
  }

  Office_xp::MsoExtrusionColorType __fastcall get_ExtrusionColorType(void)
  {
    Office_xp::MsoExtrusionColorType prop;
    OLECHECK(this->get_ExtrusionColorType((Office_xp::MsoExtrusionColorType*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Perspective(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Perspective((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Office_xp::MsoPresetExtrusionDirection __fastcall get_PresetExtrusionDirection(void)
  {
    Office_xp::MsoPresetExtrusionDirection prop;
    OLECHECK(this->get_PresetExtrusionDirection((Office_xp::MsoPresetExtrusionDirection*)&prop));
    return prop;
  }

  Office_xp::MsoPresetLightingDirection __fastcall get_PresetLightingDirection(void)
  {
    Office_xp::MsoPresetLightingDirection prop;
    OLECHECK(this->get_PresetLightingDirection((Office_xp::MsoPresetLightingDirection*)&prop));
    return prop;
  }

  Office_xp::MsoPresetLightingSoftness __fastcall get_PresetLightingSoftness(void)
  {
    Office_xp::MsoPresetLightingSoftness prop;
    OLECHECK(this->get_PresetLightingSoftness((Office_xp::MsoPresetLightingSoftness*)&prop));
    return prop;
  }

  Office_xp::MsoPresetMaterial __fastcall get_PresetMaterial(void)
  {
    Office_xp::MsoPresetMaterial prop;
    OLECHECK(this->get_PresetMaterial((Office_xp::MsoPresetMaterial*)&prop));
    return prop;
  }

  Office_xp::MsoPresetThreeDFormat __fastcall get_PresetThreeDFormat(void)
  {
    Office_xp::MsoPresetThreeDFormat prop;
    OLECHECK(this->get_PresetThreeDFormat((Office_xp::MsoPresetThreeDFormat*)&prop));
    return prop;
  }

  float __fastcall get_RotationX(void)
  {
    float prop;
    OLECHECK(this->get_RotationX((float*)&prop));
    return prop;
  }

  float __fastcall get_RotationY(void)
  {
    float prop;
    OLECHECK(this->get_RotationY((float*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Visible(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Visible((Office_xp::MsoTriState*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           Depth = {read = get_Depth, write = set_Depth};
  __property   Word_xp::ColorFormatPtr ExtrusionColor = {read = get_ExtrusionColor};
  __property   Office_xp::MsoExtrusionColorType ExtrusionColorType = {read = get_ExtrusionColorType, write = set_ExtrusionColorType};
  __property   Office_xp::MsoTriState Perspective = {read = get_Perspective, write = set_Perspective};
  __property   Office_xp::MsoPresetExtrusionDirection PresetExtrusionDirection = {read = get_PresetExtrusionDirection};
  __property   Office_xp::MsoPresetLightingDirection PresetLightingDirection = {read = get_PresetLightingDirection, write = set_PresetLightingDirection};
  __property   Office_xp::MsoPresetLightingSoftness PresetLightingSoftness = {read = get_PresetLightingSoftness, write = set_PresetLightingSoftness};
  __property   Office_xp::MsoPresetMaterial PresetMaterial = {read = get_PresetMaterial, write = set_PresetMaterial};
  __property   Office_xp::MsoPresetThreeDFormat PresetThreeDFormat = {read = get_PresetThreeDFormat};
  __property   float           RotationX = {read = get_RotationX, write = set_RotationX};
  __property   float           RotationY = {read = get_RotationY, write = set_RotationY};
  __property   Office_xp::MsoTriState Visible = {read = get_Visible, write = set_Visible};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ApplicationEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {000209F7-0000-0000-C000-000000000046}
// *********************************************************************//
interface ApplicationEvents : public TDispWrapper<IDispatch>
{

};
// *********************************************************************//
// Interface: ApplicationEvents2
// Flags:     (4112) Hidden Dispatchable
// GUID:      {000209FE-0000-0000-C000-000000000046}
// *********************************************************************//
interface ApplicationEvents2 : public TDispWrapper<IDispatch>
{
  void __fastcall Startup()
  {
    _TDispID _dispid(/* Startup */ DISPID(1));
    OleProcedure(_dispid);
  }

  void __fastcall Quit()
  {
    _TDispID _dispid(/* Quit */ DISPID(2));
    OleProcedure(_dispid);
  }

  void __fastcall DocumentChange()
  {
    _TDispID _dispid(/* DocumentChange */ DISPID(3));
    OleProcedure(_dispid);
  }

  void __fastcall DocumentOpen(Word_xp::WordDocument* Doc/*[in]*/)
  {
    _TDispID _dispid(/* DocumentOpen */ DISPID(4));
    TAutoArgs<1> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall DocumentBeforeClose(Word_xp::WordDocument* Doc/*[in]*/, 
                                      VARIANT_BOOL* Cancel/*[in]*/)
  {
    _TDispID _dispid(/* DocumentBeforeClose */ DISPID(6));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = Cancel /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall DocumentBeforePrint(Word_xp::WordDocument* Doc/*[in]*/, 
                                      VARIANT_BOOL* Cancel/*[in]*/)
  {
    _TDispID _dispid(/* DocumentBeforePrint */ DISPID(7));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = Cancel /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall DocumentBeforeSave(Word_xp::WordDocument* Doc/*[in]*/, 
                                     VARIANT_BOOL* SaveAsUI/*[in]*/, VARIANT_BOOL* Cancel/*[in]*/)
  {
    _TDispID _dispid(/* DocumentBeforeSave */ DISPID(8));
    TAutoArgs<3> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = SaveAsUI /*[VT_BOOL:1]*/;
    _args[3] = Cancel /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall NewDocument(Word_xp::WordDocument* Doc/*[in]*/)
  {
    _TDispID _dispid(/* NewDocument */ DISPID(9));
    TAutoArgs<1> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall WindowActivate(Word_xp::WordDocument* Doc/*[in]*/, Word_xp::WINDOW* Wn/*[in]*/)
  {
    _TDispID _dispid(/* WindowActivate */ DISPID(10));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall WindowDeactivate(Word_xp::WordDocument* Doc/*[in]*/, Word_xp::WINDOW* Wn/*[in]*/)
  {
    _TDispID _dispid(/* WindowDeactivate */ DISPID(11));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall WindowSelectionChange(Word_xp::WordSelection* Sel/*[in]*/)
  {
    _TDispID _dispid(/* WindowSelectionChange */ DISPID(12));
    TAutoArgs<1> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall WindowBeforeRightClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                         VARIANT_BOOL* Cancel/*[in]*/)
  {
    _TDispID _dispid(/* WindowBeforeRightClick */ DISPID(13));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
    _args[2] = Cancel /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall WindowBeforeDoubleClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                          VARIANT_BOOL* Cancel/*[in]*/)
  {
    _TDispID _dispid(/* WindowBeforeDoubleClick */ DISPID(14));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
    _args[2] = Cancel /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }


};
// *********************************************************************//
// Interface: DocumentEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {000209F6-0000-0000-C000-000000000046}
// *********************************************************************//
interface DocumentEvents : public TDispWrapper<IDispatch>
{
  void __fastcall New()
  {
    _TDispID _dispid(/* New */ DISPID(4));
    OleProcedure(_dispid);
  }

  void __fastcall Open()
  {
    _TDispID _dispid(/* Open */ DISPID(5));
    OleProcedure(_dispid);
  }

  void __fastcall Close()
  {
    _TDispID _dispid(/* Close */ DISPID(6));
    OleProcedure(_dispid);
  }


};
// *********************************************************************//
// Interface: OCXEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {000209F3-0000-0000-C000-000000000046}
// *********************************************************************//
interface OCXEvents : public TDispWrapper<IDispatch>
{
  void __fastcall GotFocus()
  {
    _TDispID _dispid(/* GotFocus */ DISPID(-2147417888));
    OleProcedure(_dispid);
  }

  void __fastcall LostFocus()
  {
    _TDispID _dispid(/* LostFocus */ DISPID(-2147417887));
    OleProcedure(_dispid);
  }


};
// *********************************************************************//
// Interface: IApplicationEvents
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209F7-0001-0000-C000-000000000046}
// *********************************************************************//
interface IApplicationEvents  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Startup(void) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Quit(void) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE DocumentChange(void) = 0; // [3]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: IApplicationEvents2
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209FE-0001-0000-C000-000000000046}
// *********************************************************************//
interface IApplicationEvents2  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Startup(void) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Quit(void) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE DocumentChange(void) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE DocumentOpen(Word_xp::WordDocument* Doc/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE DocumentBeforeClose(Word_xp::WordDocument* Doc/*[in]*/, 
                                                        VARIANT_BOOL* Cancel/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE DocumentBeforePrint(Word_xp::WordDocument* Doc/*[in]*/, 
                                                        VARIANT_BOOL* Cancel/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE DocumentBeforeSave(Word_xp::WordDocument* Doc/*[in]*/, 
                                                       VARIANT_BOOL* SaveAsUI/*[in]*/, 
                                                       VARIANT_BOOL* Cancel/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE NewDocument(Word_xp::WordDocument* Doc/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE WindowActivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                                   Word_xp::WINDOW* Wn/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE WindowDeactivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                                     Word_xp::WINDOW* Wn/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE WindowSelectionChange(Word_xp::WordSelection* Sel/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE WindowBeforeRightClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                           VARIANT_BOOL* Cancel/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE WindowBeforeDoubleClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                            VARIANT_BOOL* Cancel/*[in]*/) = 0; // [14]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ApplicationEvents3
// Flags:     (4112) Hidden Dispatchable
// GUID:      {00020A00-0000-0000-C000-000000000046}
// *********************************************************************//
interface ApplicationEvents3 : public TDispWrapper<IDispatch>
{
  void __fastcall Startup()
  {
    _TDispID _dispid(/* Startup */ DISPID(1));
    OleProcedure(_dispid);
  }

  void __fastcall Quit()
  {
    _TDispID _dispid(/* Quit */ DISPID(2));
    OleProcedure(_dispid);
  }

  void __fastcall DocumentChange()
  {
    _TDispID _dispid(/* DocumentChange */ DISPID(3));
    OleProcedure(_dispid);
  }

  void __fastcall DocumentOpen(Word_xp::WordDocument* Doc/*[in]*/)
  {
    _TDispID _dispid(/* DocumentOpen */ DISPID(4));
    TAutoArgs<1> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall DocumentBeforeClose(Word_xp::WordDocument* Doc/*[in]*/, 
                                      VARIANT_BOOL* Cancel/*[in]*/)
  {
    _TDispID _dispid(/* DocumentBeforeClose */ DISPID(6));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = Cancel /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall DocumentBeforePrint(Word_xp::WordDocument* Doc/*[in]*/, 
                                      VARIANT_BOOL* Cancel/*[in]*/)
  {
    _TDispID _dispid(/* DocumentBeforePrint */ DISPID(7));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = Cancel /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall DocumentBeforeSave(Word_xp::WordDocument* Doc/*[in]*/, 
                                     VARIANT_BOOL* SaveAsUI/*[in]*/, VARIANT_BOOL* Cancel/*[in]*/)
  {
    _TDispID _dispid(/* DocumentBeforeSave */ DISPID(8));
    TAutoArgs<3> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = SaveAsUI /*[VT_BOOL:1]*/;
    _args[3] = Cancel /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall NewDocument(Word_xp::WordDocument* Doc/*[in]*/)
  {
    _TDispID _dispid(/* NewDocument */ DISPID(9));
    TAutoArgs<1> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall WindowActivate(Word_xp::WordDocument* Doc/*[in]*/, Word_xp::WINDOW* Wn/*[in]*/)
  {
    _TDispID _dispid(/* WindowActivate */ DISPID(10));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall WindowDeactivate(Word_xp::WordDocument* Doc/*[in]*/, Word_xp::WINDOW* Wn/*[in]*/)
  {
    _TDispID _dispid(/* WindowDeactivate */ DISPID(11));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall WindowSelectionChange(Word_xp::WordSelection* Sel/*[in]*/)
  {
    _TDispID _dispid(/* WindowSelectionChange */ DISPID(12));
    TAutoArgs<1> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall WindowBeforeRightClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                         VARIANT_BOOL* Cancel/*[in]*/)
  {
    _TDispID _dispid(/* WindowBeforeRightClick */ DISPID(13));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
    _args[2] = Cancel /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall WindowBeforeDoubleClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                          VARIANT_BOOL* Cancel/*[in]*/)
  {
    _TDispID _dispid(/* WindowBeforeDoubleClick */ DISPID(14));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
    _args[2] = Cancel /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall EPostagePropertyDialog(Word_xp::WordDocument* Doc/*[in]*/)
  {
    _TDispID _dispid(/* EPostagePropertyDialog */ DISPID(15));
    TAutoArgs<1> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall EPostageInsert(Word_xp::WordDocument* Doc/*[in]*/)
  {
    _TDispID _dispid(/* EPostageInsert */ DISPID(16));
    TAutoArgs<1> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall MailMergeAfterMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                      Word_xp::WordDocument* DocResult/*[in]*/)
  {
    _TDispID _dispid(/* MailMergeAfterMerge */ DISPID(17));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = (LPDISPATCH)(Word_xp::WordDocument*)DocResult /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall MailMergeAfterRecordMerge(Word_xp::WordDocument* Doc/*[in]*/)
  {
    _TDispID _dispid(/* MailMergeAfterRecordMerge */ DISPID(18));
    TAutoArgs<1> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall MailMergeBeforeMerge(Word_xp::WordDocument* Doc/*[in]*/, long StartRecord/*[in]*/
                                       , long EndRecord/*[in]*/, VARIANT_BOOL* Cancel/*[in]*/)
  {
    _TDispID _dispid(/* MailMergeBeforeMerge */ DISPID(19));
    TAutoArgs<4> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = StartRecord /*[VT_I4:0]*/;
    _args[3] = EndRecord /*[VT_I4:0]*/;
    _args[4] = Cancel /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall MailMergeBeforeRecordMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                             VARIANT_BOOL* Cancel/*[in]*/)
  {
    _TDispID _dispid(/* MailMergeBeforeRecordMerge */ DISPID(20));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = Cancel /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall MailMergeDataSourceLoad(Word_xp::WordDocument* Doc/*[in]*/)
  {
    _TDispID _dispid(/* MailMergeDataSourceLoad */ DISPID(21));
    TAutoArgs<1> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall MailMergeDataSourceValidate(Word_xp::WordDocument* Doc/*[in]*/, 
                                              VARIANT_BOOL* Handled/*[in]*/)
  {
    _TDispID _dispid(/* MailMergeDataSourceValidate */ DISPID(22));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = Handled /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall MailMergeWizardSendToCustom(Word_xp::WordDocument* Doc/*[in]*/)
  {
    _TDispID _dispid(/* MailMergeWizardSendToCustom */ DISPID(23));
    TAutoArgs<1> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall MailMergeWizardStateChange(Word_xp::WordDocument* Doc/*[in]*/, 
                                             int* FromState/*[in]*/, int* ToState/*[in]*/, 
                                             VARIANT_BOOL* Handled/*[in]*/)
  {
    _TDispID _dispid(/* MailMergeWizardStateChange */ DISPID(24));
    TAutoArgs<4> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = FromState /*[VT_INT:1]*/;
    _args[3] = ToState /*[VT_INT:1]*/;
    _args[4] = Handled /*[VT_BOOL:1]*/;
    OleProcedure(_dispid, _args);
  }

  void __fastcall WindowSize(Word_xp::WordDocument* Doc/*[in]*/, Word_xp::WINDOW* Wn/*[in]*/)
  {
    _TDispID _dispid(/* WindowSize */ DISPID(25));
    TAutoArgs<2> _args;
    _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
    _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
    OleProcedure(_dispid, _args);
  }


};
// *********************************************************************//
// Interface: EmailAuthor
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209D7-0000-0000-C000-000000000046}
// *********************************************************************//
interface EmailAuthor  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Style(Word_xp::Style** prop/*[out,retval]*/) = 0; // [103]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::StylePtr __fastcall get_Style(void)
  {
    Word_xp::StylePtr prop;
    OLECHECK(this->get_Style(&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::StylePtr Style = {read = get_Style};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: EmailOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DB-0000-0000-C000-000000000046}
// *********************************************************************//
interface EmailOptions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_UseThemeStyle(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_UseThemeStyle(VARIANT_BOOL prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_MarkCommentsWith(BSTR* prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE set_MarkCommentsWith(BSTR prop/*[in]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE get_MarkComments(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE set_MarkComments(VARIANT_BOOL prop/*[in]*/) = 0; // [107]
  virtual HRESULT STDMETHODCALLTYPE get_EmailSignature(Word_xp::EmailSignature** prop/*[out,retval]*/) = 0; // [108]
  virtual HRESULT STDMETHODCALLTYPE get_ComposeStyle(Word_xp::Style** prop/*[out,retval]*/) = 0; // [109]
  virtual HRESULT STDMETHODCALLTYPE get_ReplyStyle(Word_xp::Style** prop/*[out,retval]*/) = 0; // [110]
  virtual HRESULT STDMETHODCALLTYPE get_ThemeName(BSTR* prop/*[out,retval]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE set_ThemeName(BSTR prop/*[in]*/) = 0; // [114]
  virtual HRESULT STDMETHODCALLTYPE get_Dummy1(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [111]
  virtual HRESULT STDMETHODCALLTYPE get_Dummy2(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [112]
  virtual HRESULT STDMETHODCALLTYPE Dummy3(void) = 0; // [113]
  virtual HRESULT STDMETHODCALLTYPE get_NewColorOnReply(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE set_NewColorOnReply(VARIANT_BOOL prop/*[in]*/) = 0; // [116]
  virtual HRESULT STDMETHODCALLTYPE get_PlainTextStyle(Word_xp::Style** prop/*[out,retval]*/) = 0; // [117]
  virtual HRESULT STDMETHODCALLTYPE get_UseThemeStyleOnReply(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE set_UseThemeStyleOnReply(VARIANT_BOOL prop/*[in]*/) = 0; // [118]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyHeadings(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [260]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyHeadings(VARIANT_BOOL prop/*[in]*/) = 0; // [260]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyBorders(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [261]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyBorders(VARIANT_BOOL prop/*[in]*/) = 0; // [261]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyBulletedLists(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [262]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyBulletedLists(VARIANT_BOOL prop/*[in]*/) = 0; // [262]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyNumberedLists(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [263]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyNumberedLists(VARIANT_BOOL prop/*[in]*/) = 0; // [263]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplaceQuotes(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [264]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplaceQuotes(VARIANT_BOOL prop/*[in]*/) = 0; // [264]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplaceSymbols(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [265]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplaceSymbols(VARIANT_BOOL prop/*[in]*/) = 0; // [265]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplaceOrdinals(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [266]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplaceOrdinals(VARIANT_BOOL prop/*[in]*/) = 0; // [266]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplaceFractions(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [267]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplaceFractions(VARIANT_BOOL prop/*[in]*/) = 0; // [267]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplacePlainTextEmphasis(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [268]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplacePlainTextEmphasis(VARIANT_BOOL prop/*[in]*/) = 0; // [268]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeFormatListItemBeginning(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [269]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeFormatListItemBeginning(VARIANT_BOOL prop/*[in]*/) = 0; // [269]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeDefineStyles(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [270]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeDefineStyles(VARIANT_BOOL prop/*[in]*/) = 0; // [270]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplaceHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [272]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplaceHyperlinks(VARIANT_BOOL prop/*[in]*/) = 0; // [272]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyTables(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [290]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyTables(VARIANT_BOOL prop/*[in]*/) = 0; // [290]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyFirstIndents(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [297]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyFirstIndents(VARIANT_BOOL prop/*[in]*/) = 0; // [297]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyDates(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [298]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyDates(VARIANT_BOOL prop/*[in]*/) = 0; // [298]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeApplyClosings(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [299]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeApplyClosings(VARIANT_BOOL prop/*[in]*/) = 0; // [299]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeMatchParentheses(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [300]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeMatchParentheses(VARIANT_BOOL prop/*[in]*/) = 0; // [300]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeReplaceFarEastDashes(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeReplaceFarEastDashes(VARIANT_BOOL prop/*[in]*/) = 0; // [301]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeDeleteAutoSpaces(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeDeleteAutoSpaces(VARIANT_BOOL prop/*[in]*/) = 0; // [302]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeInsertClosings(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeInsertClosings(VARIANT_BOOL prop/*[in]*/) = 0; // [303]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeAutoLetterWizard(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [304]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeAutoLetterWizard(VARIANT_BOOL prop/*[in]*/) = 0; // [304]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormatAsYouTypeInsertOvers(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [305]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormatAsYouTypeInsertOvers(VARIANT_BOOL prop/*[in]*/) = 0; // [305]
  virtual HRESULT STDMETHODCALLTYPE get_RelyOnCSS(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [306]
  virtual HRESULT STDMETHODCALLTYPE set_RelyOnCSS(VARIANT_BOOL prop/*[in]*/) = 0; // [306]
  virtual HRESULT STDMETHODCALLTYPE get_HTMLFidelity(Word_xp::WdEmailHTMLFidelity* prop/*[out,retval]*/) = 0; // [307]
  virtual HRESULT STDMETHODCALLTYPE set_HTMLFidelity(Word_xp::WdEmailHTMLFidelity prop/*[in]*/) = 0; // [307]
  virtual HRESULT STDMETHODCALLTYPE get_EmbedSmartTag(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [308]
  virtual HRESULT STDMETHODCALLTYPE set_EmbedSmartTag(VARIANT_BOOL prop/*[in]*/) = 0; // [308]
  virtual HRESULT STDMETHODCALLTYPE get_TabIndentKey(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [309]
  virtual HRESULT STDMETHODCALLTYPE set_TabIndentKey(VARIANT_BOOL prop/*[in]*/) = 0; // [309]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseThemeStyle(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseThemeStyle((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_MarkCommentsWith(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_MarkCommentsWith((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_MarkComments(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_MarkComments((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::EmailSignaturePtr __fastcall get_EmailSignature(void)
  {
    Word_xp::EmailSignaturePtr prop;
    OLECHECK(this->get_EmailSignature(&prop));
    return prop;
  }

  Word_xp::StylePtr __fastcall get_ComposeStyle(void)
  {
    Word_xp::StylePtr prop;
    OLECHECK(this->get_ComposeStyle(&prop));
    return prop;
  }

  Word_xp::StylePtr __fastcall get_ReplyStyle(void)
  {
    Word_xp::StylePtr prop;
    OLECHECK(this->get_ReplyStyle(&prop));
    return prop;
  }

  BSTR __fastcall get_ThemeName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ThemeName((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Dummy1(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Dummy1((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Dummy2(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Dummy2((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_NewColorOnReply(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_NewColorOnReply((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::StylePtr __fastcall get_PlainTextStyle(void)
  {
    Word_xp::StylePtr prop;
    OLECHECK(this->get_PlainTextStyle(&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseThemeStyleOnReply(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseThemeStyleOnReply((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyHeadings(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyHeadings((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyBorders(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyBorders((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyBulletedLists(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyBulletedLists((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyNumberedLists(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyNumberedLists((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplaceQuotes(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplaceQuotes((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplaceSymbols(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplaceSymbols((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplaceOrdinals(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplaceOrdinals((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplaceFractions(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplaceFractions((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplacePlainTextEmphasis(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplacePlainTextEmphasis((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeFormatListItemBeginning(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeFormatListItemBeginning((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeDefineStyles(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeDefineStyles((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplaceHyperlinks(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplaceHyperlinks((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyTables(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyTables((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyFirstIndents(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyFirstIndents((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyDates(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyDates((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeApplyClosings(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeApplyClosings((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeMatchParentheses(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeMatchParentheses((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeReplaceFarEastDashes(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeReplaceFarEastDashes((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeDeleteAutoSpaces(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeDeleteAutoSpaces((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeInsertClosings(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeInsertClosings((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeAutoLetterWizard(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeAutoLetterWizard((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AutoFormatAsYouTypeInsertOvers(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AutoFormatAsYouTypeInsertOvers((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RelyOnCSS(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RelyOnCSS((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdEmailHTMLFidelity __fastcall get_HTMLFidelity(void)
  {
    Word_xp::WdEmailHTMLFidelity prop;
    OLECHECK(this->get_HTMLFidelity((Word_xp::WdEmailHTMLFidelity*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_EmbedSmartTag(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_EmbedSmartTag((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_TabIndentKey(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_TabIndentKey((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    UseThemeStyle = {read = get_UseThemeStyle, write = set_UseThemeStyle};
  __property   BSTR            MarkCommentsWith = {read = get_MarkCommentsWith, write = set_MarkCommentsWith};
  __property   VARIANT_BOOL    MarkComments = {read = get_MarkComments, write = set_MarkComments};
  __property   Word_xp::EmailSignaturePtr EmailSignature = {read = get_EmailSignature};
  __property   Word_xp::StylePtr ComposeStyle = {read = get_ComposeStyle};
  __property   Word_xp::StylePtr ReplyStyle = {read = get_ReplyStyle};
  __property   BSTR            ThemeName = {read = get_ThemeName, write = set_ThemeName};
  __property   VARIANT_BOOL    Dummy1 = {read = get_Dummy1};
  __property   VARIANT_BOOL    Dummy2 = {read = get_Dummy2};
  __property   VARIANT_BOOL    NewColorOnReply = {read = get_NewColorOnReply, write = set_NewColorOnReply};
  __property   Word_xp::StylePtr PlainTextStyle = {read = get_PlainTextStyle};
  __property   VARIANT_BOOL    UseThemeStyleOnReply = {read = get_UseThemeStyleOnReply, write = set_UseThemeStyleOnReply};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyHeadings = {read = get_AutoFormatAsYouTypeApplyHeadings, write = set_AutoFormatAsYouTypeApplyHeadings};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyBorders = {read = get_AutoFormatAsYouTypeApplyBorders, write = set_AutoFormatAsYouTypeApplyBorders};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyBulletedLists = {read = get_AutoFormatAsYouTypeApplyBulletedLists, write = set_AutoFormatAsYouTypeApplyBulletedLists};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyNumberedLists = {read = get_AutoFormatAsYouTypeApplyNumberedLists, write = set_AutoFormatAsYouTypeApplyNumberedLists};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceQuotes = {read = get_AutoFormatAsYouTypeReplaceQuotes, write = set_AutoFormatAsYouTypeReplaceQuotes};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceSymbols = {read = get_AutoFormatAsYouTypeReplaceSymbols, write = set_AutoFormatAsYouTypeReplaceSymbols};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceOrdinals = {read = get_AutoFormatAsYouTypeReplaceOrdinals, write = set_AutoFormatAsYouTypeReplaceOrdinals};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceFractions = {read = get_AutoFormatAsYouTypeReplaceFractions, write = set_AutoFormatAsYouTypeReplaceFractions};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplacePlainTextEmphasis = {read = get_AutoFormatAsYouTypeReplacePlainTextEmphasis, write = set_AutoFormatAsYouTypeReplacePlainTextEmphasis};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeFormatListItemBeginning = {read = get_AutoFormatAsYouTypeFormatListItemBeginning, write = set_AutoFormatAsYouTypeFormatListItemBeginning};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeDefineStyles = {read = get_AutoFormatAsYouTypeDefineStyles, write = set_AutoFormatAsYouTypeDefineStyles};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceHyperlinks = {read = get_AutoFormatAsYouTypeReplaceHyperlinks, write = set_AutoFormatAsYouTypeReplaceHyperlinks};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyTables = {read = get_AutoFormatAsYouTypeApplyTables, write = set_AutoFormatAsYouTypeApplyTables};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyFirstIndents = {read = get_AutoFormatAsYouTypeApplyFirstIndents, write = set_AutoFormatAsYouTypeApplyFirstIndents};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyDates = {read = get_AutoFormatAsYouTypeApplyDates, write = set_AutoFormatAsYouTypeApplyDates};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyClosings = {read = get_AutoFormatAsYouTypeApplyClosings, write = set_AutoFormatAsYouTypeApplyClosings};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeMatchParentheses = {read = get_AutoFormatAsYouTypeMatchParentheses, write = set_AutoFormatAsYouTypeMatchParentheses};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceFarEastDashes = {read = get_AutoFormatAsYouTypeReplaceFarEastDashes, write = set_AutoFormatAsYouTypeReplaceFarEastDashes};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeDeleteAutoSpaces = {read = get_AutoFormatAsYouTypeDeleteAutoSpaces, write = set_AutoFormatAsYouTypeDeleteAutoSpaces};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeInsertClosings = {read = get_AutoFormatAsYouTypeInsertClosings, write = set_AutoFormatAsYouTypeInsertClosings};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeAutoLetterWizard = {read = get_AutoFormatAsYouTypeAutoLetterWizard, write = set_AutoFormatAsYouTypeAutoLetterWizard};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeInsertOvers = {read = get_AutoFormatAsYouTypeInsertOvers, write = set_AutoFormatAsYouTypeInsertOvers};
  __property   VARIANT_BOOL    RelyOnCSS = {read = get_RelyOnCSS, write = set_RelyOnCSS};
  __property   Word_xp::WdEmailHTMLFidelity HTMLFidelity = {read = get_HTMLFidelity, write = set_HTMLFidelity};
  __property   VARIANT_BOOL    EmbedSmartTag = {read = get_EmbedSmartTag, write = set_EmbedSmartTag};
  __property   VARIANT_BOOL    TabIndentKey = {read = get_TabIndentKey, write = set_TabIndentKey};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: EmailSignature
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DC-0000-0000-C000-000000000046}
// *********************************************************************//
interface EmailSignature  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_NewMessageSignature(BSTR* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_NewMessageSignature(BSTR prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_ReplyMessageSignature(BSTR* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_ReplyMessageSignature(BSTR prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_EmailSignatureEntries(Word_xp::EmailSignatureEntries** prop/*[out,retval]*/) = 0; // [105]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_NewMessageSignature(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_NewMessageSignature((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_ReplyMessageSignature(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_ReplyMessageSignature((BSTR*)&prop));
    return prop;
  }

  Word_xp::EmailSignatureEntriesPtr __fastcall get_EmailSignatureEntries(void)
  {
    Word_xp::EmailSignatureEntriesPtr prop;
    OLECHECK(this->get_EmailSignatureEntries(&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            NewMessageSignature = {read = get_NewMessageSignature, write = set_NewMessageSignature};
  __property   BSTR            ReplyMessageSignature = {read = get_ReplyMessageSignature, write = set_ReplyMessageSignature};
  __property   Word_xp::EmailSignatureEntriesPtr EmailSignatureEntries = {read = get_EmailSignatureEntries};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Email
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DD-0000-0000-C000-000000000046}
// *********************************************************************//
interface Email  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_CurrentEmailAuthor(Word_xp::EmailAuthor** prop/*[out,retval]*/) = 0; // [105]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::EmailAuthorPtr __fastcall get_CurrentEmailAuthor(void)
  {
    Word_xp::EmailAuthorPtr prop;
    OLECHECK(this->get_CurrentEmailAuthor(&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::EmailAuthorPtr CurrentEmailAuthor = {read = get_CurrentEmailAuthor};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: HorizontalLineFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DE-0000-0000-C000-000000000046}
// *********************************************************************//
interface HorizontalLineFormat  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_PercentWidth(float* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_PercentWidth(float prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_NoShade(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_NoShade(VARIANT_BOOL prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Alignment(Word_xp::WdHorizontalLineAlignment* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_Alignment(Word_xp::WdHorizontalLineAlignment prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_WidthType(Word_xp::WdHorizontalLineWidthType* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_WidthType(Word_xp::WdHorizontalLineWidthType prop/*[in]*/) = 0; // [5]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  float __fastcall get_PercentWidth(void)
  {
    float prop;
    OLECHECK(this->get_PercentWidth((float*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_NoShade(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_NoShade((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdHorizontalLineAlignment __fastcall get_Alignment(void)
  {
    Word_xp::WdHorizontalLineAlignment prop;
    OLECHECK(this->get_Alignment((Word_xp::WdHorizontalLineAlignment*)&prop));
    return prop;
  }

  Word_xp::WdHorizontalLineWidthType __fastcall get_WidthType(void)
  {
    Word_xp::WdHorizontalLineWidthType prop;
    OLECHECK(this->get_WidthType((Word_xp::WdHorizontalLineWidthType*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           PercentWidth = {read = get_PercentWidth, write = set_PercentWidth};
  __property   VARIANT_BOOL    NoShade = {read = get_NoShade, write = set_NoShade};
  __property   Word_xp::WdHorizontalLineAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   Word_xp::WdHorizontalLineWidthType WidthType = {read = get_WidthType, write = set_WidthType};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Frameset
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E2-0000-0000-C000-000000000046}
// *********************************************************************//
interface Frameset  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_ParentFrameset(Word_xp::Frameset** prop/*[out,retval]*/) = 0; // [1003]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdFramesetType* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_WidthType(Word_xp::WdFramesetSizeType* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_WidthType(Word_xp::WdFramesetSizeType prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_HeightType(Word_xp::WdFramesetSizeType* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_HeightType(Word_xp::WdFramesetSizeType prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Width(long* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Width(long prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Height(long* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_Height(long prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_ChildFramesetCount(long* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_ChildFramesetItem(long Index/*[in]*/, 
                                                          Word_xp::Frameset** prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_FramesetBorderWidth(float* prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE set_FramesetBorderWidth(float prop/*[in]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE get_FramesetBorderColor(Word_xp::WdColor* prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE set_FramesetBorderColor(Word_xp::WdColor prop/*[in]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE get_FrameScrollbarType(Word_xp::WdScrollbarType* prop/*[out,retval]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE set_FrameScrollbarType(Word_xp::WdScrollbarType prop/*[in]*/) = 0; // [30]
  virtual HRESULT STDMETHODCALLTYPE get_FrameResizable(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [31]
  virtual HRESULT STDMETHODCALLTYPE set_FrameResizable(VARIANT_BOOL prop/*[in]*/) = 0; // [31]
  virtual HRESULT STDMETHODCALLTYPE get_FrameName(BSTR* prop/*[out,retval]*/) = 0; // [34]
  virtual HRESULT STDMETHODCALLTYPE set_FrameName(BSTR prop/*[in]*/) = 0; // [34]
  virtual HRESULT STDMETHODCALLTYPE get_FrameDisplayBorders(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [35]
  virtual HRESULT STDMETHODCALLTYPE set_FrameDisplayBorders(VARIANT_BOOL prop/*[in]*/) = 0; // [35]
  virtual HRESULT STDMETHODCALLTYPE get_FrameDefaultURL(BSTR* prop/*[out,retval]*/) = 0; // [36]
  virtual HRESULT STDMETHODCALLTYPE set_FrameDefaultURL(BSTR prop/*[in]*/) = 0; // [36]
  virtual HRESULT STDMETHODCALLTYPE get_FrameLinkToFile(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [37]
  virtual HRESULT STDMETHODCALLTYPE set_FrameLinkToFile(VARIANT_BOOL prop/*[in]*/) = 0; // [37]
  virtual HRESULT STDMETHODCALLTYPE AddNewFrame(Word_xp::WdFramesetNewFrameLocation Where/*[in]*/, 
                                                Word_xp::Frameset** prop/*[out,retval]*/) = 0; // [50]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [51]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::FramesetPtr __fastcall get_ParentFrameset(void)
  {
    Word_xp::FramesetPtr prop;
    OLECHECK(this->get_ParentFrameset(&prop));
    return prop;
  }

  Word_xp::WdFramesetType __fastcall get_Type(void)
  {
    Word_xp::WdFramesetType prop;
    OLECHECK(this->get_Type((Word_xp::WdFramesetType*)&prop));
    return prop;
  }

  Word_xp::WdFramesetSizeType __fastcall get_WidthType(void)
  {
    Word_xp::WdFramesetSizeType prop;
    OLECHECK(this->get_WidthType((Word_xp::WdFramesetSizeType*)&prop));
    return prop;
  }

  Word_xp::WdFramesetSizeType __fastcall get_HeightType(void)
  {
    Word_xp::WdFramesetSizeType prop;
    OLECHECK(this->get_HeightType((Word_xp::WdFramesetSizeType*)&prop));
    return prop;
  }

  long __fastcall get_Width(void)
  {
    long prop;
    OLECHECK(this->get_Width((long*)&prop));
    return prop;
  }

  long __fastcall get_Height(void)
  {
    long prop;
    OLECHECK(this->get_Height((long*)&prop));
    return prop;
  }

  long __fastcall get_ChildFramesetCount(void)
  {
    long prop;
    OLECHECK(this->get_ChildFramesetCount((long*)&prop));
    return prop;
  }

  Word_xp::Frameset* __fastcall get_ChildFramesetItem(long Index/*[in]*/)
  {
    Word_xp::Frameset* prop = 0;
    OLECHECK(this->get_ChildFramesetItem(Index, (Word_xp::Frameset**)&prop));
    return prop;
  }

  float __fastcall get_FramesetBorderWidth(void)
  {
    float prop;
    OLECHECK(this->get_FramesetBorderWidth((float*)&prop));
    return prop;
  }

  Word_xp::WdColor __fastcall get_FramesetBorderColor(void)
  {
    Word_xp::WdColor prop;
    OLECHECK(this->get_FramesetBorderColor((Word_xp::WdColor*)&prop));
    return prop;
  }

  Word_xp::WdScrollbarType __fastcall get_FrameScrollbarType(void)
  {
    Word_xp::WdScrollbarType prop;
    OLECHECK(this->get_FrameScrollbarType((Word_xp::WdScrollbarType*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FrameResizable(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FrameResizable((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_FrameName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_FrameName((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FrameDisplayBorders(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FrameDisplayBorders((VARIANT_BOOL*)&prop));
    return prop;
  }

  BSTR __fastcall get_FrameDefaultURL(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_FrameDefaultURL((BSTR*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_FrameLinkToFile(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_FrameLinkToFile((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::Frameset* __fastcall AddNewFrame(Word_xp::WdFramesetNewFrameLocation Where/*[in]*/)
  {
    Word_xp::Frameset* prop = 0;
    OLECHECK(this->AddNewFrame(Where, (Word_xp::Frameset**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   Word_xp::FramesetPtr ParentFrameset = {read = get_ParentFrameset};
  __property   Word_xp::WdFramesetType Type = {read = get_Type};
  __property   Word_xp::WdFramesetSizeType WidthType = {read = get_WidthType, write = set_WidthType};
  __property   Word_xp::WdFramesetSizeType HeightType = {read = get_HeightType, write = set_HeightType};
  __property   long            Width = {read = get_Width, write = set_Width};
  __property   long            Height = {read = get_Height, write = set_Height};
  __property   long            ChildFramesetCount = {read = get_ChildFramesetCount};
  __property   float           FramesetBorderWidth = {read = get_FramesetBorderWidth, write = set_FramesetBorderWidth};
  __property   Word_xp::WdColor FramesetBorderColor = {read = get_FramesetBorderColor, write = set_FramesetBorderColor};
  __property   Word_xp::WdScrollbarType FrameScrollbarType = {read = get_FrameScrollbarType, write = set_FrameScrollbarType};
  __property   VARIANT_BOOL    FrameResizable = {read = get_FrameResizable, write = set_FrameResizable};
  __property   BSTR            FrameName = {read = get_FrameName, write = set_FrameName};
  __property   VARIANT_BOOL    FrameDisplayBorders = {read = get_FrameDisplayBorders, write = set_FrameDisplayBorders};
  __property   BSTR            FrameDefaultURL = {read = get_FrameDefaultURL, write = set_FrameDefaultURL};
  __property   VARIANT_BOOL    FrameLinkToFile = {read = get_FrameLinkToFile, write = set_FrameLinkToFile};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: DefaultWebOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E3-0000-0000-C000-000000000046}
// *********************************************************************//
interface DefaultWebOptions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_OptimizeForBrowser(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_OptimizeForBrowser(VARIANT_BOOL prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_BrowserLevel(Word_xp::WdBrowserLevel* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_BrowserLevel(Word_xp::WdBrowserLevel prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_RelyOnCSS(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_RelyOnCSS(VARIANT_BOOL prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_OrganizeInFolder(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_OrganizeInFolder(VARIANT_BOOL prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_UpdateLinksOnSave(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_UpdateLinksOnSave(VARIANT_BOOL prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_UseLongFileNames(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_UseLongFileNames(VARIANT_BOOL prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_CheckIfOfficeIsHTMLEditor(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_CheckIfOfficeIsHTMLEditor(VARIANT_BOOL prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_CheckIfWordIsDefaultHTMLEditor(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_CheckIfWordIsDefaultHTMLEditor(VARIANT_BOOL prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_RelyOnVML(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_RelyOnVML(VARIANT_BOOL prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_AllowPNG(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_AllowPNG(VARIANT_BOOL prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_ScreenSize(Office_xp::MsoScreenSize* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE set_ScreenSize(Office_xp::MsoScreenSize prop/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE get_PixelsPerInch(long* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_PixelsPerInch(long prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_Encoding(Office_xp::MsoEncoding* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_Encoding(Office_xp::MsoEncoding prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_AlwaysSaveInDefaultEncoding(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_AlwaysSaveInDefaultEncoding(VARIANT_BOOL prop/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_Fonts(Office_xp::WebPageFonts** prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_FolderSuffix(BSTR* prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_TargetBrowser(Office_xp::MsoTargetBrowser* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE set_TargetBrowser(Office_xp::MsoTargetBrowser prop/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_SaveNewWebPagesAsWebArchives(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE set_SaveNewWebPagesAsWebArchives(VARIANT_BOOL prop/*[in]*/) = 0; // [18]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_OptimizeForBrowser(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_OptimizeForBrowser((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdBrowserLevel __fastcall get_BrowserLevel(void)
  {
    Word_xp::WdBrowserLevel prop;
    OLECHECK(this->get_BrowserLevel((Word_xp::WdBrowserLevel*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RelyOnCSS(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RelyOnCSS((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_OrganizeInFolder(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_OrganizeInFolder((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UpdateLinksOnSave(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UpdateLinksOnSave((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseLongFileNames(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseLongFileNames((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CheckIfOfficeIsHTMLEditor(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CheckIfOfficeIsHTMLEditor((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_CheckIfWordIsDefaultHTMLEditor(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_CheckIfWordIsDefaultHTMLEditor((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RelyOnVML(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RelyOnVML((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AllowPNG(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AllowPNG((VARIANT_BOOL*)&prop));
    return prop;
  }

  Office_xp::MsoScreenSize __fastcall get_ScreenSize(void)
  {
    Office_xp::MsoScreenSize prop;
    OLECHECK(this->get_ScreenSize((Office_xp::MsoScreenSize*)&prop));
    return prop;
  }

  long __fastcall get_PixelsPerInch(void)
  {
    long prop;
    OLECHECK(this->get_PixelsPerInch((long*)&prop));
    return prop;
  }

  Office_xp::MsoEncoding __fastcall get_Encoding(void)
  {
    Office_xp::MsoEncoding prop;
    OLECHECK(this->get_Encoding((Office_xp::MsoEncoding*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AlwaysSaveInDefaultEncoding(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AlwaysSaveInDefaultEncoding((VARIANT_BOOL*)&prop));
    return prop;
  }

  Office_xp::WebPageFontsPtr __fastcall get_Fonts(void)
  {
    Office_xp::WebPageFontsPtr prop;
    OLECHECK(this->get_Fonts(&prop));
    return prop;
  }

  BSTR __fastcall get_FolderSuffix(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_FolderSuffix((BSTR*)&prop));
    return prop;
  }

  Office_xp::MsoTargetBrowser __fastcall get_TargetBrowser(void)
  {
    Office_xp::MsoTargetBrowser prop;
    OLECHECK(this->get_TargetBrowser((Office_xp::MsoTargetBrowser*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_SaveNewWebPagesAsWebArchives(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_SaveNewWebPagesAsWebArchives((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    OptimizeForBrowser = {read = get_OptimizeForBrowser, write = set_OptimizeForBrowser};
  __property   Word_xp::WdBrowserLevel BrowserLevel = {read = get_BrowserLevel, write = set_BrowserLevel};
  __property   VARIANT_BOOL    RelyOnCSS = {read = get_RelyOnCSS, write = set_RelyOnCSS};
  __property   VARIANT_BOOL    OrganizeInFolder = {read = get_OrganizeInFolder, write = set_OrganizeInFolder};
  __property   VARIANT_BOOL    UpdateLinksOnSave = {read = get_UpdateLinksOnSave, write = set_UpdateLinksOnSave};
  __property   VARIANT_BOOL    UseLongFileNames = {read = get_UseLongFileNames, write = set_UseLongFileNames};
  __property   VARIANT_BOOL    CheckIfOfficeIsHTMLEditor = {read = get_CheckIfOfficeIsHTMLEditor, write = set_CheckIfOfficeIsHTMLEditor};
  __property   VARIANT_BOOL    CheckIfWordIsDefaultHTMLEditor = {read = get_CheckIfWordIsDefaultHTMLEditor, write = set_CheckIfWordIsDefaultHTMLEditor};
  __property   VARIANT_BOOL    RelyOnVML = {read = get_RelyOnVML, write = set_RelyOnVML};
  __property   VARIANT_BOOL    AllowPNG = {read = get_AllowPNG, write = set_AllowPNG};
  __property   Office_xp::MsoScreenSize ScreenSize = {read = get_ScreenSize, write = set_ScreenSize};
  __property   long            PixelsPerInch = {read = get_PixelsPerInch, write = set_PixelsPerInch};
  __property   Office_xp::MsoEncoding Encoding = {read = get_Encoding, write = set_Encoding};
  __property   VARIANT_BOOL    AlwaysSaveInDefaultEncoding = {read = get_AlwaysSaveInDefaultEncoding, write = set_AlwaysSaveInDefaultEncoding};
  __property   Office_xp::WebPageFontsPtr Fonts = {read = get_Fonts};
  __property   BSTR            FolderSuffix = {read = get_FolderSuffix};
  __property   Office_xp::MsoTargetBrowser TargetBrowser = {read = get_TargetBrowser, write = set_TargetBrowser};
  __property   VARIANT_BOOL    SaveNewWebPagesAsWebArchives = {read = get_SaveNewWebPagesAsWebArchives, write = set_SaveNewWebPagesAsWebArchives};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: WebOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E4-0000-0000-C000-000000000046}
// *********************************************************************//
interface WebOptions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_OptimizeForBrowser(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE set_OptimizeForBrowser(VARIANT_BOOL prop/*[in]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_BrowserLevel(Word_xp::WdBrowserLevel* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_BrowserLevel(Word_xp::WdBrowserLevel prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_RelyOnCSS(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_RelyOnCSS(VARIANT_BOOL prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_OrganizeInFolder(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_OrganizeInFolder(VARIANT_BOOL prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_UseLongFileNames(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_UseLongFileNames(VARIANT_BOOL prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_RelyOnVML(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_RelyOnVML(VARIANT_BOOL prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_AllowPNG(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_AllowPNG(VARIANT_BOOL prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_ScreenSize(Office_xp::MsoScreenSize* prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE set_ScreenSize(Office_xp::MsoScreenSize prop/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE get_PixelsPerInch(long* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_PixelsPerInch(long prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_Encoding(Office_xp::MsoEncoding* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_Encoding(Office_xp::MsoEncoding prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE get_FolderSuffix(BSTR* prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE UseDefaultFolderSuffix(void) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_TargetBrowser(Office_xp::MsoTargetBrowser* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_TargetBrowser(Office_xp::MsoTargetBrowser prop/*[in]*/) = 0; // [12]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_OptimizeForBrowser(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_OptimizeForBrowser((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::WdBrowserLevel __fastcall get_BrowserLevel(void)
  {
    Word_xp::WdBrowserLevel prop;
    OLECHECK(this->get_BrowserLevel((Word_xp::WdBrowserLevel*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RelyOnCSS(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RelyOnCSS((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_OrganizeInFolder(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_OrganizeInFolder((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_UseLongFileNames(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_UseLongFileNames((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_RelyOnVML(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_RelyOnVML((VARIANT_BOOL*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AllowPNG(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AllowPNG((VARIANT_BOOL*)&prop));
    return prop;
  }

  Office_xp::MsoScreenSize __fastcall get_ScreenSize(void)
  {
    Office_xp::MsoScreenSize prop;
    OLECHECK(this->get_ScreenSize((Office_xp::MsoScreenSize*)&prop));
    return prop;
  }

  long __fastcall get_PixelsPerInch(void)
  {
    long prop;
    OLECHECK(this->get_PixelsPerInch((long*)&prop));
    return prop;
  }

  Office_xp::MsoEncoding __fastcall get_Encoding(void)
  {
    Office_xp::MsoEncoding prop;
    OLECHECK(this->get_Encoding((Office_xp::MsoEncoding*)&prop));
    return prop;
  }

  BSTR __fastcall get_FolderSuffix(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_FolderSuffix((BSTR*)&prop));
    return prop;
  }

  Office_xp::MsoTargetBrowser __fastcall get_TargetBrowser(void)
  {
    Office_xp::MsoTargetBrowser prop;
    OLECHECK(this->get_TargetBrowser((Office_xp::MsoTargetBrowser*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    OptimizeForBrowser = {read = get_OptimizeForBrowser, write = set_OptimizeForBrowser};
  __property   Word_xp::WdBrowserLevel BrowserLevel = {read = get_BrowserLevel, write = set_BrowserLevel};
  __property   VARIANT_BOOL    RelyOnCSS = {read = get_RelyOnCSS, write = set_RelyOnCSS};
  __property   VARIANT_BOOL    OrganizeInFolder = {read = get_OrganizeInFolder, write = set_OrganizeInFolder};
  __property   VARIANT_BOOL    UseLongFileNames = {read = get_UseLongFileNames, write = set_UseLongFileNames};
  __property   VARIANT_BOOL    RelyOnVML = {read = get_RelyOnVML, write = set_RelyOnVML};
  __property   VARIANT_BOOL    AllowPNG = {read = get_AllowPNG, write = set_AllowPNG};
  __property   Office_xp::MsoScreenSize ScreenSize = {read = get_ScreenSize, write = set_ScreenSize};
  __property   long            PixelsPerInch = {read = get_PixelsPerInch, write = set_PixelsPerInch};
  __property   Office_xp::MsoEncoding Encoding = {read = get_Encoding, write = set_Encoding};
  __property   BSTR            FolderSuffix = {read = get_FolderSuffix};
  __property   Office_xp::MsoTargetBrowser TargetBrowser = {read = get_TargetBrowser, write = set_TargetBrowser};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: OtherCorrectionsExceptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DF-0000-0000-C000-000000000046}
// *********************************************************************//
interface OtherCorrectionsExceptions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::OtherCorrectionsException** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, 
                                        Word_xp::OtherCorrectionsException** prop/*[out,retval]*/) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::OtherCorrectionsException* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::OtherCorrectionsException* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::OtherCorrectionsException**)&prop));
    return prop;
  }

  Word_xp::OtherCorrectionsException* __fastcall Add(BSTR Name/*[in]*/)
  {
    Word_xp::OtherCorrectionsException* prop = 0;
    OLECHECK(this->Add(Name, (Word_xp::OtherCorrectionsException**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: OtherCorrectionsException
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E1-0000-0000-C000-000000000046}
// *********************************************************************//
interface OtherCorrectionsException  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: EmailSignatureEntries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E5-0000-0000-C000-000000000046}
// *********************************************************************//
interface EmailSignatureEntries  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::EmailSignatureEntry** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/, 
                                        Word_xp::EmailSignatureEntry** prop/*[out,retval]*/) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::EmailSignatureEntry* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::EmailSignatureEntry* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::EmailSignatureEntry**)&prop));
    return prop;
  }

  Word_xp::EmailSignatureEntry* __fastcall Add(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/)
  {
    Word_xp::EmailSignatureEntry* prop = 0;
    OLECHECK(this->Add(Name, Range, (Word_xp::EmailSignatureEntry**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: EmailSignatureEntry
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E6-0000-0000-C000-000000000046}
// *********************************************************************//
interface EmailSignatureEntry  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Name(BSTR prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name, write = set_Name};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: HTMLDivision
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E7-0000-0000-C000-000000000046}
// *********************************************************************//
interface HTMLDivision  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [1100]
  virtual HRESULT STDMETHODCALLTYPE get_LeftIndent(float* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_LeftIndent(float prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_RightIndent(float* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_RightIndent(float prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceBefore(float* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceBefore(float prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_SpaceAfter(float* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_SpaceAfter(float prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE HTMLDivisionParent(VARIANT* LevelsUp/*[in,opt]*/, 
                                                       Word_xp::HTMLDivision** prop/*[out,retval]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [101]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  float __fastcall get_LeftIndent(void)
  {
    float prop;
    OLECHECK(this->get_LeftIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_RightIndent(void)
  {
    float prop;
    OLECHECK(this->get_RightIndent((float*)&prop));
    return prop;
  }

  float __fastcall get_SpaceBefore(void)
  {
    float prop;
    OLECHECK(this->get_SpaceBefore((float*)&prop));
    return prop;
  }

  float __fastcall get_SpaceAfter(void)
  {
    float prop;
    OLECHECK(this->get_SpaceAfter((float*)&prop));
    return prop;
  }

  Word_xp::HTMLDivisionsPtr __fastcall get_HTMLDivisions(void)
  {
    Word_xp::HTMLDivisionsPtr prop;
    OLECHECK(this->get_HTMLDivisions(&prop));
    return prop;
  }

  Word_xp::HTMLDivision* __fastcall HTMLDivisionParent(VARIANT* LevelsUp/*[in,opt]*/= TNoParam())
  {
    Word_xp::HTMLDivision* prop = 0;
    OLECHECK(this->HTMLDivisionParent(LevelsUp, (Word_xp::HTMLDivision**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   float           RightIndent = {read = get_RightIndent, write = set_RightIndent};
  __property   float           SpaceBefore = {read = get_SpaceBefore, write = set_SpaceBefore};
  __property   float           SpaceAfter = {read = get_SpaceAfter, write = set_SpaceAfter};
  __property   Word_xp::HTMLDivisionsPtr HTMLDivisions = {read = get_HTMLDivisions};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: HTMLDivisions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E8-0000-0000-C000-000000000046}
// *********************************************************************//
interface HTMLDivisions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_NestingLevel(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Add(VARIANT* Range/*[in,opt]*/, 
                                        Word_xp::HTMLDivision** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Item(long Index/*[in]*/, 
                                         Word_xp::HTMLDivision** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  long __fastcall get_NestingLevel(void)
  {
    long prop;
    OLECHECK(this->get_NestingLevel((long*)&prop));
    return prop;
  }

  Word_xp::HTMLDivision* __fastcall Add(VARIANT* Range/*[in,opt]*/= TNoParam())
  {
    Word_xp::HTMLDivision* prop = 0;
    OLECHECK(this->Add(Range, (Word_xp::HTMLDivision**)&prop));
    return prop;
  }

  Word_xp::HTMLDivision* __fastcall Item(long Index/*[in]*/)
  {
    Word_xp::HTMLDivision* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::HTMLDivision**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   long            NestingLevel = {read = get_NestingLevel};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: DiagramNode
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E9-0000-0000-C000-000000000046}
// *********************************************************************//
interface DiagramNode  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Children(Word_xp::DiagramNodeChildren** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Shape(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_Root(Word_xp::DiagramNode** prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Diagram(Word_xp::Diagram** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_Layout(Office_xp::MsoOrgChartLayoutType* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_Layout(Office_xp::MsoOrgChartLayoutType prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE get_TextShape(Word_xp::Shape** prop/*[out,retval]*/) = 0; // [106]
  virtual HRESULT STDMETHODCALLTYPE AddNode(Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/, 
                                            Office_xp::MsoDiagramNodeType NodeType/*[in,def,opt]*/, 
                                            Word_xp::DiagramNode** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE MoveNode(Word_xp::DiagramNode** TargetNode/*[out]*/, 
                                             Office_xp::MsoRelativeNodePosition Pos/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE ReplaceNode(Word_xp::DiagramNode** TargetNode/*[out]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE SwapNode(Word_xp::DiagramNode** TargetNode/*[out]*/, 
                                             Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE CloneNode(VARIANT_BOOL copyChildren/*[in]*/, 
                                              Word_xp::DiagramNode** TargetNode/*[out,def,opt]*/, 
                                              Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/, 
                                              Word_xp::DiagramNode** prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE TransferChildren(Word_xp::DiagramNode** ReceivingNode/*[out]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE NextNode(Word_xp::DiagramNode** prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE PrevNode(Word_xp::DiagramNode** prop/*[out,retval]*/) = 0; // [18]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::DiagramNodeChildrenPtr __fastcall get_Children(void)
  {
    Word_xp::DiagramNodeChildrenPtr prop;
    OLECHECK(this->get_Children(&prop));
    return prop;
  }

  Word_xp::ShapePtr __fastcall get_Shape(void)
  {
    Word_xp::ShapePtr prop;
    OLECHECK(this->get_Shape(&prop));
    return prop;
  }

  Word_xp::DiagramNodePtr __fastcall get_Root(void)
  {
    Word_xp::DiagramNodePtr prop;
    OLECHECK(this->get_Root(&prop));
    return prop;
  }

  Word_xp::DiagramPtr __fastcall get_Diagram(void)
  {
    Word_xp::DiagramPtr prop;
    OLECHECK(this->get_Diagram(&prop));
    return prop;
  }

  Office_xp::MsoOrgChartLayoutType __fastcall get_Layout(void)
  {
    Office_xp::MsoOrgChartLayoutType prop;
    OLECHECK(this->get_Layout((Office_xp::MsoOrgChartLayoutType*)&prop));
    return prop;
  }

  Word_xp::ShapePtr __fastcall get_TextShape(void)
  {
    Word_xp::ShapePtr prop;
    OLECHECK(this->get_TextShape(&prop));
    return prop;
  }

  Word_xp::DiagramNode* __fastcall AddNode(Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/, 
                                           Office_xp::MsoDiagramNodeType NodeType/*[in,def,opt]*/)
  {
    Word_xp::DiagramNode* prop = 0;
    OLECHECK(this->AddNode(Pos, NodeType, (Word_xp::DiagramNode**)&prop));
    return prop;
  }

  Word_xp::DiagramNode* __fastcall CloneNode(VARIANT_BOOL copyChildren/*[in]*/, 
                                             Word_xp::DiagramNode** TargetNode/*[out,def,opt]*/, 
                                             Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/)
  {
    Word_xp::DiagramNode* prop = 0;
    OLECHECK(this->CloneNode(copyChildren, TargetNode, Pos, (Word_xp::DiagramNode**)&prop));
    return prop;
  }

  Word_xp::DiagramNode* __fastcall NextNode(void)
  {
    Word_xp::DiagramNode* prop = 0;
    OLECHECK(this->NextNode((Word_xp::DiagramNode**)&prop));
    return prop;
  }

  Word_xp::DiagramNode* __fastcall PrevNode(void)
  {
    Word_xp::DiagramNode* prop = 0;
    OLECHECK(this->PrevNode((Word_xp::DiagramNode**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::DiagramNodeChildrenPtr Children = {read = get_Children};
  __property   Word_xp::ShapePtr Shape = {read = get_Shape};
  __property   Word_xp::DiagramNodePtr Root = {read = get_Root};
  __property   Word_xp::DiagramPtr Diagram = {read = get_Diagram};
  __property   Office_xp::MsoOrgChartLayoutType Layout = {read = get_Layout, write = set_Layout};
  __property   Word_xp::ShapePtr TextShape = {read = get_TextShape};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: DiagramNodeChildren
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EA-0000-0000-C000-000000000046}
// *********************************************************************//
interface DiagramNodeChildren  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_FirstChild(Word_xp::DiagramNode** prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_LastChild(Word_xp::DiagramNode** prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::DiagramNode** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE AddNode(VARIANT* Index/*[in,def,opt]*/, 
                                            Office_xp::MsoDiagramNodeType NodeType/*[in,def,opt]*/, 
                                            Word_xp::DiagramNode** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE SelectAll(void) = 0; // [11]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::DiagramNodePtr __fastcall get_FirstChild(void)
  {
    Word_xp::DiagramNodePtr prop;
    OLECHECK(this->get_FirstChild(&prop));
    return prop;
  }

  Word_xp::DiagramNodePtr __fastcall get_LastChild(void)
  {
    Word_xp::DiagramNodePtr prop;
    OLECHECK(this->get_LastChild(&prop));
    return prop;
  }

  Word_xp::DiagramNode* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::DiagramNode* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::DiagramNode**)&prop));
    return prop;
  }

  Word_xp::DiagramNode* __fastcall AddNode(VARIANT* Index/*[in,def,opt]*/, 
                                           Office_xp::MsoDiagramNodeType NodeType/*[in,def,opt]*/)
  {
    Word_xp::DiagramNode* prop = 0;
    OLECHECK(this->AddNode(Index, NodeType, (Word_xp::DiagramNode**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::DiagramNodePtr FirstChild = {read = get_FirstChild};
  __property   Word_xp::DiagramNodePtr LastChild = {read = get_LastChild};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: DiagramNodes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EB-0000-0000-C000-000000000046}
// *********************************************************************//
interface DiagramNodes  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::DiagramNode** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE SelectAll(void) = 0; // [10]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::DiagramNode* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::DiagramNode* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::DiagramNode**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Diagram
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EC-0000-0000-C000-000000000046}
// *********************************************************************//
interface Diagram  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Nodes(Word_xp::DiagramNodes** prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Office_xp::MsoDiagramType* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_AutoLayout(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_AutoLayout(Office_xp::MsoTriState prop/*[in]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE get_Reverse(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE set_Reverse(Office_xp::MsoTriState prop/*[in]*/) = 0; // [104]
  virtual HRESULT STDMETHODCALLTYPE get_AutoFormat(Office_xp::MsoTriState* prop/*[out,retval]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE set_AutoFormat(Office_xp::MsoTriState prop/*[in]*/) = 0; // [105]
  virtual HRESULT STDMETHODCALLTYPE Convert(Office_xp::MsoDiagramType Type/*[in]*/) = 0; // [10]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::DiagramNodesPtr __fastcall get_Nodes(void)
  {
    Word_xp::DiagramNodesPtr prop;
    OLECHECK(this->get_Nodes(&prop));
    return prop;
  }

  Office_xp::MsoDiagramType __fastcall get_Type(void)
  {
    Office_xp::MsoDiagramType prop;
    OLECHECK(this->get_Type((Office_xp::MsoDiagramType*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_AutoLayout(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_AutoLayout((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_Reverse(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_Reverse((Office_xp::MsoTriState*)&prop));
    return prop;
  }

  Office_xp::MsoTriState __fastcall get_AutoFormat(void)
  {
    Office_xp::MsoTriState prop;
    OLECHECK(this->get_AutoFormat((Office_xp::MsoTriState*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::DiagramNodesPtr Nodes = {read = get_Nodes};
  __property   Office_xp::MsoDiagramType Type = {read = get_Type};
  __property   Office_xp::MsoTriState AutoLayout = {read = get_AutoLayout, write = set_AutoLayout};
  __property   Office_xp::MsoTriState Reverse = {read = get_Reverse, write = set_Reverse};
  __property   Office_xp::MsoTriState AutoFormat = {read = get_AutoFormat, write = set_AutoFormat};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: CustomProperty
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {B923FDE0-F08C-11D3-91B0-00105A0A19FD}
// *********************************************************************//
interface CustomProperty  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Value(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Value(BSTR prop/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [11]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Value(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Value((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }


  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Value = {read = get_Value, write = set_Value};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: CustomProperties
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {B923FDE1-F08C-11D3-91B0-00105A0A19FD}
// *********************************************************************//
interface CustomProperties  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::CustomProperty** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, BSTR Value/*[in]*/, 
                                        Word_xp::CustomProperty** prop/*[out,retval]*/) = 0; // [5]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::CustomProperty* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::CustomProperty* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::CustomProperty**)&prop));
    return prop;
  }

  Word_xp::CustomProperty* __fastcall Add(BSTR Name/*[in]*/, BSTR Value/*[in]*/)
  {
    Word_xp::CustomProperty* prop = 0;
    OLECHECK(this->Add(Name, Value, (Word_xp::CustomProperty**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: SmartTag
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209ED-0000-0000-C000-000000000046}
// *********************************************************************//
interface SmartTag  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_XML(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Range(Word_xp::WordRange** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_DownloadURL(BSTR* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Properties(Word_xp::CustomProperties** prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Select(void) = 0; // [65535]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [11]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_XML(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_XML((BSTR*)&prop));
    return prop;
  }

  Word_xp::WordRangePtr __fastcall get_Range(void)
  {
    Word_xp::WordRangePtr prop;
    OLECHECK(this->get_Range(&prop));
    return prop;
  }

  BSTR __fastcall get_DownloadURL(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_DownloadURL((BSTR*)&prop));
    return prop;
  }

  Word_xp::CustomPropertiesPtr __fastcall get_Properties(void)
  {
    Word_xp::CustomPropertiesPtr prop;
    OLECHECK(this->get_Properties(&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }


  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            XML = {read = get_XML};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   BSTR            DownloadURL = {read = get_DownloadURL};
  __property   Word_xp::CustomPropertiesPtr Properties = {read = get_Properties};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: SmartTags
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EE-0000-0000-C000-000000000046}
// *********************************************************************//
interface SmartTags  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::SmartTag** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR Name/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                                        VARIANT* Properties/*[in,opt]*/, 
                                        Word_xp::SmartTag** prop/*[out,retval]*/) = 0; // [5]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::SmartTag* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::SmartTag* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::SmartTag**)&prop));
    return prop;
  }

  Word_xp::SmartTag* __fastcall Add(BSTR Name/*[in]*/, VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Properties/*[in,opt]*/= TNoParam())
  {
    Word_xp::SmartTag* prop = 0;
    OLECHECK(this->Add(Name, Range, Properties, (Word_xp::SmartTag**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: StyleSheet
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EF-0000-0000-C000-000000000046}
// *********************************************************************//
interface StyleSheet  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_FullName(BSTR* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_Path(BSTR* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_Type(Word_xp::WdStyleSheetLinkType* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_Type(Word_xp::WdStyleSheetLinkType prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_Title(BSTR* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_Title(BSTR prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE Move(Word_xp::WdStyleSheetPrecedence Precedence/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE Delete(void) = 0; // [8]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  BSTR __fastcall get_FullName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_FullName((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Path(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Path((BSTR*)&prop));
    return prop;
  }

  Word_xp::WdStyleSheetLinkType __fastcall get_Type(void)
  {
    Word_xp::WdStyleSheetLinkType prop;
    OLECHECK(this->get_Type((Word_xp::WdStyleSheetLinkType*)&prop));
    return prop;
  }

  BSTR __fastcall get_Title(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Title((BSTR*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            FullName = {read = get_FullName};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Path = {read = get_Path};
  __property   Word_xp::WdStyleSheetLinkType Type = {read = get_Type, write = set_Type};
  __property   BSTR            Title = {read = get_Title, write = set_Title};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: StyleSheets
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {07B7CC7E-E66C-11D3-9454-00105AA31A08}
// *********************************************************************//
interface StyleSheets  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::StyleSheet** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(BSTR FileName/*[in]*/, 
                                        Word_xp::WdStyleSheetLinkType LinkType/*[in]*/, 
                                        BSTR Title/*[in]*/, 
                                        Word_xp::WdStyleSheetPrecedence Precedence/*[in]*/, 
                                        Word_xp::StyleSheet** prop/*[out,retval]*/) = 0; // [2]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::StyleSheet* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::StyleSheet* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::StyleSheet**)&prop));
    return prop;
  }

  Word_xp::StyleSheet* __fastcall Add(BSTR FileName/*[in]*/, 
                                      Word_xp::WdStyleSheetLinkType LinkType/*[in]*/, 
                                      BSTR Title/*[in]*/, 
                                      Word_xp::WdStyleSheetPrecedence Precedence/*[in]*/)
  {
    Word_xp::StyleSheet* prop = 0;
    OLECHECK(this->Add(FileName, LinkType, Title, Precedence, (Word_xp::StyleSheet**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: MappedDataField
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {5D311669-EA51-11D3-87CC-00105AA31A34}
// *********************************************************************//
interface MappedDataField  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Index(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_DataFieldName(BSTR* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Value(BSTR* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_DataFieldIndex(long* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_DataFieldIndex(long prop/*[in]*/) = 0; // [5]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Index(void)
  {
    long prop;
    OLECHECK(this->get_Index((long*)&prop));
    return prop;
  }

  BSTR __fastcall get_DataFieldName(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_DataFieldName((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Name(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Name((BSTR*)&prop));
    return prop;
  }

  BSTR __fastcall get_Value(void)
  {
    BSTR prop = 0;
    OLECHECK(this->get_Value((BSTR*)&prop));
    return prop;
  }

  long __fastcall get_DataFieldIndex(void)
  {
    long prop;
    OLECHECK(this->get_DataFieldIndex((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            DataFieldName = {read = get_DataFieldName};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Value = {read = get_Value};
  __property   long            DataFieldIndex = {read = get_DataFieldIndex, write = set_DataFieldIndex};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: MappedDataFields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {799A6814-EA41-11D3-87CC-00105AA31A34}
// *********************************************************************//
interface MappedDataFields  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE Item(Word_xp::WdMappedDataFields Index/*[in]*/, 
                                         Word_xp::MappedDataField** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::MappedDataField* __fastcall Item(Word_xp::WdMappedDataFields Index/*[in]*/)
  {
    Word_xp::MappedDataField* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::MappedDataField**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: CanvasShapes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {396F9073-F9FD-11D3-8EA0-0050049A1A01}
// *********************************************************************//
interface CanvasShapes  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [8000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [8001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Shape** prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE AddCallout(Office_xp::MsoCalloutType Type/*[in]*/, 
                                               float Left/*[in]*/, float Top/*[in]*/, 
                                               float Width/*[in]*/, float Height/*[in]*/, 
                                               Word_xp::Shape** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE AddConnector(Office_xp::MsoConnectorType Type/*[in]*/, 
                                                 float BeginX/*[in]*/, float BeginY/*[in]*/, 
                                                 float EndX/*[in]*/, float EndY/*[in]*/, 
                                                 Word_xp::Shape** prop/*[out,retval]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE AddCurve(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                             Word_xp::Shape** prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE AddLabel(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                             float Left/*[in]*/, float Top/*[in]*/, 
                                             float Width/*[in]*/, float Height/*[in]*/, 
                                             Word_xp::Shape** prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE AddLine(float BeginX/*[in]*/, float BeginY/*[in]*/, 
                                            float EndX/*[in]*/, float EndY/*[in]*/, 
                                            Word_xp::Shape** prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE AddPicture(BSTR FileName/*[in]*/, 
                                               VARIANT* LinkToFile/*[in,opt]*/, 
                                               VARIANT* SaveWithDocument/*[in,opt]*/, 
                                               VARIANT* Left/*[in,opt]*/, VARIANT* Top/*[in,opt]*/, 
                                               VARIANT* Width/*[in,opt]*/, 
                                               VARIANT* Height/*[in,opt]*/, 
                                               Word_xp::Shape** prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE AddPolyline(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                                Word_xp::Shape** prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE AddShape(long Type/*[in]*/, float Left/*[in]*/, 
                                             float Top/*[in]*/, float Width/*[in]*/, 
                                             float Height/*[in]*/, 
                                             Word_xp::Shape** prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE AddTextEffect(Office_xp::MsoPresetTextEffect PresetTextEffect/*[in]*/, 
                                                  BSTR Text/*[in]*/, BSTR FontName/*[in]*/, 
                                                  float FontSize/*[in]*/, 
                                                  Office_xp::MsoTriState FontBold/*[in]*/, 
                                                  Office_xp::MsoTriState FontItalic/*[in]*/, 
                                                  float Left/*[in]*/, float Top/*[in]*/, 
                                                  Word_xp::Shape** prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE AddTextbox(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                               float Left/*[in]*/, float Top/*[in]*/, 
                                               float Width/*[in]*/, float Height/*[in]*/, 
                                               Word_xp::Shape** prop/*[out,retval]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE BuildFreeform(Office_xp::MsoEditingType EditingType/*[in]*/, 
                                                  float X1/*[in]*/, float Y1/*[in]*/, 
                                                  Word_xp::FreeformBuilder** prop/*[out,retval]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE Range(VARIANT* Index/*[in]*/, 
                                          Word_xp::ShapeRange** prop/*[out,retval]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE SelectAll(void) = 0; // [22]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddCallout(Office_xp::MsoCalloutType Type/*[in]*/, float Left/*[in]*/, 
                                        float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddCallout(Type, Left, Top, Width, Height, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddConnector(Office_xp::MsoConnectorType Type/*[in]*/, 
                                          float BeginX/*[in]*/, float BeginY/*[in]*/, 
                                          float EndX/*[in]*/, float EndY/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddConnector(Type, BeginX, BeginY, EndX, EndY, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddCurve(VARIANT* SafeArrayOfPoints/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddCurve(SafeArrayOfPoints, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddLabel(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                      float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                      float Height/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddLabel(Orientation, Left, Top, Width, Height, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddLine(float BeginX/*[in]*/, float BeginY/*[in]*/, float EndX/*[in]*/, 
                                     float EndY/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddLine(BeginX, BeginY, EndX, EndY, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddPicture(BSTR FileName/*[in]*/, 
                                        VARIANT* LinkToFile/*[in,opt]*/= TNoParam(), 
                                        VARIANT* SaveWithDocument/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Left/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Top/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Height/*[in,opt]*/= TNoParam())
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddPicture(FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddPolyline(VARIANT* SafeArrayOfPoints/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddPolyline(SafeArrayOfPoints, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddShape(long Type/*[in]*/, float Left/*[in]*/, float Top/*[in]*/, 
                                      float Width/*[in]*/, float Height/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddShape(Type, Left, Top, Width, Height, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddTextEffect(Office_xp::MsoPresetTextEffect PresetTextEffect/*[in]*/, 
                                           BSTR Text/*[in]*/, BSTR FontName/*[in]*/, 
                                           float FontSize/*[in]*/, 
                                           Office_xp::MsoTriState FontBold/*[in]*/, 
                                           Office_xp::MsoTriState FontItalic/*[in]*/, 
                                           float Left/*[in]*/, float Top/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddTextEffect(PresetTextEffect, Text, FontName, FontSize, FontBold, FontItalic, 
                                 Left, Top, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::Shape* __fastcall AddTextbox(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                        float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                        float Height/*[in]*/)
  {
    Word_xp::Shape* prop = 0;
    OLECHECK(this->AddTextbox(Orientation, Left, Top, Width, Height, (Word_xp::Shape**)&prop));
    return prop;
  }

  Word_xp::FreeformBuilder* __fastcall BuildFreeform(Office_xp::MsoEditingType EditingType/*[in]*/, 
                                                     float X1/*[in]*/, float Y1/*[in]*/)
  {
    Word_xp::FreeformBuilder* prop = 0;
    OLECHECK(this->BuildFreeform(EditingType, X1, Y1, (Word_xp::FreeformBuilder**)&prop));
    return prop;
  }

  Word_xp::ShapeRange* __fastcall Range(VARIANT* Index/*[in]*/)
  {
    Word_xp::ShapeRange* prop = 0;
    OLECHECK(this->Range(Index, (Word_xp::ShapeRange**)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TableStyle
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {B7564E97-0519-4C68-B400-3803E7C63242}
// *********************************************************************//
interface TableStyle  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_AllowPageBreaks(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_AllowPageBreaks(VARIANT_BOOL prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_BottomPadding(float* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_BottomPadding(float prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_LeftPadding(float* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_LeftPadding(float prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_TopPadding(float* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_TopPadding(float prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_RightPadding(float* prop/*[out,retval]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE set_RightPadding(float prop/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE get_Alignment(Word_xp::WdRowAlignment* prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_Alignment(Word_xp::WdRowAlignment prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_Spacing(float* prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_Spacing(float prop/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE Condition(Word_xp::WdConditionCode ConditionCode/*[in]*/, 
                                              Word_xp::ConditionalStyle** prop/*[out,retval]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE get_TableDirection(Word_xp::WdTableDirection* prop/*[out,retval]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE set_TableDirection(Word_xp::WdTableDirection prop/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE get_AllowBreakAcrossPage(long* prop/*[out,retval]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE set_AllowBreakAcrossPage(long prop/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE get_LeftIndent(float* prop/*[out,retval]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE set_LeftIndent(float prop/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE get_RowStripe(long* prop/*[out,retval]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE set_RowStripe(long prop/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE get_ColumnStripe(long* prop/*[out,retval]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE set_ColumnStripe(long prop/*[in]*/) = 0; // [18]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_AllowPageBreaks(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_AllowPageBreaks((VARIANT_BOOL*)&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  float __fastcall get_BottomPadding(void)
  {
    float prop;
    OLECHECK(this->get_BottomPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_LeftPadding(void)
  {
    float prop;
    OLECHECK(this->get_LeftPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_TopPadding(void)
  {
    float prop;
    OLECHECK(this->get_TopPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_RightPadding(void)
  {
    float prop;
    OLECHECK(this->get_RightPadding((float*)&prop));
    return prop;
  }

  Word_xp::WdRowAlignment __fastcall get_Alignment(void)
  {
    Word_xp::WdRowAlignment prop;
    OLECHECK(this->get_Alignment((Word_xp::WdRowAlignment*)&prop));
    return prop;
  }

  float __fastcall get_Spacing(void)
  {
    float prop;
    OLECHECK(this->get_Spacing((float*)&prop));
    return prop;
  }

  Word_xp::ConditionalStyle* __fastcall Condition(Word_xp::WdConditionCode ConditionCode/*[in]*/)
  {
    Word_xp::ConditionalStyle* prop = 0;
    OLECHECK(this->Condition(ConditionCode, (Word_xp::ConditionalStyle**)&prop));
    return prop;
  }

  Word_xp::WdTableDirection __fastcall get_TableDirection(void)
  {
    Word_xp::WdTableDirection prop;
    OLECHECK(this->get_TableDirection((Word_xp::WdTableDirection*)&prop));
    return prop;
  }

  long __fastcall get_AllowBreakAcrossPage(void)
  {
    long prop;
    OLECHECK(this->get_AllowBreakAcrossPage((long*)&prop));
    return prop;
  }

  float __fastcall get_LeftIndent(void)
  {
    float prop;
    OLECHECK(this->get_LeftIndent((float*)&prop));
    return prop;
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  long __fastcall get_RowStripe(void)
  {
    long prop;
    OLECHECK(this->get_RowStripe((long*)&prop));
    return prop;
  }

  long __fastcall get_ColumnStripe(void)
  {
    long prop;
    OLECHECK(this->get_ColumnStripe((long*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    AllowPageBreaks = {read = get_AllowPageBreaks, write = set_AllowPageBreaks};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   float           BottomPadding = {read = get_BottomPadding, write = set_BottomPadding};
  __property   float           LeftPadding = {read = get_LeftPadding, write = set_LeftPadding};
  __property   float           TopPadding = {read = get_TopPadding, write = set_TopPadding};
  __property   float           RightPadding = {read = get_RightPadding, write = set_RightPadding};
  __property   Word_xp::WdRowAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   float           Spacing = {read = get_Spacing, write = set_Spacing};
  __property   Word_xp::WdTableDirection TableDirection = {read = get_TableDirection, write = set_TableDirection};
  __property   long            AllowBreakAcrossPage = {read = get_AllowBreakAcrossPage, write = set_AllowBreakAcrossPage};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   long            RowStripe = {read = get_RowStripe, write = set_RowStripe};
  __property   long            ColumnStripe = {read = get_ColumnStripe, write = set_ColumnStripe};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: ConditionalStyle
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {1498F56D-ED33-41F9-B37B-EF30E50B08AC}
// *********************************************************************//
interface ConditionalStyle  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_Shading(Word_xp::Shading** prop/*[out,retval]*/) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE get_Borders(Word_xp::Borders** prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE set_Borders(Word_xp::Borders* prop/*[in]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_BottomPadding(float* prop/*[out,retval]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE set_BottomPadding(float prop/*[in]*/) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE get_TopPadding(float* prop/*[out,retval]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE set_TopPadding(float prop/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE get_LeftPadding(float* prop/*[out,retval]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE set_LeftPadding(float prop/*[in]*/) = 0; // [5]
  virtual HRESULT STDMETHODCALLTYPE get_RightPadding(float* prop/*[out,retval]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE set_RightPadding(float prop/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE set_ParagraphFormat(Word_xp::WordParagraphFormat* prop/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE get_Font(Word_xp::WordFont** prop/*[out,retval]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE set_Font(Word_xp::WordFont* prop/*[in]*/) = 0; // [10]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::ShadingPtr __fastcall get_Shading(void)
  {
    Word_xp::ShadingPtr prop;
    OLECHECK(this->get_Shading(&prop));
    return prop;
  }

  Word_xp::BordersPtr __fastcall get_Borders(void)
  {
    Word_xp::BordersPtr prop;
    OLECHECK(this->get_Borders(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Borders(Word_xp::BordersPtr prop/*[in]*/)
  {
    return set_Borders((Word_xp::Borders*)prop/*[in]*/);
  }

  float __fastcall get_BottomPadding(void)
  {
    float prop;
    OLECHECK(this->get_BottomPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_TopPadding(void)
  {
    float prop;
    OLECHECK(this->get_TopPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_LeftPadding(void)
  {
    float prop;
    OLECHECK(this->get_LeftPadding((float*)&prop));
    return prop;
  }

  float __fastcall get_RightPadding(void)
  {
    float prop;
    OLECHECK(this->get_RightPadding((float*)&prop));
    return prop;
  }

  Word_xp::WordParagraphFormatPtr __fastcall get_ParagraphFormat(void)
  {
    Word_xp::WordParagraphFormatPtr prop;
    OLECHECK(this->get_ParagraphFormat(&prop));
    return prop;
  }

  HRESULT __fastcall  set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
  {
    return set_ParagraphFormat((Word_xp::WordParagraphFormat*)prop/*[in]*/);
  }

  Word_xp::WordFontPtr __fastcall get_Font(void)
  {
    Word_xp::WordFontPtr prop;
    OLECHECK(this->get_Font(&prop));
    return prop;
  }

  HRESULT __fastcall  set_Font(Word_xp::WordFontPtr prop/*[in]*/)
  {
    return set_Font((Word_xp::WordFont*)prop/*[in]*/);
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   float           BottomPadding = {read = get_BottomPadding, write = set_BottomPadding};
  __property   float           TopPadding = {read = get_TopPadding, write = set_TopPadding};
  __property   float           LeftPadding = {read = get_LeftPadding, write = set_LeftPadding};
  __property   float           RightPadding = {read = get_RightPadding, write = set_RightPadding};
  __property   Word_xp::WordParagraphFormatPtr ParagraphFormat = {read = get_ParagraphFormat, write = set_ParagraphFormat};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: FootnoteOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {BEA85A24-D7DA-4F3D-B58C-ED90FB01D615}
// *********************************************************************//
interface FootnoteOptions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Location(Word_xp::WdFootnoteLocation* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Location(Word_xp::WdFootnoteLocation prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_NumberStyle(Word_xp::WdNoteNumberStyle* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_NumberStyle(Word_xp::WdNoteNumberStyle prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_StartingNumber(long* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_StartingNumber(long prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_NumberingRule(Word_xp::WdNumberingRule* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_NumberingRule(Word_xp::WdNumberingRule prop/*[in]*/) = 0; // [103]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdFootnoteLocation __fastcall get_Location(void)
  {
    Word_xp::WdFootnoteLocation prop;
    OLECHECK(this->get_Location((Word_xp::WdFootnoteLocation*)&prop));
    return prop;
  }

  Word_xp::WdNoteNumberStyle __fastcall get_NumberStyle(void)
  {
    Word_xp::WdNoteNumberStyle prop;
    OLECHECK(this->get_NumberStyle((Word_xp::WdNoteNumberStyle*)&prop));
    return prop;
  }

  long __fastcall get_StartingNumber(void)
  {
    long prop;
    OLECHECK(this->get_StartingNumber((long*)&prop));
    return prop;
  }

  Word_xp::WdNumberingRule __fastcall get_NumberingRule(void)
  {
    Word_xp::WdNumberingRule prop;
    OLECHECK(this->get_NumberingRule((Word_xp::WdNumberingRule*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdFootnoteLocation Location = {read = get_Location, write = set_Location};
  __property   Word_xp::WdNoteNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   long            StartingNumber = {read = get_StartingNumber, write = set_StartingNumber};
  __property   Word_xp::WdNumberingRule NumberingRule = {read = get_NumberingRule, write = set_NumberingRule};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: EndnoteOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {BF043168-F4DE-4E7C-B206-741A8B3EF71A}
// *********************************************************************//
interface EndnoteOptions  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Location(Word_xp::WdEndnoteLocation* prop/*[out,retval]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE set_Location(Word_xp::WdEndnoteLocation prop/*[in]*/) = 0; // [100]
  virtual HRESULT STDMETHODCALLTYPE get_NumberStyle(Word_xp::WdNoteNumberStyle* prop/*[out,retval]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE set_NumberStyle(Word_xp::WdNoteNumberStyle prop/*[in]*/) = 0; // [101]
  virtual HRESULT STDMETHODCALLTYPE get_StartingNumber(long* prop/*[out,retval]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE set_StartingNumber(long prop/*[in]*/) = 0; // [102]
  virtual HRESULT STDMETHODCALLTYPE get_NumberingRule(Word_xp::WdNumberingRule* prop/*[out,retval]*/) = 0; // [103]
  virtual HRESULT STDMETHODCALLTYPE set_NumberingRule(Word_xp::WdNumberingRule prop/*[in]*/) = 0; // [103]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::WdEndnoteLocation __fastcall get_Location(void)
  {
    Word_xp::WdEndnoteLocation prop;
    OLECHECK(this->get_Location((Word_xp::WdEndnoteLocation*)&prop));
    return prop;
  }

  Word_xp::WdNoteNumberStyle __fastcall get_NumberStyle(void)
  {
    Word_xp::WdNoteNumberStyle prop;
    OLECHECK(this->get_NumberStyle((Word_xp::WdNoteNumberStyle*)&prop));
    return prop;
  }

  long __fastcall get_StartingNumber(void)
  {
    long prop;
    OLECHECK(this->get_StartingNumber((long*)&prop));
    return prop;
  }

  Word_xp::WdNumberingRule __fastcall get_NumberingRule(void)
  {
    Word_xp::WdNumberingRule prop;
    OLECHECK(this->get_NumberingRule((Word_xp::WdNumberingRule*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdEndnoteLocation Location = {read = get_Location, write = set_Location};
  __property   Word_xp::WdNoteNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   long            StartingNumber = {read = get_StartingNumber, write = set_StartingNumber};
  __property   Word_xp::WdNumberingRule NumberingRule = {read = get_NumberingRule, write = set_NumberingRule};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Reviewers
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {12DCDC9A-5418-48A3-BBE6-EB57BAE275E8}
// *********************************************************************//
interface Reviewers  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::Reviewer** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::Reviewer* __fastcall Item(VARIANT* Index/*[in]*/)
  {
    Word_xp::Reviewer* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::Reviewer**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: Reviewer
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {47CEF4AE-DC32-4220-8AA5-19CCC0E6633A}
// *********************************************************************//
interface Reviewer  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Visible(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE set_Visible(VARIANT_BOOL prop/*[in]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Visible(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Visible((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TaskPane
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {B9F1A4E2-0D0A-43B7-8495-139E7ACBD840}
// *********************************************************************//
interface TaskPane  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE get_Visible(VARIANT_BOOL* prop/*[out,retval]*/) = 0; // [1003]
  virtual HRESULT STDMETHODCALLTYPE set_Visible(VARIANT_BOOL prop/*[in]*/) = 0; // [1003]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  VARIANT_BOOL __fastcall get_Visible(void)
  {
    VARIANT_BOOL prop;
    OLECHECK(this->get_Visible((VARIANT_BOOL*)&prop));
    return prop;
  }


  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: TaskPanes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {E6AAEC05-E543-4085-BA92-9BF7D2474F5C}
// *********************************************************************//
interface TaskPanes  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/) = 0; // [-4]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* prop/*[out,retval]*/) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE get_Application(Word_xp::WordApplication** prop/*[out,retval]*/) = 0; // [1000]
  virtual HRESULT STDMETHODCALLTYPE get_Creator(long* prop/*[out,retval]*/) = 0; // [1001]
  virtual HRESULT STDMETHODCALLTYPE get_Parent(LPDISPATCH* prop/*[out,retval]*/) = 0; // [1002]
  virtual HRESULT STDMETHODCALLTYPE Item(Word_xp::WdTaskPanes Index/*[in]*/, 
                                         Word_xp::TaskPane** prop/*[out,retval]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall get__NewEnum(void)
  {
    LPUNKNOWN prop;
    OLECHECK(this->get__NewEnum((LPUNKNOWN*)&prop));
    return prop;
  }

  long __fastcall get_Count(void)
  {
    long prop;
    OLECHECK(this->get_Count((long*)&prop));
    return prop;
  }

  Word_xp::WordApplicationPtr __fastcall get_Application(void)
  {
    Word_xp::WordApplicationPtr prop;
    OLECHECK(this->get_Application(&prop));
    return prop;
  }

  long __fastcall get_Creator(void)
  {
    long prop;
    OLECHECK(this->get_Creator((long*)&prop));
    return prop;
  }

  LPDISPATCH __fastcall get_Parent(void)
  {
    LPDISPATCH prop;
    OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
    return prop;
  }

  Word_xp::TaskPane* __fastcall Item(Word_xp::WdTaskPanes Index/*[in]*/)
  {
    Word_xp::TaskPane* prop = 0;
    OLECHECK(this->Item(Index, (Word_xp::TaskPane**)&prop));
    return prop;
  }


  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface: IApplicationEvents3
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020A00-0001-0000-C000-000000000046}
// *********************************************************************//
interface IApplicationEvents3  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Startup(void) = 0; // [1]
  virtual HRESULT STDMETHODCALLTYPE Quit(void) = 0; // [2]
  virtual HRESULT STDMETHODCALLTYPE DocumentChange(void) = 0; // [3]
  virtual HRESULT STDMETHODCALLTYPE DocumentOpen(Word_xp::WordDocument* Doc/*[in]*/) = 0; // [4]
  virtual HRESULT STDMETHODCALLTYPE DocumentBeforeClose(Word_xp::WordDocument* Doc/*[in]*/, 
                                                        VARIANT_BOOL* Cancel/*[in]*/) = 0; // [6]
  virtual HRESULT STDMETHODCALLTYPE DocumentBeforePrint(Word_xp::WordDocument* Doc/*[in]*/, 
                                                        VARIANT_BOOL* Cancel/*[in]*/) = 0; // [7]
  virtual HRESULT STDMETHODCALLTYPE DocumentBeforeSave(Word_xp::WordDocument* Doc/*[in]*/, 
                                                       VARIANT_BOOL* SaveAsUI/*[in]*/, 
                                                       VARIANT_BOOL* Cancel/*[in]*/) = 0; // [8]
  virtual HRESULT STDMETHODCALLTYPE NewDocument(Word_xp::WordDocument* Doc/*[in]*/) = 0; // [9]
  virtual HRESULT STDMETHODCALLTYPE WindowActivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                                   Word_xp::WINDOW* Wn/*[in]*/) = 0; // [10]
  virtual HRESULT STDMETHODCALLTYPE WindowDeactivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                                     Word_xp::WINDOW* Wn/*[in]*/) = 0; // [11]
  virtual HRESULT STDMETHODCALLTYPE WindowSelectionChange(Word_xp::WordSelection* Sel/*[in]*/) = 0; // [12]
  virtual HRESULT STDMETHODCALLTYPE WindowBeforeRightClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                           VARIANT_BOOL* Cancel/*[in]*/) = 0; // [13]
  virtual HRESULT STDMETHODCALLTYPE WindowBeforeDoubleClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                            VARIANT_BOOL* Cancel/*[in]*/) = 0; // [14]
  virtual HRESULT STDMETHODCALLTYPE EPostagePropertyDialog(Word_xp::WordDocument* Doc/*[in]*/) = 0; // [15]
  virtual HRESULT STDMETHODCALLTYPE EPostageInsert(Word_xp::WordDocument* Doc/*[in]*/) = 0; // [16]
  virtual HRESULT STDMETHODCALLTYPE MailMergeAfterMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                        Word_xp::WordDocument* DocResult/*[in]*/) = 0; // [17]
  virtual HRESULT STDMETHODCALLTYPE MailMergeAfterRecordMerge(Word_xp::WordDocument* Doc/*[in]*/) = 0; // [18]
  virtual HRESULT STDMETHODCALLTYPE MailMergeBeforeMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                         long StartRecord/*[in]*/, 
                                                         long EndRecord/*[in]*/, 
                                                         VARIANT_BOOL* Cancel/*[in]*/) = 0; // [19]
  virtual HRESULT STDMETHODCALLTYPE MailMergeBeforeRecordMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                               VARIANT_BOOL* Cancel/*[in]*/) = 0; // [20]
  virtual HRESULT STDMETHODCALLTYPE MailMergeDataSourceLoad(Word_xp::WordDocument* Doc/*[in]*/) = 0; // [21]
  virtual HRESULT STDMETHODCALLTYPE MailMergeDataSourceValidate(Word_xp::WordDocument* Doc/*[in]*/, 
                                                                VARIANT_BOOL* Handled/*[in]*/) = 0; // [22]
  virtual HRESULT STDMETHODCALLTYPE MailMergeWizardSendToCustom(Word_xp::WordDocument* Doc/*[in]*/) = 0; // [23]
  virtual HRESULT STDMETHODCALLTYPE MailMergeWizardStateChange(Word_xp::WordDocument* Doc/*[in]*/, 
                                                               int* FromState/*[in]*/, 
                                                               int* ToState/*[in]*/, 
                                                               VARIANT_BOOL* Handled/*[in]*/) = 0; // [24]
  virtual HRESULT STDMETHODCALLTYPE WindowSize(Word_xp::WordDocument* Doc/*[in]*/, 
                                               Word_xp::WINDOW* Wn/*[in]*/) = 0; // [25]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)
// *********************************************************************//
// SmartIntf: TCOM_Application
// Interface: _Application
// *********************************************************************//
template <class T /* _Application */ >
class TCOM_ApplicationT : public TComInterface<_Application>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ApplicationT() {}
  TCOM_ApplicationT(_Application *intf, bool addRef = false) : TComInterface<_Application>(intf, addRef) {}
  TCOM_ApplicationT(const TCOM_ApplicationT& src) : TComInterface<_Application>(src) {}
  TCOM_ApplicationT& operator=(const TCOM_ApplicationT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Documents(Word_xp::Documents** prop/*[out,retval]*/);
  Word_xp::DocumentsPtr __fastcall get_Documents(void);
  HRESULT         __fastcall get_Windoz(Word_xp::Windows** prop/*[out,retval]*/);
  Word_xp::WindowsPtr __fastcall get_Windoz(void);
  HRESULT         __fastcall get_ActiveDocument(Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocumentPtr __fastcall get_ActiveDocument(void);
  HRESULT         __fastcall get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOWPtr __fastcall get_ActiveWindow(void);
  HRESULT         __fastcall get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/);
  Word_xp::WordSelectionPtr __fastcall get_Selection(void);
  HRESULT         __fastcall get_WordBasic(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_WordBasic(void);
  HRESULT         __fastcall get_RecentFiles(Word_xp::RecentFiles** prop/*[out,retval]*/);
  Word_xp::RecentFilesPtr __fastcall get_RecentFiles(void);
  HRESULT         __fastcall get_NormalTemplate(Word_xp::Template** prop/*[out,retval]*/);
  Word_xp::TemplatePtr __fastcall get_NormalTemplate(void);
  HRESULT         __fastcall get_System(Word_xp::SYSTEM** prop/*[out,retval]*/);
  Word_xp::SYSTEMPtr __fastcall get_System(void);
  HRESULT         __fastcall get_AutoCorrect(Word_xp::AutoCorrect** prop/*[out,retval]*/);
  Word_xp::AutoCorrectPtr __fastcall get_AutoCorrect(void);
  HRESULT         __fastcall get_FontNames(Word_xp::FontNames** prop/*[out,retval]*/);
  Word_xp::FontNamesPtr __fastcall get_FontNames(void);
  HRESULT         __fastcall get_LandscapeFontNames(Word_xp::FontNames** prop/*[out,retval]*/);
  Word_xp::FontNamesPtr __fastcall get_LandscapeFontNames(void);
  HRESULT         __fastcall get_PortraitFontNames(Word_xp::FontNames** prop/*[out,retval]*/);
  Word_xp::FontNamesPtr __fastcall get_PortraitFontNames(void);
  HRESULT         __fastcall get_Languages(Word_xp::Languages** prop/*[out,retval]*/);
  Word_xp::LanguagesPtr __fastcall get_Languages(void);
  HRESULT         __fastcall get_Assistant(Office_xp::Assistant** prop/*[out,retval]*/);
  Office_xp::AssistantPtr __fastcall get_Assistant(void);
  HRESULT         __fastcall get_Browser(Word_xp::Browser** prop/*[out,retval]*/);
  Word_xp::BrowserPtr __fastcall get_Browser(void);
  HRESULT         __fastcall get_FileConverters(Word_xp::FileConverters** prop/*[out,retval]*/);
  Word_xp::FileConvertersPtr __fastcall get_FileConverters(void);
  HRESULT         __fastcall get_MailingLabel(Word_xp::MailingLabel** prop/*[out,retval]*/);
  Word_xp::MailingLabelPtr __fastcall get_MailingLabel(void);
  HRESULT         __fastcall get_Dialogs(Word_xp::Dialogs** prop/*[out,retval]*/);
  Word_xp::DialogsPtr __fastcall get_Dialogs(void);
  HRESULT         __fastcall get_CaptionLabels(Word_xp::CaptionLabels** prop/*[out,retval]*/);
  Word_xp::CaptionLabelsPtr __fastcall get_CaptionLabels(void);
  HRESULT         __fastcall get_AutoCaptions(Word_xp::AutoCaptions** prop/*[out,retval]*/);
  Word_xp::AutoCaptionsPtr __fastcall get_AutoCaptions(void);
  HRESULT         __fastcall get_AddIns(Word_xp::AddIns** prop/*[out,retval]*/);
  Word_xp::AddInsPtr __fastcall get_AddIns(void);
  HRESULT         __fastcall get_Visible(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Version(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Version(void);
  HRESULT         __fastcall get_ScreenUpdating(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ScreenUpdating(void);
  HRESULT         __fastcall set_ScreenUpdating(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintPreview(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintPreview(void);
  HRESULT         __fastcall set_PrintPreview(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Tasks(Word_xp::Tasks** prop/*[out,retval]*/);
  Word_xp::TasksPtr __fastcall get_Tasks(void);
  HRESULT         __fastcall get_DisplayStatusBar(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayStatusBar(void);
  HRESULT         __fastcall set_DisplayStatusBar(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SpecialMode(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SpecialMode(void);
  HRESULT         __fastcall get_UsableWidth(long* prop/*[out,retval]*/);
  long            __fastcall get_UsableWidth(void);
  HRESULT         __fastcall get_UsableHeight(long* prop/*[out,retval]*/);
  long            __fastcall get_UsableHeight(void);
  HRESULT         __fastcall get_MathCoprocessorAvailable(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MathCoprocessorAvailable(void);
  HRESULT         __fastcall get_MouseAvailable(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MouseAvailable(void);
  HRESULT         __fastcall get_International(Word_xp::WdInternationalIndex Index/*[in]*/, 
                                               VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_International(Word_xp::WdInternationalIndex Index/*[in]*/);
  HRESULT         __fastcall get_Build(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Build(void);
  HRESULT         __fastcall get_CapsLock(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CapsLock(void);
  HRESULT         __fastcall get_NumLock(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_NumLock(void);
  HRESULT         __fastcall get_UserName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_UserName(void);
  HRESULT         __fastcall set_UserName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_UserInitials(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_UserInitials(void);
  HRESULT         __fastcall set_UserInitials(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_UserAddress(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_UserAddress(void);
  HRESULT         __fastcall set_UserAddress(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_MacroContainer(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_MacroContainer(void);
  HRESULT         __fastcall get_DisplayRecentFiles(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayRecentFiles(void);
  HRESULT         __fastcall set_DisplayRecentFiles(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/);
  Office_xp::CommandBarsPtr __fastcall get_CommandBars(void);
  HRESULT         __fastcall get_SynonymInfo(BSTR Word/*[in]*/, VARIANT* LanguageID/*[in,opt]*/, 
                                             Word_xp::SynonymInfo** prop/*[out,retval]*/);
  Word_xp::SynonymInfo* __fastcall get_SynonymInfo(BSTR Word/*[in]*/, 
                                                   VARIANT* LanguageID/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_VBE(Vbide_xp::VBE** prop/*[out,retval]*/);
  Vbide_xp::VBEPtr __fastcall get_VBE(void);
  HRESULT         __fastcall get_DefaultSaveFormat(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DefaultSaveFormat(void);
  HRESULT         __fastcall set_DefaultSaveFormat(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ListGalleries(Word_xp::ListGalleries** prop/*[out,retval]*/);
  Word_xp::ListGalleriesPtr __fastcall get_ListGalleries(void);
  HRESULT         __fastcall get_ActivePrinter(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ActivePrinter(void);
  HRESULT         __fastcall set_ActivePrinter(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Templates(Word_xp::Templates** prop/*[out,retval]*/);
  Word_xp::TemplatesPtr __fastcall get_Templates(void);
  HRESULT         __fastcall get_CustomizationContext(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_CustomizationContext(void);
  HRESULT         __fastcall set_CustomizationContext(LPDISPATCH prop/*[in]*/);
  HRESULT         __fastcall get_KeyBindings(Word_xp::KeyBindings** prop/*[out,retval]*/);
  Word_xp::KeyBindingsPtr __fastcall get_KeyBindings(void);
  HRESULT         __fastcall get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                             BSTR Command/*[in]*/, 
                                             VARIANT* CommandParameter/*[in,opt]*/, 
                                             Word_xp::KeysBoundTo** prop/*[out,retval]*/);
  Word_xp::KeysBoundTo* __fastcall get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                                   BSTR Command/*[in]*/, 
                                                   VARIANT* CommandParameter/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                         Word_xp::KeyBinding** prop/*[out,retval]*/);
  Word_xp::KeyBinding* __fastcall get_FindKey(long KeyCode/*[in]*/, 
                                              VARIANT* KeyCode2/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_Caption(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Caption(void);
  HRESULT         __fastcall set_Caption(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Path(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Path(void);
  HRESULT         __fastcall get_DisplayScrollBars(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayScrollBars(void);
  HRESULT         __fastcall set_DisplayScrollBars(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_StartupPath(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_StartupPath(void);
  HRESULT         __fastcall set_StartupPath(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_BackgroundSavingStatus(long* prop/*[out,retval]*/);
  long            __fastcall get_BackgroundSavingStatus(void);
  HRESULT         __fastcall get_BackgroundPrintingStatus(long* prop/*[out,retval]*/);
  long            __fastcall get_BackgroundPrintingStatus(void);
  HRESULT         __fastcall get_Left(long* prop/*[out,retval]*/);
  long            __fastcall get_Left(void);
  HRESULT         __fastcall set_Left(long prop/*[in]*/);
  HRESULT         __fastcall get_Top(long* prop/*[out,retval]*/);
  long            __fastcall get_Top(void);
  HRESULT         __fastcall set_Top(long prop/*[in]*/);
  HRESULT         __fastcall get_Width(long* prop/*[out,retval]*/);
  long            __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(long prop/*[in]*/);
  HRESULT         __fastcall get_Height(long* prop/*[out,retval]*/);
  long            __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(long prop/*[in]*/);
  HRESULT         __fastcall get_WindowState(Word_xp::WdWindowState* prop/*[out,retval]*/);
  Word_xp::WdWindowState __fastcall get_WindowState(void);
  HRESULT         __fastcall set_WindowState(Word_xp::WdWindowState prop/*[in]*/);
  HRESULT         __fastcall get_DisplayAutoCompleteTips(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayAutoCompleteTips(void);
  HRESULT         __fastcall set_DisplayAutoCompleteTips(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Options(Word_xp::Options** prop/*[out,retval]*/);
  Word_xp::OptionsPtr __fastcall get_Options(void);
  HRESULT         __fastcall get_DisplayAlerts(Word_xp::WdAlertLevel* prop/*[out,retval]*/);
  Word_xp::WdAlertLevel __fastcall get_DisplayAlerts(void);
  HRESULT         __fastcall set_DisplayAlerts(Word_xp::WdAlertLevel prop/*[in]*/);
  HRESULT         __fastcall get_CustomDictionaries(Word_xp::Dictionaries** prop/*[out,retval]*/);
  Word_xp::DictionariesPtr __fastcall get_CustomDictionaries(void);
  HRESULT         __fastcall get_PathSeparator(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_PathSeparator(void);
  HRESULT         __fastcall set_StatusBar(BSTR Param1/*[in]*/);
  HRESULT         __fastcall get_MAPIAvailable(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MAPIAvailable(void);
  HRESULT         __fastcall get_DisplayScreenTips(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayScreenTips(void);
  HRESULT         __fastcall set_DisplayScreenTips(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_EnableCancelKey(Word_xp::WdEnableCancelKey* prop/*[out,retval]*/);
  Word_xp::WdEnableCancelKey __fastcall get_EnableCancelKey(void);
  HRESULT         __fastcall set_EnableCancelKey(Word_xp::WdEnableCancelKey prop/*[in]*/);
  HRESULT         __fastcall get_UserControl(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UserControl(void);
  HRESULT         __fastcall get_FileSearch(Office_xp::FileSearch** prop/*[out,retval]*/);
  Office_xp::FileSearchPtr __fastcall get_FileSearch(void);
  HRESULT         __fastcall get_MailSystem(Word_xp::WdMailSystem* prop/*[out,retval]*/);
  Word_xp::WdMailSystem __fastcall get_MailSystem(void);
  HRESULT         __fastcall get_DefaultTableSeparator(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DefaultTableSeparator(void);
  HRESULT         __fastcall set_DefaultTableSeparator(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ShowVisualBasicEditor(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowVisualBasicEditor(void);
  HRESULT         __fastcall set_ShowVisualBasicEditor(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_BrowseExtraFileTypes(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_BrowseExtraFileTypes(void);
  HRESULT         __fastcall set_BrowseExtraFileTypes(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_IsObjectValid(LPDISPATCH Object/*[in]*/, 
                                               VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsObjectValid(LPDISPATCH Object/*[in]*/);
  HRESULT         __fastcall get_HangulHanjaDictionaries(Word_xp::HangulHanjaConversionDictionaries** prop/*[out,retval]*/);
  Word_xp::HangulHanjaConversionDictionariesPtr __fastcall get_HangulHanjaDictionaries(void);
  HRESULT         __fastcall get_MailMessage(Word_xp::MailMessage** prop/*[out,retval]*/);
  Word_xp::MailMessagePtr __fastcall get_MailMessage(void);
  HRESULT         __fastcall get_FocusInMailHeader(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FocusInMailHeader(void);
  HRESULT         __fastcall Quit(VARIANT* SaveChanges/*[in,opt]*/= TNoParam(), 
                                  VARIANT* OriginalFormat/*[in,opt]*/= TNoParam(), 
                                  VARIANT* RouteDocument/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ScreenRefresh(void);
  HRESULT         __fastcall PrintOutOld(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                         VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                         VARIANT* From/*[in,opt]*/= TNoParam(), 
                                         VARIANT* To/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                         VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall LookupNameProperties(BSTR Name/*[in]*/);
  HRESULT         __fastcall SubstituteFont(BSTR UnavailableFont/*[in]*/, 
                                            BSTR SubstituteFont/*[in]*/);
  HRESULT         __fastcall Repeat(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Repeat(VARIANT* Times/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall DDEExecute(long Channel/*[in]*/, BSTR Command/*[in]*/);
  HRESULT         __fastcall DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/, 
                                         long* prop/*[out,retval]*/);
  long            __fastcall DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/);
  HRESULT         __fastcall DDEPoke(long Channel/*[in]*/, BSTR Item/*[in]*/, BSTR Data/*[in]*/);
  HRESULT         __fastcall DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/, 
                                        BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/);
  HRESULT         __fastcall DDETerminate(long Channel/*[in]*/);
  HRESULT         __fastcall DDETerminateAll(void);
  HRESULT         __fastcall BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/, 
                                          VARIANT* Arg3/*[in,opt]*/, VARIANT* Arg4/*[in,opt]*/, 
                                          long* prop/*[out,retval]*/);
  long            __fastcall BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, 
                                          VARIANT* Arg2/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Arg3/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Arg4/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                       BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall KeyString(long KeyCode/*[in]*/, 
                                       VARIANT* KeyCode2/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall OrganizerCopy(BSTR Source/*[in]*/, BSTR Destination/*[in]*/, 
                                           BSTR Name/*[in]*/, 
                                           Word_xp::WdOrganizerObject Object/*[in]*/);
  HRESULT         __fastcall OrganizerDelete(BSTR Source/*[in]*/, BSTR Name/*[in]*/, 
                                             Word_xp::WdOrganizerObject Object/*[in]*/);
  HRESULT         __fastcall OrganizerRename(BSTR Source/*[in]*/, BSTR Name/*[in]*/, 
                                             BSTR NewName/*[in]*/, 
                                             Word_xp::WdOrganizerObject Object/*[in]*/);
  HRESULT         __fastcall AddAddress(LPSAFEARRAY* TagID/*[in]*/, LPSAFEARRAY* Value/*[in]*/);
  HRESULT         __fastcall GetAddress(VARIANT* Name/*[in,opt]*/, 
                                        VARIANT* AddressProperties/*[in,opt]*/, 
                                        VARIANT* UseAutoText/*[in,opt]*/, 
                                        VARIANT* DisplaySelectDialog/*[in,opt]*/, 
                                        VARIANT* SelectDialog/*[in,opt]*/, 
                                        VARIANT* CheckNamesDialog/*[in,opt]*/, 
                                        VARIANT* RecentAddressesChoice/*[in,opt]*/, 
                                        VARIANT* UpdateRecentAddresses/*[in,opt]*/, 
                                        BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall GetAddress(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                                        VARIANT* AddressProperties/*[in,opt]*/= TNoParam(), 
                                        VARIANT* UseAutoText/*[in,opt]*/= TNoParam(), 
                                        VARIANT* DisplaySelectDialog/*[in,opt]*/= TNoParam(), 
                                        VARIANT* SelectDialog/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CheckNamesDialog/*[in,opt]*/= TNoParam(), 
                                        VARIANT* RecentAddressesChoice/*[in,opt]*/= TNoParam(), 
                                        VARIANT* UpdateRecentAddresses/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CheckGrammar(BSTR String/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall CheckGrammar(BSTR String/*[in]*/);
  HRESULT         __fastcall CheckSpelling(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                                           VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                           VARIANT* MainDictionary/*[in,opt]*/, 
                                           VARIANT* CustomDictionary2/*[in,opt]*/, 
                                           VARIANT* CustomDictionary3/*[in,opt]*/, 
                                           VARIANT* CustomDictionary4/*[in,opt]*/, 
                                           VARIANT* CustomDictionary5/*[in,opt]*/, 
                                           VARIANT* CustomDictionary6/*[in,opt]*/, 
                                           VARIANT* CustomDictionary7/*[in,opt]*/, 
                                           VARIANT* CustomDictionary8/*[in,opt]*/, 
                                           VARIANT* CustomDictionary9/*[in,opt]*/, 
                                           VARIANT* CustomDictionary10/*[in,opt]*/, 
                                           VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall CheckSpelling(BSTR Word/*[in]*/, 
                                           VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                           VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                           VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ResetIgnoreAll(void);
  HRESULT         __fastcall GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                                    VARIANT* CustomDictionary/*[in,opt]*/, 
                                                    VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                                    VARIANT* MainDictionary/*[in,opt]*/, 
                                                    VARIANT* SuggestionMode/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary2/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary3/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary4/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary5/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary6/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary7/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary8/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary9/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary10/*[in,opt]*/, 
                                                    Word_xp::SpellingSuggestions** prop/*[out,retval]*/);
  Word_xp::SpellingSuggestions* __fastcall GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                                                  VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* SuggestionMode/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall GoBack(void);
  HRESULT         __fastcall Help(VARIANT* HelpType/*[in]*/);
  HRESULT         __fastcall AutomaticChange(void);
  HRESULT         __fastcall ShowMe(void);
  HRESULT         __fastcall HelpTool(void);
  HRESULT         __fastcall NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOW* __fastcall NewWindow(void);
  HRESULT         __fastcall ListCommands(VARIANT_BOOL ListAllCommands/*[in]*/);
  HRESULT         __fastcall ShowClipboard(void);
  HRESULT         __fastcall OnTime(VARIANT* When/*[in]*/, BSTR Name/*[in]*/, 
                                    VARIANT* Tolerance/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall NextLetter(void);
  HRESULT         __fastcall MountVolume(BSTR Zone/*[in]*/, BSTR Server/*[in]*/, BSTR Volume/*[in]*/, 
                                         VARIANT* User/*[in,opt]*/, 
                                         VARIANT* UserPassword/*[in,opt]*/, 
                                         VARIANT* VolumePassword/*[in,opt]*/, 
                                         short* prop/*[out,retval]*/);
  short           __fastcall MountVolume(BSTR Zone/*[in]*/, BSTR Server/*[in]*/, BSTR Volume/*[in]*/, 
                                         VARIANT* User/*[in,opt]*/= TNoParam(), 
                                         VARIANT* UserPassword/*[in,opt]*/= TNoParam(), 
                                         VARIANT* VolumePassword/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CleanString(BSTR String/*[in]*/, BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall CleanString(BSTR String/*[in]*/);
  HRESULT         __fastcall SendFax(void);
  HRESULT         __fastcall ChangeFileOpenDirectory(BSTR Path/*[in]*/);
  HRESULT         __fastcall RunOld(BSTR MacroName/*[in]*/);
  HRESULT         __fastcall GoForward(void);
  HRESULT         __fastcall Move(long Left/*[in]*/, long Top/*[in]*/);
  HRESULT         __fastcall Resize(long Width/*[in]*/, long Height/*[in]*/);
  HRESULT         __fastcall InchesToPoints(float Inches/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall InchesToPoints(float Inches/*[in]*/);
  HRESULT         __fastcall CentimetersToPoints(float Centimeters/*[in]*/, 
                                                 float* prop/*[out,retval]*/);
  float           __fastcall CentimetersToPoints(float Centimeters/*[in]*/);
  HRESULT         __fastcall MillimetersToPoints(float Millimeters/*[in]*/, 
                                                 float* prop/*[out,retval]*/);
  float           __fastcall MillimetersToPoints(float Millimeters/*[in]*/);
  HRESULT         __fastcall PicasToPoints(float Picas/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PicasToPoints(float Picas/*[in]*/);
  HRESULT         __fastcall LinesToPoints(float Lines/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall LinesToPoints(float Lines/*[in]*/);
  HRESULT         __fastcall PointsToInches(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToInches(float Points/*[in]*/);
  HRESULT         __fastcall PointsToCentimeters(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToCentimeters(float Points/*[in]*/);
  HRESULT         __fastcall PointsToMillimeters(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToMillimeters(float Points/*[in]*/);
  HRESULT         __fastcall PointsToPicas(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToPicas(float Points/*[in]*/);
  HRESULT         __fastcall PointsToLines(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToLines(float Points/*[in]*/);
  HRESULT         __fastcall Activate(void);
  HRESULT         __fastcall PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                            float* prop/*[out,retval]*/);
  float           __fastcall PointsToPixels(float Points/*[in]*/, 
                                            VARIANT* fVertical/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                            float* prop/*[out,retval]*/);
  float           __fastcall PixelsToPoints(float Pixels/*[in]*/, 
                                            VARIANT* fVertical/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall KeyboardLatin(void);
  HRESULT         __fastcall KeyboardBidi(void);
  HRESULT         __fastcall ToggleKeyboard(void);
  HRESULT         __fastcall Keyboard(long LangId/*[in,def,opt]*/, long* prop/*[out,retval]*/);
  long            __fastcall Keyboard(long LangId/*[in,def,opt]*/);
  HRESULT         __fastcall ProductCode(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall ProductCode(void);
  HRESULT         __fastcall DefaultWebOptions(Word_xp::DefaultWebOptions** prop/*[out,retval]*/);
  Word_xp::DefaultWebOptions* __fastcall DefaultWebOptions(void);
  HRESULT         __fastcall DiscussionSupport(VARIANT* Range/*[in]*/, VARIANT* cid/*[in]*/, 
                                               VARIANT* piCSE/*[in]*/);
  HRESULT         __fastcall SetDefaultTheme(BSTR Name/*[in]*/, 
                                             Word_xp::WdDocumentMedium DocumentType/*[in]*/);
  HRESULT         __fastcall GetDefaultTheme(Word_xp::WdDocumentMedium DocumentType/*[in]*/, 
                                             BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall GetDefaultTheme(Word_xp::WdDocumentMedium DocumentType/*[in]*/);
  HRESULT         __fastcall get_EmailOptions(Word_xp::EmailOptions** prop/*[out,retval]*/);
  Word_xp::EmailOptionsPtr __fastcall get_EmailOptions(void);
  HRESULT         __fastcall get_Language(Office_xp::MsoLanguageID* prop/*[out,retval]*/);
  Office_xp::MsoLanguageID __fastcall get_Language(void);
  HRESULT         __fastcall get_COMAddIns(Office_xp::COMAddIns** prop/*[out,retval]*/);
  Office_xp::COMAddInsPtr __fastcall get_COMAddIns(void);
  HRESULT         __fastcall get_CheckLanguage(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CheckLanguage(void);
  HRESULT         __fastcall set_CheckLanguage(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_LanguageSettings(Office_xp::LanguageSettings** prop/*[out,retval]*/);
  Office_xp::LanguageSettingsPtr __fastcall get_LanguageSettings(void);
  HRESULT         __fastcall get_Dummy1(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Dummy1(void);
  HRESULT         __fastcall get_AnswerWizard(Office_xp::AnswerWizard** prop/*[out,retval]*/);
  Office_xp::AnswerWizardPtr __fastcall get_AnswerWizard(void);
  HRESULT         __fastcall get_FeatureInstall(Office_xp::MsoFeatureInstall* prop/*[out,retval]*/);
  Office_xp::MsoFeatureInstall __fastcall get_FeatureInstall(void);
  HRESULT         __fastcall set_FeatureInstall(Office_xp::MsoFeatureInstall prop/*[in]*/);
  HRESULT         __fastcall PrintOut2000(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                          VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* From/*[in,opt]*/= TNoParam(), 
                                          VARIANT* To/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                          VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Run(BSTR MacroName/*[in]*/, VARIANT* varg1/*[in,opt]*/, 
                                 VARIANT* varg2/*[in,opt]*/, VARIANT* varg3/*[in,opt]*/, 
                                 VARIANT* varg4/*[in,opt]*/, VARIANT* varg5/*[in,opt]*/, 
                                 VARIANT* varg6/*[in,opt]*/, VARIANT* varg7/*[in,opt]*/, 
                                 VARIANT* varg8/*[in,opt]*/, VARIANT* varg9/*[in,opt]*/, 
                                 VARIANT* varg10/*[in,opt]*/, VARIANT* varg11/*[in,opt]*/, 
                                 VARIANT* varg12/*[in,opt]*/, VARIANT* varg13/*[in,opt]*/, 
                                 VARIANT* varg14/*[in,opt]*/, VARIANT* varg15/*[in,opt]*/, 
                                 VARIANT* varg16/*[in,opt]*/, VARIANT* varg17/*[in,opt]*/, 
                                 VARIANT* varg18/*[in,opt]*/, VARIANT* varg19/*[in,opt]*/, 
                                 VARIANT* varg20/*[in,opt]*/, VARIANT* varg21/*[in,opt]*/, 
                                 VARIANT* varg22/*[in,opt]*/, VARIANT* varg23/*[in,opt]*/, 
                                 VARIANT* varg24/*[in,opt]*/, VARIANT* varg25/*[in,opt]*/, 
                                 VARIANT* varg26/*[in,opt]*/, VARIANT* varg27/*[in,opt]*/, 
                                 VARIANT* varg28/*[in,opt]*/, VARIANT* varg29/*[in,opt]*/, 
                                 VARIANT* varg30/*[in,opt]*/, VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall Run(BSTR MacroName/*[in]*/, VARIANT* varg1/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg2/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg3/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg4/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg5/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg6/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg7/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg8/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg9/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg10/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg11/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg12/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg13/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg14/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg15/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg16/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg17/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg18/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg19/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg20/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg21/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg22/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg23/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg24/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg25/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg26/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg27/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg28/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg29/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg30/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PrintOut(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                      VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                      VARIANT* From/*[in,opt]*/= TNoParam(), 
                                      VARIANT* To/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                      VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_AutomationSecurity(Office_xp::MsoAutomationSecurity* prop/*[out,retval]*/);
  Office_xp::MsoAutomationSecurity __fastcall get_AutomationSecurity(void);
  HRESULT         __fastcall set_AutomationSecurity(Office_xp::MsoAutomationSecurity prop/*[in]*/);
  HRESULT         __fastcall get_FileDialog(Office_xp::MsoFileDialogType FileDialogType/*[in]*/, 
                                            Office_xp::FileDialog** prop/*[out,retval]*/);
  Office_xp::FileDialog* __fastcall get_FileDialog(Office_xp::MsoFileDialogType FileDialogType/*[in]*/);
  HRESULT         __fastcall get_EmailTemplate(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_EmailTemplate(void);
  HRESULT         __fastcall set_EmailTemplate(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ShowWindowsInTaskbar(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowWindowsInTaskbar(void);
  HRESULT         __fastcall set_ShowWindowsInTaskbar(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_NewDocument(Office_xp::NewFile** prop/*[out,retval]*/);
  Office_xp::NewFilePtr __fastcall get_NewDocument(void);
  HRESULT         __fastcall get_ShowStartupDialog(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowStartupDialog(void);
  HRESULT         __fastcall set_ShowStartupDialog(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoCorrectEmail(Word_xp::AutoCorrect** prop/*[out,retval]*/);
  Word_xp::AutoCorrectPtr __fastcall get_AutoCorrectEmail(void);
  HRESULT         __fastcall get_TaskPanes(Word_xp::TaskPanes** prop/*[out,retval]*/);
  Word_xp::TaskPanesPtr __fastcall get_TaskPanes(void);
  HRESULT         __fastcall get_DefaultLegalBlackline(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DefaultLegalBlackline(void);
  HRESULT         __fastcall set_DefaultLegalBlackline(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall Dummy2(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Dummy2(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::DocumentsPtr Documents = {read = get_Documents};
  __property   Word_xp::WindowsPtr Windoz = {read = get_Windoz};
  __property   Word_xp::WordDocumentPtr ActiveDocument = {read = get_ActiveDocument};
  __property   Word_xp::WINDOWPtr ActiveWindow = {read = get_ActiveWindow};
  __property   Word_xp::WordSelectionPtr Selection = {read = get_Selection};
  __property   LPDISPATCH      WordBasic = {read = get_WordBasic};
  __property   Word_xp::RecentFilesPtr RecentFiles = {read = get_RecentFiles};
  __property   Word_xp::TemplatePtr NormalTemplate = {read = get_NormalTemplate};
  __property   Word_xp::SYSTEMPtr System = {read = get_System};
  __property   Word_xp::AutoCorrectPtr AutoCorrect = {read = get_AutoCorrect};
  __property   Word_xp::FontNamesPtr FontNames = {read = get_FontNames};
  __property   Word_xp::FontNamesPtr LandscapeFontNames = {read = get_LandscapeFontNames};
  __property   Word_xp::FontNamesPtr PortraitFontNames = {read = get_PortraitFontNames};
  __property   Word_xp::LanguagesPtr Languages = {read = get_Languages};
  __property   Office_xp::AssistantPtr Assistant = {read = get_Assistant};
  __property   Word_xp::BrowserPtr Browser = {read = get_Browser};
  __property   Word_xp::FileConvertersPtr FileConverters = {read = get_FileConverters};
  __property   Word_xp::MailingLabelPtr MailingLabel = {read = get_MailingLabel};
  __property   Word_xp::DialogsPtr Dialogs = {read = get_Dialogs};
  __property   Word_xp::CaptionLabelsPtr CaptionLabels = {read = get_CaptionLabels};
  __property   Word_xp::AutoCaptionsPtr AutoCaptions = {read = get_AutoCaptions};
  __property   Word_xp::AddInsPtr AddIns = {read = get_AddIns};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};
  __property   BSTR            Version = {read = get_Version};
  __property   VARIANT_BOOL    ScreenUpdating = {read = get_ScreenUpdating, write = set_ScreenUpdating};
  __property   VARIANT_BOOL    PrintPreview = {read = get_PrintPreview, write = set_PrintPreview};
  __property   Word_xp::TasksPtr Tasks = {read = get_Tasks};
  __property   VARIANT_BOOL    DisplayStatusBar = {read = get_DisplayStatusBar, write = set_DisplayStatusBar};
  __property   VARIANT_BOOL    SpecialMode = {read = get_SpecialMode};
  __property   long            UsableWidth = {read = get_UsableWidth};
  __property   long            UsableHeight = {read = get_UsableHeight};
  __property   VARIANT_BOOL    MathCoprocessorAvailable = {read = get_MathCoprocessorAvailable};
  __property   VARIANT_BOOL    MouseAvailable = {read = get_MouseAvailable};
  __property   BSTR            Build = {read = get_Build};
  __property   VARIANT_BOOL    CapsLock = {read = get_CapsLock};
  __property   VARIANT_BOOL    NumLock = {read = get_NumLock};
  __property   BSTR            UserName = {read = get_UserName, write = set_UserName};
  __property   BSTR            UserInitials = {read = get_UserInitials, write = set_UserInitials};
  __property   BSTR            UserAddress = {read = get_UserAddress, write = set_UserAddress};
  __property   LPDISPATCH      MacroContainer = {read = get_MacroContainer};
  __property   VARIANT_BOOL    DisplayRecentFiles = {read = get_DisplayRecentFiles, write = set_DisplayRecentFiles};
  __property   Office_xp::CommandBarsPtr CommandBars = {read = get_CommandBars};
  __property   Vbide_xp::VBEPtr VBE = {read = get_VBE};
  __property   BSTR            DefaultSaveFormat = {read = get_DefaultSaveFormat, write = set_DefaultSaveFormat};
  __property   Word_xp::ListGalleriesPtr ListGalleries = {read = get_ListGalleries};
  __property   BSTR            ActivePrinter = {read = get_ActivePrinter, write = set_ActivePrinter};
  __property   Word_xp::TemplatesPtr Templates = {read = get_Templates};
  __property   LPDISPATCH      CustomizationContext = {read = get_CustomizationContext, write = set_CustomizationContext};
  __property   Word_xp::KeyBindingsPtr KeyBindings = {read = get_KeyBindings};
  __property   BSTR            Caption = {read = get_Caption, write = set_Caption};
  __property   BSTR            Path = {read = get_Path};
  __property   VARIANT_BOOL    DisplayScrollBars = {read = get_DisplayScrollBars, write = set_DisplayScrollBars};
  __property   BSTR            StartupPath = {read = get_StartupPath, write = set_StartupPath};
  __property   long            BackgroundSavingStatus = {read = get_BackgroundSavingStatus};
  __property   long            BackgroundPrintingStatus = {read = get_BackgroundPrintingStatus};
  __property   long            Left = {read = get_Left, write = set_Left};
  __property   long            Top = {read = get_Top, write = set_Top};
  __property   long            Width = {read = get_Width, write = set_Width};
  __property   long            Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdWindowState WindowState = {read = get_WindowState, write = set_WindowState};
  __property   VARIANT_BOOL    DisplayAutoCompleteTips = {read = get_DisplayAutoCompleteTips, write = set_DisplayAutoCompleteTips};
  __property   Word_xp::OptionsPtr Options = {read = get_Options};
  __property   Word_xp::WdAlertLevel DisplayAlerts = {read = get_DisplayAlerts, write = set_DisplayAlerts};
  __property   Word_xp::DictionariesPtr CustomDictionaries = {read = get_CustomDictionaries};
  __property   BSTR            PathSeparator = {read = get_PathSeparator};
  __property   BSTR            StatusBar = {write = set_StatusBar};
  __property   VARIANT_BOOL    MAPIAvailable = {read = get_MAPIAvailable};
  __property   VARIANT_BOOL    DisplayScreenTips = {read = get_DisplayScreenTips, write = set_DisplayScreenTips};
  __property   Word_xp::WdEnableCancelKey EnableCancelKey = {read = get_EnableCancelKey, write = set_EnableCancelKey};
  __property   VARIANT_BOOL    UserControl = {read = get_UserControl};
  __property   Office_xp::FileSearchPtr FileSearch = {read = get_FileSearch};
  __property   Word_xp::WdMailSystem MailSystem = {read = get_MailSystem};
  __property   BSTR            DefaultTableSeparator = {read = get_DefaultTableSeparator, write = set_DefaultTableSeparator};
  __property   VARIANT_BOOL    ShowVisualBasicEditor = {read = get_ShowVisualBasicEditor, write = set_ShowVisualBasicEditor};
  __property   BSTR            BrowseExtraFileTypes = {read = get_BrowseExtraFileTypes, write = set_BrowseExtraFileTypes};
  __property   Word_xp::HangulHanjaConversionDictionariesPtr HangulHanjaDictionaries = {read = get_HangulHanjaDictionaries};
  __property   Word_xp::MailMessagePtr MailMessage = {read = get_MailMessage};
  __property   VARIANT_BOOL    FocusInMailHeader = {read = get_FocusInMailHeader};
  __property   Word_xp::EmailOptionsPtr EmailOptions = {read = get_EmailOptions};
  __property   Office_xp::MsoLanguageID Language = {read = get_Language};
  __property   Office_xp::COMAddInsPtr COMAddIns = {read = get_COMAddIns};
  __property   VARIANT_BOOL    CheckLanguage = {read = get_CheckLanguage, write = set_CheckLanguage};
  __property   Office_xp::LanguageSettingsPtr LanguageSettings = {read = get_LanguageSettings};
  __property   VARIANT_BOOL    Dummy1 = {read = get_Dummy1};
  __property   Office_xp::AnswerWizardPtr AnswerWizard = {read = get_AnswerWizard};
  __property   Office_xp::MsoFeatureInstall FeatureInstall = {read = get_FeatureInstall, write = set_FeatureInstall};
  __property   Office_xp::MsoAutomationSecurity AutomationSecurity = {read = get_AutomationSecurity, write = set_AutomationSecurity};
  __property   BSTR            EmailTemplate = {read = get_EmailTemplate, write = set_EmailTemplate};
  __property   VARIANT_BOOL    ShowWindowsInTaskbar = {read = get_ShowWindowsInTaskbar, write = set_ShowWindowsInTaskbar};
  __property   Office_xp::NewFilePtr NewDocument = {read = get_NewDocument};
  __property   VARIANT_BOOL    ShowStartupDialog = {read = get_ShowStartupDialog, write = set_ShowStartupDialog};
  __property   Word_xp::AutoCorrectPtr AutoCorrectEmail = {read = get_AutoCorrectEmail};
  __property   Word_xp::TaskPanesPtr TaskPanes = {read = get_TaskPanes};
  __property   VARIANT_BOOL    DefaultLegalBlackline = {read = get_DefaultLegalBlackline, write = set_DefaultLegalBlackline};
};
typedef TCOM_ApplicationT<_Application> TCOM_Application;

// *********************************************************************//
// DispIntf:  _Application
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020970-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class _ApplicationDispT : public TAutoDriver<_Application>
{
public:
  _ApplicationDispT(){}

  _ApplicationDispT(_Application *pintf)
  {
    TAutoDriver<_Application>::Bind(pintf, false);
  }

  _ApplicationDispT(_ApplicationPtr pintf)
  {
    TAutoDriver<_Application>::Bind(pintf, true);
  }

  _ApplicationDispT& operator=(_Application *pintf)
  {
    TAutoDriver<_Application>::Bind(pintf, false);
    return *this;
  }

  _ApplicationDispT& operator=(_ApplicationPtr pintf)
  {
    TAutoDriver<_Application>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WordApplication));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WordApplication);
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Documents(Word_xp::Documents** prop/*[out,retval]*/);
  Word_xp::DocumentsPtr __fastcall get_Documents(void);
  HRESULT         __fastcall get_Windoz(Word_xp::Windows** prop/*[out,retval]*/);
  Word_xp::WindowsPtr __fastcall get_Windoz(void);
  HRESULT         __fastcall get_ActiveDocument(Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocumentPtr __fastcall get_ActiveDocument(void);
  HRESULT         __fastcall get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOWPtr __fastcall get_ActiveWindow(void);
  HRESULT         __fastcall get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/);
  Word_xp::WordSelectionPtr __fastcall get_Selection(void);
  HRESULT         __fastcall get_WordBasic(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_WordBasic(void);
  HRESULT         __fastcall get_RecentFiles(Word_xp::RecentFiles** prop/*[out,retval]*/);
  Word_xp::RecentFilesPtr __fastcall get_RecentFiles(void);
  HRESULT         __fastcall get_NormalTemplate(Word_xp::Template** prop/*[out,retval]*/);
  Word_xp::TemplatePtr __fastcall get_NormalTemplate(void);
  HRESULT         __fastcall get_System(Word_xp::SYSTEM** prop/*[out,retval]*/);
  Word_xp::SYSTEMPtr __fastcall get_System(void);
  HRESULT         __fastcall get_AutoCorrect(Word_xp::AutoCorrect** prop/*[out,retval]*/);
  Word_xp::AutoCorrectPtr __fastcall get_AutoCorrect(void);
  HRESULT         __fastcall get_FontNames(Word_xp::FontNames** prop/*[out,retval]*/);
  Word_xp::FontNamesPtr __fastcall get_FontNames(void);
  HRESULT         __fastcall get_LandscapeFontNames(Word_xp::FontNames** prop/*[out,retval]*/);
  Word_xp::FontNamesPtr __fastcall get_LandscapeFontNames(void);
  HRESULT         __fastcall get_PortraitFontNames(Word_xp::FontNames** prop/*[out,retval]*/);
  Word_xp::FontNamesPtr __fastcall get_PortraitFontNames(void);
  HRESULT         __fastcall get_Languages(Word_xp::Languages** prop/*[out,retval]*/);
  Word_xp::LanguagesPtr __fastcall get_Languages(void);
  HRESULT         __fastcall get_Assistant(Office_xp::Assistant** prop/*[out,retval]*/);
  Office_xp::AssistantPtr __fastcall get_Assistant(void);
  HRESULT         __fastcall get_Browser(Word_xp::Browser** prop/*[out,retval]*/);
  Word_xp::BrowserPtr __fastcall get_Browser(void);
  HRESULT         __fastcall get_FileConverters(Word_xp::FileConverters** prop/*[out,retval]*/);
  Word_xp::FileConvertersPtr __fastcall get_FileConverters(void);
  HRESULT         __fastcall get_MailingLabel(Word_xp::MailingLabel** prop/*[out,retval]*/);
  Word_xp::MailingLabelPtr __fastcall get_MailingLabel(void);
  HRESULT         __fastcall get_Dialogs(Word_xp::Dialogs** prop/*[out,retval]*/);
  Word_xp::DialogsPtr __fastcall get_Dialogs(void);
  HRESULT         __fastcall get_CaptionLabels(Word_xp::CaptionLabels** prop/*[out,retval]*/);
  Word_xp::CaptionLabelsPtr __fastcall get_CaptionLabels(void);
  HRESULT         __fastcall get_AutoCaptions(Word_xp::AutoCaptions** prop/*[out,retval]*/);
  Word_xp::AutoCaptionsPtr __fastcall get_AutoCaptions(void);
  HRESULT         __fastcall get_AddIns(Word_xp::AddIns** prop/*[out,retval]*/);
  Word_xp::AddInsPtr __fastcall get_AddIns(void);
  HRESULT         __fastcall get_Visible(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Version(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Version(void);
  HRESULT         __fastcall get_ScreenUpdating(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ScreenUpdating(void);
  HRESULT         __fastcall set_ScreenUpdating(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintPreview(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintPreview(void);
  HRESULT         __fastcall set_PrintPreview(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Tasks(Word_xp::Tasks** prop/*[out,retval]*/);
  Word_xp::TasksPtr __fastcall get_Tasks(void);
  HRESULT         __fastcall get_DisplayStatusBar(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayStatusBar(void);
  HRESULT         __fastcall set_DisplayStatusBar(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SpecialMode(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SpecialMode(void);
  HRESULT         __fastcall get_UsableWidth(long* prop/*[out,retval]*/);
  long            __fastcall get_UsableWidth(void);
  HRESULT         __fastcall get_UsableHeight(long* prop/*[out,retval]*/);
  long            __fastcall get_UsableHeight(void);
  HRESULT         __fastcall get_MathCoprocessorAvailable(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MathCoprocessorAvailable(void);
  HRESULT         __fastcall get_MouseAvailable(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MouseAvailable(void);
  HRESULT         __fastcall get_International(Word_xp::WdInternationalIndex Index/*[in]*/, 
                                               VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_International(Word_xp::WdInternationalIndex Index/*[in]*/);
  HRESULT         __fastcall get_Build(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Build(void);
  HRESULT         __fastcall get_CapsLock(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CapsLock(void);
  HRESULT         __fastcall get_NumLock(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_NumLock(void);
  HRESULT         __fastcall get_UserName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_UserName(void);
  HRESULT         __fastcall set_UserName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_UserInitials(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_UserInitials(void);
  HRESULT         __fastcall set_UserInitials(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_UserAddress(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_UserAddress(void);
  HRESULT         __fastcall set_UserAddress(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_MacroContainer(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_MacroContainer(void);
  HRESULT         __fastcall get_DisplayRecentFiles(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayRecentFiles(void);
  HRESULT         __fastcall set_DisplayRecentFiles(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/);
  Office_xp::CommandBarsPtr __fastcall get_CommandBars(void);
  HRESULT         __fastcall get_SynonymInfo(BSTR Word/*[in]*/, VARIANT* LanguageID/*[in,opt]*/, 
                                             Word_xp::SynonymInfo** prop/*[out,retval]*/);
  Word_xp::SynonymInfo* __fastcall get_SynonymInfo(BSTR Word/*[in]*/, 
                                                   VARIANT* LanguageID/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_VBE(Vbide_xp::VBE** prop/*[out,retval]*/);
  Vbide_xp::VBEPtr __fastcall get_VBE(void);
  HRESULT         __fastcall get_DefaultSaveFormat(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DefaultSaveFormat(void);
  HRESULT         __fastcall set_DefaultSaveFormat(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ListGalleries(Word_xp::ListGalleries** prop/*[out,retval]*/);
  Word_xp::ListGalleriesPtr __fastcall get_ListGalleries(void);
  HRESULT         __fastcall get_ActivePrinter(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ActivePrinter(void);
  HRESULT         __fastcall set_ActivePrinter(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Templates(Word_xp::Templates** prop/*[out,retval]*/);
  Word_xp::TemplatesPtr __fastcall get_Templates(void);
  HRESULT         __fastcall get_CustomizationContext(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_CustomizationContext(void);
  HRESULT         __fastcall set_CustomizationContext(LPDISPATCH prop/*[in]*/);
  HRESULT         __fastcall get_KeyBindings(Word_xp::KeyBindings** prop/*[out,retval]*/);
  Word_xp::KeyBindingsPtr __fastcall get_KeyBindings(void);
  HRESULT         __fastcall get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                             BSTR Command/*[in]*/, 
                                             VARIANT* CommandParameter/*[in,opt]*/, 
                                             Word_xp::KeysBoundTo** prop/*[out,retval]*/);
  Word_xp::KeysBoundTo* __fastcall get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                                   BSTR Command/*[in]*/, 
                                                   VARIANT* CommandParameter/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                         Word_xp::KeyBinding** prop/*[out,retval]*/);
  Word_xp::KeyBinding* __fastcall get_FindKey(long KeyCode/*[in]*/, 
                                              VARIANT* KeyCode2/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_Caption(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Caption(void);
  HRESULT         __fastcall set_Caption(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Path(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Path(void);
  HRESULT         __fastcall get_DisplayScrollBars(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayScrollBars(void);
  HRESULT         __fastcall set_DisplayScrollBars(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_StartupPath(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_StartupPath(void);
  HRESULT         __fastcall set_StartupPath(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_BackgroundSavingStatus(long* prop/*[out,retval]*/);
  long            __fastcall get_BackgroundSavingStatus(void);
  HRESULT         __fastcall get_BackgroundPrintingStatus(long* prop/*[out,retval]*/);
  long            __fastcall get_BackgroundPrintingStatus(void);
  HRESULT         __fastcall get_Left(long* prop/*[out,retval]*/);
  long            __fastcall get_Left(void);
  HRESULT         __fastcall set_Left(long prop/*[in]*/);
  HRESULT         __fastcall get_Top(long* prop/*[out,retval]*/);
  long            __fastcall get_Top(void);
  HRESULT         __fastcall set_Top(long prop/*[in]*/);
  HRESULT         __fastcall get_Width(long* prop/*[out,retval]*/);
  long            __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(long prop/*[in]*/);
  HRESULT         __fastcall get_Height(long* prop/*[out,retval]*/);
  long            __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(long prop/*[in]*/);
  HRESULT         __fastcall get_WindowState(Word_xp::WdWindowState* prop/*[out,retval]*/);
  Word_xp::WdWindowState __fastcall get_WindowState(void);
  HRESULT         __fastcall set_WindowState(Word_xp::WdWindowState prop/*[in]*/);
  HRESULT         __fastcall get_DisplayAutoCompleteTips(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayAutoCompleteTips(void);
  HRESULT         __fastcall set_DisplayAutoCompleteTips(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Options(Word_xp::Options** prop/*[out,retval]*/);
  Word_xp::OptionsPtr __fastcall get_Options(void);
  HRESULT         __fastcall get_DisplayAlerts(Word_xp::WdAlertLevel* prop/*[out,retval]*/);
  Word_xp::WdAlertLevel __fastcall get_DisplayAlerts(void);
  HRESULT         __fastcall set_DisplayAlerts(Word_xp::WdAlertLevel prop/*[in]*/);
  HRESULT         __fastcall get_CustomDictionaries(Word_xp::Dictionaries** prop/*[out,retval]*/);
  Word_xp::DictionariesPtr __fastcall get_CustomDictionaries(void);
  HRESULT         __fastcall get_PathSeparator(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_PathSeparator(void);
  HRESULT         __fastcall set_StatusBar(BSTR Param1/*[in]*/);
  HRESULT         __fastcall get_MAPIAvailable(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MAPIAvailable(void);
  HRESULT         __fastcall get_DisplayScreenTips(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayScreenTips(void);
  HRESULT         __fastcall set_DisplayScreenTips(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_EnableCancelKey(Word_xp::WdEnableCancelKey* prop/*[out,retval]*/);
  Word_xp::WdEnableCancelKey __fastcall get_EnableCancelKey(void);
  HRESULT         __fastcall set_EnableCancelKey(Word_xp::WdEnableCancelKey prop/*[in]*/);
  HRESULT         __fastcall get_UserControl(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UserControl(void);
  HRESULT         __fastcall get_FileSearch(Office_xp::FileSearch** prop/*[out,retval]*/);
  Office_xp::FileSearchPtr __fastcall get_FileSearch(void);
  HRESULT         __fastcall get_MailSystem(Word_xp::WdMailSystem* prop/*[out,retval]*/);
  Word_xp::WdMailSystem __fastcall get_MailSystem(void);
  HRESULT         __fastcall get_DefaultTableSeparator(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DefaultTableSeparator(void);
  HRESULT         __fastcall set_DefaultTableSeparator(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ShowVisualBasicEditor(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowVisualBasicEditor(void);
  HRESULT         __fastcall set_ShowVisualBasicEditor(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_BrowseExtraFileTypes(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_BrowseExtraFileTypes(void);
  HRESULT         __fastcall set_BrowseExtraFileTypes(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_IsObjectValid(LPDISPATCH Object/*[in]*/, 
                                               VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsObjectValid(LPDISPATCH Object/*[in]*/);
  HRESULT         __fastcall get_HangulHanjaDictionaries(Word_xp::HangulHanjaConversionDictionaries** prop/*[out,retval]*/);
  Word_xp::HangulHanjaConversionDictionariesPtr __fastcall get_HangulHanjaDictionaries(void);
  HRESULT         __fastcall get_MailMessage(Word_xp::MailMessage** prop/*[out,retval]*/);
  Word_xp::MailMessagePtr __fastcall get_MailMessage(void);
  HRESULT         __fastcall get_FocusInMailHeader(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FocusInMailHeader(void);
  HRESULT         __fastcall Quit(VARIANT* SaveChanges/*[in,opt]*/= TNoParam(), 
                                  VARIANT* OriginalFormat/*[in,opt]*/= TNoParam(), 
                                  VARIANT* RouteDocument/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ScreenRefresh();
  HRESULT         __fastcall PrintOutOld(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                         VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                         VARIANT* From/*[in,opt]*/= TNoParam(), 
                                         VARIANT* To/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                         VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall LookupNameProperties(BSTR Name/*[in]*/);
  HRESULT         __fastcall SubstituteFont(BSTR UnavailableFont/*[in]*/, 
                                            BSTR SubstituteFont/*[in]*/);
  HRESULT         __fastcall Repeat(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Repeat(VARIANT* Times/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall DDEExecute(long Channel/*[in]*/, BSTR Command/*[in]*/);
  HRESULT         __fastcall DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/, 
                                         long* prop/*[out,retval]*/);
  long            __fastcall DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/);
  HRESULT         __fastcall DDEPoke(long Channel/*[in]*/, BSTR Item/*[in]*/, BSTR Data/*[in]*/);
  HRESULT         __fastcall DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/, 
                                        BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/);
  HRESULT         __fastcall DDETerminate(long Channel/*[in]*/);
  HRESULT         __fastcall DDETerminateAll();
  HRESULT         __fastcall BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/, 
                                          VARIANT* Arg3/*[in,opt]*/, VARIANT* Arg4/*[in,opt]*/, 
                                          long* prop/*[out,retval]*/);
  long            __fastcall BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, 
                                          VARIANT* Arg2/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Arg3/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Arg4/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                       BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall KeyString(long KeyCode/*[in]*/, 
                                       VARIANT* KeyCode2/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall OrganizerCopy(BSTR Source/*[in]*/, BSTR Destination/*[in]*/, 
                                           BSTR Name/*[in]*/, 
                                           Word_xp::WdOrganizerObject Object/*[in]*/);
  HRESULT         __fastcall OrganizerDelete(BSTR Source/*[in]*/, BSTR Name/*[in]*/, 
                                             Word_xp::WdOrganizerObject Object/*[in]*/);
  HRESULT         __fastcall OrganizerRename(BSTR Source/*[in]*/, BSTR Name/*[in]*/, 
                                             BSTR NewName/*[in]*/, 
                                             Word_xp::WdOrganizerObject Object/*[in]*/);
  HRESULT         __fastcall AddAddress(LPSAFEARRAY* TagID/*[in]*/, LPSAFEARRAY* Value/*[in]*/);
  HRESULT         __fastcall GetAddress(VARIANT* Name/*[in,opt]*/, 
                                        VARIANT* AddressProperties/*[in,opt]*/, 
                                        VARIANT* UseAutoText/*[in,opt]*/, 
                                        VARIANT* DisplaySelectDialog/*[in,opt]*/, 
                                        VARIANT* SelectDialog/*[in,opt]*/, 
                                        VARIANT* CheckNamesDialog/*[in,opt]*/, 
                                        VARIANT* RecentAddressesChoice/*[in,opt]*/, 
                                        VARIANT* UpdateRecentAddresses/*[in,opt]*/, 
                                        BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall GetAddress(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                                        VARIANT* AddressProperties/*[in,opt]*/= TNoParam(), 
                                        VARIANT* UseAutoText/*[in,opt]*/= TNoParam(), 
                                        VARIANT* DisplaySelectDialog/*[in,opt]*/= TNoParam(), 
                                        VARIANT* SelectDialog/*[in,opt]*/= TNoParam(), 
                                        VARIANT* CheckNamesDialog/*[in,opt]*/= TNoParam(), 
                                        VARIANT* RecentAddressesChoice/*[in,opt]*/= TNoParam(), 
                                        VARIANT* UpdateRecentAddresses/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CheckGrammar(BSTR String/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall CheckGrammar(BSTR String/*[in]*/);
  HRESULT         __fastcall CheckSpelling(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/
                                           , VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                           VARIANT* MainDictionary/*[in,opt]*/, 
                                           VARIANT* CustomDictionary2/*[in,opt]*/, 
                                           VARIANT* CustomDictionary3/*[in,opt]*/, 
                                           VARIANT* CustomDictionary4/*[in,opt]*/, 
                                           VARIANT* CustomDictionary5/*[in,opt]*/, 
                                           VARIANT* CustomDictionary6/*[in,opt]*/, 
                                           VARIANT* CustomDictionary7/*[in,opt]*/, 
                                           VARIANT* CustomDictionary8/*[in,opt]*/, 
                                           VARIANT* CustomDictionary9/*[in,opt]*/, 
                                           VARIANT* CustomDictionary10/*[in,opt]*/, 
                                           VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall CheckSpelling(BSTR Word/*[in]*/, 
                                           VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                           VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                           VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ResetIgnoreAll();
  HRESULT         __fastcall GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                                    VARIANT* CustomDictionary/*[in,opt]*/, 
                                                    VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                                    VARIANT* MainDictionary/*[in,opt]*/, 
                                                    VARIANT* SuggestionMode/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary2/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary3/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary4/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary5/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary6/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary7/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary8/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary9/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary10/*[in,opt]*/, 
                                                    Word_xp::SpellingSuggestions** prop/*[out,retval]*/);
  Word_xp::SpellingSuggestions* __fastcall GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                                                  VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* SuggestionMode/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall GoBack();
  HRESULT         __fastcall Help(VARIANT* HelpType/*[in]*/);
  HRESULT         __fastcall AutomaticChange();
  HRESULT         __fastcall ShowMe();
  HRESULT         __fastcall HelpTool();
  HRESULT         __fastcall NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOW* __fastcall NewWindow(void);
  HRESULT         __fastcall ListCommands(VARIANT_BOOL ListAllCommands/*[in]*/);
  HRESULT         __fastcall ShowClipboard();
  HRESULT         __fastcall OnTime(VARIANT* When/*[in]*/, BSTR Name/*[in]*/, 
                                    VARIANT* Tolerance/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall NextLetter();
  HRESULT         __fastcall MountVolume(BSTR Zone/*[in]*/, BSTR Server/*[in]*/, BSTR Volume/*[in]*/
                                         , VARIANT* User/*[in,opt]*/, 
                                         VARIANT* UserPassword/*[in,opt]*/, 
                                         VARIANT* VolumePassword/*[in,opt]*/, 
                                         short* prop/*[out,retval]*/);
  short           __fastcall MountVolume(BSTR Zone/*[in]*/, BSTR Server/*[in]*/, BSTR Volume/*[in]*/, 
                                         VARIANT* User/*[in,opt]*/= TNoParam(), 
                                         VARIANT* UserPassword/*[in,opt]*/= TNoParam(), 
                                         VARIANT* VolumePassword/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CleanString(BSTR String/*[in]*/, BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall CleanString(BSTR String/*[in]*/);
  HRESULT         __fastcall SendFax();
  HRESULT         __fastcall ChangeFileOpenDirectory(BSTR Path/*[in]*/);
  HRESULT         __fastcall RunOld(BSTR MacroName/*[in]*/);
  HRESULT         __fastcall GoForward();
  HRESULT         __fastcall Move(long Left/*[in]*/, long Top/*[in]*/);
  HRESULT         __fastcall Resize(long Width/*[in]*/, long Height/*[in]*/);
  HRESULT         __fastcall InchesToPoints(float Inches/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall InchesToPoints(float Inches/*[in]*/);
  HRESULT         __fastcall CentimetersToPoints(float Centimeters/*[in]*/, 
                                                 float* prop/*[out,retval]*/);
  float           __fastcall CentimetersToPoints(float Centimeters/*[in]*/);
  HRESULT         __fastcall MillimetersToPoints(float Millimeters/*[in]*/, 
                                                 float* prop/*[out,retval]*/);
  float           __fastcall MillimetersToPoints(float Millimeters/*[in]*/);
  HRESULT         __fastcall PicasToPoints(float Picas/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PicasToPoints(float Picas/*[in]*/);
  HRESULT         __fastcall LinesToPoints(float Lines/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall LinesToPoints(float Lines/*[in]*/);
  HRESULT         __fastcall PointsToInches(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToInches(float Points/*[in]*/);
  HRESULT         __fastcall PointsToCentimeters(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToCentimeters(float Points/*[in]*/);
  HRESULT         __fastcall PointsToMillimeters(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToMillimeters(float Points/*[in]*/);
  HRESULT         __fastcall PointsToPicas(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToPicas(float Points/*[in]*/);
  HRESULT         __fastcall PointsToLines(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToLines(float Points/*[in]*/);
  HRESULT         __fastcall Activate();
  HRESULT         __fastcall PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                            float* prop/*[out,retval]*/);
  float           __fastcall PointsToPixels(float Points/*[in]*/, 
                                            VARIANT* fVertical/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                            float* prop/*[out,retval]*/);
  float           __fastcall PixelsToPoints(float Pixels/*[in]*/, 
                                            VARIANT* fVertical/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall KeyboardLatin();
  HRESULT         __fastcall KeyboardBidi();
  HRESULT         __fastcall ToggleKeyboard();
  HRESULT         __fastcall Keyboard(long LangId/*[in,def,opt]*/, long* prop/*[out,retval]*/);
  long            __fastcall Keyboard(long LangId/*[in,def,opt]*/);
  HRESULT         __fastcall ProductCode(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall ProductCode(void);
  HRESULT         __fastcall DefaultWebOptions(Word_xp::DefaultWebOptions** prop/*[out,retval]*/);
  Word_xp::DefaultWebOptions* __fastcall DefaultWebOptions(void);
  HRESULT         __fastcall DiscussionSupport(VARIANT* Range/*[in]*/, VARIANT* cid/*[in]*/, 
                                               VARIANT* piCSE/*[in]*/);
  HRESULT         __fastcall SetDefaultTheme(BSTR Name/*[in]*/, 
                                             Word_xp::WdDocumentMedium DocumentType/*[in]*/);
  HRESULT         __fastcall GetDefaultTheme(Word_xp::WdDocumentMedium DocumentType/*[in]*/, 
                                             BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall GetDefaultTheme(Word_xp::WdDocumentMedium DocumentType/*[in]*/);
  HRESULT         __fastcall get_EmailOptions(Word_xp::EmailOptions** prop/*[out,retval]*/);
  Word_xp::EmailOptionsPtr __fastcall get_EmailOptions(void);
  HRESULT         __fastcall get_Language(Office_xp::MsoLanguageID* prop/*[out,retval]*/);
  Office_xp::MsoLanguageID __fastcall get_Language(void);
  HRESULT         __fastcall get_COMAddIns(Office_xp::COMAddIns** prop/*[out,retval]*/);
  Office_xp::COMAddInsPtr __fastcall get_COMAddIns(void);
  HRESULT         __fastcall get_CheckLanguage(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CheckLanguage(void);
  HRESULT         __fastcall set_CheckLanguage(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_LanguageSettings(Office_xp::LanguageSettings** prop/*[out,retval]*/);
  Office_xp::LanguageSettingsPtr __fastcall get_LanguageSettings(void);
  HRESULT         __fastcall get_Dummy1(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Dummy1(void);
  HRESULT         __fastcall get_AnswerWizard(Office_xp::AnswerWizard** prop/*[out,retval]*/);
  Office_xp::AnswerWizardPtr __fastcall get_AnswerWizard(void);
  HRESULT         __fastcall get_FeatureInstall(Office_xp::MsoFeatureInstall* prop/*[out,retval]*/);
  Office_xp::MsoFeatureInstall __fastcall get_FeatureInstall(void);
  HRESULT         __fastcall set_FeatureInstall(Office_xp::MsoFeatureInstall prop/*[in]*/);
  HRESULT         __fastcall PrintOut2000(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                          VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* From/*[in,opt]*/= TNoParam(), 
                                          VARIANT* To/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                          VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Run(BSTR MacroName/*[in]*/, VARIANT* varg1/*[in,opt]*/, 
                                 VARIANT* varg2/*[in,opt]*/, VARIANT* varg3/*[in,opt]*/, 
                                 VARIANT* varg4/*[in,opt]*/, VARIANT* varg5/*[in,opt]*/, 
                                 VARIANT* varg6/*[in,opt]*/, VARIANT* varg7/*[in,opt]*/, 
                                 VARIANT* varg8/*[in,opt]*/, VARIANT* varg9/*[in,opt]*/, 
                                 VARIANT* varg10/*[in,opt]*/, VARIANT* varg11/*[in,opt]*/, 
                                 VARIANT* varg12/*[in,opt]*/, VARIANT* varg13/*[in,opt]*/, 
                                 VARIANT* varg14/*[in,opt]*/, VARIANT* varg15/*[in,opt]*/, 
                                 VARIANT* varg16/*[in,opt]*/, VARIANT* varg17/*[in,opt]*/, 
                                 VARIANT* varg18/*[in,opt]*/, VARIANT* varg19/*[in,opt]*/, 
                                 VARIANT* varg20/*[in,opt]*/, VARIANT* varg21/*[in,opt]*/, 
                                 VARIANT* varg22/*[in,opt]*/, VARIANT* varg23/*[in,opt]*/, 
                                 VARIANT* varg24/*[in,opt]*/, VARIANT* varg25/*[in,opt]*/, 
                                 VARIANT* varg26/*[in,opt]*/, VARIANT* varg27/*[in,opt]*/, 
                                 VARIANT* varg28/*[in,opt]*/, VARIANT* varg29/*[in,opt]*/, 
                                 VARIANT* varg30/*[in,opt]*/, VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall Run(BSTR MacroName/*[in]*/, VARIANT* varg1/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg2/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg3/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg4/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg5/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg6/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg7/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg8/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg9/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg10/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg11/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg12/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg13/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg14/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg15/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg16/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg17/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg18/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg19/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg20/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg21/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg22/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg23/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg24/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg25/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg26/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg27/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg28/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg29/*[in,opt]*/= TNoParam(), 
                                 VARIANT* varg30/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PrintOut(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                      VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                      VARIANT* From/*[in,opt]*/= TNoParam(), 
                                      VARIANT* To/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                      VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_AutomationSecurity(Office_xp::MsoAutomationSecurity* prop/*[out,retval]*/);
  Office_xp::MsoAutomationSecurity __fastcall get_AutomationSecurity(void);
  HRESULT         __fastcall set_AutomationSecurity(Office_xp::MsoAutomationSecurity prop/*[in]*/);
  HRESULT         __fastcall get_FileDialog(Office_xp::MsoFileDialogType FileDialogType/*[in]*/, 
                                            Office_xp::FileDialog** prop/*[out,retval]*/);
  Office_xp::FileDialog* __fastcall get_FileDialog(Office_xp::MsoFileDialogType FileDialogType/*[in]*/);
  HRESULT         __fastcall get_EmailTemplate(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_EmailTemplate(void);
  HRESULT         __fastcall set_EmailTemplate(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ShowWindowsInTaskbar(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowWindowsInTaskbar(void);
  HRESULT         __fastcall set_ShowWindowsInTaskbar(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_NewDocument(Office_xp::NewFile** prop/*[out,retval]*/);
  Office_xp::NewFilePtr __fastcall get_NewDocument(void);
  HRESULT         __fastcall get_ShowStartupDialog(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowStartupDialog(void);
  HRESULT         __fastcall set_ShowStartupDialog(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoCorrectEmail(Word_xp::AutoCorrect** prop/*[out,retval]*/);
  Word_xp::AutoCorrectPtr __fastcall get_AutoCorrectEmail(void);
  HRESULT         __fastcall get_TaskPanes(Word_xp::TaskPanes** prop/*[out,retval]*/);
  Word_xp::TaskPanesPtr __fastcall get_TaskPanes(void);
  HRESULT         __fastcall get_DefaultLegalBlackline(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DefaultLegalBlackline(void);
  HRESULT         __fastcall set_DefaultLegalBlackline(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall Dummy2(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Dummy2(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::DocumentsPtr Documents = {read = get_Documents};
  __property   Word_xp::WindowsPtr Windoz = {read = get_Windoz};
  __property   Word_xp::WordDocumentPtr ActiveDocument = {read = get_ActiveDocument};
  __property   Word_xp::WINDOWPtr ActiveWindow = {read = get_ActiveWindow};
  __property   Word_xp::WordSelectionPtr Selection = {read = get_Selection};
  __property   LPDISPATCH      WordBasic = {read = get_WordBasic};
  __property   Word_xp::RecentFilesPtr RecentFiles = {read = get_RecentFiles};
  __property   Word_xp::TemplatePtr NormalTemplate = {read = get_NormalTemplate};
  __property   Word_xp::SYSTEMPtr System = {read = get_System};
  __property   Word_xp::AutoCorrectPtr AutoCorrect = {read = get_AutoCorrect};
  __property   Word_xp::FontNamesPtr FontNames = {read = get_FontNames};
  __property   Word_xp::FontNamesPtr LandscapeFontNames = {read = get_LandscapeFontNames};
  __property   Word_xp::FontNamesPtr PortraitFontNames = {read = get_PortraitFontNames};
  __property   Word_xp::LanguagesPtr Languages = {read = get_Languages};
  __property   Office_xp::AssistantPtr Assistant = {read = get_Assistant};
  __property   Word_xp::BrowserPtr Browser = {read = get_Browser};
  __property   Word_xp::FileConvertersPtr FileConverters = {read = get_FileConverters};
  __property   Word_xp::MailingLabelPtr MailingLabel = {read = get_MailingLabel};
  __property   Word_xp::DialogsPtr Dialogs = {read = get_Dialogs};
  __property   Word_xp::CaptionLabelsPtr CaptionLabels = {read = get_CaptionLabels};
  __property   Word_xp::AutoCaptionsPtr AutoCaptions = {read = get_AutoCaptions};
  __property   Word_xp::AddInsPtr AddIns = {read = get_AddIns};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};
  __property   BSTR            Version = {read = get_Version};
  __property   VARIANT_BOOL    ScreenUpdating = {read = get_ScreenUpdating, write = set_ScreenUpdating};
  __property   VARIANT_BOOL    PrintPreview = {read = get_PrintPreview, write = set_PrintPreview};
  __property   Word_xp::TasksPtr Tasks = {read = get_Tasks};
  __property   VARIANT_BOOL    DisplayStatusBar = {read = get_DisplayStatusBar, write = set_DisplayStatusBar};
  __property   VARIANT_BOOL    SpecialMode = {read = get_SpecialMode};
  __property   long            UsableWidth = {read = get_UsableWidth};
  __property   long            UsableHeight = {read = get_UsableHeight};
  __property   VARIANT_BOOL    MathCoprocessorAvailable = {read = get_MathCoprocessorAvailable};
  __property   VARIANT_BOOL    MouseAvailable = {read = get_MouseAvailable};
  __property   BSTR            Build = {read = get_Build};
  __property   VARIANT_BOOL    CapsLock = {read = get_CapsLock};
  __property   VARIANT_BOOL    NumLock = {read = get_NumLock};
  __property   BSTR            UserName = {read = get_UserName, write = set_UserName};
  __property   BSTR            UserInitials = {read = get_UserInitials, write = set_UserInitials};
  __property   BSTR            UserAddress = {read = get_UserAddress, write = set_UserAddress};
  __property   LPDISPATCH      MacroContainer = {read = get_MacroContainer};
  __property   VARIANT_BOOL    DisplayRecentFiles = {read = get_DisplayRecentFiles, write = set_DisplayRecentFiles};
  __property   Office_xp::CommandBarsPtr CommandBars = {read = get_CommandBars};
  __property   Vbide_xp::VBEPtr VBE = {read = get_VBE};
  __property   BSTR            DefaultSaveFormat = {read = get_DefaultSaveFormat, write = set_DefaultSaveFormat};
  __property   Word_xp::ListGalleriesPtr ListGalleries = {read = get_ListGalleries};
  __property   BSTR            ActivePrinter = {read = get_ActivePrinter, write = set_ActivePrinter};
  __property   Word_xp::TemplatesPtr Templates = {read = get_Templates};
  __property   LPDISPATCH      CustomizationContext = {read = get_CustomizationContext, write = set_CustomizationContext};
  __property   Word_xp::KeyBindingsPtr KeyBindings = {read = get_KeyBindings};
  __property   BSTR            Caption = {read = get_Caption, write = set_Caption};
  __property   BSTR            Path = {read = get_Path};
  __property   VARIANT_BOOL    DisplayScrollBars = {read = get_DisplayScrollBars, write = set_DisplayScrollBars};
  __property   BSTR            StartupPath = {read = get_StartupPath, write = set_StartupPath};
  __property   long            BackgroundSavingStatus = {read = get_BackgroundSavingStatus};
  __property   long            BackgroundPrintingStatus = {read = get_BackgroundPrintingStatus};
  __property   long            Left = {read = get_Left, write = set_Left};
  __property   long            Top = {read = get_Top, write = set_Top};
  __property   long            Width = {read = get_Width, write = set_Width};
  __property   long            Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdWindowState WindowState = {read = get_WindowState, write = set_WindowState};
  __property   VARIANT_BOOL    DisplayAutoCompleteTips = {read = get_DisplayAutoCompleteTips, write = set_DisplayAutoCompleteTips};
  __property   Word_xp::OptionsPtr Options = {read = get_Options};
  __property   Word_xp::WdAlertLevel DisplayAlerts = {read = get_DisplayAlerts, write = set_DisplayAlerts};
  __property   Word_xp::DictionariesPtr CustomDictionaries = {read = get_CustomDictionaries};
  __property   BSTR            PathSeparator = {read = get_PathSeparator};
  __property   BSTR            StatusBar = {write = set_StatusBar};
  __property   VARIANT_BOOL    MAPIAvailable = {read = get_MAPIAvailable};
  __property   VARIANT_BOOL    DisplayScreenTips = {read = get_DisplayScreenTips, write = set_DisplayScreenTips};
  __property   Word_xp::WdEnableCancelKey EnableCancelKey = {read = get_EnableCancelKey, write = set_EnableCancelKey};
  __property   VARIANT_BOOL    UserControl = {read = get_UserControl};
  __property   Office_xp::FileSearchPtr FileSearch = {read = get_FileSearch};
  __property   Word_xp::WdMailSystem MailSystem = {read = get_MailSystem};
  __property   BSTR            DefaultTableSeparator = {read = get_DefaultTableSeparator, write = set_DefaultTableSeparator};
  __property   VARIANT_BOOL    ShowVisualBasicEditor = {read = get_ShowVisualBasicEditor, write = set_ShowVisualBasicEditor};
  __property   BSTR            BrowseExtraFileTypes = {read = get_BrowseExtraFileTypes, write = set_BrowseExtraFileTypes};
  __property   Word_xp::HangulHanjaConversionDictionariesPtr HangulHanjaDictionaries = {read = get_HangulHanjaDictionaries};
  __property   Word_xp::MailMessagePtr MailMessage = {read = get_MailMessage};
  __property   VARIANT_BOOL    FocusInMailHeader = {read = get_FocusInMailHeader};
  __property   Word_xp::EmailOptionsPtr EmailOptions = {read = get_EmailOptions};
  __property   Office_xp::MsoLanguageID Language = {read = get_Language};
  __property   Office_xp::COMAddInsPtr COMAddIns = {read = get_COMAddIns};
  __property   VARIANT_BOOL    CheckLanguage = {read = get_CheckLanguage, write = set_CheckLanguage};
  __property   Office_xp::LanguageSettingsPtr LanguageSettings = {read = get_LanguageSettings};
  __property   VARIANT_BOOL    Dummy1 = {read = get_Dummy1};
  __property   Office_xp::AnswerWizardPtr AnswerWizard = {read = get_AnswerWizard};
  __property   Office_xp::MsoFeatureInstall FeatureInstall = {read = get_FeatureInstall, write = set_FeatureInstall};
  __property   Office_xp::MsoAutomationSecurity AutomationSecurity = {read = get_AutomationSecurity, write = set_AutomationSecurity};
  __property   BSTR            EmailTemplate = {read = get_EmailTemplate, write = set_EmailTemplate};
  __property   VARIANT_BOOL    ShowWindowsInTaskbar = {read = get_ShowWindowsInTaskbar, write = set_ShowWindowsInTaskbar};
  __property   Office_xp::NewFilePtr NewDocument = {read = get_NewDocument};
  __property   VARIANT_BOOL    ShowStartupDialog = {read = get_ShowStartupDialog, write = set_ShowStartupDialog};
  __property   Word_xp::AutoCorrectPtr AutoCorrectEmail = {read = get_AutoCorrectEmail};
  __property   Word_xp::TaskPanesPtr TaskPanes = {read = get_TaskPanes};
  __property   VARIANT_BOOL    DefaultLegalBlackline = {read = get_DefaultLegalBlackline, write = set_DefaultLegalBlackline};
};
typedef _ApplicationDispT<_Application> _ApplicationDisp;

// *********************************************************************//
// SmartIntf: TCOM_Global
// Interface: _Global
// *********************************************************************//
template <class T /* _Global */ >
class TCOM_GlobalT : public TComInterface<_Global>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_GlobalT() {}
  TCOM_GlobalT(_Global *intf, bool addRef = false) : TComInterface<_Global>(intf, addRef) {}
  TCOM_GlobalT(const TCOM_GlobalT& src) : TComInterface<_Global>(src) {}
  TCOM_GlobalT& operator=(const TCOM_GlobalT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Documents(Word_xp::Documents** prop/*[out,retval]*/);
  Word_xp::DocumentsPtr __fastcall get_Documents(void);
  HRESULT         __fastcall get_Windoz(Word_xp::Windows** prop/*[out,retval]*/);
  Word_xp::WindowsPtr __fastcall get_Windoz(void);
  HRESULT         __fastcall get_ActiveDocument(Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocumentPtr __fastcall get_ActiveDocument(void);
  HRESULT         __fastcall get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOWPtr __fastcall get_ActiveWindow(void);
  HRESULT         __fastcall get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/);
  Word_xp::WordSelectionPtr __fastcall get_Selection(void);
  HRESULT         __fastcall get_WordBasic(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_WordBasic(void);
  HRESULT         __fastcall get_PrintPreview(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintPreview(void);
  HRESULT         __fastcall set_PrintPreview(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RecentFiles(Word_xp::RecentFiles** prop/*[out,retval]*/);
  Word_xp::RecentFilesPtr __fastcall get_RecentFiles(void);
  HRESULT         __fastcall get_NormalTemplate(Word_xp::Template** prop/*[out,retval]*/);
  Word_xp::TemplatePtr __fastcall get_NormalTemplate(void);
  HRESULT         __fastcall get_System(Word_xp::SYSTEM** prop/*[out,retval]*/);
  Word_xp::SYSTEMPtr __fastcall get_System(void);
  HRESULT         __fastcall get_AutoCorrect(Word_xp::AutoCorrect** prop/*[out,retval]*/);
  Word_xp::AutoCorrectPtr __fastcall get_AutoCorrect(void);
  HRESULT         __fastcall get_FontNames(Word_xp::FontNames** prop/*[out,retval]*/);
  Word_xp::FontNamesPtr __fastcall get_FontNames(void);
  HRESULT         __fastcall get_LandscapeFontNames(Word_xp::FontNames** prop/*[out,retval]*/);
  Word_xp::FontNamesPtr __fastcall get_LandscapeFontNames(void);
  HRESULT         __fastcall get_PortraitFontNames(Word_xp::FontNames** prop/*[out,retval]*/);
  Word_xp::FontNamesPtr __fastcall get_PortraitFontNames(void);
  HRESULT         __fastcall get_Languages(Word_xp::Languages** prop/*[out,retval]*/);
  Word_xp::LanguagesPtr __fastcall get_Languages(void);
  HRESULT         __fastcall get_Assistant(Office_xp::Assistant** prop/*[out,retval]*/);
  Office_xp::AssistantPtr __fastcall get_Assistant(void);
  HRESULT         __fastcall get_FileConverters(Word_xp::FileConverters** prop/*[out,retval]*/);
  Word_xp::FileConvertersPtr __fastcall get_FileConverters(void);
  HRESULT         __fastcall get_Dialogs(Word_xp::Dialogs** prop/*[out,retval]*/);
  Word_xp::DialogsPtr __fastcall get_Dialogs(void);
  HRESULT         __fastcall get_CaptionLabels(Word_xp::CaptionLabels** prop/*[out,retval]*/);
  Word_xp::CaptionLabelsPtr __fastcall get_CaptionLabels(void);
  HRESULT         __fastcall get_AutoCaptions(Word_xp::AutoCaptions** prop/*[out,retval]*/);
  Word_xp::AutoCaptionsPtr __fastcall get_AutoCaptions(void);
  HRESULT         __fastcall get_AddIns(Word_xp::AddIns** prop/*[out,retval]*/);
  Word_xp::AddInsPtr __fastcall get_AddIns(void);
  HRESULT         __fastcall get_Tasks(Word_xp::Tasks** prop/*[out,retval]*/);
  Word_xp::TasksPtr __fastcall get_Tasks(void);
  HRESULT         __fastcall get_MacroContainer(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_MacroContainer(void);
  HRESULT         __fastcall get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/);
  Office_xp::CommandBarsPtr __fastcall get_CommandBars(void);
  HRESULT         __fastcall get_SynonymInfo(BSTR Word/*[in]*/, VARIANT* LanguageID/*[in,opt]*/, 
                                             Word_xp::SynonymInfo** prop/*[out,retval]*/);
  Word_xp::SynonymInfo* __fastcall get_SynonymInfo(BSTR Word/*[in]*/, 
                                                   VARIANT* LanguageID/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_VBE(Vbide_xp::VBE** prop/*[out,retval]*/);
  Vbide_xp::VBEPtr __fastcall get_VBE(void);
  HRESULT         __fastcall get_ListGalleries(Word_xp::ListGalleries** prop/*[out,retval]*/);
  Word_xp::ListGalleriesPtr __fastcall get_ListGalleries(void);
  HRESULT         __fastcall get_ActivePrinter(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ActivePrinter(void);
  HRESULT         __fastcall set_ActivePrinter(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Templates(Word_xp::Templates** prop/*[out,retval]*/);
  Word_xp::TemplatesPtr __fastcall get_Templates(void);
  HRESULT         __fastcall get_CustomizationContext(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_CustomizationContext(void);
  HRESULT         __fastcall set_CustomizationContext(LPDISPATCH prop/*[in]*/);
  HRESULT         __fastcall get_KeyBindings(Word_xp::KeyBindings** prop/*[out,retval]*/);
  Word_xp::KeyBindingsPtr __fastcall get_KeyBindings(void);
  HRESULT         __fastcall get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                             BSTR Command/*[in]*/, 
                                             VARIANT* CommandParameter/*[in,opt]*/, 
                                             Word_xp::KeysBoundTo** prop/*[out,retval]*/);
  Word_xp::KeysBoundTo* __fastcall get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                                   BSTR Command/*[in]*/, 
                                                   VARIANT* CommandParameter/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                         Word_xp::KeyBinding** prop/*[out,retval]*/);
  Word_xp::KeyBinding* __fastcall get_FindKey(long KeyCode/*[in]*/, 
                                              VARIANT* KeyCode2/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_Options(Word_xp::Options** prop/*[out,retval]*/);
  Word_xp::OptionsPtr __fastcall get_Options(void);
  HRESULT         __fastcall get_CustomDictionaries(Word_xp::Dictionaries** prop/*[out,retval]*/);
  Word_xp::DictionariesPtr __fastcall get_CustomDictionaries(void);
  HRESULT         __fastcall set_StatusBar(BSTR Param1/*[in]*/);
  HRESULT         __fastcall get_ShowVisualBasicEditor(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowVisualBasicEditor(void);
  HRESULT         __fastcall set_ShowVisualBasicEditor(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_IsObjectValid(LPDISPATCH Object/*[in]*/, 
                                               VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsObjectValid(LPDISPATCH Object/*[in]*/);
  HRESULT         __fastcall get_HangulHanjaDictionaries(Word_xp::HangulHanjaConversionDictionaries** prop/*[out,retval]*/);
  Word_xp::HangulHanjaConversionDictionariesPtr __fastcall get_HangulHanjaDictionaries(void);
  HRESULT         __fastcall Repeat(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Repeat(VARIANT* Times/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall DDEExecute(long Channel/*[in]*/, BSTR Command/*[in]*/);
  HRESULT         __fastcall DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/, 
                                         long* prop/*[out,retval]*/);
  long            __fastcall DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/);
  HRESULT         __fastcall DDEPoke(long Channel/*[in]*/, BSTR Item/*[in]*/, BSTR Data/*[in]*/);
  HRESULT         __fastcall DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/, 
                                        BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/);
  HRESULT         __fastcall DDETerminate(long Channel/*[in]*/);
  HRESULT         __fastcall DDETerminateAll(void);
  HRESULT         __fastcall BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/, 
                                          VARIANT* Arg3/*[in,opt]*/, VARIANT* Arg4/*[in,opt]*/, 
                                          long* prop/*[out,retval]*/);
  long            __fastcall BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, 
                                          VARIANT* Arg2/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Arg3/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Arg4/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                       BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall KeyString(long KeyCode/*[in]*/, 
                                       VARIANT* KeyCode2/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CheckSpelling(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                                           VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                           VARIANT* MainDictionary/*[in,opt]*/, 
                                           VARIANT* CustomDictionary2/*[in,opt]*/, 
                                           VARIANT* CustomDictionary3/*[in,opt]*/, 
                                           VARIANT* CustomDictionary4/*[in,opt]*/, 
                                           VARIANT* CustomDictionary5/*[in,opt]*/, 
                                           VARIANT* CustomDictionary6/*[in,opt]*/, 
                                           VARIANT* CustomDictionary7/*[in,opt]*/, 
                                           VARIANT* CustomDictionary8/*[in,opt]*/, 
                                           VARIANT* CustomDictionary9/*[in,opt]*/, 
                                           VARIANT* CustomDictionary10/*[in,opt]*/, 
                                           VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall CheckSpelling(BSTR Word/*[in]*/, 
                                           VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                           VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                           VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                                    VARIANT* CustomDictionary/*[in,opt]*/, 
                                                    VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                                    VARIANT* MainDictionary/*[in,opt]*/, 
                                                    VARIANT* SuggestionMode/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary2/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary3/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary4/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary5/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary6/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary7/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary8/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary9/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary10/*[in,opt]*/, 
                                                    Word_xp::SpellingSuggestions** prop/*[out,retval]*/);
  Word_xp::SpellingSuggestions* __fastcall GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                                                  VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* SuggestionMode/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Help(VARIANT* HelpType/*[in]*/);
  HRESULT         __fastcall NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOW* __fastcall NewWindow(void);
  HRESULT         __fastcall CleanString(BSTR String/*[in]*/, BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall CleanString(BSTR String/*[in]*/);
  HRESULT         __fastcall ChangeFileOpenDirectory(BSTR Path/*[in]*/);
  HRESULT         __fastcall InchesToPoints(float Inches/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall InchesToPoints(float Inches/*[in]*/);
  HRESULT         __fastcall CentimetersToPoints(float Centimeters/*[in]*/, 
                                                 float* prop/*[out,retval]*/);
  float           __fastcall CentimetersToPoints(float Centimeters/*[in]*/);
  HRESULT         __fastcall MillimetersToPoints(float Millimeters/*[in]*/, 
                                                 float* prop/*[out,retval]*/);
  float           __fastcall MillimetersToPoints(float Millimeters/*[in]*/);
  HRESULT         __fastcall PicasToPoints(float Picas/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PicasToPoints(float Picas/*[in]*/);
  HRESULT         __fastcall LinesToPoints(float Lines/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall LinesToPoints(float Lines/*[in]*/);
  HRESULT         __fastcall PointsToInches(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToInches(float Points/*[in]*/);
  HRESULT         __fastcall PointsToCentimeters(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToCentimeters(float Points/*[in]*/);
  HRESULT         __fastcall PointsToMillimeters(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToMillimeters(float Points/*[in]*/);
  HRESULT         __fastcall PointsToPicas(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToPicas(float Points/*[in]*/);
  HRESULT         __fastcall PointsToLines(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToLines(float Points/*[in]*/);
  HRESULT         __fastcall PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                            float* prop/*[out,retval]*/);
  float           __fastcall PointsToPixels(float Points/*[in]*/, 
                                            VARIANT* fVertical/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                            float* prop/*[out,retval]*/);
  float           __fastcall PixelsToPoints(float Pixels/*[in]*/, 
                                            VARIANT* fVertical/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_LanguageSettings(Office_xp::LanguageSettings** prop/*[out,retval]*/);
  Office_xp::LanguageSettingsPtr __fastcall get_LanguageSettings(void);
  HRESULT         __fastcall get_AnswerWizard(Office_xp::AnswerWizard** prop/*[out,retval]*/);
  Office_xp::AnswerWizardPtr __fastcall get_AnswerWizard(void);
  HRESULT         __fastcall get_AutoCorrectEmail(Word_xp::AutoCorrect** prop/*[out,retval]*/);
  Word_xp::AutoCorrectPtr __fastcall get_AutoCorrectEmail(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::DocumentsPtr Documents = {read = get_Documents};
  __property   Word_xp::WindowsPtr Windoz = {read = get_Windoz};
  __property   Word_xp::WordDocumentPtr ActiveDocument = {read = get_ActiveDocument};
  __property   Word_xp::WINDOWPtr ActiveWindow = {read = get_ActiveWindow};
  __property   Word_xp::WordSelectionPtr Selection = {read = get_Selection};
  __property   LPDISPATCH      WordBasic = {read = get_WordBasic};
  __property   VARIANT_BOOL    PrintPreview = {read = get_PrintPreview, write = set_PrintPreview};
  __property   Word_xp::RecentFilesPtr RecentFiles = {read = get_RecentFiles};
  __property   Word_xp::TemplatePtr NormalTemplate = {read = get_NormalTemplate};
  __property   Word_xp::SYSTEMPtr System = {read = get_System};
  __property   Word_xp::AutoCorrectPtr AutoCorrect = {read = get_AutoCorrect};
  __property   Word_xp::FontNamesPtr FontNames = {read = get_FontNames};
  __property   Word_xp::FontNamesPtr LandscapeFontNames = {read = get_LandscapeFontNames};
  __property   Word_xp::FontNamesPtr PortraitFontNames = {read = get_PortraitFontNames};
  __property   Word_xp::LanguagesPtr Languages = {read = get_Languages};
  __property   Office_xp::AssistantPtr Assistant = {read = get_Assistant};
  __property   Word_xp::FileConvertersPtr FileConverters = {read = get_FileConverters};
  __property   Word_xp::DialogsPtr Dialogs = {read = get_Dialogs};
  __property   Word_xp::CaptionLabelsPtr CaptionLabels = {read = get_CaptionLabels};
  __property   Word_xp::AutoCaptionsPtr AutoCaptions = {read = get_AutoCaptions};
  __property   Word_xp::AddInsPtr AddIns = {read = get_AddIns};
  __property   Word_xp::TasksPtr Tasks = {read = get_Tasks};
  __property   LPDISPATCH      MacroContainer = {read = get_MacroContainer};
  __property   Office_xp::CommandBarsPtr CommandBars = {read = get_CommandBars};
  __property   Vbide_xp::VBEPtr VBE = {read = get_VBE};
  __property   Word_xp::ListGalleriesPtr ListGalleries = {read = get_ListGalleries};
  __property   BSTR            ActivePrinter = {read = get_ActivePrinter, write = set_ActivePrinter};
  __property   Word_xp::TemplatesPtr Templates = {read = get_Templates};
  __property   LPDISPATCH      CustomizationContext = {read = get_CustomizationContext, write = set_CustomizationContext};
  __property   Word_xp::KeyBindingsPtr KeyBindings = {read = get_KeyBindings};
  __property   Word_xp::OptionsPtr Options = {read = get_Options};
  __property   Word_xp::DictionariesPtr CustomDictionaries = {read = get_CustomDictionaries};
  __property   BSTR            StatusBar = {write = set_StatusBar};
  __property   VARIANT_BOOL    ShowVisualBasicEditor = {read = get_ShowVisualBasicEditor, write = set_ShowVisualBasicEditor};
  __property   Word_xp::HangulHanjaConversionDictionariesPtr HangulHanjaDictionaries = {read = get_HangulHanjaDictionaries};
  __property   Office_xp::LanguageSettingsPtr LanguageSettings = {read = get_LanguageSettings};
  __property   Office_xp::AnswerWizardPtr AnswerWizard = {read = get_AnswerWizard};
  __property   Word_xp::AutoCorrectPtr AutoCorrectEmail = {read = get_AutoCorrectEmail};
};
typedef TCOM_GlobalT<_Global> TCOM_Global;

// *********************************************************************//
// DispIntf:  _Global
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B9-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class _GlobalDispT : public TAutoDriver<_Global>
{
public:
  _GlobalDispT(){}

  _GlobalDispT(_Global *pintf)
  {
    TAutoDriver<_Global>::Bind(pintf, false);
  }

  _GlobalDispT(_GlobalPtr pintf)
  {
    TAutoDriver<_Global>::Bind(pintf, true);
  }

  _GlobalDispT& operator=(_Global *pintf)
  {
    TAutoDriver<_Global>::Bind(pintf, false);
    return *this;
  }

  _GlobalDispT& operator=(_GlobalPtr pintf)
  {
    TAutoDriver<_Global>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WordGlobal));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WordGlobal);
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Documents(Word_xp::Documents** prop/*[out,retval]*/);
  Word_xp::DocumentsPtr __fastcall get_Documents(void);
  HRESULT         __fastcall get_Windoz(Word_xp::Windows** prop/*[out,retval]*/);
  Word_xp::WindowsPtr __fastcall get_Windoz(void);
  HRESULT         __fastcall get_ActiveDocument(Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocumentPtr __fastcall get_ActiveDocument(void);
  HRESULT         __fastcall get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOWPtr __fastcall get_ActiveWindow(void);
  HRESULT         __fastcall get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/);
  Word_xp::WordSelectionPtr __fastcall get_Selection(void);
  HRESULT         __fastcall get_WordBasic(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_WordBasic(void);
  HRESULT         __fastcall get_PrintPreview(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintPreview(void);
  HRESULT         __fastcall set_PrintPreview(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RecentFiles(Word_xp::RecentFiles** prop/*[out,retval]*/);
  Word_xp::RecentFilesPtr __fastcall get_RecentFiles(void);
  HRESULT         __fastcall get_NormalTemplate(Word_xp::Template** prop/*[out,retval]*/);
  Word_xp::TemplatePtr __fastcall get_NormalTemplate(void);
  HRESULT         __fastcall get_System(Word_xp::SYSTEM** prop/*[out,retval]*/);
  Word_xp::SYSTEMPtr __fastcall get_System(void);
  HRESULT         __fastcall get_AutoCorrect(Word_xp::AutoCorrect** prop/*[out,retval]*/);
  Word_xp::AutoCorrectPtr __fastcall get_AutoCorrect(void);
  HRESULT         __fastcall get_FontNames(Word_xp::FontNames** prop/*[out,retval]*/);
  Word_xp::FontNamesPtr __fastcall get_FontNames(void);
  HRESULT         __fastcall get_LandscapeFontNames(Word_xp::FontNames** prop/*[out,retval]*/);
  Word_xp::FontNamesPtr __fastcall get_LandscapeFontNames(void);
  HRESULT         __fastcall get_PortraitFontNames(Word_xp::FontNames** prop/*[out,retval]*/);
  Word_xp::FontNamesPtr __fastcall get_PortraitFontNames(void);
  HRESULT         __fastcall get_Languages(Word_xp::Languages** prop/*[out,retval]*/);
  Word_xp::LanguagesPtr __fastcall get_Languages(void);
  HRESULT         __fastcall get_Assistant(Office_xp::Assistant** prop/*[out,retval]*/);
  Office_xp::AssistantPtr __fastcall get_Assistant(void);
  HRESULT         __fastcall get_FileConverters(Word_xp::FileConverters** prop/*[out,retval]*/);
  Word_xp::FileConvertersPtr __fastcall get_FileConverters(void);
  HRESULT         __fastcall get_Dialogs(Word_xp::Dialogs** prop/*[out,retval]*/);
  Word_xp::DialogsPtr __fastcall get_Dialogs(void);
  HRESULT         __fastcall get_CaptionLabels(Word_xp::CaptionLabels** prop/*[out,retval]*/);
  Word_xp::CaptionLabelsPtr __fastcall get_CaptionLabels(void);
  HRESULT         __fastcall get_AutoCaptions(Word_xp::AutoCaptions** prop/*[out,retval]*/);
  Word_xp::AutoCaptionsPtr __fastcall get_AutoCaptions(void);
  HRESULT         __fastcall get_AddIns(Word_xp::AddIns** prop/*[out,retval]*/);
  Word_xp::AddInsPtr __fastcall get_AddIns(void);
  HRESULT         __fastcall get_Tasks(Word_xp::Tasks** prop/*[out,retval]*/);
  Word_xp::TasksPtr __fastcall get_Tasks(void);
  HRESULT         __fastcall get_MacroContainer(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_MacroContainer(void);
  HRESULT         __fastcall get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/);
  Office_xp::CommandBarsPtr __fastcall get_CommandBars(void);
  HRESULT         __fastcall get_SynonymInfo(BSTR Word/*[in]*/, VARIANT* LanguageID/*[in,opt]*/, 
                                             Word_xp::SynonymInfo** prop/*[out,retval]*/);
  Word_xp::SynonymInfo* __fastcall get_SynonymInfo(BSTR Word/*[in]*/, 
                                                   VARIANT* LanguageID/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_VBE(Vbide_xp::VBE** prop/*[out,retval]*/);
  Vbide_xp::VBEPtr __fastcall get_VBE(void);
  HRESULT         __fastcall get_ListGalleries(Word_xp::ListGalleries** prop/*[out,retval]*/);
  Word_xp::ListGalleriesPtr __fastcall get_ListGalleries(void);
  HRESULT         __fastcall get_ActivePrinter(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ActivePrinter(void);
  HRESULT         __fastcall set_ActivePrinter(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Templates(Word_xp::Templates** prop/*[out,retval]*/);
  Word_xp::TemplatesPtr __fastcall get_Templates(void);
  HRESULT         __fastcall get_CustomizationContext(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_CustomizationContext(void);
  HRESULT         __fastcall set_CustomizationContext(LPDISPATCH prop/*[in]*/);
  HRESULT         __fastcall get_KeyBindings(Word_xp::KeyBindings** prop/*[out,retval]*/);
  Word_xp::KeyBindingsPtr __fastcall get_KeyBindings(void);
  HRESULT         __fastcall get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                             BSTR Command/*[in]*/, 
                                             VARIANT* CommandParameter/*[in,opt]*/, 
                                             Word_xp::KeysBoundTo** prop/*[out,retval]*/);
  Word_xp::KeysBoundTo* __fastcall get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                                   BSTR Command/*[in]*/, 
                                                   VARIANT* CommandParameter/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                         Word_xp::KeyBinding** prop/*[out,retval]*/);
  Word_xp::KeyBinding* __fastcall get_FindKey(long KeyCode/*[in]*/, 
                                              VARIANT* KeyCode2/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_Options(Word_xp::Options** prop/*[out,retval]*/);
  Word_xp::OptionsPtr __fastcall get_Options(void);
  HRESULT         __fastcall get_CustomDictionaries(Word_xp::Dictionaries** prop/*[out,retval]*/);
  Word_xp::DictionariesPtr __fastcall get_CustomDictionaries(void);
  HRESULT         __fastcall set_StatusBar(BSTR Param1/*[in]*/);
  HRESULT         __fastcall get_ShowVisualBasicEditor(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowVisualBasicEditor(void);
  HRESULT         __fastcall set_ShowVisualBasicEditor(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_IsObjectValid(LPDISPATCH Object/*[in]*/, 
                                               VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsObjectValid(LPDISPATCH Object/*[in]*/);
  HRESULT         __fastcall get_HangulHanjaDictionaries(Word_xp::HangulHanjaConversionDictionaries** prop/*[out,retval]*/);
  Word_xp::HangulHanjaConversionDictionariesPtr __fastcall get_HangulHanjaDictionaries(void);
  HRESULT         __fastcall Repeat(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Repeat(VARIANT* Times/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall DDEExecute(long Channel/*[in]*/, BSTR Command/*[in]*/);
  HRESULT         __fastcall DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/, 
                                         long* prop/*[out,retval]*/);
  long            __fastcall DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/);
  HRESULT         __fastcall DDEPoke(long Channel/*[in]*/, BSTR Item/*[in]*/, BSTR Data/*[in]*/);
  HRESULT         __fastcall DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/, 
                                        BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/);
  HRESULT         __fastcall DDETerminate(long Channel/*[in]*/);
  HRESULT         __fastcall DDETerminateAll();
  HRESULT         __fastcall BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/, 
                                          VARIANT* Arg3/*[in,opt]*/, VARIANT* Arg4/*[in,opt]*/, 
                                          long* prop/*[out,retval]*/);
  long            __fastcall BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, 
                                          VARIANT* Arg2/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Arg3/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Arg4/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                       BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall KeyString(long KeyCode/*[in]*/, 
                                       VARIANT* KeyCode2/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CheckSpelling(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/
                                           , VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                           VARIANT* MainDictionary/*[in,opt]*/, 
                                           VARIANT* CustomDictionary2/*[in,opt]*/, 
                                           VARIANT* CustomDictionary3/*[in,opt]*/, 
                                           VARIANT* CustomDictionary4/*[in,opt]*/, 
                                           VARIANT* CustomDictionary5/*[in,opt]*/, 
                                           VARIANT* CustomDictionary6/*[in,opt]*/, 
                                           VARIANT* CustomDictionary7/*[in,opt]*/, 
                                           VARIANT* CustomDictionary8/*[in,opt]*/, 
                                           VARIANT* CustomDictionary9/*[in,opt]*/, 
                                           VARIANT* CustomDictionary10/*[in,opt]*/, 
                                           VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall CheckSpelling(BSTR Word/*[in]*/, 
                                           VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                           VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                           VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                                    VARIANT* CustomDictionary/*[in,opt]*/, 
                                                    VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                                    VARIANT* MainDictionary/*[in,opt]*/, 
                                                    VARIANT* SuggestionMode/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary2/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary3/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary4/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary5/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary6/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary7/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary8/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary9/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary10/*[in,opt]*/, 
                                                    Word_xp::SpellingSuggestions** prop/*[out,retval]*/);
  Word_xp::SpellingSuggestions* __fastcall GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                                                  VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* SuggestionMode/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Help(VARIANT* HelpType/*[in]*/);
  HRESULT         __fastcall NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOW* __fastcall NewWindow(void);
  HRESULT         __fastcall CleanString(BSTR String/*[in]*/, BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall CleanString(BSTR String/*[in]*/);
  HRESULT         __fastcall ChangeFileOpenDirectory(BSTR Path/*[in]*/);
  HRESULT         __fastcall InchesToPoints(float Inches/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall InchesToPoints(float Inches/*[in]*/);
  HRESULT         __fastcall CentimetersToPoints(float Centimeters/*[in]*/, 
                                                 float* prop/*[out,retval]*/);
  float           __fastcall CentimetersToPoints(float Centimeters/*[in]*/);
  HRESULT         __fastcall MillimetersToPoints(float Millimeters/*[in]*/, 
                                                 float* prop/*[out,retval]*/);
  float           __fastcall MillimetersToPoints(float Millimeters/*[in]*/);
  HRESULT         __fastcall PicasToPoints(float Picas/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PicasToPoints(float Picas/*[in]*/);
  HRESULT         __fastcall LinesToPoints(float Lines/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall LinesToPoints(float Lines/*[in]*/);
  HRESULT         __fastcall PointsToInches(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToInches(float Points/*[in]*/);
  HRESULT         __fastcall PointsToCentimeters(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToCentimeters(float Points/*[in]*/);
  HRESULT         __fastcall PointsToMillimeters(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToMillimeters(float Points/*[in]*/);
  HRESULT         __fastcall PointsToPicas(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToPicas(float Points/*[in]*/);
  HRESULT         __fastcall PointsToLines(float Points/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall PointsToLines(float Points/*[in]*/);
  HRESULT         __fastcall PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                            float* prop/*[out,retval]*/);
  float           __fastcall PointsToPixels(float Points/*[in]*/, 
                                            VARIANT* fVertical/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                            float* prop/*[out,retval]*/);
  float           __fastcall PixelsToPoints(float Pixels/*[in]*/, 
                                            VARIANT* fVertical/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_LanguageSettings(Office_xp::LanguageSettings** prop/*[out,retval]*/);
  Office_xp::LanguageSettingsPtr __fastcall get_LanguageSettings(void);
  HRESULT         __fastcall get_AnswerWizard(Office_xp::AnswerWizard** prop/*[out,retval]*/);
  Office_xp::AnswerWizardPtr __fastcall get_AnswerWizard(void);
  HRESULT         __fastcall get_AutoCorrectEmail(Word_xp::AutoCorrect** prop/*[out,retval]*/);
  Word_xp::AutoCorrectPtr __fastcall get_AutoCorrectEmail(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::DocumentsPtr Documents = {read = get_Documents};
  __property   Word_xp::WindowsPtr Windoz = {read = get_Windoz};
  __property   Word_xp::WordDocumentPtr ActiveDocument = {read = get_ActiveDocument};
  __property   Word_xp::WINDOWPtr ActiveWindow = {read = get_ActiveWindow};
  __property   Word_xp::WordSelectionPtr Selection = {read = get_Selection};
  __property   LPDISPATCH      WordBasic = {read = get_WordBasic};
  __property   VARIANT_BOOL    PrintPreview = {read = get_PrintPreview, write = set_PrintPreview};
  __property   Word_xp::RecentFilesPtr RecentFiles = {read = get_RecentFiles};
  __property   Word_xp::TemplatePtr NormalTemplate = {read = get_NormalTemplate};
  __property   Word_xp::SYSTEMPtr System = {read = get_System};
  __property   Word_xp::AutoCorrectPtr AutoCorrect = {read = get_AutoCorrect};
  __property   Word_xp::FontNamesPtr FontNames = {read = get_FontNames};
  __property   Word_xp::FontNamesPtr LandscapeFontNames = {read = get_LandscapeFontNames};
  __property   Word_xp::FontNamesPtr PortraitFontNames = {read = get_PortraitFontNames};
  __property   Word_xp::LanguagesPtr Languages = {read = get_Languages};
  __property   Office_xp::AssistantPtr Assistant = {read = get_Assistant};
  __property   Word_xp::FileConvertersPtr FileConverters = {read = get_FileConverters};
  __property   Word_xp::DialogsPtr Dialogs = {read = get_Dialogs};
  __property   Word_xp::CaptionLabelsPtr CaptionLabels = {read = get_CaptionLabels};
  __property   Word_xp::AutoCaptionsPtr AutoCaptions = {read = get_AutoCaptions};
  __property   Word_xp::AddInsPtr AddIns = {read = get_AddIns};
  __property   Word_xp::TasksPtr Tasks = {read = get_Tasks};
  __property   LPDISPATCH      MacroContainer = {read = get_MacroContainer};
  __property   Office_xp::CommandBarsPtr CommandBars = {read = get_CommandBars};
  __property   Vbide_xp::VBEPtr VBE = {read = get_VBE};
  __property   Word_xp::ListGalleriesPtr ListGalleries = {read = get_ListGalleries};
  __property   BSTR            ActivePrinter = {read = get_ActivePrinter, write = set_ActivePrinter};
  __property   Word_xp::TemplatesPtr Templates = {read = get_Templates};
  __property   LPDISPATCH      CustomizationContext = {read = get_CustomizationContext, write = set_CustomizationContext};
  __property   Word_xp::KeyBindingsPtr KeyBindings = {read = get_KeyBindings};
  __property   Word_xp::OptionsPtr Options = {read = get_Options};
  __property   Word_xp::DictionariesPtr CustomDictionaries = {read = get_CustomDictionaries};
  __property   BSTR            StatusBar = {write = set_StatusBar};
  __property   VARIANT_BOOL    ShowVisualBasicEditor = {read = get_ShowVisualBasicEditor, write = set_ShowVisualBasicEditor};
  __property   Word_xp::HangulHanjaConversionDictionariesPtr HangulHanjaDictionaries = {read = get_HangulHanjaDictionaries};
  __property   Office_xp::LanguageSettingsPtr LanguageSettings = {read = get_LanguageSettings};
  __property   Office_xp::AnswerWizardPtr AnswerWizard = {read = get_AnswerWizard};
  __property   Word_xp::AutoCorrectPtr AutoCorrectEmail = {read = get_AutoCorrectEmail};
};
typedef _GlobalDispT<_Global> _GlobalDisp;

typedef TComInterface<FontNames>  TCOMFontNames;

// *********************************************************************//
// DispIntf:  FontNames
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096F-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FontNamesDispT : public TAutoDriver<FontNames>
{
public:
  FontNamesDispT(){}

  FontNamesDispT(FontNames *pintf)
  {
    TAutoDriver<FontNames>::Bind(pintf, false);
  }

  FontNamesDispT(FontNamesPtr pintf)
  {
    TAutoDriver<FontNames>::Bind(pintf, true);
  }

  FontNamesDispT& operator=(FontNames *pintf)
  {
    TAutoDriver<FontNames>::Bind(pintf, false);
    return *this;
  }

  FontNamesDispT& operator=(FontNamesPtr pintf)
  {
    TAutoDriver<FontNames>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall Item(long Index/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef FontNamesDispT<FontNames> FontNamesDisp;

typedef TComInterface<Languages>  TCOMLanguages;

// *********************************************************************//
// DispIntf:  Languages
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096E-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class LanguagesDispT : public TAutoDriver<Languages>
{
public:
  LanguagesDispT(){}

  LanguagesDispT(Languages *pintf)
  {
    TAutoDriver<Languages>::Bind(pintf, false);
  }

  LanguagesDispT(LanguagesPtr pintf)
  {
    TAutoDriver<Languages>::Bind(pintf, true);
  }

  LanguagesDispT& operator=(Languages *pintf)
  {
    TAutoDriver<Languages>::Bind(pintf, false);
    return *this;
  }

  LanguagesDispT& operator=(LanguagesPtr pintf)
  {
    TAutoDriver<Languages>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Language** prop/*[out,retval]*/);
  Word_xp::Language* __fastcall Item(VARIANT* Index/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef LanguagesDispT<Languages> LanguagesDisp;

typedef TComInterface<Language>  TCOMLanguage;

// *********************************************************************//
// DispIntf:  Language
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096D-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class LanguageDispT : public TAutoDriver<Language>
{
public:
  LanguageDispT(){}

  LanguageDispT(Language *pintf)
  {
    TAutoDriver<Language>::Bind(pintf, false);
  }

  LanguageDispT(LanguagePtr pintf)
  {
    TAutoDriver<Language>::Bind(pintf, true);
  }

  LanguageDispT& operator=(Language *pintf)
  {
    TAutoDriver<Language>::Bind(pintf, false);
    return *this;
  }

  LanguageDispT& operator=(LanguagePtr pintf)
  {
    TAutoDriver<Language>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_ID(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_ID(void);
  HRESULT         __fastcall get_NameLocal(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NameLocal(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_ActiveGrammarDictionary(Word_xp::Dictionary** prop/*[out,retval]*/);
  Word_xp::DictionaryPtr __fastcall get_ActiveGrammarDictionary(void);
  HRESULT         __fastcall get_ActiveHyphenationDictionary(Word_xp::Dictionary** prop/*[out,retval]*/);
  Word_xp::DictionaryPtr __fastcall get_ActiveHyphenationDictionary(void);
  HRESULT         __fastcall get_ActiveSpellingDictionary(Word_xp::Dictionary** prop/*[out,retval]*/);
  Word_xp::DictionaryPtr __fastcall get_ActiveSpellingDictionary(void);
  HRESULT         __fastcall get_ActiveThesaurusDictionary(Word_xp::Dictionary** prop/*[out,retval]*/);
  Word_xp::DictionaryPtr __fastcall get_ActiveThesaurusDictionary(void);
  HRESULT         __fastcall get_DefaultWritingStyle(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DefaultWritingStyle(void);
  HRESULT         __fastcall set_DefaultWritingStyle(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_WritingStyleList(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_WritingStyleList(void);
  HRESULT         __fastcall get_SpellingDictionaryType(Word_xp::WdDictionaryType* prop/*[out,retval]*/);
  Word_xp::WdDictionaryType __fastcall get_SpellingDictionaryType(void);
  HRESULT         __fastcall set_SpellingDictionaryType(Word_xp::WdDictionaryType prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdLanguageID ID = {read = get_ID};
  __property   BSTR            NameLocal = {read = get_NameLocal};
  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::DictionaryPtr ActiveGrammarDictionary = {read = get_ActiveGrammarDictionary};
  __property   Word_xp::DictionaryPtr ActiveHyphenationDictionary = {read = get_ActiveHyphenationDictionary};
  __property   Word_xp::DictionaryPtr ActiveSpellingDictionary = {read = get_ActiveSpellingDictionary};
  __property   Word_xp::DictionaryPtr ActiveThesaurusDictionary = {read = get_ActiveThesaurusDictionary};
  __property   BSTR            DefaultWritingStyle = {read = get_DefaultWritingStyle, write = set_DefaultWritingStyle};
  __property   Word_xp::WdDictionaryType SpellingDictionaryType = {read = get_SpellingDictionaryType, write = set_SpellingDictionaryType};
};
typedef LanguageDispT<Language> LanguageDisp;

typedef TComInterface<Documents>  TCOMDocuments;

// *********************************************************************//
// DispIntf:  Documents
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096C-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class DocumentsDispT : public TAutoDriver<Documents>
{
public:
  DocumentsDispT(){}

  DocumentsDispT(Documents *pintf)
  {
    TAutoDriver<Documents>::Bind(pintf, false);
  }

  DocumentsDispT(DocumentsPtr pintf)
  {
    TAutoDriver<Documents>::Bind(pintf, true);
  }

  DocumentsDispT& operator=(Documents *pintf)
  {
    TAutoDriver<Documents>::Bind(pintf, false);
    return *this;
  }

  DocumentsDispT& operator=(DocumentsPtr pintf)
  {
    TAutoDriver<Documents>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocument* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Close(VARIANT* SaveChanges/*[in,opt]*/= TNoParam(), 
                                   VARIANT* OriginalFormat/*[in,opt]*/= TNoParam(), 
                                   VARIANT* RouteDocument/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddOld(VARIANT* Template/*[in,opt]*/, VARIANT* NewTemplate/*[in,opt]*/
                                    , Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocument* __fastcall AddOld(VARIANT* Template/*[in,opt]*/= TNoParam(), 
                                           VARIANT* NewTemplate/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall OpenOld(VARIANT* FileName/*[in]*/, 
                                     VARIANT* ConfirmConversions/*[in,opt]*/, 
                                     VARIANT* ReadOnly/*[in,opt]*/, 
                                     VARIANT* AddToRecentFiles/*[in,opt]*/, 
                                     VARIANT* PasswordDocument/*[in,opt]*/, 
                                     VARIANT* PasswordTemplate/*[in,opt]*/, 
                                     VARIANT* Revert/*[in,opt]*/, 
                                     VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                     VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                     VARIANT* Format/*[in,opt]*/, 
                                     Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocument* __fastcall OpenOld(VARIANT* FileName/*[in]*/, 
                                            VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                            VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                            VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                            VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                            VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                            VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Format/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Save(VARIANT* NoPrompt/*[in,opt]*/= TNoParam(), 
                                  VARIANT* OriginalFormat/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Add(VARIANT* Template/*[in,opt]*/, VARIANT* NewTemplate/*[in,opt]*/, 
                                 VARIANT* DocumentType/*[in,opt]*/, VARIANT* Visible/*[in,opt]*/, 
                                 Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocument* __fastcall Add(VARIANT* Template/*[in,opt]*/= TNoParam(), 
                                        VARIANT* NewTemplate/*[in,opt]*/= TNoParam(), 
                                        VARIANT* DocumentType/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Visible/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Open2000(VARIANT* FileName/*[in]*/, 
                                      VARIANT* ConfirmConversions/*[in,opt]*/, 
                                      VARIANT* ReadOnly/*[in,opt]*/, 
                                      VARIANT* AddToRecentFiles/*[in,opt]*/, 
                                      VARIANT* PasswordDocument/*[in,opt]*/, 
                                      VARIANT* PasswordTemplate/*[in,opt]*/, 
                                      VARIANT* Revert/*[in,opt]*/, 
                                      VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                      VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                      VARIANT* Format/*[in,opt]*/, VARIANT* Encoding/*[in,opt]*/, 
                                      VARIANT* Visible/*[in,opt]*/, 
                                      Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocument* __fastcall Open2000(VARIANT* FileName/*[in]*/, 
                                             VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                             VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                             VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                             VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                             VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Encoding/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Visible/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CheckOut(BSTR FileName/*[in]*/);
  HRESULT         __fastcall CanCheckOut(BSTR FileName/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall CanCheckOut(BSTR FileName/*[in]*/);
  HRESULT         __fastcall Open(VARIANT* FileName/*[in]*/, VARIANT* ConfirmConversions/*[in,opt]*/
                                  , VARIANT* ReadOnly/*[in,opt]*/, 
                                  VARIANT* AddToRecentFiles/*[in,opt]*/, 
                                  VARIANT* PasswordDocument/*[in,opt]*/, 
                                  VARIANT* PasswordTemplate/*[in,opt]*/, VARIANT* Revert/*[in,opt]*/
                                  , VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                  VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                  VARIANT* Format/*[in,opt]*/, VARIANT* Encoding/*[in,opt]*/, 
                                  VARIANT* Visible/*[in,opt]*/, VARIANT* OpenAndRepair/*[in,opt]*/, 
                                  VARIANT* DocumentDirection/*[in,opt]*/, 
                                  VARIANT* NoEncodingDialog/*[in,opt]*/, 
                                  Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocument* __fastcall Open(VARIANT* FileName/*[in]*/, 
                                         VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                         VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                         VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                         VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Encoding/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Visible/*[in,opt]*/= TNoParam(), 
                                         VARIANT* OpenAndRepair/*[in,opt]*/= TNoParam(), 
                                         VARIANT* DocumentDirection/*[in,opt]*/= TNoParam(), 
                                         VARIANT* NoEncodingDialog/*[in,opt]*/= TNoParam());

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef DocumentsDispT<Documents> DocumentsDisp;

// *********************************************************************//
// SmartIntf: TCOM_Document
// Interface: _Document
// *********************************************************************//
template <class T /* _Document */ >
class TCOM_DocumentT : public TComInterface<_Document>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DocumentT() {}
  TCOM_DocumentT(_Document *intf, bool addRef = false) : TComInterface<_Document>(intf, addRef) {}
  TCOM_DocumentT(const TCOM_DocumentT& src) : TComInterface<_Document>(src) {}
  TCOM_DocumentT& operator=(const TCOM_DocumentT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_BuiltInDocumentProperties(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_BuiltInDocumentProperties(void);
  HRESULT         __fastcall get_CustomDocumentProperties(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_CustomDocumentProperties(void);
  HRESULT         __fastcall get_Path(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Path(void);
  HRESULT         __fastcall get_Bookmarks(Word_xp::Bookmarks** prop/*[out,retval]*/);
  Word_xp::BookmarksPtr __fastcall get_Bookmarks(void);
  HRESULT         __fastcall get_Tables(Word_xp::Tables** prop/*[out,retval]*/);
  Word_xp::TablesPtr __fastcall get_Tables(void);
  HRESULT         __fastcall get_Footnotes(Word_xp::Footnotes** prop/*[out,retval]*/);
  Word_xp::FootnotesPtr __fastcall get_Footnotes(void);
  HRESULT         __fastcall get_Endnotes(Word_xp::Endnotes** prop/*[out,retval]*/);
  Word_xp::EndnotesPtr __fastcall get_Endnotes(void);
  HRESULT         __fastcall get_Comments(Word_xp::Comments** prop/*[out,retval]*/);
  Word_xp::CommentsPtr __fastcall get_Comments(void);
  HRESULT         __fastcall get_Type(Word_xp::WdDocumentType* prop/*[out,retval]*/);
  Word_xp::WdDocumentType __fastcall get_Type(void);
  HRESULT         __fastcall get_AutoHyphenation(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoHyphenation(void);
  HRESULT         __fastcall set_AutoHyphenation(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HyphenateCaps(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HyphenateCaps(void);
  HRESULT         __fastcall set_HyphenateCaps(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HyphenationZone(long* prop/*[out,retval]*/);
  long            __fastcall get_HyphenationZone(void);
  HRESULT         __fastcall set_HyphenationZone(long prop/*[in]*/);
  HRESULT         __fastcall get_ConsecutiveHyphensLimit(long* prop/*[out,retval]*/);
  long            __fastcall get_ConsecutiveHyphensLimit(void);
  HRESULT         __fastcall set_ConsecutiveHyphensLimit(long prop/*[in]*/);
  HRESULT         __fastcall get_Sections(Word_xp::Sections** prop/*[out,retval]*/);
  Word_xp::SectionsPtr __fastcall get_Sections(void);
  HRESULT         __fastcall get_Paragraphs(Word_xp::Paragraphs** prop/*[out,retval]*/);
  Word_xp::ParagraphsPtr __fastcall get_Paragraphs(void);
  HRESULT         __fastcall get_Words(Word_xp::Words** prop/*[out,retval]*/);
  Word_xp::WordsPtr __fastcall get_Words(void);
  HRESULT         __fastcall get_Sentences(Word_xp::Sentences** prop/*[out,retval]*/);
  Word_xp::SentencesPtr __fastcall get_Sentences(void);
  HRESULT         __fastcall get_Characters(Word_xp::Characters** prop/*[out,retval]*/);
  Word_xp::CharactersPtr __fastcall get_Characters(void);
  HRESULT         __fastcall get_Fields(Word_xp::Fields** prop/*[out,retval]*/);
  Word_xp::FieldsPtr __fastcall get_Fields(void);
  HRESULT         __fastcall get_FormFields(Word_xp::FormFields** prop/*[out,retval]*/);
  Word_xp::FormFieldsPtr __fastcall get_FormFields(void);
  HRESULT         __fastcall get_Styles(Word_xp::Styles** prop/*[out,retval]*/);
  Word_xp::StylesPtr __fastcall get_Styles(void);
  HRESULT         __fastcall get_Frames(Word_xp::Frames** prop/*[out,retval]*/);
  Word_xp::FramesPtr __fastcall get_Frames(void);
  HRESULT         __fastcall get_TablesOfFigures(Word_xp::TablesOfFigures** prop/*[out,retval]*/);
  Word_xp::TablesOfFiguresPtr __fastcall get_TablesOfFigures(void);
  HRESULT         __fastcall get_Variables(Word_xp::Variables** prop/*[out,retval]*/);
  Word_xp::VariablesPtr __fastcall get_Variables(void);
  HRESULT         __fastcall get_MailMerge(Word_xp::MailMerge** prop/*[out,retval]*/);
  Word_xp::MailMergePtr __fastcall get_MailMerge(void);
  HRESULT         __fastcall get_Envelope(Word_xp::Envelope** prop/*[out,retval]*/);
  Word_xp::EnvelopePtr __fastcall get_Envelope(void);
  HRESULT         __fastcall get_FullName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_FullName(void);
  HRESULT         __fastcall get_Revisions(Word_xp::Revisions** prop/*[out,retval]*/);
  Word_xp::RevisionsPtr __fastcall get_Revisions(void);
  HRESULT         __fastcall get_TablesOfContents(Word_xp::TablesOfContents** prop/*[out,retval]*/);
  Word_xp::TablesOfContentsPtr __fastcall get_TablesOfContents(void);
  HRESULT         __fastcall get_TablesOfAuthorities(Word_xp::TablesOfAuthorities** prop/*[out,retval]*/);
  Word_xp::TablesOfAuthoritiesPtr __fastcall get_TablesOfAuthorities(void);
  HRESULT         __fastcall get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/);
  Word_xp::PageSetupPtr __fastcall get_PageSetup(void);
  HRESULT         __fastcall set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/);
  HRESULT         __fastcall set_PageSetup(Word_xp::PageSetup* prop/*[in]*/);
  HRESULT         __fastcall get_Windoz(Word_xp::Windows** prop/*[out,retval]*/);
  Word_xp::WindowsPtr __fastcall get_Windoz(void);
  HRESULT         __fastcall get_HasRoutingSlip(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HasRoutingSlip(void);
  HRESULT         __fastcall set_HasRoutingSlip(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RoutingSlip(Word_xp::RoutingSlip** prop/*[out,retval]*/);
  Word_xp::RoutingSlipPtr __fastcall get_RoutingSlip(void);
  HRESULT         __fastcall get_Routed(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Routed(void);
  HRESULT         __fastcall get_TablesOfAuthoritiesCategories(Word_xp::TablesOfAuthoritiesCategories** prop/*[out,retval]*/);
  Word_xp::TablesOfAuthoritiesCategoriesPtr __fastcall get_TablesOfAuthoritiesCategories(void);
  HRESULT         __fastcall get_Indexes(Word_xp::Indexes** prop/*[out,retval]*/);
  Word_xp::IndexesPtr __fastcall get_Indexes(void);
  HRESULT         __fastcall get_Saved(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Saved(void);
  HRESULT         __fastcall set_Saved(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Content(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Content(void);
  HRESULT         __fastcall get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOWPtr __fastcall get_ActiveWindow(void);
  HRESULT         __fastcall get_Kind(Word_xp::WdDocumentKind* prop/*[out,retval]*/);
  Word_xp::WdDocumentKind __fastcall get_Kind(void);
  HRESULT         __fastcall set_Kind(Word_xp::WdDocumentKind prop/*[in]*/);
  HRESULT         __fastcall get_ReadOnly(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ReadOnly(void);
  HRESULT         __fastcall get_Subdocuments(Word_xp::Subdocuments** prop/*[out,retval]*/);
  Word_xp::SubdocumentsPtr __fastcall get_Subdocuments(void);
  HRESULT         __fastcall get_IsMasterDocument(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsMasterDocument(void);
  HRESULT         __fastcall get_DefaultTabStop(float* prop/*[out,retval]*/);
  float           __fastcall get_DefaultTabStop(void);
  HRESULT         __fastcall set_DefaultTabStop(float prop/*[in]*/);
  HRESULT         __fastcall get_EmbedTrueTypeFonts(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EmbedTrueTypeFonts(void);
  HRESULT         __fastcall set_EmbedTrueTypeFonts(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SaveFormsData(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SaveFormsData(void);
  HRESULT         __fastcall set_SaveFormsData(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ReadOnlyRecommended(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ReadOnlyRecommended(void);
  HRESULT         __fastcall set_ReadOnlyRecommended(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SaveSubsetFonts(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SaveSubsetFonts(void);
  HRESULT         __fastcall set_SaveSubsetFonts(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Compatibility(Word_xp::WdCompatibility Type/*[in]*/, 
                                               VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Compatibility(Word_xp::WdCompatibility Type/*[in]*/);
  HRESULT         __fastcall set_Compatibility(Word_xp::WdCompatibility Type/*[in]*/, 
                                               VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_StoryRanges(Word_xp::StoryRanges** prop/*[out,retval]*/);
  Word_xp::StoryRangesPtr __fastcall get_StoryRanges(void);
  HRESULT         __fastcall get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/);
  Office_xp::CommandBarsPtr __fastcall get_CommandBars(void);
  HRESULT         __fastcall get_IsSubdocument(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsSubdocument(void);
  HRESULT         __fastcall get_SaveFormat(long* prop/*[out,retval]*/);
  long            __fastcall get_SaveFormat(void);
  HRESULT         __fastcall get_ProtectionType(Word_xp::WdProtectionType* prop/*[out,retval]*/);
  Word_xp::WdProtectionType __fastcall get_ProtectionType(void);
  HRESULT         __fastcall get_Hyperlinks(Word_xp::Hyperlinks** prop/*[out,retval]*/);
  Word_xp::HyperlinksPtr __fastcall get_Hyperlinks(void);
  HRESULT         __fastcall get_Shapes(Word_xp::Shapes** prop/*[out,retval]*/);
  Word_xp::ShapesPtr __fastcall get_Shapes(void);
  HRESULT         __fastcall get_ListTemplates(Word_xp::ListTemplates** prop/*[out,retval]*/);
  Word_xp::ListTemplatesPtr __fastcall get_ListTemplates(void);
  HRESULT         __fastcall get_Lists(Word_xp::Lists** prop/*[out,retval]*/);
  Word_xp::ListsPtr __fastcall get_Lists(void);
  HRESULT         __fastcall get_UpdateStylesOnOpen(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UpdateStylesOnOpen(void);
  HRESULT         __fastcall set_UpdateStylesOnOpen(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AttachedTemplate(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_AttachedTemplate(void);
  HRESULT         __fastcall set_AttachedTemplate(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_InlineShapes(Word_xp::InlineShapes** prop/*[out,retval]*/);
  Word_xp::InlineShapesPtr __fastcall get_InlineShapes(void);
  HRESULT         __fastcall get_Background(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::ShapePtr __fastcall get_Background(void);
  HRESULT         __fastcall set_Background(Word_xp::ShapePtr prop/*[in]*/);
  HRESULT         __fastcall set_Background(Word_xp::Shape* prop/*[in]*/);
  HRESULT         __fastcall get_GrammarChecked(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_GrammarChecked(void);
  HRESULT         __fastcall set_GrammarChecked(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SpellingChecked(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SpellingChecked(void);
  HRESULT         __fastcall set_SpellingChecked(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowGrammaticalErrors(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowGrammaticalErrors(void);
  HRESULT         __fastcall set_ShowGrammaticalErrors(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowSpellingErrors(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowSpellingErrors(void);
  HRESULT         __fastcall set_ShowSpellingErrors(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Versions(Word_xp::Versions** prop/*[out,retval]*/);
  Word_xp::VersionsPtr __fastcall get_Versions(void);
  HRESULT         __fastcall get_ShowSummary(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowSummary(void);
  HRESULT         __fastcall set_ShowSummary(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SummaryViewMode(Word_xp::WdSummaryMode* prop/*[out,retval]*/);
  Word_xp::WdSummaryMode __fastcall get_SummaryViewMode(void);
  HRESULT         __fastcall set_SummaryViewMode(Word_xp::WdSummaryMode prop/*[in]*/);
  HRESULT         __fastcall get_SummaryLength(long* prop/*[out,retval]*/);
  long            __fastcall get_SummaryLength(void);
  HRESULT         __fastcall set_SummaryLength(long prop/*[in]*/);
  HRESULT         __fastcall get_PrintFractionalWidths(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintFractionalWidths(void);
  HRESULT         __fastcall set_PrintFractionalWidths(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintPostScriptOverText(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintPostScriptOverText(void);
  HRESULT         __fastcall set_PrintPostScriptOverText(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Container(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Container(void);
  HRESULT         __fastcall get_PrintFormsData(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintFormsData(void);
  HRESULT         __fastcall set_PrintFormsData(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ListParagraphs(Word_xp::ListParagraphs** prop/*[out,retval]*/);
  Word_xp::ListParagraphsPtr __fastcall get_ListParagraphs(void);
  HRESULT         __fastcall set_Password(BSTR Param1/*[in]*/);
  HRESULT         __fastcall set_WritePassword(BSTR Param1/*[in]*/);
  HRESULT         __fastcall get_HasPassword(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HasPassword(void);
  HRESULT         __fastcall get_WriteReserved(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_WriteReserved(void);
  HRESULT         __fastcall get_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/, 
                                                    BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/);
  HRESULT         __fastcall set_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/, BSTR prop/*[in]*/);
  HRESULT         __fastcall get_UserControl(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UserControl(void);
  HRESULT         __fastcall set_UserControl(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HasMailer(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HasMailer(void);
  HRESULT         __fastcall set_HasMailer(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Mailer(Word_xp::Mailer** prop/*[out,retval]*/);
  Word_xp::MailerPtr __fastcall get_Mailer(void);
  HRESULT         __fastcall get_ReadabilityStatistics(Word_xp::ReadabilityStatistics** prop/*[out,retval]*/);
  Word_xp::ReadabilityStatisticsPtr __fastcall get_ReadabilityStatistics(void);
  HRESULT         __fastcall get_GrammaticalErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/);
  Word_xp::ProofreadingErrorsPtr __fastcall get_GrammaticalErrors(void);
  HRESULT         __fastcall get_SpellingErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/);
  Word_xp::ProofreadingErrorsPtr __fastcall get_SpellingErrors(void);
  HRESULT         __fastcall get_VBProject(Vbide_xp::VBProject** prop/*[out,retval]*/);
  Vbide_xp::VBProjectPtr __fastcall get_VBProject(void);
  HRESULT         __fastcall get_FormsDesign(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FormsDesign(void);
  HRESULT         __fastcall get__CodeName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get__CodeName(void);
  HRESULT         __fastcall set__CodeName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_CodeName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_CodeName(void);
  HRESULT         __fastcall get_SnapToGrid(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SnapToGrid(void);
  HRESULT         __fastcall set_SnapToGrid(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SnapToShapes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SnapToShapes(void);
  HRESULT         __fastcall set_SnapToShapes(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_GridDistanceHorizontal(float* prop/*[out,retval]*/);
  float           __fastcall get_GridDistanceHorizontal(void);
  HRESULT         __fastcall set_GridDistanceHorizontal(float prop/*[in]*/);
  HRESULT         __fastcall get_GridDistanceVertical(float* prop/*[out,retval]*/);
  float           __fastcall get_GridDistanceVertical(void);
  HRESULT         __fastcall set_GridDistanceVertical(float prop/*[in]*/);
  HRESULT         __fastcall get_GridOriginHorizontal(float* prop/*[out,retval]*/);
  float           __fastcall get_GridOriginHorizontal(void);
  HRESULT         __fastcall set_GridOriginHorizontal(float prop/*[in]*/);
  HRESULT         __fastcall get_GridOriginVertical(float* prop/*[out,retval]*/);
  float           __fastcall get_GridOriginVertical(void);
  HRESULT         __fastcall set_GridOriginVertical(float prop/*[in]*/);
  HRESULT         __fastcall get_GridSpaceBetweenHorizontalLines(long* prop/*[out,retval]*/);
  long            __fastcall get_GridSpaceBetweenHorizontalLines(void);
  HRESULT         __fastcall set_GridSpaceBetweenHorizontalLines(long prop/*[in]*/);
  HRESULT         __fastcall get_GridSpaceBetweenVerticalLines(long* prop/*[out,retval]*/);
  long            __fastcall get_GridSpaceBetweenVerticalLines(void);
  HRESULT         __fastcall set_GridSpaceBetweenVerticalLines(long prop/*[in]*/);
  HRESULT         __fastcall get_GridOriginFromMargin(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_GridOriginFromMargin(void);
  HRESULT         __fastcall set_GridOriginFromMargin(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_KerningByAlgorithm(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_KerningByAlgorithm(void);
  HRESULT         __fastcall set_KerningByAlgorithm(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_JustificationMode(Word_xp::WdJustificationMode* prop/*[out,retval]*/);
  Word_xp::WdJustificationMode __fastcall get_JustificationMode(void);
  HRESULT         __fastcall set_JustificationMode(Word_xp::WdJustificationMode prop/*[in]*/);
  HRESULT         __fastcall get_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel* prop/*[out,retval]*/);
  Word_xp::WdFarEastLineBreakLevel __fastcall get_FarEastLineBreakLevel(void);
  HRESULT         __fastcall set_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel prop/*[in]*/);
  HRESULT         __fastcall get_NoLineBreakBefore(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NoLineBreakBefore(void);
  HRESULT         __fastcall set_NoLineBreakBefore(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_NoLineBreakAfter(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NoLineBreakAfter(void);
  HRESULT         __fastcall set_NoLineBreakAfter(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_TrackRevisions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_TrackRevisions(void);
  HRESULT         __fastcall set_TrackRevisions(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintRevisions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintRevisions(void);
  HRESULT         __fastcall set_PrintRevisions(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowRevisions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowRevisions(void);
  HRESULT         __fastcall set_ShowRevisions(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall Close(VARIANT* SaveChanges/*[in,opt]*/= TNoParam(), 
                                   VARIANT* OriginalFormat/*[in,opt]*/= TNoParam(), 
                                   VARIANT* RouteDocument/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SaveAs2000(VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                        VARIANT* FileFormat/*[in,opt]*/= TNoParam(), 
                                        VARIANT* LockComments/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Password/*[in,opt]*/= TNoParam(), 
                                        VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                        VARIANT* WritePassword/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ReadOnlyRecommended/*[in,opt]*/= TNoParam(), 
                                        VARIANT* EmbedTrueTypeFonts/*[in,opt]*/= TNoParam(), 
                                        VARIANT* SaveNativePictureFormat/*[in,opt]*/= TNoParam(), 
                                        VARIANT* SaveFormsData/*[in,opt]*/= TNoParam(), 
                                        VARIANT* SaveAsAOCELetter/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Repaginate(void);
  HRESULT         __fastcall FitToPages(void);
  HRESULT         __fastcall ManualHyphenation(void);
  HRESULT         __fastcall Select(void);
  HRESULT         __fastcall DataForm(void);
  HRESULT         __fastcall Route(void);
  HRESULT         __fastcall Save(void);
  HRESULT         __fastcall PrintOutOld(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                         VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                         VARIANT* From/*[in,opt]*/= TNoParam(), 
                                         VARIANT* To/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SendMail(void);
  HRESULT         __fastcall Range(VARIANT* Start/*[in,opt]*/, VARIANT* End/*[in,opt]*/, 
                                   Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall Range(VARIANT* Start/*[in,opt]*/= TNoParam(), 
                                       VARIANT* End/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall RunAutoMacro(Word_xp::WdAutoMacros Which/*[in]*/);
  HRESULT         __fastcall Activate(void);
  HRESULT         __fastcall PrintPreview(void);
  HRESULT         __fastcall GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                                  VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                                  Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall GoTo(VARIANT* What/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Which/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Name/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Undo(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Undo(VARIANT* Times/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Redo(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Redo(VARIANT* Times/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                               VARIANT* IncludeFootnotesAndEndnotes/*[in,opt]*/, 
                                               long* prop/*[out,retval]*/);
  long            __fastcall ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                               VARIANT* IncludeFootnotesAndEndnotes/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MakeCompatibilityDefault(void);
  HRESULT         __fastcall Protect(Word_xp::WdProtectionType Type/*[in]*/, 
                                     VARIANT* NoReset/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Password/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Unprotect(VARIANT* Password/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall EditionOptions(Word_xp::WdEditionType Type/*[in]*/, 
                                            Word_xp::WdEditionOption Option/*[in]*/, 
                                            BSTR Name/*[in]*/, 
                                            VARIANT* Format/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall RunLetterWizard(VARIANT* LetterContent/*[in,opt]*/= TNoParam(), 
                                             VARIANT* WizardMode/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall GetLetterContent(Word_xp::WordLetterContent** prop/*[out,retval]*/);
  Word_xp::WordLetterContent* __fastcall GetLetterContent(void);
  HRESULT         __fastcall SetLetterContent(VARIANT* LetterContent/*[in]*/);
  HRESULT         __fastcall CopyStylesFromTemplate(BSTR Template/*[in]*/);
  HRESULT         __fastcall UpdateStyles(void);
  HRESULT         __fastcall CheckGrammar(void);
  HRESULT         __fastcall CheckSpelling(VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                           VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                           VARIANT* AlwaysSuggest/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall FollowHyperlink(VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SubAddress/*[in,opt]*/= TNoParam(), 
                                             VARIANT* NewWindow/*[in,opt]*/= TNoParam(), 
                                             VARIANT* AddHistory/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ExtraInfo/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Method/*[in,opt]*/= TNoParam(), 
                                             VARIANT* HeaderInfo/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddToFavorites(void);
  HRESULT         __fastcall Reload(void);
  HRESULT         __fastcall AutoSummarize(VARIANT* Length/*[in,opt]*/, VARIANT* Mode/*[in,opt]*/, 
                                           VARIANT* UpdateProperties/*[in,opt]*/, 
                                           Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall AutoSummarize(VARIANT* Length/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Mode/*[in,opt]*/= TNoParam(), 
                                               VARIANT* UpdateProperties/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall RemoveNumbers(VARIANT* NumberType/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ConvertNumbersToText(VARIANT* NumberType/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, 
                                                VARIANT* Level/*[in,opt]*/, 
                                                long* prop/*[out,retval]*/);
  long            __fastcall CountNumberedItems(VARIANT* NumberType/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Level/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Post(void);
  HRESULT         __fastcall ToggleFormsDesign(void);
  HRESULT         __fastcall Compare2000(BSTR Name/*[in]*/);
  HRESULT         __fastcall UpdateSummaryProperties(void);
  HRESULT         __fastcall GetCrossReferenceItems(VARIANT* ReferenceType/*[in]*/, 
                                                    VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall GetCrossReferenceItems(VARIANT* ReferenceType/*[in]*/);
  HRESULT         __fastcall AutoFormat(void);
  HRESULT         __fastcall ViewCode(void);
  HRESULT         __fastcall ViewPropertyBrowser(void);
  HRESULT         __fastcall ForwardMailer(void);
  HRESULT         __fastcall Reply(void);
  HRESULT         __fastcall ReplyAll(void);
  HRESULT         __fastcall SendMailer(VARIANT* FileFormat/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Priority/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall UndoClear(void);
  HRESULT         __fastcall PresentIt(void);
  HRESULT         __fastcall SendFax(BSTR Address/*[in]*/, VARIANT* Subject/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Merge2000(BSTR FileName/*[in]*/);
  HRESULT         __fastcall ClosePrintPreview(void);
  HRESULT         __fastcall CheckConsistency(void);
  HRESULT         __fastcall CreateLetterContent(BSTR DateFormat/*[in]*/, 
                                                 VARIANT_BOOL IncludeHeaderFooter/*[in]*/, 
                                                 BSTR PageDesign/*[in]*/, 
                                                 Word_xp::WdLetterStyle LetterStyle/*[in]*/, 
                                                 VARIANT_BOOL Letterhead/*[in]*/, 
                                                 Word_xp::WdLetterheadLocation LetterheadLocation/*[in]*/, 
                                                 float LetterheadSize/*[in]*/, 
                                                 BSTR RecipientName/*[in]*/, 
                                                 BSTR RecipientAddress/*[in]*/, 
                                                 BSTR Salutation/*[in]*/, 
                                                 Word_xp::WdSalutationType SalutationType/*[in]*/, 
                                                 BSTR RecipientReference/*[in]*/, 
                                                 BSTR MailingInstructions/*[in]*/, 
                                                 BSTR AttentionLine/*[in]*/, BSTR Subject/*[in]*/, 
                                                 BSTR CCList/*[in]*/, BSTR ReturnAddress/*[in]*/, 
                                                 BSTR SenderName/*[in]*/, BSTR Closing/*[in]*/, 
                                                 BSTR SenderCompany/*[in]*/, 
                                                 BSTR SenderJobTitle/*[in]*/, 
                                                 BSTR SenderInitials/*[in]*/, 
                                                 long EnclosureNumber/*[in]*/, 
                                                 VARIANT* InfoBlock/*[in,opt]*/, 
                                                 VARIANT* RecipientCode/*[in,opt]*/, 
                                                 VARIANT* RecipientGender/*[in,opt]*/, 
                                                 VARIANT* ReturnAddressShortForm/*[in,opt]*/, 
                                                 VARIANT* SenderCity/*[in,opt]*/, 
                                                 VARIANT* SenderCode/*[in,opt]*/, 
                                                 VARIANT* SenderGender/*[in,opt]*/, 
                                                 VARIANT* SenderReference/*[in,opt]*/, 
                                                 Word_xp::WordLetterContent** prop/*[out,retval]*/);
  Word_xp::WordLetterContent* __fastcall CreateLetterContent(BSTR DateFormat/*[in]*/, 
                                                             VARIANT_BOOL IncludeHeaderFooter/*[in]*/, 
                                                             BSTR PageDesign/*[in]*/, 
                                                             Word_xp::WdLetterStyle LetterStyle/*[in]*/, 
                                                             VARIANT_BOOL Letterhead/*[in]*/, 
                                                             Word_xp::WdLetterheadLocation LetterheadLocation/*[in]*/, 
                                                             float LetterheadSize/*[in]*/, 
                                                             BSTR RecipientName/*[in]*/, 
                                                             BSTR RecipientAddress/*[in]*/, 
                                                             BSTR Salutation/*[in]*/, 
                                                             Word_xp::WdSalutationType SalutationType/*[in]*/, 
                                                             BSTR RecipientReference/*[in]*/, 
                                                             BSTR MailingInstructions/*[in]*/, 
                                                             BSTR AttentionLine/*[in]*/, 
                                                             BSTR Subject/*[in]*/, 
                                                             BSTR CCList/*[in]*/, 
                                                             BSTR ReturnAddress/*[in]*/, 
                                                             BSTR SenderName/*[in]*/, 
                                                             BSTR Closing/*[in]*/, 
                                                             BSTR SenderCompany/*[in]*/, 
                                                             BSTR SenderJobTitle/*[in]*/, 
                                                             BSTR SenderInitials/*[in]*/, 
                                                             long EnclosureNumber/*[in]*/, 
                                                             VARIANT* InfoBlock/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* RecipientCode/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* RecipientGender/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* ReturnAddressShortForm/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* SenderCity/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* SenderCode/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* SenderGender/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* SenderReference/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AcceptAllRevisions(void);
  HRESULT         __fastcall RejectAllRevisions(void);
  HRESULT         __fastcall DetectLanguage(void);
  HRESULT         __fastcall ApplyTheme(BSTR Name/*[in]*/);
  HRESULT         __fastcall RemoveTheme(void);
  HRESULT         __fastcall WebPagePreview(void);
  HRESULT         __fastcall ReloadAs(Office_xp::MsoEncoding Encoding/*[in]*/);
  HRESULT         __fastcall get_ActiveTheme(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ActiveTheme(void);
  HRESULT         __fastcall get_ActiveThemeDisplayName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ActiveThemeDisplayName(void);
  HRESULT         __fastcall get_Email(Word_xp::Email** prop/*[out,retval]*/);
  Word_xp::EmailPtr __fastcall get_Email(void);
  HRESULT         __fastcall get_Scripts(Office_xp::Scripts** prop/*[out,retval]*/);
  Office_xp::ScriptsPtr __fastcall get_Scripts(void);
  HRESULT         __fastcall get_LanguageDetected(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_LanguageDetected(void);
  HRESULT         __fastcall set_LanguageDetected(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID* prop/*[out,retval]*/);
  Word_xp::WdFarEastLineBreakLanguageID __fastcall get_FarEastLineBreakLanguage(void);
  HRESULT         __fastcall set_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_Frameset(Word_xp::Frameset** prop/*[out,retval]*/);
  Word_xp::FramesetPtr __fastcall get_Frameset(void);
  HRESULT         __fastcall get_ClickAndTypeParagraphStyle(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_ClickAndTypeParagraphStyle(void);
  HRESULT         __fastcall set_ClickAndTypeParagraphStyle(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_HTMLProject(Office_xp::HTMLProject** prop/*[out,retval]*/);
  Office_xp::HTMLProjectPtr __fastcall get_HTMLProject(void);
  HRESULT         __fastcall get_WebOptions(Word_xp::WebOptions** prop/*[out,retval]*/);
  Word_xp::WebOptionsPtr __fastcall get_WebOptions(void);
  HRESULT         __fastcall get_OpenEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/);
  Office_xp::MsoEncoding __fastcall get_OpenEncoding(void);
  HRESULT         __fastcall get_SaveEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/);
  Office_xp::MsoEncoding __fastcall get_SaveEncoding(void);
  HRESULT         __fastcall set_SaveEncoding(Office_xp::MsoEncoding prop/*[in]*/);
  HRESULT         __fastcall get_OptimizeForWord97(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_OptimizeForWord97(void);
  HRESULT         __fastcall set_OptimizeForWord97(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_VBASigned(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_VBASigned(void);
  HRESULT         __fastcall PrintOut2000(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                          VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* From/*[in,opt]*/= TNoParam(), 
                                          VARIANT* To/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall sblt(BSTR s/*[in]*/);
  HRESULT         __fastcall ConvertVietDoc(long CodePageOrigin/*[in]*/);
  HRESULT         __fastcall PrintOut(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                      VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                      VARIANT* From/*[in,opt]*/= TNoParam(), 
                                      VARIANT* To/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_MailEnvelope(Office_xp::MsoEnvelope** prop/*[out,retval]*/);
  Office_xp::MsoEnvelopePtr __fastcall get_MailEnvelope(void);
  HRESULT         __fastcall get_DisableFeatures(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisableFeatures(void);
  HRESULT         __fastcall set_DisableFeatures(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DoNotEmbedSystemFonts(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DoNotEmbedSystemFonts(void);
  HRESULT         __fastcall set_DoNotEmbedSystemFonts(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Signatures(Office_xp::SignatureSet** prop/*[out,retval]*/);
  Office_xp::SignatureSetPtr __fastcall get_Signatures(void);
  HRESULT         __fastcall get_DefaultTargetFrame(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DefaultTargetFrame(void);
  HRESULT         __fastcall set_DefaultTargetFrame(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/);
  Word_xp::HTMLDivisionsPtr __fastcall get_HTMLDivisions(void);
  HRESULT         __fastcall get_DisableFeaturesIntroducedAfter(Word_xp::WdDisableFeaturesIntroducedAfter* prop/*[out,retval]*/);
  Word_xp::WdDisableFeaturesIntroducedAfter __fastcall get_DisableFeaturesIntroducedAfter(void);
  HRESULT         __fastcall set_DisableFeaturesIntroducedAfter(Word_xp::WdDisableFeaturesIntroducedAfter prop/*[in]*/);
  HRESULT         __fastcall get_RemovePersonalInformation(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RemovePersonalInformation(void);
  HRESULT         __fastcall set_RemovePersonalInformation(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SmartTags(Word_xp::SmartTags** prop/*[out,retval]*/);
  Word_xp::SmartTagsPtr __fastcall get_SmartTags(void);
  HRESULT         __fastcall Compare(BSTR Name/*[in]*/, VARIANT* AuthorName/*[in,opt]*/= TNoParam(), 
                                     VARIANT* CompareTarget/*[in,opt]*/= TNoParam(), 
                                     VARIANT* DetectFormatChanges/*[in,opt]*/= TNoParam(), 
                                     VARIANT* IgnoreAllComparisonWarnings/*[in,opt]*/= TNoParam(), 
                                     VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CheckIn(VARIANT_BOOL SaveChanges/*[in,def,opt]*/, 
                                     VARIANT* Comments/*[in,opt]*/, 
                                     VARIANT_BOOL MakePublic/*[in,def,opt]*/);
  HRESULT         __fastcall CanCheckin(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall CanCheckin(void);
  HRESULT         __fastcall Merge(BSTR FileName/*[in]*/, 
                                   VARIANT* MergeTarget/*[in,opt]*/= TNoParam(), 
                                   VARIANT* DetectFormatChanges/*[in,opt]*/= TNoParam(), 
                                   VARIANT* UseFormattingFrom/*[in,opt]*/= TNoParam(), 
                                   VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_EmbedSmartTags(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EmbedSmartTags(void);
  HRESULT         __fastcall set_EmbedSmartTags(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SmartTagsAsXMLProps(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SmartTagsAsXMLProps(void);
  HRESULT         __fastcall set_SmartTagsAsXMLProps(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_TextEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/);
  Office_xp::MsoEncoding __fastcall get_TextEncoding(void);
  HRESULT         __fastcall set_TextEncoding(Office_xp::MsoEncoding prop/*[in]*/);
  HRESULT         __fastcall get_TextLineEnding(Word_xp::WdLineEndingType* prop/*[out,retval]*/);
  Word_xp::WdLineEndingType __fastcall get_TextLineEnding(void);
  HRESULT         __fastcall set_TextLineEnding(Word_xp::WdLineEndingType prop/*[in]*/);
  HRESULT         __fastcall SendForReview(VARIANT* Recipients/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Subject/*[in,opt]*/= TNoParam(), 
                                           VARIANT* ShowMessage/*[in,opt]*/= TNoParam(), 
                                           VARIANT* IncludeAttachment/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ReplyWithChanges(VARIANT* ShowMessage/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall EndReview(void);
  HRESULT         __fastcall get_StyleSheets(Word_xp::StyleSheets** prop/*[out,retval]*/);
  Word_xp::StyleSheetsPtr __fastcall get_StyleSheets(void);
  HRESULT         __fastcall get_DefaultTableStyle(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_DefaultTableStyle(void);
  HRESULT         __fastcall get_PasswordEncryptionProvider(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_PasswordEncryptionProvider(void);
  HRESULT         __fastcall get_PasswordEncryptionAlgorithm(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_PasswordEncryptionAlgorithm(void);
  HRESULT         __fastcall get_PasswordEncryptionKeyLength(long* prop/*[out,retval]*/);
  long            __fastcall get_PasswordEncryptionKeyLength(void);
  HRESULT         __fastcall get_PasswordEncryptionFileProperties(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PasswordEncryptionFileProperties(void);
  HRESULT         __fastcall SetPasswordEncryptionOptions(BSTR PasswordEncryptionProvider/*[in]*/, 
                                                          BSTR PasswordEncryptionAlgorithm/*[in]*/, 
                                                          long PasswordEncryptionKeyLength/*[in]*/, 
                                                          VARIANT* PasswordEncryptionFileProperties/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall RecheckSmartTags(void);
  HRESULT         __fastcall RemoveSmartTags(void);
  HRESULT         __fastcall SetDefaultTableStyle(VARIANT* Style/*[in]*/, 
                                                  VARIANT_BOOL SetInTemplate/*[in]*/);
  HRESULT         __fastcall DeleteAllComments(void);
  HRESULT         __fastcall AcceptAllRevisionsShown(void);
  HRESULT         __fastcall RejectAllRevisionsShown(void);
  HRESULT         __fastcall DeleteAllCommentsShown(void);
  HRESULT         __fastcall ResetFormFields(void);
  HRESULT         __fastcall SaveAs(VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                    VARIANT* FileFormat/*[in,opt]*/= TNoParam(), 
                                    VARIANT* LockComments/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Password/*[in,opt]*/= TNoParam(), 
                                    VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                    VARIANT* WritePassword/*[in,opt]*/= TNoParam(), 
                                    VARIANT* ReadOnlyRecommended/*[in,opt]*/= TNoParam(), 
                                    VARIANT* EmbedTrueTypeFonts/*[in,opt]*/= TNoParam(), 
                                    VARIANT* SaveNativePictureFormat/*[in,opt]*/= TNoParam(), 
                                    VARIANT* SaveFormsData/*[in,opt]*/= TNoParam(), 
                                    VARIANT* SaveAsAOCELetter/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Encoding/*[in,opt]*/= TNoParam(), 
                                    VARIANT* InsertLineBreaks/*[in,opt]*/= TNoParam(), 
                                    VARIANT* AllowSubstitutions/*[in,opt]*/= TNoParam(), 
                                    VARIANT* LineEnding/*[in,opt]*/= TNoParam(), 
                                    VARIANT* AddBiDiMarks/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_EmbedLinguisticData(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EmbedLinguisticData(void);
  HRESULT         __fastcall set_EmbedLinguisticData(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FormattingShowFont(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FormattingShowFont(void);
  HRESULT         __fastcall set_FormattingShowFont(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FormattingShowClear(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FormattingShowClear(void);
  HRESULT         __fastcall set_FormattingShowClear(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FormattingShowParagraph(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FormattingShowParagraph(void);
  HRESULT         __fastcall set_FormattingShowParagraph(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FormattingShowNumbering(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FormattingShowNumbering(void);
  HRESULT         __fastcall set_FormattingShowNumbering(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FormattingShowFilter(Word_xp::WdShowFilter* prop/*[out,retval]*/);
  Word_xp::WdShowFilter __fastcall get_FormattingShowFilter(void);
  HRESULT         __fastcall set_FormattingShowFilter(Word_xp::WdShowFilter prop/*[in]*/);
  HRESULT         __fastcall CheckNewSmartTags(void);

  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPDISPATCH      BuiltInDocumentProperties = {read = get_BuiltInDocumentProperties};
  __property   LPDISPATCH      CustomDocumentProperties = {read = get_CustomDocumentProperties};
  __property   BSTR            Path = {read = get_Path};
  __property   Word_xp::BookmarksPtr Bookmarks = {read = get_Bookmarks};
  __property   Word_xp::TablesPtr Tables = {read = get_Tables};
  __property   Word_xp::FootnotesPtr Footnotes = {read = get_Footnotes};
  __property   Word_xp::EndnotesPtr Endnotes = {read = get_Endnotes};
  __property   Word_xp::CommentsPtr Comments = {read = get_Comments};
  __property   Word_xp::WdDocumentType Type = {read = get_Type};
  __property   VARIANT_BOOL    AutoHyphenation = {read = get_AutoHyphenation, write = set_AutoHyphenation};
  __property   VARIANT_BOOL    HyphenateCaps = {read = get_HyphenateCaps, write = set_HyphenateCaps};
  __property   long            HyphenationZone = {read = get_HyphenationZone, write = set_HyphenationZone};
  __property   long            ConsecutiveHyphensLimit = {read = get_ConsecutiveHyphensLimit, write = set_ConsecutiveHyphensLimit};
  __property   Word_xp::SectionsPtr Sections = {read = get_Sections};
  __property   Word_xp::ParagraphsPtr Paragraphs = {read = get_Paragraphs};
  __property   Word_xp::WordsPtr Words = {read = get_Words};
  __property   Word_xp::SentencesPtr Sentences = {read = get_Sentences};
  __property   Word_xp::CharactersPtr Characters = {read = get_Characters};
  __property   Word_xp::FieldsPtr Fields = {read = get_Fields};
  __property   Word_xp::FormFieldsPtr FormFields = {read = get_FormFields};
  __property   Word_xp::StylesPtr Styles = {read = get_Styles};
  __property   Word_xp::FramesPtr Frames = {read = get_Frames};
  __property   Word_xp::TablesOfFiguresPtr TablesOfFigures = {read = get_TablesOfFigures};
  __property   Word_xp::VariablesPtr Variables = {read = get_Variables};
  __property   Word_xp::MailMergePtr MailMerge = {read = get_MailMerge};
  __property   Word_xp::EnvelopePtr Envelope = {read = get_Envelope};
  __property   BSTR            FullName = {read = get_FullName};
  __property   Word_xp::RevisionsPtr Revisions = {read = get_Revisions};
  __property   Word_xp::TablesOfContentsPtr TablesOfContents = {read = get_TablesOfContents};
  __property   Word_xp::TablesOfAuthoritiesPtr TablesOfAuthorities = {read = get_TablesOfAuthorities};
  __property   Word_xp::PageSetupPtr PageSetup = {read = get_PageSetup, write = set_PageSetup};
  __property   Word_xp::WindowsPtr Windoz = {read = get_Windoz};
  __property   VARIANT_BOOL    HasRoutingSlip = {read = get_HasRoutingSlip, write = set_HasRoutingSlip};
  __property   Word_xp::RoutingSlipPtr RoutingSlip = {read = get_RoutingSlip};
  __property   VARIANT_BOOL    Routed = {read = get_Routed};
  __property   Word_xp::TablesOfAuthoritiesCategoriesPtr TablesOfAuthoritiesCategories = {read = get_TablesOfAuthoritiesCategories};
  __property   Word_xp::IndexesPtr Indexes = {read = get_Indexes};
  __property   VARIANT_BOOL    Saved = {read = get_Saved, write = set_Saved};
  __property   Word_xp::WordRangePtr Content = {read = get_Content};
  __property   Word_xp::WINDOWPtr ActiveWindow = {read = get_ActiveWindow};
  __property   Word_xp::WdDocumentKind Kind = {read = get_Kind, write = set_Kind};
  __property   VARIANT_BOOL    ReadOnly = {read = get_ReadOnly};
  __property   Word_xp::SubdocumentsPtr Subdocuments = {read = get_Subdocuments};
  __property   VARIANT_BOOL    IsMasterDocument = {read = get_IsMasterDocument};
  __property   float           DefaultTabStop = {read = get_DefaultTabStop, write = set_DefaultTabStop};
  __property   VARIANT_BOOL    EmbedTrueTypeFonts = {read = get_EmbedTrueTypeFonts, write = set_EmbedTrueTypeFonts};
  __property   VARIANT_BOOL    SaveFormsData = {read = get_SaveFormsData, write = set_SaveFormsData};
  __property   VARIANT_BOOL    ReadOnlyRecommended = {read = get_ReadOnlyRecommended, write = set_ReadOnlyRecommended};
  __property   VARIANT_BOOL    SaveSubsetFonts = {read = get_SaveSubsetFonts, write = set_SaveSubsetFonts};
  __property   Word_xp::StoryRangesPtr StoryRanges = {read = get_StoryRanges};
  __property   Office_xp::CommandBarsPtr CommandBars = {read = get_CommandBars};
  __property   VARIANT_BOOL    IsSubdocument = {read = get_IsSubdocument};
  __property   long            SaveFormat = {read = get_SaveFormat};
  __property   Word_xp::WdProtectionType ProtectionType = {read = get_ProtectionType};
  __property   Word_xp::HyperlinksPtr Hyperlinks = {read = get_Hyperlinks};
  __property   Word_xp::ShapesPtr Shapes = {read = get_Shapes};
  __property   Word_xp::ListTemplatesPtr ListTemplates = {read = get_ListTemplates};
  __property   Word_xp::ListsPtr Lists = {read = get_Lists};
  __property   VARIANT_BOOL    UpdateStylesOnOpen = {read = get_UpdateStylesOnOpen, write = set_UpdateStylesOnOpen};
  __property   Word_xp::InlineShapesPtr InlineShapes = {read = get_InlineShapes};
  __property   Word_xp::ShapePtr Background = {read = get_Background, write = set_Background};
  __property   VARIANT_BOOL    GrammarChecked = {read = get_GrammarChecked, write = set_GrammarChecked};
  __property   VARIANT_BOOL    SpellingChecked = {read = get_SpellingChecked, write = set_SpellingChecked};
  __property   VARIANT_BOOL    ShowGrammaticalErrors = {read = get_ShowGrammaticalErrors, write = set_ShowGrammaticalErrors};
  __property   VARIANT_BOOL    ShowSpellingErrors = {read = get_ShowSpellingErrors, write = set_ShowSpellingErrors};
  __property   Word_xp::VersionsPtr Versions = {read = get_Versions};
  __property   VARIANT_BOOL    ShowSummary = {read = get_ShowSummary, write = set_ShowSummary};
  __property   Word_xp::WdSummaryMode SummaryViewMode = {read = get_SummaryViewMode, write = set_SummaryViewMode};
  __property   long            SummaryLength = {read = get_SummaryLength, write = set_SummaryLength};
  __property   VARIANT_BOOL    PrintFractionalWidths = {read = get_PrintFractionalWidths, write = set_PrintFractionalWidths};
  __property   VARIANT_BOOL    PrintPostScriptOverText = {read = get_PrintPostScriptOverText, write = set_PrintPostScriptOverText};
  __property   LPDISPATCH      Container = {read = get_Container};
  __property   VARIANT_BOOL    PrintFormsData = {read = get_PrintFormsData, write = set_PrintFormsData};
  __property   Word_xp::ListParagraphsPtr ListParagraphs = {read = get_ListParagraphs};
  __property   BSTR            Password = {write = set_Password};
  __property   BSTR            WritePassword = {write = set_WritePassword};
  __property   VARIANT_BOOL    HasPassword = {read = get_HasPassword};
  __property   VARIANT_BOOL    WriteReserved = {read = get_WriteReserved};
  __property   VARIANT_BOOL    UserControl = {read = get_UserControl, write = set_UserControl};
  __property   VARIANT_BOOL    HasMailer = {read = get_HasMailer, write = set_HasMailer};
  __property   Word_xp::MailerPtr Mailer = {read = get_Mailer};
  __property   Word_xp::ReadabilityStatisticsPtr ReadabilityStatistics = {read = get_ReadabilityStatistics};
  __property   Word_xp::ProofreadingErrorsPtr GrammaticalErrors = {read = get_GrammaticalErrors};
  __property   Word_xp::ProofreadingErrorsPtr SpellingErrors = {read = get_SpellingErrors};
  __property   Vbide_xp::VBProjectPtr VBProject = {read = get_VBProject};
  __property   VARIANT_BOOL    FormsDesign = {read = get_FormsDesign};
  __property   BSTR            _CodeName = {read = get__CodeName, write = set__CodeName};
  __property   BSTR            CodeName = {read = get_CodeName};
  __property   VARIANT_BOOL    SnapToGrid = {read = get_SnapToGrid, write = set_SnapToGrid};
  __property   VARIANT_BOOL    SnapToShapes = {read = get_SnapToShapes, write = set_SnapToShapes};
  __property   float           GridDistanceHorizontal = {read = get_GridDistanceHorizontal, write = set_GridDistanceHorizontal};
  __property   float           GridDistanceVertical = {read = get_GridDistanceVertical, write = set_GridDistanceVertical};
  __property   float           GridOriginHorizontal = {read = get_GridOriginHorizontal, write = set_GridOriginHorizontal};
  __property   float           GridOriginVertical = {read = get_GridOriginVertical, write = set_GridOriginVertical};
  __property   long            GridSpaceBetweenHorizontalLines = {read = get_GridSpaceBetweenHorizontalLines, write = set_GridSpaceBetweenHorizontalLines};
  __property   long            GridSpaceBetweenVerticalLines = {read = get_GridSpaceBetweenVerticalLines, write = set_GridSpaceBetweenVerticalLines};
  __property   VARIANT_BOOL    GridOriginFromMargin = {read = get_GridOriginFromMargin, write = set_GridOriginFromMargin};
  __property   VARIANT_BOOL    KerningByAlgorithm = {read = get_KerningByAlgorithm, write = set_KerningByAlgorithm};
  __property   Word_xp::WdJustificationMode JustificationMode = {read = get_JustificationMode, write = set_JustificationMode};
  __property   Word_xp::WdFarEastLineBreakLevel FarEastLineBreakLevel = {read = get_FarEastLineBreakLevel, write = set_FarEastLineBreakLevel};
  __property   BSTR            NoLineBreakBefore = {read = get_NoLineBreakBefore, write = set_NoLineBreakBefore};
  __property   BSTR            NoLineBreakAfter = {read = get_NoLineBreakAfter, write = set_NoLineBreakAfter};
  __property   VARIANT_BOOL    TrackRevisions = {read = get_TrackRevisions, write = set_TrackRevisions};
  __property   VARIANT_BOOL    PrintRevisions = {read = get_PrintRevisions, write = set_PrintRevisions};
  __property   VARIANT_BOOL    ShowRevisions = {read = get_ShowRevisions, write = set_ShowRevisions};
  __property   BSTR            ActiveTheme = {read = get_ActiveTheme};
  __property   BSTR            ActiveThemeDisplayName = {read = get_ActiveThemeDisplayName};
  __property   Word_xp::EmailPtr Email = {read = get_Email};
  __property   Office_xp::ScriptsPtr Scripts = {read = get_Scripts};
  __property   VARIANT_BOOL    LanguageDetected = {read = get_LanguageDetected, write = set_LanguageDetected};
  __property   Word_xp::WdFarEastLineBreakLanguageID FarEastLineBreakLanguage = {read = get_FarEastLineBreakLanguage, write = set_FarEastLineBreakLanguage};
  __property   Word_xp::FramesetPtr Frameset = {read = get_Frameset};
  __property   Office_xp::HTMLProjectPtr HTMLProject = {read = get_HTMLProject};
  __property   Word_xp::WebOptionsPtr WebOptions = {read = get_WebOptions};
  __property   Office_xp::MsoEncoding OpenEncoding = {read = get_OpenEncoding};
  __property   Office_xp::MsoEncoding SaveEncoding = {read = get_SaveEncoding, write = set_SaveEncoding};
  __property   VARIANT_BOOL    OptimizeForWord97 = {read = get_OptimizeForWord97, write = set_OptimizeForWord97};
  __property   VARIANT_BOOL    VBASigned = {read = get_VBASigned};
  __property   Office_xp::MsoEnvelopePtr MailEnvelope = {read = get_MailEnvelope};
  __property   VARIANT_BOOL    DisableFeatures = {read = get_DisableFeatures, write = set_DisableFeatures};
  __property   VARIANT_BOOL    DoNotEmbedSystemFonts = {read = get_DoNotEmbedSystemFonts, write = set_DoNotEmbedSystemFonts};
  __property   Office_xp::SignatureSetPtr Signatures = {read = get_Signatures};
  __property   BSTR            DefaultTargetFrame = {read = get_DefaultTargetFrame, write = set_DefaultTargetFrame};
  __property   Word_xp::HTMLDivisionsPtr HTMLDivisions = {read = get_HTMLDivisions};
  __property   Word_xp::WdDisableFeaturesIntroducedAfter DisableFeaturesIntroducedAfter = {read = get_DisableFeaturesIntroducedAfter, write = set_DisableFeaturesIntroducedAfter};
  __property   VARIANT_BOOL    RemovePersonalInformation = {read = get_RemovePersonalInformation, write = set_RemovePersonalInformation};
  __property   Word_xp::SmartTagsPtr SmartTags = {read = get_SmartTags};
  __property   VARIANT_BOOL    EmbedSmartTags = {read = get_EmbedSmartTags, write = set_EmbedSmartTags};
  __property   VARIANT_BOOL    SmartTagsAsXMLProps = {read = get_SmartTagsAsXMLProps, write = set_SmartTagsAsXMLProps};
  __property   Office_xp::MsoEncoding TextEncoding = {read = get_TextEncoding, write = set_TextEncoding};
  __property   Word_xp::WdLineEndingType TextLineEnding = {read = get_TextLineEnding, write = set_TextLineEnding};
  __property   Word_xp::StyleSheetsPtr StyleSheets = {read = get_StyleSheets};
  __property   BSTR            PasswordEncryptionProvider = {read = get_PasswordEncryptionProvider};
  __property   BSTR            PasswordEncryptionAlgorithm = {read = get_PasswordEncryptionAlgorithm};
  __property   long            PasswordEncryptionKeyLength = {read = get_PasswordEncryptionKeyLength};
  __property   VARIANT_BOOL    PasswordEncryptionFileProperties = {read = get_PasswordEncryptionFileProperties};
  __property   VARIANT_BOOL    EmbedLinguisticData = {read = get_EmbedLinguisticData, write = set_EmbedLinguisticData};
  __property   VARIANT_BOOL    FormattingShowFont = {read = get_FormattingShowFont, write = set_FormattingShowFont};
  __property   VARIANT_BOOL    FormattingShowClear = {read = get_FormattingShowClear, write = set_FormattingShowClear};
  __property   VARIANT_BOOL    FormattingShowParagraph = {read = get_FormattingShowParagraph, write = set_FormattingShowParagraph};
  __property   VARIANT_BOOL    FormattingShowNumbering = {read = get_FormattingShowNumbering, write = set_FormattingShowNumbering};
  __property   Word_xp::WdShowFilter FormattingShowFilter = {read = get_FormattingShowFilter, write = set_FormattingShowFilter};
};
typedef TCOM_DocumentT<_Document> TCOM_Document;

// *********************************************************************//
// DispIntf:  _Document
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0002096B-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class _DocumentDispT : public TAutoDriver<_Document>
{
public:
  _DocumentDispT(){}

  _DocumentDispT(_Document *pintf)
  {
    TAutoDriver<_Document>::Bind(pintf, false);
  }

  _DocumentDispT(_DocumentPtr pintf)
  {
    TAutoDriver<_Document>::Bind(pintf, true);
  }

  _DocumentDispT& operator=(_Document *pintf)
  {
    TAutoDriver<_Document>::Bind(pintf, false);
    return *this;
  }

  _DocumentDispT& operator=(_DocumentPtr pintf)
  {
    TAutoDriver<_Document>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WordDocument));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WordDocument);
  }

  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_BuiltInDocumentProperties(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_BuiltInDocumentProperties(void);
  HRESULT         __fastcall get_CustomDocumentProperties(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_CustomDocumentProperties(void);
  HRESULT         __fastcall get_Path(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Path(void);
  HRESULT         __fastcall get_Bookmarks(Word_xp::Bookmarks** prop/*[out,retval]*/);
  Word_xp::BookmarksPtr __fastcall get_Bookmarks(void);
  HRESULT         __fastcall get_Tables(Word_xp::Tables** prop/*[out,retval]*/);
  Word_xp::TablesPtr __fastcall get_Tables(void);
  HRESULT         __fastcall get_Footnotes(Word_xp::Footnotes** prop/*[out,retval]*/);
  Word_xp::FootnotesPtr __fastcall get_Footnotes(void);
  HRESULT         __fastcall get_Endnotes(Word_xp::Endnotes** prop/*[out,retval]*/);
  Word_xp::EndnotesPtr __fastcall get_Endnotes(void);
  HRESULT         __fastcall get_Comments(Word_xp::Comments** prop/*[out,retval]*/);
  Word_xp::CommentsPtr __fastcall get_Comments(void);
  HRESULT         __fastcall get_Type(Word_xp::WdDocumentType* prop/*[out,retval]*/);
  Word_xp::WdDocumentType __fastcall get_Type(void);
  HRESULT         __fastcall get_AutoHyphenation(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoHyphenation(void);
  HRESULT         __fastcall set_AutoHyphenation(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HyphenateCaps(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HyphenateCaps(void);
  HRESULT         __fastcall set_HyphenateCaps(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HyphenationZone(long* prop/*[out,retval]*/);
  long            __fastcall get_HyphenationZone(void);
  HRESULT         __fastcall set_HyphenationZone(long prop/*[in]*/);
  HRESULT         __fastcall get_ConsecutiveHyphensLimit(long* prop/*[out,retval]*/);
  long            __fastcall get_ConsecutiveHyphensLimit(void);
  HRESULT         __fastcall set_ConsecutiveHyphensLimit(long prop/*[in]*/);
  HRESULT         __fastcall get_Sections(Word_xp::Sections** prop/*[out,retval]*/);
  Word_xp::SectionsPtr __fastcall get_Sections(void);
  HRESULT         __fastcall get_Paragraphs(Word_xp::Paragraphs** prop/*[out,retval]*/);
  Word_xp::ParagraphsPtr __fastcall get_Paragraphs(void);
  HRESULT         __fastcall get_Words(Word_xp::Words** prop/*[out,retval]*/);
  Word_xp::WordsPtr __fastcall get_Words(void);
  HRESULT         __fastcall get_Sentences(Word_xp::Sentences** prop/*[out,retval]*/);
  Word_xp::SentencesPtr __fastcall get_Sentences(void);
  HRESULT         __fastcall get_Characters(Word_xp::Characters** prop/*[out,retval]*/);
  Word_xp::CharactersPtr __fastcall get_Characters(void);
  HRESULT         __fastcall get_Fields(Word_xp::Fields** prop/*[out,retval]*/);
  Word_xp::FieldsPtr __fastcall get_Fields(void);
  HRESULT         __fastcall get_FormFields(Word_xp::FormFields** prop/*[out,retval]*/);
  Word_xp::FormFieldsPtr __fastcall get_FormFields(void);
  HRESULT         __fastcall get_Styles(Word_xp::Styles** prop/*[out,retval]*/);
  Word_xp::StylesPtr __fastcall get_Styles(void);
  HRESULT         __fastcall get_Frames(Word_xp::Frames** prop/*[out,retval]*/);
  Word_xp::FramesPtr __fastcall get_Frames(void);
  HRESULT         __fastcall get_TablesOfFigures(Word_xp::TablesOfFigures** prop/*[out,retval]*/);
  Word_xp::TablesOfFiguresPtr __fastcall get_TablesOfFigures(void);
  HRESULT         __fastcall get_Variables(Word_xp::Variables** prop/*[out,retval]*/);
  Word_xp::VariablesPtr __fastcall get_Variables(void);
  HRESULT         __fastcall get_MailMerge(Word_xp::MailMerge** prop/*[out,retval]*/);
  Word_xp::MailMergePtr __fastcall get_MailMerge(void);
  HRESULT         __fastcall get_Envelope(Word_xp::Envelope** prop/*[out,retval]*/);
  Word_xp::EnvelopePtr __fastcall get_Envelope(void);
  HRESULT         __fastcall get_FullName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_FullName(void);
  HRESULT         __fastcall get_Revisions(Word_xp::Revisions** prop/*[out,retval]*/);
  Word_xp::RevisionsPtr __fastcall get_Revisions(void);
  HRESULT         __fastcall get_TablesOfContents(Word_xp::TablesOfContents** prop/*[out,retval]*/);
  Word_xp::TablesOfContentsPtr __fastcall get_TablesOfContents(void);
  HRESULT         __fastcall get_TablesOfAuthorities(Word_xp::TablesOfAuthorities** prop/*[out,retval]*/);
  Word_xp::TablesOfAuthoritiesPtr __fastcall get_TablesOfAuthorities(void);
  HRESULT         __fastcall get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/);
  Word_xp::PageSetupPtr __fastcall get_PageSetup(void);
  HRESULT         __fastcall set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/);
  HRESULT         __fastcall get_Windoz(Word_xp::Windows** prop/*[out,retval]*/);
  Word_xp::WindowsPtr __fastcall get_Windoz(void);
  HRESULT         __fastcall get_HasRoutingSlip(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HasRoutingSlip(void);
  HRESULT         __fastcall set_HasRoutingSlip(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RoutingSlip(Word_xp::RoutingSlip** prop/*[out,retval]*/);
  Word_xp::RoutingSlipPtr __fastcall get_RoutingSlip(void);
  HRESULT         __fastcall get_Routed(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Routed(void);
  HRESULT         __fastcall get_TablesOfAuthoritiesCategories(Word_xp::TablesOfAuthoritiesCategories** prop/*[out,retval]*/);
  Word_xp::TablesOfAuthoritiesCategoriesPtr __fastcall get_TablesOfAuthoritiesCategories(void);
  HRESULT         __fastcall get_Indexes(Word_xp::Indexes** prop/*[out,retval]*/);
  Word_xp::IndexesPtr __fastcall get_Indexes(void);
  HRESULT         __fastcall get_Saved(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Saved(void);
  HRESULT         __fastcall set_Saved(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Content(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Content(void);
  HRESULT         __fastcall get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOWPtr __fastcall get_ActiveWindow(void);
  HRESULT         __fastcall get_Kind(Word_xp::WdDocumentKind* prop/*[out,retval]*/);
  Word_xp::WdDocumentKind __fastcall get_Kind(void);
  HRESULT         __fastcall set_Kind(Word_xp::WdDocumentKind prop/*[in]*/);
  HRESULT         __fastcall get_ReadOnly(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ReadOnly(void);
  HRESULT         __fastcall get_Subdocuments(Word_xp::Subdocuments** prop/*[out,retval]*/);
  Word_xp::SubdocumentsPtr __fastcall get_Subdocuments(void);
  HRESULT         __fastcall get_IsMasterDocument(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsMasterDocument(void);
  HRESULT         __fastcall get_DefaultTabStop(float* prop/*[out,retval]*/);
  float           __fastcall get_DefaultTabStop(void);
  HRESULT         __fastcall set_DefaultTabStop(float prop/*[in]*/);
  HRESULT         __fastcall get_EmbedTrueTypeFonts(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EmbedTrueTypeFonts(void);
  HRESULT         __fastcall set_EmbedTrueTypeFonts(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SaveFormsData(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SaveFormsData(void);
  HRESULT         __fastcall set_SaveFormsData(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ReadOnlyRecommended(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ReadOnlyRecommended(void);
  HRESULT         __fastcall set_ReadOnlyRecommended(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SaveSubsetFonts(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SaveSubsetFonts(void);
  HRESULT         __fastcall set_SaveSubsetFonts(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Compatibility(Word_xp::WdCompatibility Type/*[in]*/, 
                                               VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Compatibility(Word_xp::WdCompatibility Type/*[in]*/);
  HRESULT         __fastcall set_Compatibility(Word_xp::WdCompatibility Type/*[in]*/, 
                                               VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_StoryRanges(Word_xp::StoryRanges** prop/*[out,retval]*/);
  Word_xp::StoryRangesPtr __fastcall get_StoryRanges(void);
  HRESULT         __fastcall get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/);
  Office_xp::CommandBarsPtr __fastcall get_CommandBars(void);
  HRESULT         __fastcall get_IsSubdocument(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsSubdocument(void);
  HRESULT         __fastcall get_SaveFormat(long* prop/*[out,retval]*/);
  long            __fastcall get_SaveFormat(void);
  HRESULT         __fastcall get_ProtectionType(Word_xp::WdProtectionType* prop/*[out,retval]*/);
  Word_xp::WdProtectionType __fastcall get_ProtectionType(void);
  HRESULT         __fastcall get_Hyperlinks(Word_xp::Hyperlinks** prop/*[out,retval]*/);
  Word_xp::HyperlinksPtr __fastcall get_Hyperlinks(void);
  HRESULT         __fastcall get_Shapes(Word_xp::Shapes** prop/*[out,retval]*/);
  Word_xp::ShapesPtr __fastcall get_Shapes(void);
  HRESULT         __fastcall get_ListTemplates(Word_xp::ListTemplates** prop/*[out,retval]*/);
  Word_xp::ListTemplatesPtr __fastcall get_ListTemplates(void);
  HRESULT         __fastcall get_Lists(Word_xp::Lists** prop/*[out,retval]*/);
  Word_xp::ListsPtr __fastcall get_Lists(void);
  HRESULT         __fastcall get_UpdateStylesOnOpen(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UpdateStylesOnOpen(void);
  HRESULT         __fastcall set_UpdateStylesOnOpen(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AttachedTemplate(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_AttachedTemplate(void);
  HRESULT         __fastcall set_AttachedTemplate(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_InlineShapes(Word_xp::InlineShapes** prop/*[out,retval]*/);
  Word_xp::InlineShapesPtr __fastcall get_InlineShapes(void);
  HRESULT         __fastcall get_Background(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::ShapePtr __fastcall get_Background(void);
  HRESULT         __fastcall set_Background(Word_xp::ShapePtr prop/*[in]*/);
  HRESULT         __fastcall get_GrammarChecked(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_GrammarChecked(void);
  HRESULT         __fastcall set_GrammarChecked(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SpellingChecked(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SpellingChecked(void);
  HRESULT         __fastcall set_SpellingChecked(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowGrammaticalErrors(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowGrammaticalErrors(void);
  HRESULT         __fastcall set_ShowGrammaticalErrors(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowSpellingErrors(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowSpellingErrors(void);
  HRESULT         __fastcall set_ShowSpellingErrors(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Versions(Word_xp::Versions** prop/*[out,retval]*/);
  Word_xp::VersionsPtr __fastcall get_Versions(void);
  HRESULT         __fastcall get_ShowSummary(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowSummary(void);
  HRESULT         __fastcall set_ShowSummary(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SummaryViewMode(Word_xp::WdSummaryMode* prop/*[out,retval]*/);
  Word_xp::WdSummaryMode __fastcall get_SummaryViewMode(void);
  HRESULT         __fastcall set_SummaryViewMode(Word_xp::WdSummaryMode prop/*[in]*/);
  HRESULT         __fastcall get_SummaryLength(long* prop/*[out,retval]*/);
  long            __fastcall get_SummaryLength(void);
  HRESULT         __fastcall set_SummaryLength(long prop/*[in]*/);
  HRESULT         __fastcall get_PrintFractionalWidths(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintFractionalWidths(void);
  HRESULT         __fastcall set_PrintFractionalWidths(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintPostScriptOverText(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintPostScriptOverText(void);
  HRESULT         __fastcall set_PrintPostScriptOverText(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Container(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Container(void);
  HRESULT         __fastcall get_PrintFormsData(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintFormsData(void);
  HRESULT         __fastcall set_PrintFormsData(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ListParagraphs(Word_xp::ListParagraphs** prop/*[out,retval]*/);
  Word_xp::ListParagraphsPtr __fastcall get_ListParagraphs(void);
  HRESULT         __fastcall set_Password(BSTR Param1/*[in]*/);
  HRESULT         __fastcall set_WritePassword(BSTR Param1/*[in]*/);
  HRESULT         __fastcall get_HasPassword(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HasPassword(void);
  HRESULT         __fastcall get_WriteReserved(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_WriteReserved(void);
  HRESULT         __fastcall get_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/, 
                                                    BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/);
  HRESULT         __fastcall set_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/, BSTR prop/*[in]*/);
  HRESULT         __fastcall get_UserControl(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UserControl(void);
  HRESULT         __fastcall set_UserControl(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HasMailer(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HasMailer(void);
  HRESULT         __fastcall set_HasMailer(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Mailer(Word_xp::Mailer** prop/*[out,retval]*/);
  Word_xp::MailerPtr __fastcall get_Mailer(void);
  HRESULT         __fastcall get_ReadabilityStatistics(Word_xp::ReadabilityStatistics** prop/*[out,retval]*/);
  Word_xp::ReadabilityStatisticsPtr __fastcall get_ReadabilityStatistics(void);
  HRESULT         __fastcall get_GrammaticalErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/);
  Word_xp::ProofreadingErrorsPtr __fastcall get_GrammaticalErrors(void);
  HRESULT         __fastcall get_SpellingErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/);
  Word_xp::ProofreadingErrorsPtr __fastcall get_SpellingErrors(void);
  HRESULT         __fastcall get_VBProject(Vbide_xp::VBProject** prop/*[out,retval]*/);
  Vbide_xp::VBProjectPtr __fastcall get_VBProject(void);
  HRESULT         __fastcall get_FormsDesign(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FormsDesign(void);
  HRESULT         __fastcall get__CodeName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get__CodeName(void);
  HRESULT         __fastcall set__CodeName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_CodeName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_CodeName(void);
  HRESULT         __fastcall get_SnapToGrid(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SnapToGrid(void);
  HRESULT         __fastcall set_SnapToGrid(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SnapToShapes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SnapToShapes(void);
  HRESULT         __fastcall set_SnapToShapes(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_GridDistanceHorizontal(float* prop/*[out,retval]*/);
  float           __fastcall get_GridDistanceHorizontal(void);
  HRESULT         __fastcall set_GridDistanceHorizontal(float prop/*[in]*/);
  HRESULT         __fastcall get_GridDistanceVertical(float* prop/*[out,retval]*/);
  float           __fastcall get_GridDistanceVertical(void);
  HRESULT         __fastcall set_GridDistanceVertical(float prop/*[in]*/);
  HRESULT         __fastcall get_GridOriginHorizontal(float* prop/*[out,retval]*/);
  float           __fastcall get_GridOriginHorizontal(void);
  HRESULT         __fastcall set_GridOriginHorizontal(float prop/*[in]*/);
  HRESULT         __fastcall get_GridOriginVertical(float* prop/*[out,retval]*/);
  float           __fastcall get_GridOriginVertical(void);
  HRESULT         __fastcall set_GridOriginVertical(float prop/*[in]*/);
  HRESULT         __fastcall get_GridSpaceBetweenHorizontalLines(long* prop/*[out,retval]*/);
  long            __fastcall get_GridSpaceBetweenHorizontalLines(void);
  HRESULT         __fastcall set_GridSpaceBetweenHorizontalLines(long prop/*[in]*/);
  HRESULT         __fastcall get_GridSpaceBetweenVerticalLines(long* prop/*[out,retval]*/);
  long            __fastcall get_GridSpaceBetweenVerticalLines(void);
  HRESULT         __fastcall set_GridSpaceBetweenVerticalLines(long prop/*[in]*/);
  HRESULT         __fastcall get_GridOriginFromMargin(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_GridOriginFromMargin(void);
  HRESULT         __fastcall set_GridOriginFromMargin(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_KerningByAlgorithm(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_KerningByAlgorithm(void);
  HRESULT         __fastcall set_KerningByAlgorithm(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_JustificationMode(Word_xp::WdJustificationMode* prop/*[out,retval]*/);
  Word_xp::WdJustificationMode __fastcall get_JustificationMode(void);
  HRESULT         __fastcall set_JustificationMode(Word_xp::WdJustificationMode prop/*[in]*/);
  HRESULT         __fastcall get_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel* prop/*[out,retval]*/);
  Word_xp::WdFarEastLineBreakLevel __fastcall get_FarEastLineBreakLevel(void);
  HRESULT         __fastcall set_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel prop/*[in]*/);
  HRESULT         __fastcall get_NoLineBreakBefore(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NoLineBreakBefore(void);
  HRESULT         __fastcall set_NoLineBreakBefore(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_NoLineBreakAfter(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NoLineBreakAfter(void);
  HRESULT         __fastcall set_NoLineBreakAfter(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_TrackRevisions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_TrackRevisions(void);
  HRESULT         __fastcall set_TrackRevisions(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintRevisions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintRevisions(void);
  HRESULT         __fastcall set_PrintRevisions(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowRevisions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowRevisions(void);
  HRESULT         __fastcall set_ShowRevisions(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall Close(VARIANT* SaveChanges/*[in,opt]*/= TNoParam(), 
                                   VARIANT* OriginalFormat/*[in,opt]*/= TNoParam(), 
                                   VARIANT* RouteDocument/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SaveAs2000(VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                        VARIANT* FileFormat/*[in,opt]*/= TNoParam(), 
                                        VARIANT* LockComments/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Password/*[in,opt]*/= TNoParam(), 
                                        VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                        VARIANT* WritePassword/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ReadOnlyRecommended/*[in,opt]*/= TNoParam(), 
                                        VARIANT* EmbedTrueTypeFonts/*[in,opt]*/= TNoParam(), 
                                        VARIANT* SaveNativePictureFormat/*[in,opt]*/= TNoParam(), 
                                        VARIANT* SaveFormsData/*[in,opt]*/= TNoParam(), 
                                        VARIANT* SaveAsAOCELetter/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Repaginate();
  HRESULT         __fastcall FitToPages();
  HRESULT         __fastcall ManualHyphenation();
  HRESULT         __fastcall Select();
  HRESULT         __fastcall DataForm();
  HRESULT         __fastcall Route();
  HRESULT         __fastcall Save();
  HRESULT         __fastcall PrintOutOld(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                         VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                         VARIANT* From/*[in,opt]*/= TNoParam(), 
                                         VARIANT* To/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SendMail();
  HRESULT         __fastcall Range(VARIANT* Start/*[in,opt]*/, VARIANT* End/*[in,opt]*/, 
                                   Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall Range(VARIANT* Start/*[in,opt]*/= TNoParam(), 
                                       VARIANT* End/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall RunAutoMacro(Word_xp::WdAutoMacros Which/*[in]*/);
  HRESULT         __fastcall Activate();
  HRESULT         __fastcall PrintPreview();
  HRESULT         __fastcall GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                                  VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                                  Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall GoTo(VARIANT* What/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Which/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Name/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Undo(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Undo(VARIANT* Times/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Redo(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Redo(VARIANT* Times/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                               VARIANT* IncludeFootnotesAndEndnotes/*[in,opt]*/, 
                                               long* prop/*[out,retval]*/);
  long            __fastcall ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                               VARIANT* IncludeFootnotesAndEndnotes/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MakeCompatibilityDefault();
  HRESULT         __fastcall Protect(Word_xp::WdProtectionType Type/*[in]*/, 
                                     VARIANT* NoReset/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Password/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Unprotect(VARIANT* Password/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall EditionOptions(Word_xp::WdEditionType Type/*[in]*/, 
                                            Word_xp::WdEditionOption Option/*[in]*/, 
                                            BSTR Name/*[in]*/, 
                                            VARIANT* Format/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall RunLetterWizard(VARIANT* LetterContent/*[in,opt]*/= TNoParam(), 
                                             VARIANT* WizardMode/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall GetLetterContent(Word_xp::WordLetterContent** prop/*[out,retval]*/);
  Word_xp::WordLetterContent* __fastcall GetLetterContent(void);
  HRESULT         __fastcall SetLetterContent(VARIANT* LetterContent/*[in]*/);
  HRESULT         __fastcall CopyStylesFromTemplate(BSTR Template/*[in]*/);
  HRESULT         __fastcall UpdateStyles();
  HRESULT         __fastcall CheckGrammar();
  HRESULT         __fastcall CheckSpelling(VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                           VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                           VARIANT* AlwaysSuggest/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall FollowHyperlink(VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                             VARIANT* SubAddress/*[in,opt]*/= TNoParam(), 
                                             VARIANT* NewWindow/*[in,opt]*/= TNoParam(), 
                                             VARIANT* AddHistory/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ExtraInfo/*[in,opt]*/= TNoParam(), 
                                             VARIANT* Method/*[in,opt]*/= TNoParam(), 
                                             VARIANT* HeaderInfo/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddToFavorites();
  HRESULT         __fastcall Reload();
  HRESULT         __fastcall AutoSummarize(VARIANT* Length/*[in,opt]*/, VARIANT* Mode/*[in,opt]*/, 
                                           VARIANT* UpdateProperties/*[in,opt]*/, 
                                           Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall AutoSummarize(VARIANT* Length/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Mode/*[in,opt]*/= TNoParam(), 
                                               VARIANT* UpdateProperties/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall RemoveNumbers(VARIANT* NumberType/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ConvertNumbersToText(VARIANT* NumberType/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, 
                                                VARIANT* Level/*[in,opt]*/, 
                                                long* prop/*[out,retval]*/);
  long            __fastcall CountNumberedItems(VARIANT* NumberType/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Level/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Post();
  HRESULT         __fastcall ToggleFormsDesign();
  HRESULT         __fastcall Compare2000(BSTR Name/*[in]*/);
  HRESULT         __fastcall UpdateSummaryProperties();
  HRESULT         __fastcall GetCrossReferenceItems(VARIANT* ReferenceType/*[in]*/, 
                                                    VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall GetCrossReferenceItems(VARIANT* ReferenceType/*[in]*/);
  HRESULT         __fastcall AutoFormat();
  HRESULT         __fastcall ViewCode();
  HRESULT         __fastcall ViewPropertyBrowser();
  HRESULT         __fastcall ForwardMailer();
  HRESULT         __fastcall Reply();
  HRESULT         __fastcall ReplyAll();
  HRESULT         __fastcall SendMailer(VARIANT* FileFormat/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Priority/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall UndoClear();
  HRESULT         __fastcall PresentIt();
  HRESULT         __fastcall SendFax(BSTR Address/*[in]*/, VARIANT* Subject/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Merge2000(BSTR FileName/*[in]*/);
  HRESULT         __fastcall ClosePrintPreview();
  HRESULT         __fastcall CheckConsistency();
  HRESULT         __fastcall CreateLetterContent(BSTR DateFormat/*[in]*/, 
                                                 VARIANT_BOOL IncludeHeaderFooter/*[in]*/, 
                                                 BSTR PageDesign/*[in]*/, 
                                                 Word_xp::WdLetterStyle LetterStyle/*[in]*/, 
                                                 VARIANT_BOOL Letterhead/*[in]*/, 
                                                 Word_xp::WdLetterheadLocation LetterheadLocation/*[in]*/
                                                 , float LetterheadSize/*[in]*/, 
                                                 BSTR RecipientName/*[in]*/, 
                                                 BSTR RecipientAddress/*[in]*/, 
                                                 BSTR Salutation/*[in]*/, 
                                                 Word_xp::WdSalutationType SalutationType/*[in]*/, 
                                                 BSTR RecipientReference/*[in]*/, 
                                                 BSTR MailingInstructions/*[in]*/, 
                                                 BSTR AttentionLine/*[in]*/, BSTR Subject/*[in]*/, 
                                                 BSTR CCList/*[in]*/, BSTR ReturnAddress/*[in]*/, 
                                                 BSTR SenderName/*[in]*/, BSTR Closing/*[in]*/, 
                                                 BSTR SenderCompany/*[in]*/, 
                                                 BSTR SenderJobTitle/*[in]*/, 
                                                 BSTR SenderInitials/*[in]*/, 
                                                 long EnclosureNumber/*[in]*/, 
                                                 VARIANT* InfoBlock/*[in,opt]*/, 
                                                 VARIANT* RecipientCode/*[in,opt]*/, 
                                                 VARIANT* RecipientGender/*[in,opt]*/, 
                                                 VARIANT* ReturnAddressShortForm/*[in,opt]*/, 
                                                 VARIANT* SenderCity/*[in,opt]*/, 
                                                 VARIANT* SenderCode/*[in,opt]*/, 
                                                 VARIANT* SenderGender/*[in,opt]*/, 
                                                 VARIANT* SenderReference/*[in,opt]*/, 
                                                 Word_xp::WordLetterContent** prop/*[out,retval]*/);
  Word_xp::WordLetterContent* __fastcall CreateLetterContent(BSTR DateFormat/*[in]*/, 
                                                             VARIANT_BOOL IncludeHeaderFooter/*[in]*/, 
                                                             BSTR PageDesign/*[in]*/, 
                                                             Word_xp::WdLetterStyle LetterStyle/*[in]*/, 
                                                             VARIANT_BOOL Letterhead/*[in]*/, 
                                                             Word_xp::WdLetterheadLocation LetterheadLocation/*[in]*/, 
                                                             float LetterheadSize/*[in]*/, 
                                                             BSTR RecipientName/*[in]*/, 
                                                             BSTR RecipientAddress/*[in]*/, 
                                                             BSTR Salutation/*[in]*/, 
                                                             Word_xp::WdSalutationType SalutationType/*[in]*/, 
                                                             BSTR RecipientReference/*[in]*/, 
                                                             BSTR MailingInstructions/*[in]*/, 
                                                             BSTR AttentionLine/*[in]*/, 
                                                             BSTR Subject/*[in]*/, 
                                                             BSTR CCList/*[in]*/, 
                                                             BSTR ReturnAddress/*[in]*/, 
                                                             BSTR SenderName/*[in]*/, 
                                                             BSTR Closing/*[in]*/, 
                                                             BSTR SenderCompany/*[in]*/, 
                                                             BSTR SenderJobTitle/*[in]*/, 
                                                             BSTR SenderInitials/*[in]*/, 
                                                             long EnclosureNumber/*[in]*/, 
                                                             VARIANT* InfoBlock/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* RecipientCode/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* RecipientGender/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* ReturnAddressShortForm/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* SenderCity/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* SenderCode/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* SenderGender/*[in,opt]*/= TNoParam(), 
                                                             VARIANT* SenderReference/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AcceptAllRevisions();
  HRESULT         __fastcall RejectAllRevisions();
  HRESULT         __fastcall DetectLanguage();
  HRESULT         __fastcall ApplyTheme(BSTR Name/*[in]*/);
  HRESULT         __fastcall RemoveTheme();
  HRESULT         __fastcall WebPagePreview();
  HRESULT         __fastcall ReloadAs(Office_xp::MsoEncoding Encoding/*[in]*/);
  HRESULT         __fastcall get_ActiveTheme(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ActiveTheme(void);
  HRESULT         __fastcall get_ActiveThemeDisplayName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ActiveThemeDisplayName(void);
  HRESULT         __fastcall get_Email(Word_xp::Email** prop/*[out,retval]*/);
  Word_xp::EmailPtr __fastcall get_Email(void);
  HRESULT         __fastcall get_Scripts(Office_xp::Scripts** prop/*[out,retval]*/);
  Office_xp::ScriptsPtr __fastcall get_Scripts(void);
  HRESULT         __fastcall get_LanguageDetected(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_LanguageDetected(void);
  HRESULT         __fastcall set_LanguageDetected(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID* prop/*[out,retval]*/);
  Word_xp::WdFarEastLineBreakLanguageID __fastcall get_FarEastLineBreakLanguage(void);
  HRESULT         __fastcall set_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_Frameset(Word_xp::Frameset** prop/*[out,retval]*/);
  Word_xp::FramesetPtr __fastcall get_Frameset(void);
  HRESULT         __fastcall get_ClickAndTypeParagraphStyle(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_ClickAndTypeParagraphStyle(void);
  HRESULT         __fastcall set_ClickAndTypeParagraphStyle(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_HTMLProject(Office_xp::HTMLProject** prop/*[out,retval]*/);
  Office_xp::HTMLProjectPtr __fastcall get_HTMLProject(void);
  HRESULT         __fastcall get_WebOptions(Word_xp::WebOptions** prop/*[out,retval]*/);
  Word_xp::WebOptionsPtr __fastcall get_WebOptions(void);
  HRESULT         __fastcall get_OpenEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/);
  Office_xp::MsoEncoding __fastcall get_OpenEncoding(void);
  HRESULT         __fastcall get_SaveEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/);
  Office_xp::MsoEncoding __fastcall get_SaveEncoding(void);
  HRESULT         __fastcall set_SaveEncoding(Office_xp::MsoEncoding prop/*[in]*/);
  HRESULT         __fastcall get_OptimizeForWord97(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_OptimizeForWord97(void);
  HRESULT         __fastcall set_OptimizeForWord97(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_VBASigned(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_VBASigned(void);
  HRESULT         __fastcall PrintOut2000(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                          VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* From/*[in,opt]*/= TNoParam(), 
                                          VARIANT* To/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall sblt(BSTR s/*[in]*/);
  HRESULT         __fastcall ConvertVietDoc(long CodePageOrigin/*[in]*/);
  HRESULT         __fastcall PrintOut(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                      VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                      VARIANT* From/*[in,opt]*/= TNoParam(), 
                                      VARIANT* To/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_MailEnvelope(Office_xp::MsoEnvelope** prop/*[out,retval]*/);
  Office_xp::MsoEnvelopePtr __fastcall get_MailEnvelope(void);
  HRESULT         __fastcall get_DisableFeatures(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisableFeatures(void);
  HRESULT         __fastcall set_DisableFeatures(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DoNotEmbedSystemFonts(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DoNotEmbedSystemFonts(void);
  HRESULT         __fastcall set_DoNotEmbedSystemFonts(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Signatures(Office_xp::SignatureSet** prop/*[out,retval]*/);
  Office_xp::SignatureSetPtr __fastcall get_Signatures(void);
  HRESULT         __fastcall get_DefaultTargetFrame(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DefaultTargetFrame(void);
  HRESULT         __fastcall set_DefaultTargetFrame(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/);
  Word_xp::HTMLDivisionsPtr __fastcall get_HTMLDivisions(void);
  HRESULT         __fastcall get_DisableFeaturesIntroducedAfter(Word_xp::WdDisableFeaturesIntroducedAfter* prop/*[out,retval]*/);
  Word_xp::WdDisableFeaturesIntroducedAfter __fastcall get_DisableFeaturesIntroducedAfter(void);
  HRESULT         __fastcall set_DisableFeaturesIntroducedAfter(Word_xp::WdDisableFeaturesIntroducedAfter prop/*[in]*/);
  HRESULT         __fastcall get_RemovePersonalInformation(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RemovePersonalInformation(void);
  HRESULT         __fastcall set_RemovePersonalInformation(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SmartTags(Word_xp::SmartTags** prop/*[out,retval]*/);
  Word_xp::SmartTagsPtr __fastcall get_SmartTags(void);
  HRESULT         __fastcall Compare(BSTR Name/*[in]*/, VARIANT* AuthorName/*[in,opt]*/= TNoParam()
                                     , VARIANT* CompareTarget/*[in,opt]*/= TNoParam(), 
                                     VARIANT* DetectFormatChanges/*[in,opt]*/= TNoParam(), 
                                     VARIANT* IgnoreAllComparisonWarnings/*[in,opt]*/= TNoParam(), 
                                     VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CheckIn(VARIANT_BOOL SaveChanges/*[in,def,opt]*/, 
                                     VARIANT* Comments/*[in,opt]*/, 
                                     VARIANT_BOOL MakePublic/*[in,def,opt]*/);
  HRESULT         __fastcall CanCheckin(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall CanCheckin(void);
  HRESULT         __fastcall Merge(BSTR FileName/*[in]*/, 
                                   VARIANT* MergeTarget/*[in,opt]*/= TNoParam(), 
                                   VARIANT* DetectFormatChanges/*[in,opt]*/= TNoParam(), 
                                   VARIANT* UseFormattingFrom/*[in,opt]*/= TNoParam(), 
                                   VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_EmbedSmartTags(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EmbedSmartTags(void);
  HRESULT         __fastcall set_EmbedSmartTags(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SmartTagsAsXMLProps(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SmartTagsAsXMLProps(void);
  HRESULT         __fastcall set_SmartTagsAsXMLProps(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_TextEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/);
  Office_xp::MsoEncoding __fastcall get_TextEncoding(void);
  HRESULT         __fastcall set_TextEncoding(Office_xp::MsoEncoding prop/*[in]*/);
  HRESULT         __fastcall get_TextLineEnding(Word_xp::WdLineEndingType* prop/*[out,retval]*/);
  Word_xp::WdLineEndingType __fastcall get_TextLineEnding(void);
  HRESULT         __fastcall set_TextLineEnding(Word_xp::WdLineEndingType prop/*[in]*/);
  HRESULT         __fastcall SendForReview(VARIANT* Recipients/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Subject/*[in,opt]*/= TNoParam(), 
                                           VARIANT* ShowMessage/*[in,opt]*/= TNoParam(), 
                                           VARIANT* IncludeAttachment/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ReplyWithChanges(VARIANT* ShowMessage/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall EndReview();
  HRESULT         __fastcall get_StyleSheets(Word_xp::StyleSheets** prop/*[out,retval]*/);
  Word_xp::StyleSheetsPtr __fastcall get_StyleSheets(void);
  HRESULT         __fastcall get_DefaultTableStyle(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_DefaultTableStyle(void);
  HRESULT         __fastcall get_PasswordEncryptionProvider(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_PasswordEncryptionProvider(void);
  HRESULT         __fastcall get_PasswordEncryptionAlgorithm(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_PasswordEncryptionAlgorithm(void);
  HRESULT         __fastcall get_PasswordEncryptionKeyLength(long* prop/*[out,retval]*/);
  long            __fastcall get_PasswordEncryptionKeyLength(void);
  HRESULT         __fastcall get_PasswordEncryptionFileProperties(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PasswordEncryptionFileProperties(void);
  HRESULT         __fastcall SetPasswordEncryptionOptions(BSTR PasswordEncryptionProvider/*[in]*/, 
                                                          BSTR PasswordEncryptionAlgorithm/*[in]*/, 
                                                          long PasswordEncryptionKeyLength/*[in]*/, 
                                                          VARIANT* PasswordEncryptionFileProperties/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall RecheckSmartTags();
  HRESULT         __fastcall RemoveSmartTags();
  HRESULT         __fastcall SetDefaultTableStyle(VARIANT* Style/*[in]*/, 
                                                  VARIANT_BOOL SetInTemplate/*[in]*/);
  HRESULT         __fastcall DeleteAllComments();
  HRESULT         __fastcall AcceptAllRevisionsShown();
  HRESULT         __fastcall RejectAllRevisionsShown();
  HRESULT         __fastcall DeleteAllCommentsShown();
  HRESULT         __fastcall ResetFormFields();
  HRESULT         __fastcall SaveAs(VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                    VARIANT* FileFormat/*[in,opt]*/= TNoParam(), 
                                    VARIANT* LockComments/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Password/*[in,opt]*/= TNoParam(), 
                                    VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                    VARIANT* WritePassword/*[in,opt]*/= TNoParam(), 
                                    VARIANT* ReadOnlyRecommended/*[in,opt]*/= TNoParam(), 
                                    VARIANT* EmbedTrueTypeFonts/*[in,opt]*/= TNoParam(), 
                                    VARIANT* SaveNativePictureFormat/*[in,opt]*/= TNoParam(), 
                                    VARIANT* SaveFormsData/*[in,opt]*/= TNoParam(), 
                                    VARIANT* SaveAsAOCELetter/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Encoding/*[in,opt]*/= TNoParam(), 
                                    VARIANT* InsertLineBreaks/*[in,opt]*/= TNoParam(), 
                                    VARIANT* AllowSubstitutions/*[in,opt]*/= TNoParam(), 
                                    VARIANT* LineEnding/*[in,opt]*/= TNoParam(), 
                                    VARIANT* AddBiDiMarks/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_EmbedLinguisticData(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EmbedLinguisticData(void);
  HRESULT         __fastcall set_EmbedLinguisticData(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FormattingShowFont(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FormattingShowFont(void);
  HRESULT         __fastcall set_FormattingShowFont(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FormattingShowClear(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FormattingShowClear(void);
  HRESULT         __fastcall set_FormattingShowClear(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FormattingShowParagraph(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FormattingShowParagraph(void);
  HRESULT         __fastcall set_FormattingShowParagraph(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FormattingShowNumbering(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FormattingShowNumbering(void);
  HRESULT         __fastcall set_FormattingShowNumbering(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FormattingShowFilter(Word_xp::WdShowFilter* prop/*[out,retval]*/);
  Word_xp::WdShowFilter __fastcall get_FormattingShowFilter(void);
  HRESULT         __fastcall set_FormattingShowFilter(Word_xp::WdShowFilter prop/*[in]*/);
  HRESULT         __fastcall CheckNewSmartTags();

  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPDISPATCH      BuiltInDocumentProperties = {read = get_BuiltInDocumentProperties};
  __property   LPDISPATCH      CustomDocumentProperties = {read = get_CustomDocumentProperties};
  __property   BSTR            Path = {read = get_Path};
  __property   Word_xp::BookmarksPtr Bookmarks = {read = get_Bookmarks};
  __property   Word_xp::TablesPtr Tables = {read = get_Tables};
  __property   Word_xp::FootnotesPtr Footnotes = {read = get_Footnotes};
  __property   Word_xp::EndnotesPtr Endnotes = {read = get_Endnotes};
  __property   Word_xp::CommentsPtr Comments = {read = get_Comments};
  __property   Word_xp::WdDocumentType Type = {read = get_Type};
  __property   VARIANT_BOOL    AutoHyphenation = {read = get_AutoHyphenation, write = set_AutoHyphenation};
  __property   VARIANT_BOOL    HyphenateCaps = {read = get_HyphenateCaps, write = set_HyphenateCaps};
  __property   long            HyphenationZone = {read = get_HyphenationZone, write = set_HyphenationZone};
  __property   long            ConsecutiveHyphensLimit = {read = get_ConsecutiveHyphensLimit, write = set_ConsecutiveHyphensLimit};
  __property   Word_xp::SectionsPtr Sections = {read = get_Sections};
  __property   Word_xp::ParagraphsPtr Paragraphs = {read = get_Paragraphs};
  __property   Word_xp::WordsPtr Words = {read = get_Words};
  __property   Word_xp::SentencesPtr Sentences = {read = get_Sentences};
  __property   Word_xp::CharactersPtr Characters = {read = get_Characters};
  __property   Word_xp::FieldsPtr Fields = {read = get_Fields};
  __property   Word_xp::FormFieldsPtr FormFields = {read = get_FormFields};
  __property   Word_xp::StylesPtr Styles = {read = get_Styles};
  __property   Word_xp::FramesPtr Frames = {read = get_Frames};
  __property   Word_xp::TablesOfFiguresPtr TablesOfFigures = {read = get_TablesOfFigures};
  __property   Word_xp::VariablesPtr Variables = {read = get_Variables};
  __property   Word_xp::MailMergePtr MailMerge = {read = get_MailMerge};
  __property   Word_xp::EnvelopePtr Envelope = {read = get_Envelope};
  __property   BSTR            FullName = {read = get_FullName};
  __property   Word_xp::RevisionsPtr Revisions = {read = get_Revisions};
  __property   Word_xp::TablesOfContentsPtr TablesOfContents = {read = get_TablesOfContents};
  __property   Word_xp::TablesOfAuthoritiesPtr TablesOfAuthorities = {read = get_TablesOfAuthorities};
  __property   Word_xp::PageSetupPtr PageSetup = {read = get_PageSetup, write = set_PageSetup};
  __property   Word_xp::WindowsPtr Windoz = {read = get_Windoz};
  __property   VARIANT_BOOL    HasRoutingSlip = {read = get_HasRoutingSlip, write = set_HasRoutingSlip};
  __property   Word_xp::RoutingSlipPtr RoutingSlip = {read = get_RoutingSlip};
  __property   VARIANT_BOOL    Routed = {read = get_Routed};
  __property   Word_xp::TablesOfAuthoritiesCategoriesPtr TablesOfAuthoritiesCategories = {read = get_TablesOfAuthoritiesCategories};
  __property   Word_xp::IndexesPtr Indexes = {read = get_Indexes};
  __property   VARIANT_BOOL    Saved = {read = get_Saved, write = set_Saved};
  __property   Word_xp::WordRangePtr Content = {read = get_Content};
  __property   Word_xp::WINDOWPtr ActiveWindow = {read = get_ActiveWindow};
  __property   Word_xp::WdDocumentKind Kind = {read = get_Kind, write = set_Kind};
  __property   VARIANT_BOOL    ReadOnly = {read = get_ReadOnly};
  __property   Word_xp::SubdocumentsPtr Subdocuments = {read = get_Subdocuments};
  __property   VARIANT_BOOL    IsMasterDocument = {read = get_IsMasterDocument};
  __property   float           DefaultTabStop = {read = get_DefaultTabStop, write = set_DefaultTabStop};
  __property   VARIANT_BOOL    EmbedTrueTypeFonts = {read = get_EmbedTrueTypeFonts, write = set_EmbedTrueTypeFonts};
  __property   VARIANT_BOOL    SaveFormsData = {read = get_SaveFormsData, write = set_SaveFormsData};
  __property   VARIANT_BOOL    ReadOnlyRecommended = {read = get_ReadOnlyRecommended, write = set_ReadOnlyRecommended};
  __property   VARIANT_BOOL    SaveSubsetFonts = {read = get_SaveSubsetFonts, write = set_SaveSubsetFonts};
  __property   Word_xp::StoryRangesPtr StoryRanges = {read = get_StoryRanges};
  __property   Office_xp::CommandBarsPtr CommandBars = {read = get_CommandBars};
  __property   VARIANT_BOOL    IsSubdocument = {read = get_IsSubdocument};
  __property   long            SaveFormat = {read = get_SaveFormat};
  __property   Word_xp::WdProtectionType ProtectionType = {read = get_ProtectionType};
  __property   Word_xp::HyperlinksPtr Hyperlinks = {read = get_Hyperlinks};
  __property   Word_xp::ShapesPtr Shapes = {read = get_Shapes};
  __property   Word_xp::ListTemplatesPtr ListTemplates = {read = get_ListTemplates};
  __property   Word_xp::ListsPtr Lists = {read = get_Lists};
  __property   VARIANT_BOOL    UpdateStylesOnOpen = {read = get_UpdateStylesOnOpen, write = set_UpdateStylesOnOpen};
  __property   Word_xp::InlineShapesPtr InlineShapes = {read = get_InlineShapes};
  __property   Word_xp::ShapePtr Background = {read = get_Background, write = set_Background};
  __property   VARIANT_BOOL    GrammarChecked = {read = get_GrammarChecked, write = set_GrammarChecked};
  __property   VARIANT_BOOL    SpellingChecked = {read = get_SpellingChecked, write = set_SpellingChecked};
  __property   VARIANT_BOOL    ShowGrammaticalErrors = {read = get_ShowGrammaticalErrors, write = set_ShowGrammaticalErrors};
  __property   VARIANT_BOOL    ShowSpellingErrors = {read = get_ShowSpellingErrors, write = set_ShowSpellingErrors};
  __property   Word_xp::VersionsPtr Versions = {read = get_Versions};
  __property   VARIANT_BOOL    ShowSummary = {read = get_ShowSummary, write = set_ShowSummary};
  __property   Word_xp::WdSummaryMode SummaryViewMode = {read = get_SummaryViewMode, write = set_SummaryViewMode};
  __property   long            SummaryLength = {read = get_SummaryLength, write = set_SummaryLength};
  __property   VARIANT_BOOL    PrintFractionalWidths = {read = get_PrintFractionalWidths, write = set_PrintFractionalWidths};
  __property   VARIANT_BOOL    PrintPostScriptOverText = {read = get_PrintPostScriptOverText, write = set_PrintPostScriptOverText};
  __property   LPDISPATCH      Container = {read = get_Container};
  __property   VARIANT_BOOL    PrintFormsData = {read = get_PrintFormsData, write = set_PrintFormsData};
  __property   Word_xp::ListParagraphsPtr ListParagraphs = {read = get_ListParagraphs};
  __property   BSTR            Password = {write = set_Password};
  __property   BSTR            WritePassword = {write = set_WritePassword};
  __property   VARIANT_BOOL    HasPassword = {read = get_HasPassword};
  __property   VARIANT_BOOL    WriteReserved = {read = get_WriteReserved};
  __property   VARIANT_BOOL    UserControl = {read = get_UserControl, write = set_UserControl};
  __property   VARIANT_BOOL    HasMailer = {read = get_HasMailer, write = set_HasMailer};
  __property   Word_xp::MailerPtr Mailer = {read = get_Mailer};
  __property   Word_xp::ReadabilityStatisticsPtr ReadabilityStatistics = {read = get_ReadabilityStatistics};
  __property   Word_xp::ProofreadingErrorsPtr GrammaticalErrors = {read = get_GrammaticalErrors};
  __property   Word_xp::ProofreadingErrorsPtr SpellingErrors = {read = get_SpellingErrors};
  __property   Vbide_xp::VBProjectPtr VBProject = {read = get_VBProject};
  __property   VARIANT_BOOL    FormsDesign = {read = get_FormsDesign};
  __property   BSTR            _CodeName = {read = get__CodeName, write = set__CodeName};
  __property   BSTR            CodeName = {read = get_CodeName};
  __property   VARIANT_BOOL    SnapToGrid = {read = get_SnapToGrid, write = set_SnapToGrid};
  __property   VARIANT_BOOL    SnapToShapes = {read = get_SnapToShapes, write = set_SnapToShapes};
  __property   float           GridDistanceHorizontal = {read = get_GridDistanceHorizontal, write = set_GridDistanceHorizontal};
  __property   float           GridDistanceVertical = {read = get_GridDistanceVertical, write = set_GridDistanceVertical};
  __property   float           GridOriginHorizontal = {read = get_GridOriginHorizontal, write = set_GridOriginHorizontal};
  __property   float           GridOriginVertical = {read = get_GridOriginVertical, write = set_GridOriginVertical};
  __property   long            GridSpaceBetweenHorizontalLines = {read = get_GridSpaceBetweenHorizontalLines, write = set_GridSpaceBetweenHorizontalLines};
  __property   long            GridSpaceBetweenVerticalLines = {read = get_GridSpaceBetweenVerticalLines, write = set_GridSpaceBetweenVerticalLines};
  __property   VARIANT_BOOL    GridOriginFromMargin = {read = get_GridOriginFromMargin, write = set_GridOriginFromMargin};
  __property   VARIANT_BOOL    KerningByAlgorithm = {read = get_KerningByAlgorithm, write = set_KerningByAlgorithm};
  __property   Word_xp::WdJustificationMode JustificationMode = {read = get_JustificationMode, write = set_JustificationMode};
  __property   Word_xp::WdFarEastLineBreakLevel FarEastLineBreakLevel = {read = get_FarEastLineBreakLevel, write = set_FarEastLineBreakLevel};
  __property   BSTR            NoLineBreakBefore = {read = get_NoLineBreakBefore, write = set_NoLineBreakBefore};
  __property   BSTR            NoLineBreakAfter = {read = get_NoLineBreakAfter, write = set_NoLineBreakAfter};
  __property   VARIANT_BOOL    TrackRevisions = {read = get_TrackRevisions, write = set_TrackRevisions};
  __property   VARIANT_BOOL    PrintRevisions = {read = get_PrintRevisions, write = set_PrintRevisions};
  __property   VARIANT_BOOL    ShowRevisions = {read = get_ShowRevisions, write = set_ShowRevisions};
  __property   BSTR            ActiveTheme = {read = get_ActiveTheme};
  __property   BSTR            ActiveThemeDisplayName = {read = get_ActiveThemeDisplayName};
  __property   Word_xp::EmailPtr Email = {read = get_Email};
  __property   Office_xp::ScriptsPtr Scripts = {read = get_Scripts};
  __property   VARIANT_BOOL    LanguageDetected = {read = get_LanguageDetected, write = set_LanguageDetected};
  __property   Word_xp::WdFarEastLineBreakLanguageID FarEastLineBreakLanguage = {read = get_FarEastLineBreakLanguage, write = set_FarEastLineBreakLanguage};
  __property   Word_xp::FramesetPtr Frameset = {read = get_Frameset};
  __property   Office_xp::HTMLProjectPtr HTMLProject = {read = get_HTMLProject};
  __property   Word_xp::WebOptionsPtr WebOptions = {read = get_WebOptions};
  __property   Office_xp::MsoEncoding OpenEncoding = {read = get_OpenEncoding};
  __property   Office_xp::MsoEncoding SaveEncoding = {read = get_SaveEncoding, write = set_SaveEncoding};
  __property   VARIANT_BOOL    OptimizeForWord97 = {read = get_OptimizeForWord97, write = set_OptimizeForWord97};
  __property   VARIANT_BOOL    VBASigned = {read = get_VBASigned};
  __property   Office_xp::MsoEnvelopePtr MailEnvelope = {read = get_MailEnvelope};
  __property   VARIANT_BOOL    DisableFeatures = {read = get_DisableFeatures, write = set_DisableFeatures};
  __property   VARIANT_BOOL    DoNotEmbedSystemFonts = {read = get_DoNotEmbedSystemFonts, write = set_DoNotEmbedSystemFonts};
  __property   Office_xp::SignatureSetPtr Signatures = {read = get_Signatures};
  __property   BSTR            DefaultTargetFrame = {read = get_DefaultTargetFrame, write = set_DefaultTargetFrame};
  __property   Word_xp::HTMLDivisionsPtr HTMLDivisions = {read = get_HTMLDivisions};
  __property   Word_xp::WdDisableFeaturesIntroducedAfter DisableFeaturesIntroducedAfter = {read = get_DisableFeaturesIntroducedAfter, write = set_DisableFeaturesIntroducedAfter};
  __property   VARIANT_BOOL    RemovePersonalInformation = {read = get_RemovePersonalInformation, write = set_RemovePersonalInformation};
  __property   Word_xp::SmartTagsPtr SmartTags = {read = get_SmartTags};
  __property   VARIANT_BOOL    EmbedSmartTags = {read = get_EmbedSmartTags, write = set_EmbedSmartTags};
  __property   VARIANT_BOOL    SmartTagsAsXMLProps = {read = get_SmartTagsAsXMLProps, write = set_SmartTagsAsXMLProps};
  __property   Office_xp::MsoEncoding TextEncoding = {read = get_TextEncoding, write = set_TextEncoding};
  __property   Word_xp::WdLineEndingType TextLineEnding = {read = get_TextLineEnding, write = set_TextLineEnding};
  __property   Word_xp::StyleSheetsPtr StyleSheets = {read = get_StyleSheets};
  __property   BSTR            PasswordEncryptionProvider = {read = get_PasswordEncryptionProvider};
  __property   BSTR            PasswordEncryptionAlgorithm = {read = get_PasswordEncryptionAlgorithm};
  __property   long            PasswordEncryptionKeyLength = {read = get_PasswordEncryptionKeyLength};
  __property   VARIANT_BOOL    PasswordEncryptionFileProperties = {read = get_PasswordEncryptionFileProperties};
  __property   VARIANT_BOOL    EmbedLinguisticData = {read = get_EmbedLinguisticData, write = set_EmbedLinguisticData};
  __property   VARIANT_BOOL    FormattingShowFont = {read = get_FormattingShowFont, write = set_FormattingShowFont};
  __property   VARIANT_BOOL    FormattingShowClear = {read = get_FormattingShowClear, write = set_FormattingShowClear};
  __property   VARIANT_BOOL    FormattingShowParagraph = {read = get_FormattingShowParagraph, write = set_FormattingShowParagraph};
  __property   VARIANT_BOOL    FormattingShowNumbering = {read = get_FormattingShowNumbering, write = set_FormattingShowNumbering};
  __property   Word_xp::WdShowFilter FormattingShowFilter = {read = get_FormattingShowFilter, write = set_FormattingShowFilter};
};
typedef _DocumentDispT<_Document> _DocumentDisp;

typedef TComInterface<Template>  TCOMTemplate;

// *********************************************************************//
// DispIntf:  Template
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096A-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TemplateDispT : public TAutoDriver<Template>
{
public:
  TemplateDispT(){}

  TemplateDispT(Template *pintf)
  {
    TAutoDriver<Template>::Bind(pintf, false);
  }

  TemplateDispT(TemplatePtr pintf)
  {
    TAutoDriver<Template>::Bind(pintf, true);
  }

  TemplateDispT& operator=(Template *pintf)
  {
    TAutoDriver<Template>::Bind(pintf, false);
    return *this;
  }

  TemplateDispT& operator=(TemplatePtr pintf)
  {
    TAutoDriver<Template>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Path(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Path(void);
  HRESULT         __fastcall get_AutoTextEntries(Word_xp::AutoTextEntries** prop/*[out,retval]*/);
  Word_xp::AutoTextEntriesPtr __fastcall get_AutoTextEntries(void);
  HRESULT         __fastcall get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageID(void);
  HRESULT         __fastcall set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_Saved(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Saved(void);
  HRESULT         __fastcall set_Saved(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Type(Word_xp::WdTemplateType* prop/*[out,retval]*/);
  Word_xp::WdTemplateType __fastcall get_Type(void);
  HRESULT         __fastcall get_FullName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_FullName(void);
  HRESULT         __fastcall get_BuiltInDocumentProperties(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_BuiltInDocumentProperties(void);
  HRESULT         __fastcall get_CustomDocumentProperties(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_CustomDocumentProperties(void);
  HRESULT         __fastcall get_ListTemplates(Word_xp::ListTemplates** prop/*[out,retval]*/);
  Word_xp::ListTemplatesPtr __fastcall get_ListTemplates(void);
  HRESULT         __fastcall get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageIDFarEast(void);
  HRESULT         __fastcall set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_VBProject(Vbide_xp::VBProject** prop/*[out,retval]*/);
  Vbide_xp::VBProjectPtr __fastcall get_VBProject(void);
  HRESULT         __fastcall get_KerningByAlgorithm(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_KerningByAlgorithm(void);
  HRESULT         __fastcall set_KerningByAlgorithm(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_JustificationMode(Word_xp::WdJustificationMode* prop/*[out,retval]*/);
  Word_xp::WdJustificationMode __fastcall get_JustificationMode(void);
  HRESULT         __fastcall set_JustificationMode(Word_xp::WdJustificationMode prop/*[in]*/);
  HRESULT         __fastcall get_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel* prop/*[out,retval]*/);
  Word_xp::WdFarEastLineBreakLevel __fastcall get_FarEastLineBreakLevel(void);
  HRESULT         __fastcall set_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel prop/*[in]*/);
  HRESULT         __fastcall get_NoLineBreakBefore(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NoLineBreakBefore(void);
  HRESULT         __fastcall set_NoLineBreakBefore(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_NoLineBreakAfter(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NoLineBreakAfter(void);
  HRESULT         __fastcall set_NoLineBreakAfter(BSTR prop/*[in]*/);
  HRESULT         __fastcall OpenAsDocument(Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocument* __fastcall OpenAsDocument(void);
  HRESULT         __fastcall Save();
  HRESULT         __fastcall get_NoProofing(long* prop/*[out,retval]*/);
  long            __fastcall get_NoProofing(void);
  HRESULT         __fastcall set_NoProofing(long prop/*[in]*/);
  HRESULT         __fastcall get_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID* prop/*[out,retval]*/);
  Word_xp::WdFarEastLineBreakLanguageID __fastcall get_FarEastLineBreakLanguage(void);
  HRESULT         __fastcall set_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID prop/*[in]*/);

  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Path = {read = get_Path};
  __property   Word_xp::AutoTextEntriesPtr AutoTextEntries = {read = get_AutoTextEntries};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   VARIANT_BOOL    Saved = {read = get_Saved, write = set_Saved};
  __property   Word_xp::WdTemplateType Type = {read = get_Type};
  __property   BSTR            FullName = {read = get_FullName};
  __property   LPDISPATCH      BuiltInDocumentProperties = {read = get_BuiltInDocumentProperties};
  __property   LPDISPATCH      CustomDocumentProperties = {read = get_CustomDocumentProperties};
  __property   Word_xp::ListTemplatesPtr ListTemplates = {read = get_ListTemplates};
  __property   Word_xp::WdLanguageID LanguageIDFarEast = {read = get_LanguageIDFarEast, write = set_LanguageIDFarEast};
  __property   Vbide_xp::VBProjectPtr VBProject = {read = get_VBProject};
  __property   VARIANT_BOOL    KerningByAlgorithm = {read = get_KerningByAlgorithm, write = set_KerningByAlgorithm};
  __property   Word_xp::WdJustificationMode JustificationMode = {read = get_JustificationMode, write = set_JustificationMode};
  __property   Word_xp::WdFarEastLineBreakLevel FarEastLineBreakLevel = {read = get_FarEastLineBreakLevel, write = set_FarEastLineBreakLevel};
  __property   BSTR            NoLineBreakBefore = {read = get_NoLineBreakBefore, write = set_NoLineBreakBefore};
  __property   BSTR            NoLineBreakAfter = {read = get_NoLineBreakAfter, write = set_NoLineBreakAfter};
  __property   long            NoProofing = {read = get_NoProofing, write = set_NoProofing};
  __property   Word_xp::WdFarEastLineBreakLanguageID FarEastLineBreakLanguage = {read = get_FarEastLineBreakLanguage, write = set_FarEastLineBreakLanguage};
};
typedef TemplateDispT<Template> TemplateDisp;

typedef TComInterface<Templates>  TCOMTemplates;

// *********************************************************************//
// DispIntf:  Templates
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A2-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TemplatesDispT : public TAutoDriver<Templates>
{
public:
  TemplatesDispT(){}

  TemplatesDispT(Templates *pintf)
  {
    TAutoDriver<Templates>::Bind(pintf, false);
  }

  TemplatesDispT(TemplatesPtr pintf)
  {
    TAutoDriver<Templates>::Bind(pintf, true);
  }

  TemplatesDispT& operator=(Templates *pintf)
  {
    TAutoDriver<Templates>::Bind(pintf, false);
    return *this;
  }

  TemplatesDispT& operator=(TemplatesPtr pintf)
  {
    TAutoDriver<Templates>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Template** prop/*[out,retval]*/);
  Word_xp::Template* __fastcall Item(VARIANT* Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
};
typedef TemplatesDispT<Templates> TemplatesDisp;

typedef TComInterface<RoutingSlip>  TCOMRoutingSlip;

// *********************************************************************//
// DispIntf:  RoutingSlip
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020969-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class RoutingSlipDispT : public TAutoDriver<RoutingSlip>
{
public:
  RoutingSlipDispT(){}

  RoutingSlipDispT(RoutingSlip *pintf)
  {
    TAutoDriver<RoutingSlip>::Bind(pintf, false);
  }

  RoutingSlipDispT(RoutingSlipPtr pintf)
  {
    TAutoDriver<RoutingSlip>::Bind(pintf, true);
  }

  RoutingSlipDispT& operator=(RoutingSlip *pintf)
  {
    TAutoDriver<RoutingSlip>::Bind(pintf, false);
    return *this;
  }

  RoutingSlipDispT& operator=(RoutingSlipPtr pintf)
  {
    TAutoDriver<RoutingSlip>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Subject(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Subject(void);
  HRESULT         __fastcall set_Subject(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Message(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Message(void);
  HRESULT         __fastcall set_Message(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Delivery(Word_xp::WdRoutingSlipDelivery* prop/*[out,retval]*/);
  Word_xp::WdRoutingSlipDelivery __fastcall get_Delivery(void);
  HRESULT         __fastcall set_Delivery(Word_xp::WdRoutingSlipDelivery prop/*[in]*/);
  HRESULT         __fastcall get_TrackStatus(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_TrackStatus(void);
  HRESULT         __fastcall set_TrackStatus(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Protect(Word_xp::WdProtectionType* prop/*[out,retval]*/);
  Word_xp::WdProtectionType __fastcall get_Protect(void);
  HRESULT         __fastcall set_Protect(Word_xp::WdProtectionType prop/*[in]*/);
  HRESULT         __fastcall get_ReturnWhenDone(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ReturnWhenDone(void);
  HRESULT         __fastcall set_ReturnWhenDone(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Status(Word_xp::WdRoutingSlipStatus* prop/*[out,retval]*/);
  Word_xp::WdRoutingSlipStatus __fastcall get_Status(void);
  HRESULT         __fastcall get_Recipients(VARIANT* Index/*[in,opt]*/, 
                                            VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Recipients(VARIANT* Index/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Reset();
  HRESULT         __fastcall AddRecipient(BSTR Recipient/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Subject = {read = get_Subject, write = set_Subject};
  __property   BSTR            Message = {read = get_Message, write = set_Message};
  __property   Word_xp::WdRoutingSlipDelivery Delivery = {read = get_Delivery, write = set_Delivery};
  __property   VARIANT_BOOL    TrackStatus = {read = get_TrackStatus, write = set_TrackStatus};
  __property   Word_xp::WdProtectionType Protect = {read = get_Protect, write = set_Protect};
  __property   VARIANT_BOOL    ReturnWhenDone = {read = get_ReturnWhenDone, write = set_ReturnWhenDone};
  __property   Word_xp::WdRoutingSlipStatus Status = {read = get_Status};
};
typedef RoutingSlipDispT<RoutingSlip> RoutingSlipDisp;

typedef TComInterface<Bookmark>  TCOMBookmark;

// *********************************************************************//
// DispIntf:  Bookmark
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020968-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class BookmarkDispT : public TAutoDriver<Bookmark>
{
public:
  BookmarkDispT(){}

  BookmarkDispT(Bookmark *pintf)
  {
    TAutoDriver<Bookmark>::Bind(pintf, false);
  }

  BookmarkDispT(BookmarkPtr pintf)
  {
    TAutoDriver<Bookmark>::Bind(pintf, true);
  }

  BookmarkDispT& operator=(Bookmark *pintf)
  {
    TAutoDriver<Bookmark>::Bind(pintf, false);
    return *this;
  }

  BookmarkDispT& operator=(BookmarkPtr pintf)
  {
    TAutoDriver<Bookmark>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Empty(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Empty(void);
  HRESULT         __fastcall get_Start(long* prop/*[out,retval]*/);
  long            __fastcall get_Start(void);
  HRESULT         __fastcall set_Start(long prop/*[in]*/);
  HRESULT         __fastcall get_End(long* prop/*[out,retval]*/);
  long            __fastcall get_End(void);
  HRESULT         __fastcall set_End(long prop/*[in]*/);
  HRESULT         __fastcall get_Column(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Column(void);
  HRESULT         __fastcall get_StoryType(Word_xp::WdStoryType* prop/*[out,retval]*/);
  Word_xp::WdStoryType __fastcall get_StoryType(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Copy(BSTR Name/*[in]*/, Word_xp::Bookmark** prop/*[out,retval]*/);
  Word_xp::Bookmark* __fastcall Copy(BSTR Name/*[in]*/);

  __property   BSTR            Name = {read = get_Name};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   VARIANT_BOOL    Empty = {read = get_Empty};
  __property   long            Start = {read = get_Start, write = set_Start};
  __property   long            End = {read = get_End, write = set_End};
  __property   VARIANT_BOOL    Column = {read = get_Column};
  __property   Word_xp::WdStoryType StoryType = {read = get_StoryType};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef BookmarkDispT<Bookmark> BookmarkDisp;

typedef TComInterface<Bookmarks>  TCOMBookmarks;

// *********************************************************************//
// DispIntf:  Bookmarks
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020967-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class BookmarksDispT : public TAutoDriver<Bookmarks>
{
public:
  BookmarksDispT(){}

  BookmarksDispT(Bookmarks *pintf)
  {
    TAutoDriver<Bookmarks>::Bind(pintf, false);
  }

  BookmarksDispT(BookmarksPtr pintf)
  {
    TAutoDriver<Bookmarks>::Bind(pintf, true);
  }

  BookmarksDispT& operator=(Bookmarks *pintf)
  {
    TAutoDriver<Bookmarks>::Bind(pintf, false);
    return *this;
  }

  BookmarksDispT& operator=(BookmarksPtr pintf)
  {
    TAutoDriver<Bookmarks>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_DefaultSorting(Word_xp::WdBookmarkSortBy* prop/*[out,retval]*/);
  Word_xp::WdBookmarkSortBy __fastcall get_DefaultSorting(void);
  HRESULT         __fastcall set_DefaultSorting(Word_xp::WdBookmarkSortBy prop/*[in]*/);
  HRESULT         __fastcall get_ShowHidden(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowHidden(void);
  HRESULT         __fastcall set_ShowHidden(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Bookmark** prop/*[out,retval]*/);
  Word_xp::Bookmark* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                                 Word_xp::Bookmark** prop/*[out,retval]*/);
  Word_xp::Bookmark* __fastcall Add(BSTR Name/*[in]*/, VARIANT* Range/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Exists(BSTR Name/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Exists(BSTR Name/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdBookmarkSortBy DefaultSorting = {read = get_DefaultSorting, write = set_DefaultSorting};
  __property   VARIANT_BOOL    ShowHidden = {read = get_ShowHidden, write = set_ShowHidden};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef BookmarksDispT<Bookmarks> BookmarksDisp;

typedef TComInterface<Variable>  TCOMVariable;

// *********************************************************************//
// DispIntf:  Variable
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020966-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class VariableDispT : public TAutoDriver<Variable>
{
public:
  VariableDispT(){}

  VariableDispT(Variable *pintf)
  {
    TAutoDriver<Variable>::Bind(pintf, false);
  }

  VariableDispT(VariablePtr pintf)
  {
    TAutoDriver<Variable>::Bind(pintf, true);
  }

  VariableDispT& operator=(Variable *pintf)
  {
    TAutoDriver<Variable>::Bind(pintf, false);
    return *this;
  }

  VariableDispT& operator=(VariablePtr pintf)
  {
    TAutoDriver<Variable>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Value(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Value(void);
  HRESULT         __fastcall set_Value(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Value = {read = get_Value, write = set_Value};
  __property   long            Index = {read = get_Index};
};
typedef VariableDispT<Variable> VariableDisp;

typedef TComInterface<Variables>  TCOMVariables;

// *********************************************************************//
// DispIntf:  Variables
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020965-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class VariablesDispT : public TAutoDriver<Variables>
{
public:
  VariablesDispT(){}

  VariablesDispT(Variables *pintf)
  {
    TAutoDriver<Variables>::Bind(pintf, false);
  }

  VariablesDispT(VariablesPtr pintf)
  {
    TAutoDriver<Variables>::Bind(pintf, true);
  }

  VariablesDispT& operator=(Variables *pintf)
  {
    TAutoDriver<Variables>::Bind(pintf, false);
    return *this;
  }

  VariablesDispT& operator=(VariablesPtr pintf)
  {
    TAutoDriver<Variables>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Variable** prop/*[out,retval]*/);
  Word_xp::Variable* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, VARIANT* Value/*[in,opt]*/, 
                                 Word_xp::Variable** prop/*[out,retval]*/);
  Word_xp::Variable* __fastcall Add(BSTR Name/*[in]*/, VARIANT* Value/*[in,opt]*/= TNoParam());

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef VariablesDispT<Variables> VariablesDisp;

typedef TComInterface<RecentFile>  TCOMRecentFile;

// *********************************************************************//
// DispIntf:  RecentFile
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020964-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class RecentFileDispT : public TAutoDriver<RecentFile>
{
public:
  RecentFileDispT(){}

  RecentFileDispT(RecentFile *pintf)
  {
    TAutoDriver<RecentFile>::Bind(pintf, false);
  }

  RecentFileDispT(RecentFilePtr pintf)
  {
    TAutoDriver<RecentFile>::Bind(pintf, true);
  }

  RecentFileDispT& operator=(RecentFile *pintf)
  {
    TAutoDriver<RecentFile>::Bind(pintf, false);
    return *this;
  }

  RecentFileDispT& operator=(RecentFilePtr pintf)
  {
    TAutoDriver<RecentFile>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_ReadOnly(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ReadOnly(void);
  HRESULT         __fastcall set_ReadOnly(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Path(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Path(void);
  HRESULT         __fastcall Open(Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocument* __fastcall Open(void);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   long            Index = {read = get_Index};
  __property   VARIANT_BOOL    ReadOnly = {read = get_ReadOnly, write = set_ReadOnly};
  __property   BSTR            Path = {read = get_Path};
};
typedef RecentFileDispT<RecentFile> RecentFileDisp;

typedef TComInterface<RecentFiles>  TCOMRecentFiles;

// *********************************************************************//
// DispIntf:  RecentFiles
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020963-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class RecentFilesDispT : public TAutoDriver<RecentFiles>
{
public:
  RecentFilesDispT(){}

  RecentFilesDispT(RecentFiles *pintf)
  {
    TAutoDriver<RecentFiles>::Bind(pintf, false);
  }

  RecentFilesDispT(RecentFilesPtr pintf)
  {
    TAutoDriver<RecentFiles>::Bind(pintf, true);
  }

  RecentFilesDispT& operator=(RecentFiles *pintf)
  {
    TAutoDriver<RecentFiles>::Bind(pintf, false);
    return *this;
  }

  RecentFilesDispT& operator=(RecentFilesPtr pintf)
  {
    TAutoDriver<RecentFiles>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Maximum(long* prop/*[out,retval]*/);
  long            __fastcall get_Maximum(void);
  HRESULT         __fastcall set_Maximum(long prop/*[in]*/);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::RecentFile** prop/*[out,retval]*/);
  Word_xp::RecentFile* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(VARIANT* Document/*[in]*/, VARIANT* ReadOnly/*[in,opt]*/, 
                                 Word_xp::RecentFile** prop/*[out,retval]*/);
  Word_xp::RecentFile* __fastcall Add(VARIANT* Document/*[in]*/, 
                                      VARIANT* ReadOnly/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   long            Maximum = {read = get_Maximum, write = set_Maximum};
};
typedef RecentFilesDispT<RecentFiles> RecentFilesDisp;

typedef TComInterface<WINDOW>  TCOMWINDOW;

// *********************************************************************//
// DispIntf:  Window
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020962-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class WINDOWDispT : public TAutoDriver<WINDOW>
{
public:
  WINDOWDispT(){}

  WINDOWDispT(WINDOW *pintf)
  {
    TAutoDriver<WINDOW>::Bind(pintf, false);
  }

  WINDOWDispT(WINDOWPtr pintf)
  {
    TAutoDriver<WINDOW>::Bind(pintf, true);
  }

  WINDOWDispT& operator=(WINDOW *pintf)
  {
    TAutoDriver<WINDOW>::Bind(pintf, false);
    return *this;
  }

  WINDOWDispT& operator=(WINDOWPtr pintf)
  {
    TAutoDriver<WINDOW>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_ActivePane(Word_xp::Pane** prop/*[out,retval]*/);
  Word_xp::PanePtr __fastcall get_ActivePane(void);
  HRESULT         __fastcall get_Document(Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocumentPtr __fastcall get_Document(void);
  HRESULT         __fastcall get_Panes(Word_xp::Panes** prop/*[out,retval]*/);
  Word_xp::PanesPtr __fastcall get_Panes(void);
  HRESULT         __fastcall get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/);
  Word_xp::WordSelectionPtr __fastcall get_Selection(void);
  HRESULT         __fastcall get_Left(long* prop/*[out,retval]*/);
  long            __fastcall get_Left(void);
  HRESULT         __fastcall set_Left(long prop/*[in]*/);
  HRESULT         __fastcall get_Top(long* prop/*[out,retval]*/);
  long            __fastcall get_Top(void);
  HRESULT         __fastcall set_Top(long prop/*[in]*/);
  HRESULT         __fastcall get_Width(long* prop/*[out,retval]*/);
  long            __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(long prop/*[in]*/);
  HRESULT         __fastcall get_Height(long* prop/*[out,retval]*/);
  long            __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(long prop/*[in]*/);
  HRESULT         __fastcall get_Split(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Split(void);
  HRESULT         __fastcall set_Split(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SplitVertical(long* prop/*[out,retval]*/);
  long            __fastcall get_SplitVertical(void);
  HRESULT         __fastcall set_SplitVertical(long prop/*[in]*/);
  HRESULT         __fastcall get_Caption(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Caption(void);
  HRESULT         __fastcall set_Caption(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_WindowState(Word_xp::WdWindowState* prop/*[out,retval]*/);
  Word_xp::WdWindowState __fastcall get_WindowState(void);
  HRESULT         __fastcall set_WindowState(Word_xp::WdWindowState prop/*[in]*/);
  HRESULT         __fastcall get_DisplayRulers(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayRulers(void);
  HRESULT         __fastcall set_DisplayRulers(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DisplayVerticalRuler(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayVerticalRuler(void);
  HRESULT         __fastcall set_DisplayVerticalRuler(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_View(Word_xp::View** prop/*[out,retval]*/);
  Word_xp::ViewPtr __fastcall get_View(void);
  HRESULT         __fastcall get_Type(Word_xp::WdWindowType* prop/*[out,retval]*/);
  Word_xp::WdWindowType __fastcall get_Type(void);
  HRESULT         __fastcall get_Next(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOWPtr __fastcall get_Next(void);
  HRESULT         __fastcall get_Previous(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOWPtr __fastcall get_Previous(void);
  HRESULT         __fastcall get_WindowNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_WindowNumber(void);
  HRESULT         __fastcall get_DisplayVerticalScrollBar(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayVerticalScrollBar(void);
  HRESULT         __fastcall set_DisplayVerticalScrollBar(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DisplayHorizontalScrollBar(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayHorizontalScrollBar(void);
  HRESULT         __fastcall set_DisplayHorizontalScrollBar(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_StyleAreaWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_StyleAreaWidth(void);
  HRESULT         __fastcall set_StyleAreaWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_DisplayScreenTips(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayScreenTips(void);
  HRESULT         __fastcall set_DisplayScreenTips(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HorizontalPercentScrolled(long* prop/*[out,retval]*/);
  long            __fastcall get_HorizontalPercentScrolled(void);
  HRESULT         __fastcall set_HorizontalPercentScrolled(long prop/*[in]*/);
  HRESULT         __fastcall get_VerticalPercentScrolled(long* prop/*[out,retval]*/);
  long            __fastcall get_VerticalPercentScrolled(void);
  HRESULT         __fastcall set_VerticalPercentScrolled(long prop/*[in]*/);
  HRESULT         __fastcall get_DocumentMap(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DocumentMap(void);
  HRESULT         __fastcall set_DocumentMap(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Active(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Active(void);
  HRESULT         __fastcall get_DocumentMapPercentWidth(long* prop/*[out,retval]*/);
  long            __fastcall get_DocumentMapPercentWidth(void);
  HRESULT         __fastcall set_DocumentMapPercentWidth(long prop/*[in]*/);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_IMEMode(Word_xp::WdIMEMode* prop/*[out,retval]*/);
  Word_xp::WdIMEMode __fastcall get_IMEMode(void);
  HRESULT         __fastcall set_IMEMode(Word_xp::WdIMEMode prop/*[in]*/);
  HRESULT         __fastcall Activate();
  HRESULT         __fastcall Close(VARIANT* SaveChanges/*[in,opt]*/= TNoParam(), 
                                   VARIANT* RouteDocument/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall LargeScroll(VARIANT* Down/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Up/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ToRight/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ToLeft/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SmallScroll(VARIANT* Down/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Up/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ToRight/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ToLeft/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOW* __fastcall NewWindow(void);
  HRESULT         __fastcall PrintOutOld(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                         VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                         VARIANT* From/*[in,opt]*/= TNoParam(), 
                                         VARIANT* To/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                         VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PageScroll(VARIANT* Down/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Up/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SetFocus();
  HRESULT         __fastcall RangeFromPoint(long x/*[in]*/, long y/*[in]*/, 
                                            LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall RangeFromPoint(long x/*[in]*/, long y/*[in]*/);
  HRESULT         __fastcall ScrollIntoView(LPDISPATCH obj/*[in]*/, 
                                            VARIANT* Start/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall GetPoint(long* ScreenPixelsLeft/*[out]*/, 
                                      long* ScreenPixelsTop/*[out]*/, 
                                      long* ScreenPixelsWidth/*[out]*/, 
                                      long* ScreenPixelsHeight/*[out]*/, LPDISPATCH obj/*[in]*/);
  HRESULT         __fastcall PrintOut2000(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                          VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* From/*[in,opt]*/= TNoParam(), 
                                          VARIANT* To/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_UsableWidth(long* prop/*[out,retval]*/);
  long            __fastcall get_UsableWidth(void);
  HRESULT         __fastcall get_UsableHeight(long* prop/*[out,retval]*/);
  long            __fastcall get_UsableHeight(void);
  HRESULT         __fastcall get_EnvelopeVisible(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EnvelopeVisible(void);
  HRESULT         __fastcall set_EnvelopeVisible(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DisplayRightRuler(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayRightRuler(void);
  HRESULT         __fastcall set_DisplayRightRuler(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DisplayLeftScrollBar(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayLeftScrollBar(void);
  HRESULT         __fastcall set_DisplayLeftScrollBar(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Visible(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall PrintOut(VARIANT* Background/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Append/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                      VARIANT* OutputFileName/*[in,opt]*/= TNoParam(), 
                                      VARIANT* From/*[in,opt]*/= TNoParam(), 
                                      VARIANT* To/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Item/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Copies/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Pages/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PageType/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintToFile/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Collate/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ActivePrinterMacGX/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ManualDuplexPrint/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomColumn/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomRow/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomPaperWidth/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintZoomPaperHeight/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::PanePtr ActivePane = {read = get_ActivePane};
  __property   Word_xp::WordDocumentPtr Document = {read = get_Document};
  __property   Word_xp::PanesPtr Panes = {read = get_Panes};
  __property   Word_xp::WordSelectionPtr Selection = {read = get_Selection};
  __property   long            Left = {read = get_Left, write = set_Left};
  __property   long            Top = {read = get_Top, write = set_Top};
  __property   long            Width = {read = get_Width, write = set_Width};
  __property   long            Height = {read = get_Height, write = set_Height};
  __property   VARIANT_BOOL    Split = {read = get_Split, write = set_Split};
  __property   long            SplitVertical = {read = get_SplitVertical, write = set_SplitVertical};
  __property   BSTR            Caption = {read = get_Caption, write = set_Caption};
  __property   Word_xp::WdWindowState WindowState = {read = get_WindowState, write = set_WindowState};
  __property   VARIANT_BOOL    DisplayRulers = {read = get_DisplayRulers, write = set_DisplayRulers};
  __property   VARIANT_BOOL    DisplayVerticalRuler = {read = get_DisplayVerticalRuler, write = set_DisplayVerticalRuler};
  __property   Word_xp::ViewPtr View = {read = get_View};
  __property   Word_xp::WdWindowType Type = {read = get_Type};
  __property   Word_xp::WINDOWPtr Next = {read = get_Next};
  __property   Word_xp::WINDOWPtr Previous = {read = get_Previous};
  __property   long            WindowNumber = {read = get_WindowNumber};
  __property   VARIANT_BOOL    DisplayVerticalScrollBar = {read = get_DisplayVerticalScrollBar, write = set_DisplayVerticalScrollBar};
  __property   VARIANT_BOOL    DisplayHorizontalScrollBar = {read = get_DisplayHorizontalScrollBar, write = set_DisplayHorizontalScrollBar};
  __property   float           StyleAreaWidth = {read = get_StyleAreaWidth, write = set_StyleAreaWidth};
  __property   VARIANT_BOOL    DisplayScreenTips = {read = get_DisplayScreenTips, write = set_DisplayScreenTips};
  __property   long            HorizontalPercentScrolled = {read = get_HorizontalPercentScrolled, write = set_HorizontalPercentScrolled};
  __property   long            VerticalPercentScrolled = {read = get_VerticalPercentScrolled, write = set_VerticalPercentScrolled};
  __property   VARIANT_BOOL    DocumentMap = {read = get_DocumentMap, write = set_DocumentMap};
  __property   VARIANT_BOOL    Active = {read = get_Active};
  __property   long            DocumentMapPercentWidth = {read = get_DocumentMapPercentWidth, write = set_DocumentMapPercentWidth};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::WdIMEMode IMEMode = {read = get_IMEMode, write = set_IMEMode};
  __property   long            UsableWidth = {read = get_UsableWidth};
  __property   long            UsableHeight = {read = get_UsableHeight};
  __property   VARIANT_BOOL    EnvelopeVisible = {read = get_EnvelopeVisible, write = set_EnvelopeVisible};
  __property   VARIANT_BOOL    DisplayRightRuler = {read = get_DisplayRightRuler, write = set_DisplayRightRuler};
  __property   VARIANT_BOOL    DisplayLeftScrollBar = {read = get_DisplayLeftScrollBar, write = set_DisplayLeftScrollBar};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};
};
typedef WINDOWDispT<WINDOW> WINDOWDisp;

typedef TComInterface<Windows>  TCOMWindows;

// *********************************************************************//
// DispIntf:  Windows
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020961-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class WindowsDispT : public TAutoDriver<Windows>
{
public:
  WindowsDispT(){}

  WindowsDispT(Windows *pintf)
  {
    TAutoDriver<Windows>::Bind(pintf, false);
  }

  WindowsDispT(WindowsPtr pintf)
  {
    TAutoDriver<Windows>::Bind(pintf, true);
  }

  WindowsDispT& operator=(Windows *pintf)
  {
    TAutoDriver<Windows>::Bind(pintf, false);
    return *this;
  }

  WindowsDispT& operator=(WindowsPtr pintf)
  {
    TAutoDriver<Windows>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOW* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(VARIANT* Window/*[in,opt]*/, Word_xp::WINDOW** prop/*[out,retval]*/);
  Word_xp::WINDOW* __fastcall Add(VARIANT* Window/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Arrange(VARIANT* ArrangeStyle/*[in,opt]*/= TNoParam());

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef WindowsDispT<Windows> WindowsDisp;

typedef TComInterface<Pane>  TCOMPane;

// *********************************************************************//
// DispIntf:  Pane
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020960-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class PaneDispT : public TAutoDriver<Pane>
{
public:
  PaneDispT(){}

  PaneDispT(Pane *pintf)
  {
    TAutoDriver<Pane>::Bind(pintf, false);
  }

  PaneDispT(PanePtr pintf)
  {
    TAutoDriver<Pane>::Bind(pintf, true);
  }

  PaneDispT& operator=(Pane *pintf)
  {
    TAutoDriver<Pane>::Bind(pintf, false);
    return *this;
  }

  PaneDispT& operator=(PanePtr pintf)
  {
    TAutoDriver<Pane>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Document(Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocumentPtr __fastcall get_Document(void);
  HRESULT         __fastcall get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/);
  Word_xp::WordSelectionPtr __fastcall get_Selection(void);
  HRESULT         __fastcall get_DisplayRulers(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayRulers(void);
  HRESULT         __fastcall set_DisplayRulers(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DisplayVerticalRuler(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayVerticalRuler(void);
  HRESULT         __fastcall set_DisplayVerticalRuler(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Zooms(Word_xp::Zooms** prop/*[out,retval]*/);
  Word_xp::ZoomsPtr __fastcall get_Zooms(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_View(Word_xp::View** prop/*[out,retval]*/);
  Word_xp::ViewPtr __fastcall get_View(void);
  HRESULT         __fastcall get_Next(Word_xp::Pane** prop/*[out,retval]*/);
  Word_xp::PanePtr __fastcall get_Next(void);
  HRESULT         __fastcall get_Previous(Word_xp::Pane** prop/*[out,retval]*/);
  Word_xp::PanePtr __fastcall get_Previous(void);
  HRESULT         __fastcall get_HorizontalPercentScrolled(long* prop/*[out,retval]*/);
  long            __fastcall get_HorizontalPercentScrolled(void);
  HRESULT         __fastcall set_HorizontalPercentScrolled(long prop/*[in]*/);
  HRESULT         __fastcall get_VerticalPercentScrolled(long* prop/*[out,retval]*/);
  long            __fastcall get_VerticalPercentScrolled(void);
  HRESULT         __fastcall set_VerticalPercentScrolled(long prop/*[in]*/);
  HRESULT         __fastcall get_MinimumFontSize(long* prop/*[out,retval]*/);
  long            __fastcall get_MinimumFontSize(void);
  HRESULT         __fastcall set_MinimumFontSize(long prop/*[in]*/);
  HRESULT         __fastcall get_BrowseToWindow(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_BrowseToWindow(void);
  HRESULT         __fastcall set_BrowseToWindow(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_BrowseWidth(long* prop/*[out,retval]*/);
  long            __fastcall get_BrowseWidth(void);
  HRESULT         __fastcall Activate();
  HRESULT         __fastcall Close();
  HRESULT         __fastcall LargeScroll(VARIANT* Down/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Up/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ToRight/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ToLeft/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SmallScroll(VARIANT* Down/*[in,opt]*/= TNoParam(), 
                                         VARIANT* Up/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ToRight/*[in,opt]*/= TNoParam(), 
                                         VARIANT* ToLeft/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AutoScroll(long Velocity/*[in]*/);
  HRESULT         __fastcall PageScroll(VARIANT* Down/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Up/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall NewFrameset();
  HRESULT         __fastcall TOCInFrameset();
  HRESULT         __fastcall get_Frameset(Word_xp::Frameset** prop/*[out,retval]*/);
  Word_xp::FramesetPtr __fastcall get_Frameset(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordDocumentPtr Document = {read = get_Document};
  __property   Word_xp::WordSelectionPtr Selection = {read = get_Selection};
  __property   VARIANT_BOOL    DisplayRulers = {read = get_DisplayRulers, write = set_DisplayRulers};
  __property   VARIANT_BOOL    DisplayVerticalRuler = {read = get_DisplayVerticalRuler, write = set_DisplayVerticalRuler};
  __property   Word_xp::ZoomsPtr Zooms = {read = get_Zooms};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::ViewPtr View = {read = get_View};
  __property   Word_xp::PanePtr Next = {read = get_Next};
  __property   Word_xp::PanePtr Previous = {read = get_Previous};
  __property   long            HorizontalPercentScrolled = {read = get_HorizontalPercentScrolled, write = set_HorizontalPercentScrolled};
  __property   long            VerticalPercentScrolled = {read = get_VerticalPercentScrolled, write = set_VerticalPercentScrolled};
  __property   long            MinimumFontSize = {read = get_MinimumFontSize, write = set_MinimumFontSize};
  __property   VARIANT_BOOL    BrowseToWindow = {read = get_BrowseToWindow, write = set_BrowseToWindow};
  __property   long            BrowseWidth = {read = get_BrowseWidth};
  __property   Word_xp::FramesetPtr Frameset = {read = get_Frameset};
};
typedef PaneDispT<Pane> PaneDisp;

typedef TComInterface<Panes>  TCOMPanes;

// *********************************************************************//
// DispIntf:  Panes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095F-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class PanesDispT : public TAutoDriver<Panes>
{
public:
  PanesDispT(){}

  PanesDispT(Panes *pintf)
  {
    TAutoDriver<Panes>::Bind(pintf, false);
  }

  PanesDispT(PanesPtr pintf)
  {
    TAutoDriver<Panes>::Bind(pintf, true);
  }

  PanesDispT& operator=(Panes *pintf)
  {
    TAutoDriver<Panes>::Bind(pintf, false);
    return *this;
  }

  PanesDispT& operator=(PanesPtr pintf)
  {
    TAutoDriver<Panes>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Pane** prop/*[out,retval]*/);
  Word_xp::Pane*  __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(VARIANT* SplitVertical/*[in,opt]*/, 
                                 Word_xp::Pane** prop/*[out,retval]*/);
  Word_xp::Pane*  __fastcall Add(VARIANT* SplitVertical/*[in,opt]*/= TNoParam());

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef PanesDispT<Panes> PanesDisp;

typedef TComInterface<WordRange>  TCOMWordRange;

// *********************************************************************//
// DispIntf:  Range
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095E-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class WordRangeDispT : public TAutoDriver<WordRange>
{
public:
  WordRangeDispT(){}

  WordRangeDispT(WordRange *pintf)
  {
    TAutoDriver<WordRange>::Bind(pintf, false);
  }

  WordRangeDispT(WordRangePtr pintf)
  {
    TAutoDriver<WordRange>::Bind(pintf, true);
  }

  WordRangeDispT& operator=(WordRange *pintf)
  {
    TAutoDriver<WordRange>::Bind(pintf, false);
    return *this;
  }

  WordRangeDispT& operator=(WordRangePtr pintf)
  {
    TAutoDriver<WordRange>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Text(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Text(void);
  HRESULT         __fastcall set_Text(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_FormattedText(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_FormattedText(void);
  HRESULT         __fastcall set_FormattedText(Word_xp::WordRangePtr prop/*[in]*/);
  HRESULT         __fastcall get_Start(long* prop/*[out,retval]*/);
  long            __fastcall get_Start(void);
  HRESULT         __fastcall set_Start(long prop/*[in]*/);
  HRESULT         __fastcall get_End(long* prop/*[out,retval]*/);
  long            __fastcall get_End(void);
  HRESULT         __fastcall set_End(long prop/*[in]*/);
  HRESULT         __fastcall get_Font(Word_xp::WordFont** prop/*[out,retval]*/);
  Word_xp::WordFontPtr __fastcall get_Font(void);
  HRESULT         __fastcall set_Font(Word_xp::WordFontPtr prop/*[in]*/);
  HRESULT         __fastcall get_Duplicate(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Duplicate(void);
  HRESULT         __fastcall get_StoryType(Word_xp::WdStoryType* prop/*[out,retval]*/);
  Word_xp::WdStoryType __fastcall get_StoryType(void);
  HRESULT         __fastcall get_Tables(Word_xp::Tables** prop/*[out,retval]*/);
  Word_xp::TablesPtr __fastcall get_Tables(void);
  HRESULT         __fastcall get_Words(Word_xp::Words** prop/*[out,retval]*/);
  Word_xp::WordsPtr __fastcall get_Words(void);
  HRESULT         __fastcall get_Sentences(Word_xp::Sentences** prop/*[out,retval]*/);
  Word_xp::SentencesPtr __fastcall get_Sentences(void);
  HRESULT         __fastcall get_Characters(Word_xp::Characters** prop/*[out,retval]*/);
  Word_xp::CharactersPtr __fastcall get_Characters(void);
  HRESULT         __fastcall get_Footnotes(Word_xp::Footnotes** prop/*[out,retval]*/);
  Word_xp::FootnotesPtr __fastcall get_Footnotes(void);
  HRESULT         __fastcall get_Endnotes(Word_xp::Endnotes** prop/*[out,retval]*/);
  Word_xp::EndnotesPtr __fastcall get_Endnotes(void);
  HRESULT         __fastcall get_Comments(Word_xp::Comments** prop/*[out,retval]*/);
  Word_xp::CommentsPtr __fastcall get_Comments(void);
  HRESULT         __fastcall get_Cells(Word_xp::Cells** prop/*[out,retval]*/);
  Word_xp::CellsPtr __fastcall get_Cells(void);
  HRESULT         __fastcall get_Sections(Word_xp::Sections** prop/*[out,retval]*/);
  Word_xp::SectionsPtr __fastcall get_Sections(void);
  HRESULT         __fastcall get_Paragraphs(Word_xp::Paragraphs** prop/*[out,retval]*/);
  Word_xp::ParagraphsPtr __fastcall get_Paragraphs(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_TextRetrievalMode(Word_xp::TextRetrievalMode** prop/*[out,retval]*/);
  Word_xp::TextRetrievalModePtr __fastcall get_TextRetrievalMode(void);
  HRESULT         __fastcall set_TextRetrievalMode(Word_xp::TextRetrievalModePtr prop/*[in]*/);
  HRESULT         __fastcall get_Fields(Word_xp::Fields** prop/*[out,retval]*/);
  Word_xp::FieldsPtr __fastcall get_Fields(void);
  HRESULT         __fastcall get_FormFields(Word_xp::FormFields** prop/*[out,retval]*/);
  Word_xp::FormFieldsPtr __fastcall get_FormFields(void);
  HRESULT         __fastcall get_Frames(Word_xp::Frames** prop/*[out,retval]*/);
  Word_xp::FramesPtr __fastcall get_Frames(void);
  HRESULT         __fastcall get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/);
  Word_xp::WordParagraphFormatPtr __fastcall get_ParagraphFormat(void);
  HRESULT         __fastcall set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/);
  HRESULT         __fastcall get_ListFormat(Word_xp::ListFormat** prop/*[out,retval]*/);
  Word_xp::ListFormatPtr __fastcall get_ListFormat(void);
  HRESULT         __fastcall get_Bookmarks(Word_xp::Bookmarks** prop/*[out,retval]*/);
  Word_xp::BookmarksPtr __fastcall get_Bookmarks(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Bold(long* prop/*[out,retval]*/);
  long            __fastcall get_Bold(void);
  HRESULT         __fastcall set_Bold(long prop/*[in]*/);
  HRESULT         __fastcall get_Italic(long* prop/*[out,retval]*/);
  long            __fastcall get_Italic(void);
  HRESULT         __fastcall set_Italic(long prop/*[in]*/);
  HRESULT         __fastcall get_Underline(Word_xp::WdUnderline* prop/*[out,retval]*/);
  Word_xp::WdUnderline __fastcall get_Underline(void);
  HRESULT         __fastcall set_Underline(Word_xp::WdUnderline prop/*[in]*/);
  HRESULT         __fastcall get_EmphasisMark(Word_xp::WdEmphasisMark* prop/*[out,retval]*/);
  Word_xp::WdEmphasisMark __fastcall get_EmphasisMark(void);
  HRESULT         __fastcall set_EmphasisMark(Word_xp::WdEmphasisMark prop/*[in]*/);
  HRESULT         __fastcall get_DisableCharacterSpaceGrid(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisableCharacterSpaceGrid(void);
  HRESULT         __fastcall set_DisableCharacterSpaceGrid(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Revisions(Word_xp::Revisions** prop/*[out,retval]*/);
  Word_xp::RevisionsPtr __fastcall get_Revisions(void);
  HRESULT         __fastcall get_Style(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Style(void);
  HRESULT         __fastcall set_Style(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_StoryLength(long* prop/*[out,retval]*/);
  long            __fastcall get_StoryLength(void);
  HRESULT         __fastcall get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageID(void);
  HRESULT         __fastcall set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_SynonymInfo(Word_xp::SynonymInfo** prop/*[out,retval]*/);
  Word_xp::SynonymInfoPtr __fastcall get_SynonymInfo(void);
  HRESULT         __fastcall get_Hyperlinks(Word_xp::Hyperlinks** prop/*[out,retval]*/);
  Word_xp::HyperlinksPtr __fastcall get_Hyperlinks(void);
  HRESULT         __fastcall get_ListParagraphs(Word_xp::ListParagraphs** prop/*[out,retval]*/);
  Word_xp::ListParagraphsPtr __fastcall get_ListParagraphs(void);
  HRESULT         __fastcall get_Subdocuments(Word_xp::Subdocuments** prop/*[out,retval]*/);
  Word_xp::SubdocumentsPtr __fastcall get_Subdocuments(void);
  HRESULT         __fastcall get_GrammarChecked(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_GrammarChecked(void);
  HRESULT         __fastcall set_GrammarChecked(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SpellingChecked(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SpellingChecked(void);
  HRESULT         __fastcall set_SpellingChecked(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HighlightColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_HighlightColorIndex(void);
  HRESULT         __fastcall set_HighlightColorIndex(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_Columns(Word_xp::Columns** prop/*[out,retval]*/);
  Word_xp::ColumnsPtr __fastcall get_Columns(void);
  HRESULT         __fastcall get_Rows(Word_xp::Rows** prop/*[out,retval]*/);
  Word_xp::RowsPtr __fastcall get_Rows(void);
  HRESULT         __fastcall get_CanEdit(long* prop/*[out,retval]*/);
  long            __fastcall get_CanEdit(void);
  HRESULT         __fastcall get_CanPaste(long* prop/*[out,retval]*/);
  long            __fastcall get_CanPaste(void);
  HRESULT         __fastcall get_IsEndOfRowMark(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsEndOfRowMark(void);
  HRESULT         __fastcall get_BookmarkID(long* prop/*[out,retval]*/);
  long            __fastcall get_BookmarkID(void);
  HRESULT         __fastcall get_PreviousBookmarkID(long* prop/*[out,retval]*/);
  long            __fastcall get_PreviousBookmarkID(void);
  HRESULT         __fastcall get_Find(Word_xp::Find** prop/*[out,retval]*/);
  Word_xp::FindPtr __fastcall get_Find(void);
  HRESULT         __fastcall get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/);
  Word_xp::PageSetupPtr __fastcall get_PageSetup(void);
  HRESULT         __fastcall set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/);
  HRESULT         __fastcall get_ShapeRange(Word_xp::ShapeRange** prop/*[out,retval]*/);
  Word_xp::ShapeRangePtr __fastcall get_ShapeRange(void);
  HRESULT         __fastcall get_Case(Word_xp::WdCharacterCase* prop/*[out,retval]*/);
  Word_xp::WdCharacterCase __fastcall get_Case(void);
  HRESULT         __fastcall set_Case(Word_xp::WdCharacterCase prop/*[in]*/);
  HRESULT         __fastcall get_Information(Word_xp::WdInformation Type/*[in]*/, 
                                             VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Information(Word_xp::WdInformation Type/*[in]*/);
  HRESULT         __fastcall get_ReadabilityStatistics(Word_xp::ReadabilityStatistics** prop/*[out,retval]*/);
  Word_xp::ReadabilityStatisticsPtr __fastcall get_ReadabilityStatistics(void);
  HRESULT         __fastcall get_GrammaticalErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/);
  Word_xp::ProofreadingErrorsPtr __fastcall get_GrammaticalErrors(void);
  HRESULT         __fastcall get_SpellingErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/);
  Word_xp::ProofreadingErrorsPtr __fastcall get_SpellingErrors(void);
  HRESULT         __fastcall get_Orientation(Word_xp::WdTextOrientation* prop/*[out,retval]*/);
  Word_xp::WdTextOrientation __fastcall get_Orientation(void);
  HRESULT         __fastcall set_Orientation(Word_xp::WdTextOrientation prop/*[in]*/);
  HRESULT         __fastcall get_InlineShapes(Word_xp::InlineShapes** prop/*[out,retval]*/);
  Word_xp::InlineShapesPtr __fastcall get_InlineShapes(void);
  HRESULT         __fastcall get_NextStoryRange(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_NextStoryRange(void);
  HRESULT         __fastcall get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageIDFarEast(void);
  HRESULT         __fastcall set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_LanguageIDOther(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageIDOther(void);
  HRESULT         __fastcall set_LanguageIDOther(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall SetRange(long Start/*[in]*/, long End/*[in]*/);
  HRESULT         __fastcall Collapse(VARIANT* Direction/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertBefore(BSTR Text/*[in]*/);
  HRESULT         __fastcall InsertAfter(BSTR Text/*[in]*/);
  HRESULT         __fastcall Next(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                  Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall Next(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Previous(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                      Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall Previous(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall StartOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                                     long* prop/*[out,retval]*/);
  long            __fastcall StartOf(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Extend/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall EndOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                                   long* prop/*[out,retval]*/);
  long            __fastcall EndOf(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                   VARIANT* Extend/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Move(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                  long* prop/*[out,retval]*/);
  long            __fastcall Move(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                  VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveStart(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                       long* prop/*[out,retval]*/);
  long            __fastcall MoveStart(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveEnd(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                     long* prop/*[out,retval]*/);
  long            __fastcall MoveEnd(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                       long* prop/*[out,retval]*/);
  long            __fastcall MoveWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveStartWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                            long* prop/*[out,retval]*/);
  long            __fastcall MoveStartWhile(VARIANT* Cset/*[in]*/, 
                                            VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveEndWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                          long* prop/*[out,retval]*/);
  long            __fastcall MoveEndWhile(VARIANT* Cset/*[in]*/, 
                                          VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                       long* prop/*[out,retval]*/);
  long            __fastcall MoveUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveStartUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                            long* prop/*[out,retval]*/);
  long            __fastcall MoveStartUntil(VARIANT* Cset/*[in]*/, 
                                            VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveEndUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                          long* prop/*[out,retval]*/);
  long            __fastcall MoveEndUntil(VARIANT* Cset/*[in]*/, 
                                          VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Cut();
  HRESULT         __fastcall Copy();
  HRESULT         __fastcall Paste();
  HRESULT         __fastcall InsertBreak(VARIANT* Type/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertFile(BSTR FileName/*[in]*/, 
                                        VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Link/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Attachment/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InStory(Word_xp::WordRange* Range/*[in]*/, 
                                     VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall InStory(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall InRange(Word_xp::WordRange* Range/*[in]*/, 
                                     VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall InRange(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall Delete(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                    long* prop/*[out,retval]*/);
  long            __fastcall Delete(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall WholeStory();
  HRESULT         __fastcall Expand(VARIANT* Unit/*[in,opt]*/, long* prop/*[out,retval]*/);
  long            __fastcall Expand(VARIANT* Unit/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertParagraph();
  HRESULT         __fastcall InsertParagraphAfter();
  HRESULT         __fastcall ConvertToTableOld(VARIANT* Separator/*[in,opt]*/, 
                                               VARIANT* NumRows/*[in,opt]*/, 
                                               VARIANT* NumColumns/*[in,opt]*/, 
                                               VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                               VARIANT* Format/*[in,opt]*/, 
                                               VARIANT* ApplyBorders/*[in,opt]*/, 
                                               VARIANT* ApplyShading/*[in,opt]*/, 
                                               VARIANT* ApplyFont/*[in,opt]*/, 
                                               VARIANT* ApplyColor/*[in,opt]*/, 
                                               VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                               VARIANT* ApplyLastRow/*[in,opt]*/, 
                                               VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                               VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                               VARIANT* AutoFit/*[in,opt]*/, 
                                               Word_xp::Table** prop/*[out,retval]*/);
  Word_xp::Table* __fastcall ConvertToTableOld(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NumRows/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NumColumns/*[in,opt]*/= TNoParam(), 
                                               VARIANT* InitialColumnWidth/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyBorders/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyShading/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyFont/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyColor/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyHeadingRows/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyLastRow/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyFirstColumn/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyLastColumn/*[in,opt]*/= TNoParam(), 
                                               VARIANT* AutoFit/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertDateTimeOld(VARIANT* DateTimeFormat/*[in,opt]*/= TNoParam(), 
                                               VARIANT* InsertAsField/*[in,opt]*/= TNoParam(), 
                                               VARIANT* InsertAsFullWidth/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertSymbol(long CharacterNumber/*[in]*/, 
                                          VARIANT* Font/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Unicode/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Bias/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertCrossReference(VARIANT* ReferenceType/*[in]*/, 
                                                  Word_xp::WdReferenceKind ReferenceKind/*[in]*/, 
                                                  VARIANT* ReferenceItem/*[in]*/, 
                                                  VARIANT* InsertAsHyperlink/*[in,opt]*/= TNoParam()
                                                  , VARIANT* IncludePosition/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertCaption(VARIANT* Label/*[in]*/, 
                                           VARIANT* Title/*[in,opt]*/= TNoParam(), 
                                           VARIANT* TitleAutoText/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Position/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CopyAsPicture();
  HRESULT         __fastcall SortOld(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                     VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                     VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                     VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortColumn/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                     VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                     VARIANT* LanguageID/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SortAscending();
  HRESULT         __fastcall SortDescending();
  HRESULT         __fastcall IsEqual(Word_xp::WordRange* Range/*[in]*/, 
                                     VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall IsEqual(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall Calculate(float* prop/*[out,retval]*/);
  float           __fastcall Calculate(void);
  HRESULT         __fastcall GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                                  VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                                  Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall GoTo(VARIANT* What/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Which/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Name/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall GoToNext(Word_xp::WdGoToItem What/*[in]*/, 
                                      Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall GoToNext(Word_xp::WdGoToItem What/*[in]*/);
  HRESULT         __fastcall GoToPrevious(Word_xp::WdGoToItem What/*[in]*/, 
                                          Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall GoToPrevious(Word_xp::WdGoToItem What/*[in]*/);
  HRESULT         __fastcall PasteSpecial(VARIANT* IconIndex/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Link/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Placement/*[in,opt]*/= TNoParam(), 
                                          VARIANT* DisplayAsIcon/*[in,opt]*/= TNoParam(), 
                                          VARIANT* DataType/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IconFileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IconLabel/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall LookupNameProperties();
  HRESULT         __fastcall ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                               long* prop/*[out,retval]*/);
  long            __fastcall ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/);
  HRESULT         __fastcall Relocate(long Direction/*[in]*/);
  HRESULT         __fastcall CheckSynonyms();
  HRESULT         __fastcall SubscribeTo(BSTR Edition/*[in]*/, 
                                         VARIANT* Format/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CreatePublisher(VARIANT* Edition/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ContainsPICT/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ContainsRTF/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ContainsText/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertAutoText();
  HRESULT         __fastcall InsertDatabase(VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Style/*[in,opt]*/= TNoParam(), 
                                            VARIANT* LinkToSource/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Connection/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SQLStatement/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SQLStatement1/*[in,opt]*/= TNoParam(), 
                                            VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                            VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                            VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                            VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam(), 
                                            VARIANT* DataSource/*[in,opt]*/= TNoParam(), 
                                            VARIANT* From/*[in,opt]*/= TNoParam(), 
                                            VARIANT* To/*[in,opt]*/= TNoParam(), 
                                            VARIANT* IncludeFields/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AutoFormat();
  HRESULT         __fastcall CheckGrammar();
  HRESULT         __fastcall CheckSpelling(VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                           VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                           VARIANT* AlwaysSuggest/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                           VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall GetSpellingSuggestions(VARIANT* CustomDictionary/*[in,opt]*/, 
                                                    VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                                    VARIANT* MainDictionary/*[in,opt]*/, 
                                                    VARIANT* SuggestionMode/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary2/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary3/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary4/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary5/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary6/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary7/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary8/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary9/*[in,opt]*/, 
                                                    VARIANT* CustomDictionary10/*[in,opt]*/, 
                                                    Word_xp::SpellingSuggestions** prop/*[out,retval]*/);
  Word_xp::SpellingSuggestions* __fastcall GetSpellingSuggestions(VARIANT* CustomDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* IgnoreUppercase/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* MainDictionary/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* SuggestionMode/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary2/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary3/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary4/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary5/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary6/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary7/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary8/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary9/*[in,opt]*/= TNoParam(), 
                                                                  VARIANT* CustomDictionary10/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertParagraphBefore();
  HRESULT         __fastcall NextSubdocument();
  HRESULT         __fastcall PreviousSubdocument();
  HRESULT         __fastcall ConvertHangulAndHanja(VARIANT* ConversionsMode/*[in,opt]*/= TNoParam()
                                                   , VARIANT* FastConversion/*[in,opt]*/= TNoParam()
                                                   , 
                                                   VARIANT* CheckHangulEnding/*[in,opt]*/= TNoParam()
                                                   , 
                                                   VARIANT* EnableRecentOrdering/*[in,opt]*/= TNoParam()
                                                   , 
                                                   VARIANT* CustomDictionary/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PasteAsNestedTable();
  HRESULT         __fastcall ModifyEnclosure(VARIANT* Style/*[in]*/, 
                                             VARIANT* Symbol/*[in,opt]*/= TNoParam(), 
                                             VARIANT* EnclosedText/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PhoneticGuide(BSTR Text/*[in]*/, 
                                           Word_xp::WdPhoneticGuideAlignmentType Alignment/*[in,def,opt]*/
                                           , long Raise/*[in,def,opt]*/, 
                                           long FontSize/*[in,def,opt]*/, 
                                           BSTR FontName/*[in,def,opt]*/);
  HRESULT         __fastcall InsertDateTime(VARIANT* DateTimeFormat/*[in,opt]*/= TNoParam(), 
                                            VARIANT* InsertAsField/*[in,opt]*/= TNoParam(), 
                                            VARIANT* InsertAsFullWidth/*[in,opt]*/= TNoParam(), 
                                            VARIANT* DateLanguage/*[in,opt]*/= TNoParam(), 
                                            VARIANT* CalendarType/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Sort(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                  VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                  VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                  VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortColumn/*[in,opt]*/= TNoParam(), 
                                  VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                  VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                  VARIANT* BidiSort/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreThe/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreKashida/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreDiacritics/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreHe/*[in,opt]*/= TNoParam(), 
                                  VARIANT* LanguageID/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall DetectLanguage();
  HRESULT         __fastcall ConvertToTable(VARIANT* Separator/*[in,opt]*/, 
                                            VARIANT* NumRows/*[in,opt]*/, 
                                            VARIANT* NumColumns/*[in,opt]*/, 
                                            VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                            VARIANT* Format/*[in,opt]*/, 
                                            VARIANT* ApplyBorders/*[in,opt]*/, 
                                            VARIANT* ApplyShading/*[in,opt]*/, 
                                            VARIANT* ApplyFont/*[in,opt]*/, 
                                            VARIANT* ApplyColor/*[in,opt]*/, 
                                            VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                            VARIANT* ApplyLastRow/*[in,opt]*/, 
                                            VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                            VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                            VARIANT* AutoFit/*[in,opt]*/, 
                                            VARIANT* AutoFitBehavior/*[in,opt]*/, 
                                            VARIANT* DefaultTableBehavior/*[in,opt]*/, 
                                            Word_xp::Table** prop/*[out,retval]*/);
  Word_xp::Table* __fastcall ConvertToTable(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                            VARIANT* NumRows/*[in,opt]*/= TNoParam(), 
                                            VARIANT* NumColumns/*[in,opt]*/= TNoParam(), 
                                            VARIANT* InitialColumnWidth/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyBorders/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyShading/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyFont/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyColor/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyHeadingRows/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyLastRow/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyFirstColumn/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyLastColumn/*[in,opt]*/= TNoParam(), 
                                            VARIANT* AutoFit/*[in,opt]*/= TNoParam(), 
                                            VARIANT* AutoFitBehavior/*[in,opt]*/= TNoParam(), 
                                            VARIANT* DefaultTableBehavior/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall TCSCConverter(Word_xp::WdTCSCConverterDirection WdTCSCConverterDirection/*[in,def,opt]*/
                                           , VARIANT_BOOL CommonTerms/*[in,def,opt]*/, 
                                           VARIANT_BOOL UseVariants/*[in,def,opt]*/);
  HRESULT         __fastcall get_LanguageDetected(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_LanguageDetected(void);
  HRESULT         __fastcall set_LanguageDetected(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FitTextWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_FitTextWidth(void);
  HRESULT         __fastcall set_FitTextWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_HorizontalInVertical(Word_xp::WdHorizontalInVerticalType* prop/*[out,retval]*/);
  Word_xp::WdHorizontalInVerticalType __fastcall get_HorizontalInVertical(void);
  HRESULT         __fastcall set_HorizontalInVertical(Word_xp::WdHorizontalInVerticalType prop/*[in]*/);
  HRESULT         __fastcall get_TwoLinesInOne(Word_xp::WdTwoLinesInOneType* prop/*[out,retval]*/);
  Word_xp::WdTwoLinesInOneType __fastcall get_TwoLinesInOne(void);
  HRESULT         __fastcall set_TwoLinesInOne(Word_xp::WdTwoLinesInOneType prop/*[in]*/);
  HRESULT         __fastcall get_CombineCharacters(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CombineCharacters(void);
  HRESULT         __fastcall set_CombineCharacters(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_NoProofing(long* prop/*[out,retval]*/);
  long            __fastcall get_NoProofing(void);
  HRESULT         __fastcall set_NoProofing(long prop/*[in]*/);
  HRESULT         __fastcall get_TopLevelTables(Word_xp::Tables** prop/*[out,retval]*/);
  Word_xp::TablesPtr __fastcall get_TopLevelTables(void);
  HRESULT         __fastcall get_Scripts(Office_xp::Scripts** prop/*[out,retval]*/);
  Office_xp::ScriptsPtr __fastcall get_Scripts(void);
  HRESULT         __fastcall get_CharacterWidth(Word_xp::WdCharacterWidth* prop/*[out,retval]*/);
  Word_xp::WdCharacterWidth __fastcall get_CharacterWidth(void);
  HRESULT         __fastcall set_CharacterWidth(Word_xp::WdCharacterWidth prop/*[in]*/);
  HRESULT         __fastcall get_Kana(Word_xp::WdKana* prop/*[out,retval]*/);
  Word_xp::WdKana __fastcall get_Kana(void);
  HRESULT         __fastcall set_Kana(Word_xp::WdKana prop/*[in]*/);
  HRESULT         __fastcall get_BoldBi(long* prop/*[out,retval]*/);
  long            __fastcall get_BoldBi(void);
  HRESULT         __fastcall set_BoldBi(long prop/*[in]*/);
  HRESULT         __fastcall get_ItalicBi(long* prop/*[out,retval]*/);
  long            __fastcall get_ItalicBi(void);
  HRESULT         __fastcall set_ItalicBi(long prop/*[in]*/);
  HRESULT         __fastcall get_ID(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ID(void);
  HRESULT         __fastcall set_ID(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/);
  Word_xp::HTMLDivisionsPtr __fastcall get_HTMLDivisions(void);
  HRESULT         __fastcall get_SmartTags(Word_xp::SmartTags** prop/*[out,retval]*/);
  Word_xp::SmartTagsPtr __fastcall get_SmartTags(void);
  HRESULT         __fastcall get_ShowAll(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowAll(void);
  HRESULT         __fastcall set_ShowAll(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Document(Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocumentPtr __fastcall get_Document(void);
  HRESULT         __fastcall get_FootnoteOptions(Word_xp::FootnoteOptions** prop/*[out,retval]*/);
  Word_xp::FootnoteOptionsPtr __fastcall get_FootnoteOptions(void);
  HRESULT         __fastcall get_EndnoteOptions(Word_xp::EndnoteOptions** prop/*[out,retval]*/);
  Word_xp::EndnoteOptionsPtr __fastcall get_EndnoteOptions(void);
  HRESULT         __fastcall PasteAndFormat(Word_xp::WdRecoveryType Type/*[in]*/);
  HRESULT         __fastcall PasteExcelTable(VARIANT_BOOL LinkedToExcel/*[in]*/, 
                                             VARIANT_BOOL WordFormatting/*[in]*/, 
                                             VARIANT_BOOL RTF/*[in]*/);
  HRESULT         __fastcall PasteAppendTable();

  __property   BSTR            Text = {read = get_Text, write = set_Text};
  __property   Word_xp::WordRangePtr FormattedText = {read = get_FormattedText, write = set_FormattedText};
  __property   long            Start = {read = get_Start, write = set_Start};
  __property   long            End = {read = get_End, write = set_End};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
  __property   Word_xp::WordRangePtr Duplicate = {read = get_Duplicate};
  __property   Word_xp::WdStoryType StoryType = {read = get_StoryType};
  __property   Word_xp::TablesPtr Tables = {read = get_Tables};
  __property   Word_xp::WordsPtr Words = {read = get_Words};
  __property   Word_xp::SentencesPtr Sentences = {read = get_Sentences};
  __property   Word_xp::CharactersPtr Characters = {read = get_Characters};
  __property   Word_xp::FootnotesPtr Footnotes = {read = get_Footnotes};
  __property   Word_xp::EndnotesPtr Endnotes = {read = get_Endnotes};
  __property   Word_xp::CommentsPtr Comments = {read = get_Comments};
  __property   Word_xp::CellsPtr Cells = {read = get_Cells};
  __property   Word_xp::SectionsPtr Sections = {read = get_Sections};
  __property   Word_xp::ParagraphsPtr Paragraphs = {read = get_Paragraphs};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::TextRetrievalModePtr TextRetrievalMode = {read = get_TextRetrievalMode, write = set_TextRetrievalMode};
  __property   Word_xp::FieldsPtr Fields = {read = get_Fields};
  __property   Word_xp::FormFieldsPtr FormFields = {read = get_FormFields};
  __property   Word_xp::FramesPtr Frames = {read = get_Frames};
  __property   Word_xp::WordParagraphFormatPtr ParagraphFormat = {read = get_ParagraphFormat, write = set_ParagraphFormat};
  __property   Word_xp::ListFormatPtr ListFormat = {read = get_ListFormat};
  __property   Word_xp::BookmarksPtr Bookmarks = {read = get_Bookmarks};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Bold = {read = get_Bold, write = set_Bold};
  __property   long            Italic = {read = get_Italic, write = set_Italic};
  __property   Word_xp::WdUnderline Underline = {read = get_Underline, write = set_Underline};
  __property   Word_xp::WdEmphasisMark EmphasisMark = {read = get_EmphasisMark, write = set_EmphasisMark};
  __property   VARIANT_BOOL    DisableCharacterSpaceGrid = {read = get_DisableCharacterSpaceGrid, write = set_DisableCharacterSpaceGrid};
  __property   Word_xp::RevisionsPtr Revisions = {read = get_Revisions};
  __property   long            StoryLength = {read = get_StoryLength};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   Word_xp::SynonymInfoPtr SynonymInfo = {read = get_SynonymInfo};
  __property   Word_xp::HyperlinksPtr Hyperlinks = {read = get_Hyperlinks};
  __property   Word_xp::ListParagraphsPtr ListParagraphs = {read = get_ListParagraphs};
  __property   Word_xp::SubdocumentsPtr Subdocuments = {read = get_Subdocuments};
  __property   VARIANT_BOOL    GrammarChecked = {read = get_GrammarChecked, write = set_GrammarChecked};
  __property   VARIANT_BOOL    SpellingChecked = {read = get_SpellingChecked, write = set_SpellingChecked};
  __property   Word_xp::WdColorIndex HighlightColorIndex = {read = get_HighlightColorIndex, write = set_HighlightColorIndex};
  __property   Word_xp::ColumnsPtr Columns = {read = get_Columns};
  __property   Word_xp::RowsPtr Rows = {read = get_Rows};
  __property   long            CanEdit = {read = get_CanEdit};
  __property   long            CanPaste = {read = get_CanPaste};
  __property   VARIANT_BOOL    IsEndOfRowMark = {read = get_IsEndOfRowMark};
  __property   long            BookmarkID = {read = get_BookmarkID};
  __property   long            PreviousBookmarkID = {read = get_PreviousBookmarkID};
  __property   Word_xp::FindPtr Find = {read = get_Find};
  __property   Word_xp::PageSetupPtr PageSetup = {read = get_PageSetup, write = set_PageSetup};
  __property   Word_xp::ShapeRangePtr ShapeRange = {read = get_ShapeRange};
  __property   Word_xp::WdCharacterCase Case = {read = get_Case, write = set_Case};
  __property   Word_xp::ReadabilityStatisticsPtr ReadabilityStatistics = {read = get_ReadabilityStatistics};
  __property   Word_xp::ProofreadingErrorsPtr GrammaticalErrors = {read = get_GrammaticalErrors};
  __property   Word_xp::ProofreadingErrorsPtr SpellingErrors = {read = get_SpellingErrors};
  __property   Word_xp::WdTextOrientation Orientation = {read = get_Orientation, write = set_Orientation};
  __property   Word_xp::InlineShapesPtr InlineShapes = {read = get_InlineShapes};
  __property   Word_xp::WordRangePtr NextStoryRange = {read = get_NextStoryRange};
  __property   Word_xp::WdLanguageID LanguageIDFarEast = {read = get_LanguageIDFarEast, write = set_LanguageIDFarEast};
  __property   Word_xp::WdLanguageID LanguageIDOther = {read = get_LanguageIDOther, write = set_LanguageIDOther};
  __property   VARIANT_BOOL    LanguageDetected = {read = get_LanguageDetected, write = set_LanguageDetected};
  __property   float           FitTextWidth = {read = get_FitTextWidth, write = set_FitTextWidth};
  __property   Word_xp::WdHorizontalInVerticalType HorizontalInVertical = {read = get_HorizontalInVertical, write = set_HorizontalInVertical};
  __property   Word_xp::WdTwoLinesInOneType TwoLinesInOne = {read = get_TwoLinesInOne, write = set_TwoLinesInOne};
  __property   VARIANT_BOOL    CombineCharacters = {read = get_CombineCharacters, write = set_CombineCharacters};
  __property   long            NoProofing = {read = get_NoProofing, write = set_NoProofing};
  __property   Word_xp::TablesPtr TopLevelTables = {read = get_TopLevelTables};
  __property   Office_xp::ScriptsPtr Scripts = {read = get_Scripts};
  __property   Word_xp::WdCharacterWidth CharacterWidth = {read = get_CharacterWidth, write = set_CharacterWidth};
  __property   Word_xp::WdKana Kana = {read = get_Kana, write = set_Kana};
  __property   long            BoldBi = {read = get_BoldBi, write = set_BoldBi};
  __property   long            ItalicBi = {read = get_ItalicBi, write = set_ItalicBi};
  __property   BSTR            ID = {read = get_ID, write = set_ID};
  __property   Word_xp::HTMLDivisionsPtr HTMLDivisions = {read = get_HTMLDivisions};
  __property   Word_xp::SmartTagsPtr SmartTags = {read = get_SmartTags};
  __property   VARIANT_BOOL    ShowAll = {read = get_ShowAll, write = set_ShowAll};
  __property   Word_xp::WordDocumentPtr Document = {read = get_Document};
  __property   Word_xp::FootnoteOptionsPtr FootnoteOptions = {read = get_FootnoteOptions};
  __property   Word_xp::EndnoteOptionsPtr EndnoteOptions = {read = get_EndnoteOptions};
};
typedef WordRangeDispT<WordRange> WordRangeDisp;

typedef TComInterface<ListFormat>  TCOMListFormat;

// *********************************************************************//
// DispIntf:  ListFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C0-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ListFormatDispT : public TAutoDriver<ListFormat>
{
public:
  ListFormatDispT(){}

  ListFormatDispT(ListFormat *pintf)
  {
    TAutoDriver<ListFormat>::Bind(pintf, false);
  }

  ListFormatDispT(ListFormatPtr pintf)
  {
    TAutoDriver<ListFormat>::Bind(pintf, true);
  }

  ListFormatDispT& operator=(ListFormat *pintf)
  {
    TAutoDriver<ListFormat>::Bind(pintf, false);
    return *this;
  }

  ListFormatDispT& operator=(ListFormatPtr pintf)
  {
    TAutoDriver<ListFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_ListLevelNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_ListLevelNumber(void);
  HRESULT         __fastcall set_ListLevelNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_List(Word_xp::List** prop/*[out,retval]*/);
  Word_xp::ListPtr __fastcall get_List(void);
  HRESULT         __fastcall get_ListTemplate(Word_xp::ListTemplate** prop/*[out,retval]*/);
  Word_xp::ListTemplatePtr __fastcall get_ListTemplate(void);
  HRESULT         __fastcall get_ListValue(long* prop/*[out,retval]*/);
  long            __fastcall get_ListValue(void);
  HRESULT         __fastcall get_SingleList(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SingleList(void);
  HRESULT         __fastcall get_SingleListTemplate(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SingleListTemplate(void);
  HRESULT         __fastcall get_ListType(Word_xp::WdListType* prop/*[out,retval]*/);
  Word_xp::WdListType __fastcall get_ListType(void);
  HRESULT         __fastcall get_ListString(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ListString(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall CanContinuePreviousList(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                                     Word_xp::WdContinue* prop/*[out,retval]*/);
  Word_xp::WdContinue __fastcall CanContinuePreviousList(Word_xp::ListTemplate* ListTemplate/*[in]*/);
  HRESULT         __fastcall RemoveNumbers(VARIANT* NumberType/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ConvertNumbersToText(VARIANT* NumberType/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, 
                                                VARIANT* Level/*[in,opt]*/, 
                                                long* prop/*[out,retval]*/);
  long            __fastcall CountNumberedItems(VARIANT* NumberType/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Level/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ApplyBulletDefaultOld();
  HRESULT         __fastcall ApplyNumberDefaultOld();
  HRESULT         __fastcall ApplyOutlineNumberDefaultOld();
  HRESULT         __fastcall ApplyListTemplateOld(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                                  VARIANT* ContinuePreviousList/*[in,opt]*/= TNoParam()
                                                  , VARIANT* ApplyTo/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ListOutdent();
  HRESULT         __fastcall ListIndent();
  HRESULT         __fastcall ApplyBulletDefault(VARIANT* DefaultListBehavior/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ApplyNumberDefault(VARIANT* DefaultListBehavior/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ApplyOutlineNumberDefault(VARIANT* DefaultListBehavior/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ApplyListTemplate(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                               VARIANT* ContinuePreviousList/*[in,opt]*/= TNoParam()
                                               , VARIANT* ApplyTo/*[in,opt]*/= TNoParam(), 
                                               VARIANT* DefaultListBehavior/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_ListPictureBullet(Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShapePtr __fastcall get_ListPictureBullet(void);

  __property   long            ListLevelNumber = {read = get_ListLevelNumber, write = set_ListLevelNumber};
  __property   Word_xp::ListPtr List = {read = get_List};
  __property   Word_xp::ListTemplatePtr ListTemplate = {read = get_ListTemplate};
  __property   long            ListValue = {read = get_ListValue};
  __property   VARIANT_BOOL    SingleList = {read = get_SingleList};
  __property   VARIANT_BOOL    SingleListTemplate = {read = get_SingleListTemplate};
  __property   Word_xp::WdListType ListType = {read = get_ListType};
  __property   BSTR            ListString = {read = get_ListString};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::InlineShapePtr ListPictureBullet = {read = get_ListPictureBullet};
};
typedef ListFormatDispT<ListFormat> ListFormatDisp;

typedef TComInterface<Find>  TCOMFind;

// *********************************************************************//
// DispIntf:  Find
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B0-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FindDispT : public TAutoDriver<Find>
{
public:
  FindDispT(){}

  FindDispT(Find *pintf)
  {
    TAutoDriver<Find>::Bind(pintf, false);
  }

  FindDispT(FindPtr pintf)
  {
    TAutoDriver<Find>::Bind(pintf, true);
  }

  FindDispT& operator=(Find *pintf)
  {
    TAutoDriver<Find>::Bind(pintf, false);
    return *this;
  }

  FindDispT& operator=(FindPtr pintf)
  {
    TAutoDriver<Find>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Forward(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Forward(void);
  HRESULT         __fastcall set_Forward(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Font(Word_xp::WordFont** prop/*[out,retval]*/);
  Word_xp::WordFontPtr __fastcall get_Font(void);
  HRESULT         __fastcall set_Font(Word_xp::WordFontPtr prop/*[in]*/);
  HRESULT         __fastcall get_Found(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Found(void);
  HRESULT         __fastcall get_MatchAllWordForms(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchAllWordForms(void);
  HRESULT         __fastcall set_MatchAllWordForms(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchCase(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchCase(void);
  HRESULT         __fastcall set_MatchCase(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchWildcards(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchWildcards(void);
  HRESULT         __fastcall set_MatchWildcards(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchSoundsLike(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchSoundsLike(void);
  HRESULT         __fastcall set_MatchSoundsLike(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchWholeWord(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchWholeWord(void);
  HRESULT         __fastcall set_MatchWholeWord(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzy(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzy(void);
  HRESULT         __fastcall set_MatchFuzzy(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchByte(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchByte(void);
  HRESULT         __fastcall set_MatchByte(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/);
  Word_xp::WordParagraphFormatPtr __fastcall get_ParagraphFormat(void);
  HRESULT         __fastcall set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/);
  HRESULT         __fastcall get_Style(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Style(void);
  HRESULT         __fastcall set_Style(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Text(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Text(void);
  HRESULT         __fastcall set_Text(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageID(void);
  HRESULT         __fastcall set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_Highlight(long* prop/*[out,retval]*/);
  long            __fastcall get_Highlight(void);
  HRESULT         __fastcall set_Highlight(long prop/*[in]*/);
  HRESULT         __fastcall get_Replacement(Word_xp::Replacement** prop/*[out,retval]*/);
  Word_xp::ReplacementPtr __fastcall get_Replacement(void);
  HRESULT         __fastcall get_Frame(Word_xp::Frame** prop/*[out,retval]*/);
  Word_xp::FramePtr __fastcall get_Frame(void);
  HRESULT         __fastcall get_Wrap(Word_xp::WdFindWrap* prop/*[out,retval]*/);
  Word_xp::WdFindWrap __fastcall get_Wrap(void);
  HRESULT         __fastcall set_Wrap(Word_xp::WdFindWrap prop/*[in]*/);
  HRESULT         __fastcall get_Format(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Format(void);
  HRESULT         __fastcall set_Format(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageIDFarEast(void);
  HRESULT         __fastcall set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_LanguageIDOther(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageIDOther(void);
  HRESULT         __fastcall set_LanguageIDOther(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_CorrectHangulEndings(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CorrectHangulEndings(void);
  HRESULT         __fastcall set_CorrectHangulEndings(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall ExecuteOld(VARIANT* FindText/*[in,opt]*/, 
                                        VARIANT* MatchCase/*[in,opt]*/, 
                                        VARIANT* MatchWholeWord/*[in,opt]*/, 
                                        VARIANT* MatchWildcards/*[in,opt]*/, 
                                        VARIANT* MatchSoundsLike/*[in,opt]*/, 
                                        VARIANT* MatchAllWordForms/*[in,opt]*/, 
                                        VARIANT* Forward/*[in,opt]*/, VARIANT* Wrap/*[in,opt]*/, 
                                        VARIANT* Format/*[in,opt]*/, 
                                        VARIANT* ReplaceWith/*[in,opt]*/, 
                                        VARIANT* Replace/*[in,opt]*/, 
                                        VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall ExecuteOld(VARIANT* FindText/*[in,opt]*/= TNoParam(), 
                                        VARIANT* MatchCase/*[in,opt]*/= TNoParam(), 
                                        VARIANT* MatchWholeWord/*[in,opt]*/= TNoParam(), 
                                        VARIANT* MatchWildcards/*[in,opt]*/= TNoParam(), 
                                        VARIANT* MatchSoundsLike/*[in,opt]*/= TNoParam(), 
                                        VARIANT* MatchAllWordForms/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Forward/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Wrap/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ReplaceWith/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Replace/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ClearFormatting();
  HRESULT         __fastcall SetAllFuzzyOptions();
  HRESULT         __fastcall ClearAllFuzzyOptions();
  HRESULT         __fastcall Execute(VARIANT* FindText/*[in,opt]*/, VARIANT* MatchCase/*[in,opt]*/, 
                                     VARIANT* MatchWholeWord/*[in,opt]*/, 
                                     VARIANT* MatchWildcards/*[in,opt]*/, 
                                     VARIANT* MatchSoundsLike/*[in,opt]*/, 
                                     VARIANT* MatchAllWordForms/*[in,opt]*/, 
                                     VARIANT* Forward/*[in,opt]*/, VARIANT* Wrap/*[in,opt]*/, 
                                     VARIANT* Format/*[in,opt]*/, VARIANT* ReplaceWith/*[in,opt]*/, 
                                     VARIANT* Replace/*[in,opt]*/, VARIANT* MatchKashida/*[in,opt]*/
                                     , VARIANT* MatchDiacritics/*[in,opt]*/, 
                                     VARIANT* MatchAlefHamza/*[in,opt]*/, 
                                     VARIANT* MatchControl/*[in,opt]*/, 
                                     VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Execute(VARIANT* FindText/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchCase/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchWholeWord/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchWildcards/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchSoundsLike/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchAllWordForms/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Forward/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Wrap/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                     VARIANT* ReplaceWith/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Replace/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchKashida/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchDiacritics/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchAlefHamza/*[in,opt]*/= TNoParam(), 
                                     VARIANT* MatchControl/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_NoProofing(long* prop/*[out,retval]*/);
  long            __fastcall get_NoProofing(void);
  HRESULT         __fastcall set_NoProofing(long prop/*[in]*/);
  HRESULT         __fastcall get_MatchKashida(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchKashida(void);
  HRESULT         __fastcall set_MatchKashida(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchDiacritics(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchDiacritics(void);
  HRESULT         __fastcall set_MatchDiacritics(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchAlefHamza(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchAlefHamza(void);
  HRESULT         __fastcall set_MatchAlefHamza(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchControl(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchControl(void);
  HRESULT         __fastcall set_MatchControl(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Forward = {read = get_Forward, write = set_Forward};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
  __property   VARIANT_BOOL    Found = {read = get_Found};
  __property   VARIANT_BOOL    MatchAllWordForms = {read = get_MatchAllWordForms, write = set_MatchAllWordForms};
  __property   VARIANT_BOOL    MatchCase = {read = get_MatchCase, write = set_MatchCase};
  __property   VARIANT_BOOL    MatchWildcards = {read = get_MatchWildcards, write = set_MatchWildcards};
  __property   VARIANT_BOOL    MatchSoundsLike = {read = get_MatchSoundsLike, write = set_MatchSoundsLike};
  __property   VARIANT_BOOL    MatchWholeWord = {read = get_MatchWholeWord, write = set_MatchWholeWord};
  __property   VARIANT_BOOL    MatchFuzzy = {read = get_MatchFuzzy, write = set_MatchFuzzy};
  __property   VARIANT_BOOL    MatchByte = {read = get_MatchByte, write = set_MatchByte};
  __property   Word_xp::WordParagraphFormatPtr ParagraphFormat = {read = get_ParagraphFormat, write = set_ParagraphFormat};
  __property   BSTR            Text = {read = get_Text, write = set_Text};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   long            Highlight = {read = get_Highlight, write = set_Highlight};
  __property   Word_xp::ReplacementPtr Replacement = {read = get_Replacement};
  __property   Word_xp::FramePtr Frame = {read = get_Frame};
  __property   Word_xp::WdFindWrap Wrap = {read = get_Wrap, write = set_Wrap};
  __property   VARIANT_BOOL    Format = {read = get_Format, write = set_Format};
  __property   Word_xp::WdLanguageID LanguageIDFarEast = {read = get_LanguageIDFarEast, write = set_LanguageIDFarEast};
  __property   Word_xp::WdLanguageID LanguageIDOther = {read = get_LanguageIDOther, write = set_LanguageIDOther};
  __property   VARIANT_BOOL    CorrectHangulEndings = {read = get_CorrectHangulEndings, write = set_CorrectHangulEndings};
  __property   long            NoProofing = {read = get_NoProofing, write = set_NoProofing};
  __property   VARIANT_BOOL    MatchKashida = {read = get_MatchKashida, write = set_MatchKashida};
  __property   VARIANT_BOOL    MatchDiacritics = {read = get_MatchDiacritics, write = set_MatchDiacritics};
  __property   VARIANT_BOOL    MatchAlefHamza = {read = get_MatchAlefHamza, write = set_MatchAlefHamza};
  __property   VARIANT_BOOL    MatchControl = {read = get_MatchControl, write = set_MatchControl};
};
typedef FindDispT<Find> FindDisp;

typedef TComInterface<Replacement>  TCOMReplacement;

// *********************************************************************//
// DispIntf:  Replacement
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B1-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ReplacementDispT : public TAutoDriver<Replacement>
{
public:
  ReplacementDispT(){}

  ReplacementDispT(Replacement *pintf)
  {
    TAutoDriver<Replacement>::Bind(pintf, false);
  }

  ReplacementDispT(ReplacementPtr pintf)
  {
    TAutoDriver<Replacement>::Bind(pintf, true);
  }

  ReplacementDispT& operator=(Replacement *pintf)
  {
    TAutoDriver<Replacement>::Bind(pintf, false);
    return *this;
  }

  ReplacementDispT& operator=(ReplacementPtr pintf)
  {
    TAutoDriver<Replacement>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Font(Word_xp::WordFont** prop/*[out,retval]*/);
  Word_xp::WordFontPtr __fastcall get_Font(void);
  HRESULT         __fastcall set_Font(Word_xp::WordFontPtr prop/*[in]*/);
  HRESULT         __fastcall get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/);
  Word_xp::WordParagraphFormatPtr __fastcall get_ParagraphFormat(void);
  HRESULT         __fastcall set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/);
  HRESULT         __fastcall get_Style(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Style(void);
  HRESULT         __fastcall set_Style(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Text(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Text(void);
  HRESULT         __fastcall set_Text(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageID(void);
  HRESULT         __fastcall set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_Highlight(long* prop/*[out,retval]*/);
  long            __fastcall get_Highlight(void);
  HRESULT         __fastcall set_Highlight(long prop/*[in]*/);
  HRESULT         __fastcall get_Frame(Word_xp::Frame** prop/*[out,retval]*/);
  Word_xp::FramePtr __fastcall get_Frame(void);
  HRESULT         __fastcall get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageIDFarEast(void);
  HRESULT         __fastcall set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall ClearFormatting();
  HRESULT         __fastcall get_NoProofing(long* prop/*[out,retval]*/);
  long            __fastcall get_NoProofing(void);
  HRESULT         __fastcall set_NoProofing(long prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
  __property   Word_xp::WordParagraphFormatPtr ParagraphFormat = {read = get_ParagraphFormat, write = set_ParagraphFormat};
  __property   BSTR            Text = {read = get_Text, write = set_Text};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   long            Highlight = {read = get_Highlight, write = set_Highlight};
  __property   Word_xp::FramePtr Frame = {read = get_Frame};
  __property   Word_xp::WdLanguageID LanguageIDFarEast = {read = get_LanguageIDFarEast, write = set_LanguageIDFarEast};
  __property   long            NoProofing = {read = get_NoProofing, write = set_NoProofing};
};
typedef ReplacementDispT<Replacement> ReplacementDisp;

typedef TComInterface<Characters>  TCOMCharacters;

// *********************************************************************//
// DispIntf:  Characters
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095D-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class CharactersDispT : public TAutoDriver<Characters>
{
public:
  CharactersDispT(){}

  CharactersDispT(Characters *pintf)
  {
    TAutoDriver<Characters>::Bind(pintf, false);
  }

  CharactersDispT(CharactersPtr pintf)
  {
    TAutoDriver<Characters>::Bind(pintf, true);
  }

  CharactersDispT& operator=(Characters *pintf)
  {
    TAutoDriver<Characters>::Bind(pintf, false);
    return *this;
  }

  CharactersDispT& operator=(CharactersPtr pintf)
  {
    TAutoDriver<Characters>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_First(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_First(void);
  HRESULT         __fastcall get_Last(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Last(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall Item(long Index/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordRangePtr First = {read = get_First};
  __property   Word_xp::WordRangePtr Last = {read = get_Last};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef CharactersDispT<Characters> CharactersDisp;

typedef TComInterface<Words>  TCOMWords;

// *********************************************************************//
// DispIntf:  Words
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095C-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class WordsDispT : public TAutoDriver<Words>
{
public:
  WordsDispT(){}

  WordsDispT(Words *pintf)
  {
    TAutoDriver<Words>::Bind(pintf, false);
  }

  WordsDispT(WordsPtr pintf)
  {
    TAutoDriver<Words>::Bind(pintf, true);
  }

  WordsDispT& operator=(Words *pintf)
  {
    TAutoDriver<Words>::Bind(pintf, false);
    return *this;
  }

  WordsDispT& operator=(WordsPtr pintf)
  {
    TAutoDriver<Words>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_First(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_First(void);
  HRESULT         __fastcall get_Last(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Last(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall Item(long Index/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordRangePtr First = {read = get_First};
  __property   Word_xp::WordRangePtr Last = {read = get_Last};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef WordsDispT<Words> WordsDisp;

typedef TComInterface<Sentences>  TCOMSentences;

// *********************************************************************//
// DispIntf:  Sentences
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095B-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class SentencesDispT : public TAutoDriver<Sentences>
{
public:
  SentencesDispT(){}

  SentencesDispT(Sentences *pintf)
  {
    TAutoDriver<Sentences>::Bind(pintf, false);
  }

  SentencesDispT(SentencesPtr pintf)
  {
    TAutoDriver<Sentences>::Bind(pintf, true);
  }

  SentencesDispT& operator=(Sentences *pintf)
  {
    TAutoDriver<Sentences>::Bind(pintf, false);
    return *this;
  }

  SentencesDispT& operator=(SentencesPtr pintf)
  {
    TAutoDriver<Sentences>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_First(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_First(void);
  HRESULT         __fastcall get_Last(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Last(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall Item(long Index/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordRangePtr First = {read = get_First};
  __property   Word_xp::WordRangePtr Last = {read = get_Last};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef SentencesDispT<Sentences> SentencesDisp;

typedef TComInterface<Sections>  TCOMSections;

// *********************************************************************//
// DispIntf:  Sections
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095A-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class SectionsDispT : public TAutoDriver<Sections>
{
public:
  SectionsDispT(){}

  SectionsDispT(Sections *pintf)
  {
    TAutoDriver<Sections>::Bind(pintf, false);
  }

  SectionsDispT(SectionsPtr pintf)
  {
    TAutoDriver<Sections>::Bind(pintf, true);
  }

  SectionsDispT& operator=(Sections *pintf)
  {
    TAutoDriver<Sections>::Bind(pintf, false);
    return *this;
  }

  SectionsDispT& operator=(SectionsPtr pintf)
  {
    TAutoDriver<Sections>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_First(Word_xp::Section** prop/*[out,retval]*/);
  Word_xp::SectionPtr __fastcall get_First(void);
  HRESULT         __fastcall get_Last(Word_xp::Section** prop/*[out,retval]*/);
  Word_xp::SectionPtr __fastcall get_Last(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/);
  Word_xp::PageSetupPtr __fastcall get_PageSetup(void);
  HRESULT         __fastcall set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Section** prop/*[out,retval]*/);
  Word_xp::Section* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(VARIANT* Range/*[in,opt]*/, VARIANT* Start/*[in,opt]*/, 
                                 Word_xp::Section** prop/*[out,retval]*/);
  Word_xp::Section* __fastcall Add(VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                   VARIANT* Start/*[in,opt]*/= TNoParam());

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::SectionPtr First = {read = get_First};
  __property   Word_xp::SectionPtr Last = {read = get_Last};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::PageSetupPtr PageSetup = {read = get_PageSetup, write = set_PageSetup};
};
typedef SectionsDispT<Sections> SectionsDisp;

typedef TComInterface<Section>  TCOMSection;

// *********************************************************************//
// DispIntf:  Section
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020959-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class SectionDispT : public TAutoDriver<Section>
{
public:
  SectionDispT(){}

  SectionDispT(Section *pintf)
  {
    TAutoDriver<Section>::Bind(pintf, false);
  }

  SectionDispT(SectionPtr pintf)
  {
    TAutoDriver<Section>::Bind(pintf, true);
  }

  SectionDispT& operator=(Section *pintf)
  {
    TAutoDriver<Section>::Bind(pintf, false);
    return *this;
  }

  SectionDispT& operator=(SectionPtr pintf)
  {
    TAutoDriver<Section>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/);
  Word_xp::PageSetupPtr __fastcall get_PageSetup(void);
  HRESULT         __fastcall set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/);
  HRESULT         __fastcall get_Headers(Word_xp::HeadersFooters** prop/*[out,retval]*/);
  Word_xp::HeadersFootersPtr __fastcall get_Headers(void);
  HRESULT         __fastcall get_Footers(Word_xp::HeadersFooters** prop/*[out,retval]*/);
  Word_xp::HeadersFootersPtr __fastcall get_Footers(void);
  HRESULT         __fastcall get_ProtectedForForms(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ProtectedForForms(void);
  HRESULT         __fastcall set_ProtectedForForms(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);

  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::PageSetupPtr PageSetup = {read = get_PageSetup, write = set_PageSetup};
  __property   Word_xp::HeadersFootersPtr Headers = {read = get_Headers};
  __property   Word_xp::HeadersFootersPtr Footers = {read = get_Footers};
  __property   VARIANT_BOOL    ProtectedForForms = {read = get_ProtectedForForms, write = set_ProtectedForForms};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
};
typedef SectionDispT<Section> SectionDisp;

typedef TComInterface<Paragraphs>  TCOMParagraphs;

// *********************************************************************//
// DispIntf:  Paragraphs
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020958-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ParagraphsDispT : public TAutoDriver<Paragraphs>
{
public:
  ParagraphsDispT(){}

  ParagraphsDispT(Paragraphs *pintf)
  {
    TAutoDriver<Paragraphs>::Bind(pintf, false);
  }

  ParagraphsDispT(ParagraphsPtr pintf)
  {
    TAutoDriver<Paragraphs>::Bind(pintf, true);
  }

  ParagraphsDispT& operator=(Paragraphs *pintf)
  {
    TAutoDriver<Paragraphs>::Bind(pintf, false);
    return *this;
  }

  ParagraphsDispT& operator=(ParagraphsPtr pintf)
  {
    TAutoDriver<Paragraphs>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_First(Word_xp::Paragraph** prop/*[out,retval]*/);
  Word_xp::ParagraphPtr __fastcall get_First(void);
  HRESULT         __fastcall get_Last(Word_xp::Paragraph** prop/*[out,retval]*/);
  Word_xp::ParagraphPtr __fastcall get_Last(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Format(Word_xp::WordParagraphFormat** prop/*[out,retval]*/);
  Word_xp::WordParagraphFormatPtr __fastcall get_Format(void);
  HRESULT         __fastcall set_Format(Word_xp::WordParagraphFormatPtr prop/*[in]*/);
  HRESULT         __fastcall get_TabStops(Word_xp::TabStops** prop/*[out,retval]*/);
  Word_xp::TabStopsPtr __fastcall get_TabStops(void);
  HRESULT         __fastcall set_TabStops(Word_xp::TabStopsPtr prop/*[in]*/);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Style(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Style(void);
  HRESULT         __fastcall set_Style(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Alignment(Word_xp::WdParagraphAlignment* prop/*[out,retval]*/);
  Word_xp::WdParagraphAlignment __fastcall get_Alignment(void);
  HRESULT         __fastcall set_Alignment(Word_xp::WdParagraphAlignment prop/*[in]*/);
  HRESULT         __fastcall get_KeepTogether(long* prop/*[out,retval]*/);
  long            __fastcall get_KeepTogether(void);
  HRESULT         __fastcall set_KeepTogether(long prop/*[in]*/);
  HRESULT         __fastcall get_KeepWithNext(long* prop/*[out,retval]*/);
  long            __fastcall get_KeepWithNext(void);
  HRESULT         __fastcall set_KeepWithNext(long prop/*[in]*/);
  HRESULT         __fastcall get_PageBreakBefore(long* prop/*[out,retval]*/);
  long            __fastcall get_PageBreakBefore(void);
  HRESULT         __fastcall set_PageBreakBefore(long prop/*[in]*/);
  HRESULT         __fastcall get_NoLineNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_NoLineNumber(void);
  HRESULT         __fastcall set_NoLineNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_RightIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_RightIndent(void);
  HRESULT         __fastcall set_RightIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_LeftIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftIndent(void);
  HRESULT         __fastcall set_LeftIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_FirstLineIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_FirstLineIndent(void);
  HRESULT         __fastcall set_FirstLineIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_LineSpacing(float* prop/*[out,retval]*/);
  float           __fastcall get_LineSpacing(void);
  HRESULT         __fastcall set_LineSpacing(float prop/*[in]*/);
  HRESULT         __fastcall get_LineSpacingRule(Word_xp::WdLineSpacing* prop/*[out,retval]*/);
  Word_xp::WdLineSpacing __fastcall get_LineSpacingRule(void);
  HRESULT         __fastcall set_LineSpacingRule(Word_xp::WdLineSpacing prop/*[in]*/);
  HRESULT         __fastcall get_SpaceBefore(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceBefore(void);
  HRESULT         __fastcall set_SpaceBefore(float prop/*[in]*/);
  HRESULT         __fastcall get_SpaceAfter(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceAfter(void);
  HRESULT         __fastcall set_SpaceAfter(float prop/*[in]*/);
  HRESULT         __fastcall get_Hyphenation(long* prop/*[out,retval]*/);
  long            __fastcall get_Hyphenation(void);
  HRESULT         __fastcall set_Hyphenation(long prop/*[in]*/);
  HRESULT         __fastcall get_WidowControl(long* prop/*[out,retval]*/);
  long            __fastcall get_WidowControl(void);
  HRESULT         __fastcall set_WidowControl(long prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_FarEastLineBreakControl(long* prop/*[out,retval]*/);
  long            __fastcall get_FarEastLineBreakControl(void);
  HRESULT         __fastcall set_FarEastLineBreakControl(long prop/*[in]*/);
  HRESULT         __fastcall get_WordWrap(long* prop/*[out,retval]*/);
  long            __fastcall get_WordWrap(void);
  HRESULT         __fastcall set_WordWrap(long prop/*[in]*/);
  HRESULT         __fastcall get_HangingPunctuation(long* prop/*[out,retval]*/);
  long            __fastcall get_HangingPunctuation(void);
  HRESULT         __fastcall set_HangingPunctuation(long prop/*[in]*/);
  HRESULT         __fastcall get_HalfWidthPunctuationOnTopOfLine(long* prop/*[out,retval]*/);
  long            __fastcall get_HalfWidthPunctuationOnTopOfLine(void);
  HRESULT         __fastcall set_HalfWidthPunctuationOnTopOfLine(long prop/*[in]*/);
  HRESULT         __fastcall get_AddSpaceBetweenFarEastAndAlpha(long* prop/*[out,retval]*/);
  long            __fastcall get_AddSpaceBetweenFarEastAndAlpha(void);
  HRESULT         __fastcall set_AddSpaceBetweenFarEastAndAlpha(long prop/*[in]*/);
  HRESULT         __fastcall get_AddSpaceBetweenFarEastAndDigit(long* prop/*[out,retval]*/);
  long            __fastcall get_AddSpaceBetweenFarEastAndDigit(void);
  HRESULT         __fastcall set_AddSpaceBetweenFarEastAndDigit(long prop/*[in]*/);
  HRESULT         __fastcall get_BaseLineAlignment(Word_xp::WdBaselineAlignment* prop/*[out,retval]*/);
  Word_xp::WdBaselineAlignment __fastcall get_BaseLineAlignment(void);
  HRESULT         __fastcall set_BaseLineAlignment(Word_xp::WdBaselineAlignment prop/*[in]*/);
  HRESULT         __fastcall get_AutoAdjustRightIndent(long* prop/*[out,retval]*/);
  long            __fastcall get_AutoAdjustRightIndent(void);
  HRESULT         __fastcall set_AutoAdjustRightIndent(long prop/*[in]*/);
  HRESULT         __fastcall get_DisableLineHeightGrid(long* prop/*[out,retval]*/);
  long            __fastcall get_DisableLineHeightGrid(void);
  HRESULT         __fastcall set_DisableLineHeightGrid(long prop/*[in]*/);
  HRESULT         __fastcall get_OutlineLevel(Word_xp::WdOutlineLevel* prop/*[out,retval]*/);
  Word_xp::WdOutlineLevel __fastcall get_OutlineLevel(void);
  HRESULT         __fastcall set_OutlineLevel(Word_xp::WdOutlineLevel prop/*[in]*/);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Paragraph** prop/*[out,retval]*/);
  Word_xp::Paragraph* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(VARIANT* Range/*[in,opt]*/, 
                                 Word_xp::Paragraph** prop/*[out,retval]*/);
  Word_xp::Paragraph* __fastcall Add(VARIANT* Range/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CloseUp();
  HRESULT         __fastcall OpenUp();
  HRESULT         __fastcall OpenOrCloseUp();
  HRESULT         __fastcall TabHangingIndent(short Count/*[in]*/);
  HRESULT         __fastcall TabIndent(short Count/*[in]*/);
  HRESULT         __fastcall Reset();
  HRESULT         __fastcall Space1();
  HRESULT         __fastcall Space15();
  HRESULT         __fastcall Space2();
  HRESULT         __fastcall IndentCharWidth(short Count/*[in]*/);
  HRESULT         __fastcall IndentFirstLineCharWidth(short Count/*[in]*/);
  HRESULT         __fastcall OutlinePromote();
  HRESULT         __fastcall OutlineDemote();
  HRESULT         __fastcall OutlineDemoteToBody();
  HRESULT         __fastcall Indent();
  HRESULT         __fastcall Outdent();
  HRESULT         __fastcall get_CharacterUnitRightIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_CharacterUnitRightIndent(void);
  HRESULT         __fastcall set_CharacterUnitRightIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_CharacterUnitLeftIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_CharacterUnitLeftIndent(void);
  HRESULT         __fastcall set_CharacterUnitLeftIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_CharacterUnitFirstLineIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_CharacterUnitFirstLineIndent(void);
  HRESULT         __fastcall set_CharacterUnitFirstLineIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_LineUnitBefore(float* prop/*[out,retval]*/);
  float           __fastcall get_LineUnitBefore(void);
  HRESULT         __fastcall set_LineUnitBefore(float prop/*[in]*/);
  HRESULT         __fastcall get_LineUnitAfter(float* prop/*[out,retval]*/);
  float           __fastcall get_LineUnitAfter(void);
  HRESULT         __fastcall set_LineUnitAfter(float prop/*[in]*/);
  HRESULT         __fastcall get_ReadingOrder(Word_xp::WdReadingOrder* prop/*[out,retval]*/);
  Word_xp::WdReadingOrder __fastcall get_ReadingOrder(void);
  HRESULT         __fastcall set_ReadingOrder(Word_xp::WdReadingOrder prop/*[in]*/);
  HRESULT         __fastcall get_SpaceBeforeAuto(long* prop/*[out,retval]*/);
  long            __fastcall get_SpaceBeforeAuto(void);
  HRESULT         __fastcall set_SpaceBeforeAuto(long prop/*[in]*/);
  HRESULT         __fastcall get_SpaceAfterAuto(long* prop/*[out,retval]*/);
  long            __fastcall get_SpaceAfterAuto(void);
  HRESULT         __fastcall set_SpaceAfterAuto(long prop/*[in]*/);
  HRESULT         __fastcall IncreaseSpacing();
  HRESULT         __fastcall DecreaseSpacing();

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::ParagraphPtr First = {read = get_First};
  __property   Word_xp::ParagraphPtr Last = {read = get_Last};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordParagraphFormatPtr Format = {read = get_Format, write = set_Format};
  __property   Word_xp::TabStopsPtr TabStops = {read = get_TabStops, write = set_TabStops};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::WdParagraphAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   long            KeepTogether = {read = get_KeepTogether, write = set_KeepTogether};
  __property   long            KeepWithNext = {read = get_KeepWithNext, write = set_KeepWithNext};
  __property   long            PageBreakBefore = {read = get_PageBreakBefore, write = set_PageBreakBefore};
  __property   long            NoLineNumber = {read = get_NoLineNumber, write = set_NoLineNumber};
  __property   float           RightIndent = {read = get_RightIndent, write = set_RightIndent};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   float           FirstLineIndent = {read = get_FirstLineIndent, write = set_FirstLineIndent};
  __property   float           LineSpacing = {read = get_LineSpacing, write = set_LineSpacing};
  __property   Word_xp::WdLineSpacing LineSpacingRule = {read = get_LineSpacingRule, write = set_LineSpacingRule};
  __property   float           SpaceBefore = {read = get_SpaceBefore, write = set_SpaceBefore};
  __property   float           SpaceAfter = {read = get_SpaceAfter, write = set_SpaceAfter};
  __property   long            Hyphenation = {read = get_Hyphenation, write = set_Hyphenation};
  __property   long            WidowControl = {read = get_WidowControl, write = set_WidowControl};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   long            FarEastLineBreakControl = {read = get_FarEastLineBreakControl, write = set_FarEastLineBreakControl};
  __property   long            WordWrap = {read = get_WordWrap, write = set_WordWrap};
  __property   long            HangingPunctuation = {read = get_HangingPunctuation, write = set_HangingPunctuation};
  __property   long            HalfWidthPunctuationOnTopOfLine = {read = get_HalfWidthPunctuationOnTopOfLine, write = set_HalfWidthPunctuationOnTopOfLine};
  __property   long            AddSpaceBetweenFarEastAndAlpha = {read = get_AddSpaceBetweenFarEastAndAlpha, write = set_AddSpaceBetweenFarEastAndAlpha};
  __property   long            AddSpaceBetweenFarEastAndDigit = {read = get_AddSpaceBetweenFarEastAndDigit, write = set_AddSpaceBetweenFarEastAndDigit};
  __property   Word_xp::WdBaselineAlignment BaseLineAlignment = {read = get_BaseLineAlignment, write = set_BaseLineAlignment};
  __property   long            AutoAdjustRightIndent = {read = get_AutoAdjustRightIndent, write = set_AutoAdjustRightIndent};
  __property   long            DisableLineHeightGrid = {read = get_DisableLineHeightGrid, write = set_DisableLineHeightGrid};
  __property   Word_xp::WdOutlineLevel OutlineLevel = {read = get_OutlineLevel, write = set_OutlineLevel};
  __property   float           CharacterUnitRightIndent = {read = get_CharacterUnitRightIndent, write = set_CharacterUnitRightIndent};
  __property   float           CharacterUnitLeftIndent = {read = get_CharacterUnitLeftIndent, write = set_CharacterUnitLeftIndent};
  __property   float           CharacterUnitFirstLineIndent = {read = get_CharacterUnitFirstLineIndent, write = set_CharacterUnitFirstLineIndent};
  __property   float           LineUnitBefore = {read = get_LineUnitBefore, write = set_LineUnitBefore};
  __property   float           LineUnitAfter = {read = get_LineUnitAfter, write = set_LineUnitAfter};
  __property   Word_xp::WdReadingOrder ReadingOrder = {read = get_ReadingOrder, write = set_ReadingOrder};
  __property   long            SpaceBeforeAuto = {read = get_SpaceBeforeAuto, write = set_SpaceBeforeAuto};
  __property   long            SpaceAfterAuto = {read = get_SpaceAfterAuto, write = set_SpaceAfterAuto};
};
typedef ParagraphsDispT<Paragraphs> ParagraphsDisp;

typedef TComInterface<Paragraph>  TCOMParagraph;

// *********************************************************************//
// DispIntf:  Paragraph
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020957-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ParagraphDispT : public TAutoDriver<Paragraph>
{
public:
  ParagraphDispT(){}

  ParagraphDispT(Paragraph *pintf)
  {
    TAutoDriver<Paragraph>::Bind(pintf, false);
  }

  ParagraphDispT(ParagraphPtr pintf)
  {
    TAutoDriver<Paragraph>::Bind(pintf, true);
  }

  ParagraphDispT& operator=(Paragraph *pintf)
  {
    TAutoDriver<Paragraph>::Bind(pintf, false);
    return *this;
  }

  ParagraphDispT& operator=(ParagraphPtr pintf)
  {
    TAutoDriver<Paragraph>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Format(Word_xp::WordParagraphFormat** prop/*[out,retval]*/);
  Word_xp::WordParagraphFormatPtr __fastcall get_Format(void);
  HRESULT         __fastcall set_Format(Word_xp::WordParagraphFormatPtr prop/*[in]*/);
  HRESULT         __fastcall get_TabStops(Word_xp::TabStops** prop/*[out,retval]*/);
  Word_xp::TabStopsPtr __fastcall get_TabStops(void);
  HRESULT         __fastcall set_TabStops(Word_xp::TabStopsPtr prop/*[in]*/);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_DropCap(Word_xp::DropCap** prop/*[out,retval]*/);
  Word_xp::DropCapPtr __fastcall get_DropCap(void);
  HRESULT         __fastcall get_Style(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Style(void);
  HRESULT         __fastcall set_Style(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Alignment(Word_xp::WdParagraphAlignment* prop/*[out,retval]*/);
  Word_xp::WdParagraphAlignment __fastcall get_Alignment(void);
  HRESULT         __fastcall set_Alignment(Word_xp::WdParagraphAlignment prop/*[in]*/);
  HRESULT         __fastcall get_KeepTogether(long* prop/*[out,retval]*/);
  long            __fastcall get_KeepTogether(void);
  HRESULT         __fastcall set_KeepTogether(long prop/*[in]*/);
  HRESULT         __fastcall get_KeepWithNext(long* prop/*[out,retval]*/);
  long            __fastcall get_KeepWithNext(void);
  HRESULT         __fastcall set_KeepWithNext(long prop/*[in]*/);
  HRESULT         __fastcall get_PageBreakBefore(long* prop/*[out,retval]*/);
  long            __fastcall get_PageBreakBefore(void);
  HRESULT         __fastcall set_PageBreakBefore(long prop/*[in]*/);
  HRESULT         __fastcall get_NoLineNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_NoLineNumber(void);
  HRESULT         __fastcall set_NoLineNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_RightIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_RightIndent(void);
  HRESULT         __fastcall set_RightIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_LeftIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftIndent(void);
  HRESULT         __fastcall set_LeftIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_FirstLineIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_FirstLineIndent(void);
  HRESULT         __fastcall set_FirstLineIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_LineSpacing(float* prop/*[out,retval]*/);
  float           __fastcall get_LineSpacing(void);
  HRESULT         __fastcall set_LineSpacing(float prop/*[in]*/);
  HRESULT         __fastcall get_LineSpacingRule(Word_xp::WdLineSpacing* prop/*[out,retval]*/);
  Word_xp::WdLineSpacing __fastcall get_LineSpacingRule(void);
  HRESULT         __fastcall set_LineSpacingRule(Word_xp::WdLineSpacing prop/*[in]*/);
  HRESULT         __fastcall get_SpaceBefore(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceBefore(void);
  HRESULT         __fastcall set_SpaceBefore(float prop/*[in]*/);
  HRESULT         __fastcall get_SpaceAfter(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceAfter(void);
  HRESULT         __fastcall set_SpaceAfter(float prop/*[in]*/);
  HRESULT         __fastcall get_Hyphenation(long* prop/*[out,retval]*/);
  long            __fastcall get_Hyphenation(void);
  HRESULT         __fastcall set_Hyphenation(long prop/*[in]*/);
  HRESULT         __fastcall get_WidowControl(long* prop/*[out,retval]*/);
  long            __fastcall get_WidowControl(void);
  HRESULT         __fastcall set_WidowControl(long prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_FarEastLineBreakControl(long* prop/*[out,retval]*/);
  long            __fastcall get_FarEastLineBreakControl(void);
  HRESULT         __fastcall set_FarEastLineBreakControl(long prop/*[in]*/);
  HRESULT         __fastcall get_WordWrap(long* prop/*[out,retval]*/);
  long            __fastcall get_WordWrap(void);
  HRESULT         __fastcall set_WordWrap(long prop/*[in]*/);
  HRESULT         __fastcall get_HangingPunctuation(long* prop/*[out,retval]*/);
  long            __fastcall get_HangingPunctuation(void);
  HRESULT         __fastcall set_HangingPunctuation(long prop/*[in]*/);
  HRESULT         __fastcall get_HalfWidthPunctuationOnTopOfLine(long* prop/*[out,retval]*/);
  long            __fastcall get_HalfWidthPunctuationOnTopOfLine(void);
  HRESULT         __fastcall set_HalfWidthPunctuationOnTopOfLine(long prop/*[in]*/);
  HRESULT         __fastcall get_AddSpaceBetweenFarEastAndAlpha(long* prop/*[out,retval]*/);
  long            __fastcall get_AddSpaceBetweenFarEastAndAlpha(void);
  HRESULT         __fastcall set_AddSpaceBetweenFarEastAndAlpha(long prop/*[in]*/);
  HRESULT         __fastcall get_AddSpaceBetweenFarEastAndDigit(long* prop/*[out,retval]*/);
  long            __fastcall get_AddSpaceBetweenFarEastAndDigit(void);
  HRESULT         __fastcall set_AddSpaceBetweenFarEastAndDigit(long prop/*[in]*/);
  HRESULT         __fastcall get_BaseLineAlignment(Word_xp::WdBaselineAlignment* prop/*[out,retval]*/);
  Word_xp::WdBaselineAlignment __fastcall get_BaseLineAlignment(void);
  HRESULT         __fastcall set_BaseLineAlignment(Word_xp::WdBaselineAlignment prop/*[in]*/);
  HRESULT         __fastcall get_AutoAdjustRightIndent(long* prop/*[out,retval]*/);
  long            __fastcall get_AutoAdjustRightIndent(void);
  HRESULT         __fastcall set_AutoAdjustRightIndent(long prop/*[in]*/);
  HRESULT         __fastcall get_DisableLineHeightGrid(long* prop/*[out,retval]*/);
  long            __fastcall get_DisableLineHeightGrid(void);
  HRESULT         __fastcall set_DisableLineHeightGrid(long prop/*[in]*/);
  HRESULT         __fastcall get_OutlineLevel(Word_xp::WdOutlineLevel* prop/*[out,retval]*/);
  Word_xp::WdOutlineLevel __fastcall get_OutlineLevel(void);
  HRESULT         __fastcall set_OutlineLevel(Word_xp::WdOutlineLevel prop/*[in]*/);
  HRESULT         __fastcall CloseUp();
  HRESULT         __fastcall OpenUp();
  HRESULT         __fastcall OpenOrCloseUp();
  HRESULT         __fastcall TabHangingIndent(short Count/*[in]*/);
  HRESULT         __fastcall TabIndent(short Count/*[in]*/);
  HRESULT         __fastcall Reset();
  HRESULT         __fastcall Space1();
  HRESULT         __fastcall Space15();
  HRESULT         __fastcall Space2();
  HRESULT         __fastcall IndentCharWidth(short Count/*[in]*/);
  HRESULT         __fastcall IndentFirstLineCharWidth(short Count/*[in]*/);
  HRESULT         __fastcall Next(VARIANT* Count/*[in,opt]*/, 
                                  Word_xp::Paragraph** prop/*[out,retval]*/);
  Word_xp::Paragraph* __fastcall Next(VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Previous(VARIANT* Count/*[in,opt]*/, 
                                      Word_xp::Paragraph** prop/*[out,retval]*/);
  Word_xp::Paragraph* __fastcall Previous(VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall OutlinePromote();
  HRESULT         __fastcall OutlineDemote();
  HRESULT         __fastcall OutlineDemoteToBody();
  HRESULT         __fastcall Indent();
  HRESULT         __fastcall Outdent();
  HRESULT         __fastcall get_CharacterUnitRightIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_CharacterUnitRightIndent(void);
  HRESULT         __fastcall set_CharacterUnitRightIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_CharacterUnitLeftIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_CharacterUnitLeftIndent(void);
  HRESULT         __fastcall set_CharacterUnitLeftIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_CharacterUnitFirstLineIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_CharacterUnitFirstLineIndent(void);
  HRESULT         __fastcall set_CharacterUnitFirstLineIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_LineUnitBefore(float* prop/*[out,retval]*/);
  float           __fastcall get_LineUnitBefore(void);
  HRESULT         __fastcall set_LineUnitBefore(float prop/*[in]*/);
  HRESULT         __fastcall get_LineUnitAfter(float* prop/*[out,retval]*/);
  float           __fastcall get_LineUnitAfter(void);
  HRESULT         __fastcall set_LineUnitAfter(float prop/*[in]*/);
  HRESULT         __fastcall get_ReadingOrder(Word_xp::WdReadingOrder* prop/*[out,retval]*/);
  Word_xp::WdReadingOrder __fastcall get_ReadingOrder(void);
  HRESULT         __fastcall set_ReadingOrder(Word_xp::WdReadingOrder prop/*[in]*/);
  HRESULT         __fastcall get_ID(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ID(void);
  HRESULT         __fastcall set_ID(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SpaceBeforeAuto(long* prop/*[out,retval]*/);
  long            __fastcall get_SpaceBeforeAuto(void);
  HRESULT         __fastcall set_SpaceBeforeAuto(long prop/*[in]*/);
  HRESULT         __fastcall get_SpaceAfterAuto(long* prop/*[out,retval]*/);
  long            __fastcall get_SpaceAfterAuto(void);
  HRESULT         __fastcall set_SpaceAfterAuto(long prop/*[in]*/);
  HRESULT         __fastcall get_IsStyleSeparator(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsStyleSeparator(void);
  HRESULT         __fastcall SelectNumber();

  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordParagraphFormatPtr Format = {read = get_Format, write = set_Format};
  __property   Word_xp::TabStopsPtr TabStops = {read = get_TabStops, write = set_TabStops};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::DropCapPtr DropCap = {read = get_DropCap};
  __property   Word_xp::WdParagraphAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   long            KeepTogether = {read = get_KeepTogether, write = set_KeepTogether};
  __property   long            KeepWithNext = {read = get_KeepWithNext, write = set_KeepWithNext};
  __property   long            PageBreakBefore = {read = get_PageBreakBefore, write = set_PageBreakBefore};
  __property   long            NoLineNumber = {read = get_NoLineNumber, write = set_NoLineNumber};
  __property   float           RightIndent = {read = get_RightIndent, write = set_RightIndent};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   float           FirstLineIndent = {read = get_FirstLineIndent, write = set_FirstLineIndent};
  __property   float           LineSpacing = {read = get_LineSpacing, write = set_LineSpacing};
  __property   Word_xp::WdLineSpacing LineSpacingRule = {read = get_LineSpacingRule, write = set_LineSpacingRule};
  __property   float           SpaceBefore = {read = get_SpaceBefore, write = set_SpaceBefore};
  __property   float           SpaceAfter = {read = get_SpaceAfter, write = set_SpaceAfter};
  __property   long            Hyphenation = {read = get_Hyphenation, write = set_Hyphenation};
  __property   long            WidowControl = {read = get_WidowControl, write = set_WidowControl};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   long            FarEastLineBreakControl = {read = get_FarEastLineBreakControl, write = set_FarEastLineBreakControl};
  __property   long            WordWrap = {read = get_WordWrap, write = set_WordWrap};
  __property   long            HangingPunctuation = {read = get_HangingPunctuation, write = set_HangingPunctuation};
  __property   long            HalfWidthPunctuationOnTopOfLine = {read = get_HalfWidthPunctuationOnTopOfLine, write = set_HalfWidthPunctuationOnTopOfLine};
  __property   long            AddSpaceBetweenFarEastAndAlpha = {read = get_AddSpaceBetweenFarEastAndAlpha, write = set_AddSpaceBetweenFarEastAndAlpha};
  __property   long            AddSpaceBetweenFarEastAndDigit = {read = get_AddSpaceBetweenFarEastAndDigit, write = set_AddSpaceBetweenFarEastAndDigit};
  __property   Word_xp::WdBaselineAlignment BaseLineAlignment = {read = get_BaseLineAlignment, write = set_BaseLineAlignment};
  __property   long            AutoAdjustRightIndent = {read = get_AutoAdjustRightIndent, write = set_AutoAdjustRightIndent};
  __property   long            DisableLineHeightGrid = {read = get_DisableLineHeightGrid, write = set_DisableLineHeightGrid};
  __property   Word_xp::WdOutlineLevel OutlineLevel = {read = get_OutlineLevel, write = set_OutlineLevel};
  __property   float           CharacterUnitRightIndent = {read = get_CharacterUnitRightIndent, write = set_CharacterUnitRightIndent};
  __property   float           CharacterUnitLeftIndent = {read = get_CharacterUnitLeftIndent, write = set_CharacterUnitLeftIndent};
  __property   float           CharacterUnitFirstLineIndent = {read = get_CharacterUnitFirstLineIndent, write = set_CharacterUnitFirstLineIndent};
  __property   float           LineUnitBefore = {read = get_LineUnitBefore, write = set_LineUnitBefore};
  __property   float           LineUnitAfter = {read = get_LineUnitAfter, write = set_LineUnitAfter};
  __property   Word_xp::WdReadingOrder ReadingOrder = {read = get_ReadingOrder, write = set_ReadingOrder};
  __property   BSTR            ID = {read = get_ID, write = set_ID};
  __property   long            SpaceBeforeAuto = {read = get_SpaceBeforeAuto, write = set_SpaceBeforeAuto};
  __property   long            SpaceAfterAuto = {read = get_SpaceAfterAuto, write = set_SpaceAfterAuto};
  __property   VARIANT_BOOL    IsStyleSeparator = {read = get_IsStyleSeparator};
};
typedef ParagraphDispT<Paragraph> ParagraphDisp;

typedef TComInterface<DropCap>  TCOMDropCap;

// *********************************************************************//
// DispIntf:  DropCap
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020956-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class DropCapDispT : public TAutoDriver<DropCap>
{
public:
  DropCapDispT(){}

  DropCapDispT(DropCap *pintf)
  {
    TAutoDriver<DropCap>::Bind(pintf, false);
  }

  DropCapDispT(DropCapPtr pintf)
  {
    TAutoDriver<DropCap>::Bind(pintf, true);
  }

  DropCapDispT& operator=(DropCap *pintf)
  {
    TAutoDriver<DropCap>::Bind(pintf, false);
    return *this;
  }

  DropCapDispT& operator=(DropCapPtr pintf)
  {
    TAutoDriver<DropCap>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Position(Word_xp::WdDropPosition* prop/*[out,retval]*/);
  Word_xp::WdDropPosition __fastcall get_Position(void);
  HRESULT         __fastcall set_Position(Word_xp::WdDropPosition prop/*[in]*/);
  HRESULT         __fastcall get_FontName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_FontName(void);
  HRESULT         __fastcall set_FontName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_LinesToDrop(long* prop/*[out,retval]*/);
  long            __fastcall get_LinesToDrop(void);
  HRESULT         __fastcall set_LinesToDrop(long prop/*[in]*/);
  HRESULT         __fastcall get_DistanceFromText(float* prop/*[out,retval]*/);
  float           __fastcall get_DistanceFromText(void);
  HRESULT         __fastcall set_DistanceFromText(float prop/*[in]*/);
  HRESULT         __fastcall Clear();
  HRESULT         __fastcall Enable();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdDropPosition Position = {read = get_Position, write = set_Position};
  __property   BSTR            FontName = {read = get_FontName, write = set_FontName};
  __property   long            LinesToDrop = {read = get_LinesToDrop, write = set_LinesToDrop};
  __property   float           DistanceFromText = {read = get_DistanceFromText, write = set_DistanceFromText};
};
typedef DropCapDispT<DropCap> DropCapDisp;

typedef TComInterface<TabStops>  TCOMTabStops;

// *********************************************************************//
// DispIntf:  TabStops
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020955-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TabStopsDispT : public TAutoDriver<TabStops>
{
public:
  TabStopsDispT(){}

  TabStopsDispT(TabStops *pintf)
  {
    TAutoDriver<TabStops>::Bind(pintf, false);
  }

  TabStopsDispT(TabStopsPtr pintf)
  {
    TAutoDriver<TabStops>::Bind(pintf, true);
  }

  TabStopsDispT& operator=(TabStops *pintf)
  {
    TAutoDriver<TabStops>::Bind(pintf, false);
    return *this;
  }

  TabStopsDispT& operator=(TabStopsPtr pintf)
  {
    TAutoDriver<TabStops>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::TabStop** prop/*[out,retval]*/);
  Word_xp::TabStop* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(float Position/*[in]*/, VARIANT* Alignment/*[in,opt]*/, 
                                 VARIANT* Leader/*[in,opt]*/, 
                                 Word_xp::TabStop** prop/*[out,retval]*/);
  Word_xp::TabStop* __fastcall Add(float Position/*[in]*/, 
                                   VARIANT* Alignment/*[in,opt]*/= TNoParam(), 
                                   VARIANT* Leader/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ClearAll();
  HRESULT         __fastcall Before(float Position/*[in]*/, Word_xp::TabStop** prop/*[out,retval]*/);
  Word_xp::TabStop* __fastcall Before(float Position/*[in]*/);
  HRESULT         __fastcall After(float Position/*[in]*/, Word_xp::TabStop** prop/*[out,retval]*/);
  Word_xp::TabStop* __fastcall After(float Position/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef TabStopsDispT<TabStops> TabStopsDisp;

typedef TComInterface<TabStop>  TCOMTabStop;

// *********************************************************************//
// DispIntf:  TabStop
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020954-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TabStopDispT : public TAutoDriver<TabStop>
{
public:
  TabStopDispT(){}

  TabStopDispT(TabStop *pintf)
  {
    TAutoDriver<TabStop>::Bind(pintf, false);
  }

  TabStopDispT(TabStopPtr pintf)
  {
    TAutoDriver<TabStop>::Bind(pintf, true);
  }

  TabStopDispT& operator=(TabStop *pintf)
  {
    TAutoDriver<TabStop>::Bind(pintf, false);
    return *this;
  }

  TabStopDispT& operator=(TabStopPtr pintf)
  {
    TAutoDriver<TabStop>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Alignment(Word_xp::WdTabAlignment* prop/*[out,retval]*/);
  Word_xp::WdTabAlignment __fastcall get_Alignment(void);
  HRESULT         __fastcall set_Alignment(Word_xp::WdTabAlignment prop/*[in]*/);
  HRESULT         __fastcall get_Leader(Word_xp::WdTabLeader* prop/*[out,retval]*/);
  Word_xp::WdTabLeader __fastcall get_Leader(void);
  HRESULT         __fastcall set_Leader(Word_xp::WdTabLeader prop/*[in]*/);
  HRESULT         __fastcall get_Position(float* prop/*[out,retval]*/);
  float           __fastcall get_Position(void);
  HRESULT         __fastcall set_Position(float prop/*[in]*/);
  HRESULT         __fastcall get_CustomTab(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CustomTab(void);
  HRESULT         __fastcall get_Next(Word_xp::TabStop** prop/*[out,retval]*/);
  Word_xp::TabStopPtr __fastcall get_Next(void);
  HRESULT         __fastcall get_Previous(Word_xp::TabStop** prop/*[out,retval]*/);
  Word_xp::TabStopPtr __fastcall get_Previous(void);
  HRESULT         __fastcall Clear();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdTabAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   Word_xp::WdTabLeader Leader = {read = get_Leader, write = set_Leader};
  __property   float           Position = {read = get_Position, write = set_Position};
  __property   VARIANT_BOOL    CustomTab = {read = get_CustomTab};
  __property   Word_xp::TabStopPtr Next = {read = get_Next};
  __property   Word_xp::TabStopPtr Previous = {read = get_Previous};
};
typedef TabStopDispT<TabStop> TabStopDisp;

// *********************************************************************//
// SmartIntf: TCOM_ParagraphFormat
// Interface: _ParagraphFormat
// *********************************************************************//
template <class T /* _ParagraphFormat */ >
class TCOM_ParagraphFormatT : public TComInterface<_ParagraphFormat>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ParagraphFormatT() {}
  TCOM_ParagraphFormatT(_ParagraphFormat *intf, bool addRef = false) : TComInterface<_ParagraphFormat>(intf, addRef) {}
  TCOM_ParagraphFormatT(const TCOM_ParagraphFormatT& src) : TComInterface<_ParagraphFormat>(src) {}
  TCOM_ParagraphFormatT& operator=(const TCOM_ParagraphFormatT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Duplicate(Word_xp::WordParagraphFormat** prop/*[out,retval]*/);
  Word_xp::WordParagraphFormatPtr __fastcall get_Duplicate(void);
  HRESULT         __fastcall get_Style(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Style(void);
  HRESULT         __fastcall set_Style(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Alignment(Word_xp::WdParagraphAlignment* prop/*[out,retval]*/);
  Word_xp::WdParagraphAlignment __fastcall get_Alignment(void);
  HRESULT         __fastcall set_Alignment(Word_xp::WdParagraphAlignment prop/*[in]*/);
  HRESULT         __fastcall get_KeepTogether(long* prop/*[out,retval]*/);
  long            __fastcall get_KeepTogether(void);
  HRESULT         __fastcall set_KeepTogether(long prop/*[in]*/);
  HRESULT         __fastcall get_KeepWithNext(long* prop/*[out,retval]*/);
  long            __fastcall get_KeepWithNext(void);
  HRESULT         __fastcall set_KeepWithNext(long prop/*[in]*/);
  HRESULT         __fastcall get_PageBreakBefore(long* prop/*[out,retval]*/);
  long            __fastcall get_PageBreakBefore(void);
  HRESULT         __fastcall set_PageBreakBefore(long prop/*[in]*/);
  HRESULT         __fastcall get_NoLineNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_NoLineNumber(void);
  HRESULT         __fastcall set_NoLineNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_RightIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_RightIndent(void);
  HRESULT         __fastcall set_RightIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_LeftIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftIndent(void);
  HRESULT         __fastcall set_LeftIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_FirstLineIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_FirstLineIndent(void);
  HRESULT         __fastcall set_FirstLineIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_LineSpacing(float* prop/*[out,retval]*/);
  float           __fastcall get_LineSpacing(void);
  HRESULT         __fastcall set_LineSpacing(float prop/*[in]*/);
  HRESULT         __fastcall get_LineSpacingRule(Word_xp::WdLineSpacing* prop/*[out,retval]*/);
  Word_xp::WdLineSpacing __fastcall get_LineSpacingRule(void);
  HRESULT         __fastcall set_LineSpacingRule(Word_xp::WdLineSpacing prop/*[in]*/);
  HRESULT         __fastcall get_SpaceBefore(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceBefore(void);
  HRESULT         __fastcall set_SpaceBefore(float prop/*[in]*/);
  HRESULT         __fastcall get_SpaceAfter(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceAfter(void);
  HRESULT         __fastcall set_SpaceAfter(float prop/*[in]*/);
  HRESULT         __fastcall get_Hyphenation(long* prop/*[out,retval]*/);
  long            __fastcall get_Hyphenation(void);
  HRESULT         __fastcall set_Hyphenation(long prop/*[in]*/);
  HRESULT         __fastcall get_WidowControl(long* prop/*[out,retval]*/);
  long            __fastcall get_WidowControl(void);
  HRESULT         __fastcall set_WidowControl(long prop/*[in]*/);
  HRESULT         __fastcall get_FarEastLineBreakControl(long* prop/*[out,retval]*/);
  long            __fastcall get_FarEastLineBreakControl(void);
  HRESULT         __fastcall set_FarEastLineBreakControl(long prop/*[in]*/);
  HRESULT         __fastcall get_WordWrap(long* prop/*[out,retval]*/);
  long            __fastcall get_WordWrap(void);
  HRESULT         __fastcall set_WordWrap(long prop/*[in]*/);
  HRESULT         __fastcall get_HangingPunctuation(long* prop/*[out,retval]*/);
  long            __fastcall get_HangingPunctuation(void);
  HRESULT         __fastcall set_HangingPunctuation(long prop/*[in]*/);
  HRESULT         __fastcall get_HalfWidthPunctuationOnTopOfLine(long* prop/*[out,retval]*/);
  long            __fastcall get_HalfWidthPunctuationOnTopOfLine(void);
  HRESULT         __fastcall set_HalfWidthPunctuationOnTopOfLine(long prop/*[in]*/);
  HRESULT         __fastcall get_AddSpaceBetweenFarEastAndAlpha(long* prop/*[out,retval]*/);
  long            __fastcall get_AddSpaceBetweenFarEastAndAlpha(void);
  HRESULT         __fastcall set_AddSpaceBetweenFarEastAndAlpha(long prop/*[in]*/);
  HRESULT         __fastcall get_AddSpaceBetweenFarEastAndDigit(long* prop/*[out,retval]*/);
  long            __fastcall get_AddSpaceBetweenFarEastAndDigit(void);
  HRESULT         __fastcall set_AddSpaceBetweenFarEastAndDigit(long prop/*[in]*/);
  HRESULT         __fastcall get_BaseLineAlignment(Word_xp::WdBaselineAlignment* prop/*[out,retval]*/);
  Word_xp::WdBaselineAlignment __fastcall get_BaseLineAlignment(void);
  HRESULT         __fastcall set_BaseLineAlignment(Word_xp::WdBaselineAlignment prop/*[in]*/);
  HRESULT         __fastcall get_AutoAdjustRightIndent(long* prop/*[out,retval]*/);
  long            __fastcall get_AutoAdjustRightIndent(void);
  HRESULT         __fastcall set_AutoAdjustRightIndent(long prop/*[in]*/);
  HRESULT         __fastcall get_DisableLineHeightGrid(long* prop/*[out,retval]*/);
  long            __fastcall get_DisableLineHeightGrid(void);
  HRESULT         __fastcall set_DisableLineHeightGrid(long prop/*[in]*/);
  HRESULT         __fastcall get_TabStops(Word_xp::TabStops** prop/*[out,retval]*/);
  Word_xp::TabStopsPtr __fastcall get_TabStops(void);
  HRESULT         __fastcall set_TabStops(Word_xp::TabStopsPtr prop/*[in]*/);
  HRESULT         __fastcall set_TabStops(Word_xp::TabStops* prop/*[in]*/);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall set_Borders(Word_xp::Borders* prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_OutlineLevel(Word_xp::WdOutlineLevel* prop/*[out,retval]*/);
  Word_xp::WdOutlineLevel __fastcall get_OutlineLevel(void);
  HRESULT         __fastcall set_OutlineLevel(Word_xp::WdOutlineLevel prop/*[in]*/);
  HRESULT         __fastcall CloseUp(void);
  HRESULT         __fastcall OpenUp(void);
  HRESULT         __fastcall OpenOrCloseUp(void);
  HRESULT         __fastcall TabHangingIndent(short Count/*[in]*/);
  HRESULT         __fastcall TabIndent(short Count/*[in]*/);
  HRESULT         __fastcall Reset(void);
  HRESULT         __fastcall Space1(void);
  HRESULT         __fastcall Space15(void);
  HRESULT         __fastcall Space2(void);
  HRESULT         __fastcall IndentCharWidth(short Count/*[in]*/);
  HRESULT         __fastcall IndentFirstLineCharWidth(short Count/*[in]*/);
  HRESULT         __fastcall get_CharacterUnitRightIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_CharacterUnitRightIndent(void);
  HRESULT         __fastcall set_CharacterUnitRightIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_CharacterUnitLeftIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_CharacterUnitLeftIndent(void);
  HRESULT         __fastcall set_CharacterUnitLeftIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_CharacterUnitFirstLineIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_CharacterUnitFirstLineIndent(void);
  HRESULT         __fastcall set_CharacterUnitFirstLineIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_LineUnitBefore(float* prop/*[out,retval]*/);
  float           __fastcall get_LineUnitBefore(void);
  HRESULT         __fastcall set_LineUnitBefore(float prop/*[in]*/);
  HRESULT         __fastcall get_LineUnitAfter(float* prop/*[out,retval]*/);
  float           __fastcall get_LineUnitAfter(void);
  HRESULT         __fastcall set_LineUnitAfter(float prop/*[in]*/);
  HRESULT         __fastcall get_ReadingOrder(Word_xp::WdReadingOrder* prop/*[out,retval]*/);
  Word_xp::WdReadingOrder __fastcall get_ReadingOrder(void);
  HRESULT         __fastcall set_ReadingOrder(Word_xp::WdReadingOrder prop/*[in]*/);
  HRESULT         __fastcall get_SpaceBeforeAuto(long* prop/*[out,retval]*/);
  long            __fastcall get_SpaceBeforeAuto(void);
  HRESULT         __fastcall set_SpaceBeforeAuto(long prop/*[in]*/);
  HRESULT         __fastcall get_SpaceAfterAuto(long* prop/*[out,retval]*/);
  long            __fastcall get_SpaceAfterAuto(void);
  HRESULT         __fastcall set_SpaceAfterAuto(long prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordParagraphFormatPtr Duplicate = {read = get_Duplicate};
  __property   Word_xp::WdParagraphAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   long            KeepTogether = {read = get_KeepTogether, write = set_KeepTogether};
  __property   long            KeepWithNext = {read = get_KeepWithNext, write = set_KeepWithNext};
  __property   long            PageBreakBefore = {read = get_PageBreakBefore, write = set_PageBreakBefore};
  __property   long            NoLineNumber = {read = get_NoLineNumber, write = set_NoLineNumber};
  __property   float           RightIndent = {read = get_RightIndent, write = set_RightIndent};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   float           FirstLineIndent = {read = get_FirstLineIndent, write = set_FirstLineIndent};
  __property   float           LineSpacing = {read = get_LineSpacing, write = set_LineSpacing};
  __property   Word_xp::WdLineSpacing LineSpacingRule = {read = get_LineSpacingRule, write = set_LineSpacingRule};
  __property   float           SpaceBefore = {read = get_SpaceBefore, write = set_SpaceBefore};
  __property   float           SpaceAfter = {read = get_SpaceAfter, write = set_SpaceAfter};
  __property   long            Hyphenation = {read = get_Hyphenation, write = set_Hyphenation};
  __property   long            WidowControl = {read = get_WidowControl, write = set_WidowControl};
  __property   long            FarEastLineBreakControl = {read = get_FarEastLineBreakControl, write = set_FarEastLineBreakControl};
  __property   long            WordWrap = {read = get_WordWrap, write = set_WordWrap};
  __property   long            HangingPunctuation = {read = get_HangingPunctuation, write = set_HangingPunctuation};
  __property   long            HalfWidthPunctuationOnTopOfLine = {read = get_HalfWidthPunctuationOnTopOfLine, write = set_HalfWidthPunctuationOnTopOfLine};
  __property   long            AddSpaceBetweenFarEastAndAlpha = {read = get_AddSpaceBetweenFarEastAndAlpha, write = set_AddSpaceBetweenFarEastAndAlpha};
  __property   long            AddSpaceBetweenFarEastAndDigit = {read = get_AddSpaceBetweenFarEastAndDigit, write = set_AddSpaceBetweenFarEastAndDigit};
  __property   Word_xp::WdBaselineAlignment BaseLineAlignment = {read = get_BaseLineAlignment, write = set_BaseLineAlignment};
  __property   long            AutoAdjustRightIndent = {read = get_AutoAdjustRightIndent, write = set_AutoAdjustRightIndent};
  __property   long            DisableLineHeightGrid = {read = get_DisableLineHeightGrid, write = set_DisableLineHeightGrid};
  __property   Word_xp::TabStopsPtr TabStops = {read = get_TabStops, write = set_TabStops};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::WdOutlineLevel OutlineLevel = {read = get_OutlineLevel, write = set_OutlineLevel};
  __property   float           CharacterUnitRightIndent = {read = get_CharacterUnitRightIndent, write = set_CharacterUnitRightIndent};
  __property   float           CharacterUnitLeftIndent = {read = get_CharacterUnitLeftIndent, write = set_CharacterUnitLeftIndent};
  __property   float           CharacterUnitFirstLineIndent = {read = get_CharacterUnitFirstLineIndent, write = set_CharacterUnitFirstLineIndent};
  __property   float           LineUnitBefore = {read = get_LineUnitBefore, write = set_LineUnitBefore};
  __property   float           LineUnitAfter = {read = get_LineUnitAfter, write = set_LineUnitAfter};
  __property   Word_xp::WdReadingOrder ReadingOrder = {read = get_ReadingOrder, write = set_ReadingOrder};
  __property   long            SpaceBeforeAuto = {read = get_SpaceBeforeAuto, write = set_SpaceBeforeAuto};
  __property   long            SpaceAfterAuto = {read = get_SpaceAfterAuto, write = set_SpaceAfterAuto};
};
typedef TCOM_ParagraphFormatT<_ParagraphFormat> TCOM_ParagraphFormat;

// *********************************************************************//
// DispIntf:  _ParagraphFormat
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020953-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class _ParagraphFormatDispT : public TAutoDriver<_ParagraphFormat>
{
public:
  _ParagraphFormatDispT(){}

  _ParagraphFormatDispT(_ParagraphFormat *pintf)
  {
    TAutoDriver<_ParagraphFormat>::Bind(pintf, false);
  }

  _ParagraphFormatDispT(_ParagraphFormatPtr pintf)
  {
    TAutoDriver<_ParagraphFormat>::Bind(pintf, true);
  }

  _ParagraphFormatDispT& operator=(_ParagraphFormat *pintf)
  {
    TAutoDriver<_ParagraphFormat>::Bind(pintf, false);
    return *this;
  }

  _ParagraphFormatDispT& operator=(_ParagraphFormatPtr pintf)
  {
    TAutoDriver<_ParagraphFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WordParagraphFormat));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WordParagraphFormat);
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Duplicate(Word_xp::WordParagraphFormat** prop/*[out,retval]*/);
  Word_xp::WordParagraphFormatPtr __fastcall get_Duplicate(void);
  HRESULT         __fastcall get_Style(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Style(void);
  HRESULT         __fastcall set_Style(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Alignment(Word_xp::WdParagraphAlignment* prop/*[out,retval]*/);
  Word_xp::WdParagraphAlignment __fastcall get_Alignment(void);
  HRESULT         __fastcall set_Alignment(Word_xp::WdParagraphAlignment prop/*[in]*/);
  HRESULT         __fastcall get_KeepTogether(long* prop/*[out,retval]*/);
  long            __fastcall get_KeepTogether(void);
  HRESULT         __fastcall set_KeepTogether(long prop/*[in]*/);
  HRESULT         __fastcall get_KeepWithNext(long* prop/*[out,retval]*/);
  long            __fastcall get_KeepWithNext(void);
  HRESULT         __fastcall set_KeepWithNext(long prop/*[in]*/);
  HRESULT         __fastcall get_PageBreakBefore(long* prop/*[out,retval]*/);
  long            __fastcall get_PageBreakBefore(void);
  HRESULT         __fastcall set_PageBreakBefore(long prop/*[in]*/);
  HRESULT         __fastcall get_NoLineNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_NoLineNumber(void);
  HRESULT         __fastcall set_NoLineNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_RightIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_RightIndent(void);
  HRESULT         __fastcall set_RightIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_LeftIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftIndent(void);
  HRESULT         __fastcall set_LeftIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_FirstLineIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_FirstLineIndent(void);
  HRESULT         __fastcall set_FirstLineIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_LineSpacing(float* prop/*[out,retval]*/);
  float           __fastcall get_LineSpacing(void);
  HRESULT         __fastcall set_LineSpacing(float prop/*[in]*/);
  HRESULT         __fastcall get_LineSpacingRule(Word_xp::WdLineSpacing* prop/*[out,retval]*/);
  Word_xp::WdLineSpacing __fastcall get_LineSpacingRule(void);
  HRESULT         __fastcall set_LineSpacingRule(Word_xp::WdLineSpacing prop/*[in]*/);
  HRESULT         __fastcall get_SpaceBefore(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceBefore(void);
  HRESULT         __fastcall set_SpaceBefore(float prop/*[in]*/);
  HRESULT         __fastcall get_SpaceAfter(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceAfter(void);
  HRESULT         __fastcall set_SpaceAfter(float prop/*[in]*/);
  HRESULT         __fastcall get_Hyphenation(long* prop/*[out,retval]*/);
  long            __fastcall get_Hyphenation(void);
  HRESULT         __fastcall set_Hyphenation(long prop/*[in]*/);
  HRESULT         __fastcall get_WidowControl(long* prop/*[out,retval]*/);
  long            __fastcall get_WidowControl(void);
  HRESULT         __fastcall set_WidowControl(long prop/*[in]*/);
  HRESULT         __fastcall get_FarEastLineBreakControl(long* prop/*[out,retval]*/);
  long            __fastcall get_FarEastLineBreakControl(void);
  HRESULT         __fastcall set_FarEastLineBreakControl(long prop/*[in]*/);
  HRESULT         __fastcall get_WordWrap(long* prop/*[out,retval]*/);
  long            __fastcall get_WordWrap(void);
  HRESULT         __fastcall set_WordWrap(long prop/*[in]*/);
  HRESULT         __fastcall get_HangingPunctuation(long* prop/*[out,retval]*/);
  long            __fastcall get_HangingPunctuation(void);
  HRESULT         __fastcall set_HangingPunctuation(long prop/*[in]*/);
  HRESULT         __fastcall get_HalfWidthPunctuationOnTopOfLine(long* prop/*[out,retval]*/);
  long            __fastcall get_HalfWidthPunctuationOnTopOfLine(void);
  HRESULT         __fastcall set_HalfWidthPunctuationOnTopOfLine(long prop/*[in]*/);
  HRESULT         __fastcall get_AddSpaceBetweenFarEastAndAlpha(long* prop/*[out,retval]*/);
  long            __fastcall get_AddSpaceBetweenFarEastAndAlpha(void);
  HRESULT         __fastcall set_AddSpaceBetweenFarEastAndAlpha(long prop/*[in]*/);
  HRESULT         __fastcall get_AddSpaceBetweenFarEastAndDigit(long* prop/*[out,retval]*/);
  long            __fastcall get_AddSpaceBetweenFarEastAndDigit(void);
  HRESULT         __fastcall set_AddSpaceBetweenFarEastAndDigit(long prop/*[in]*/);
  HRESULT         __fastcall get_BaseLineAlignment(Word_xp::WdBaselineAlignment* prop/*[out,retval]*/);
  Word_xp::WdBaselineAlignment __fastcall get_BaseLineAlignment(void);
  HRESULT         __fastcall set_BaseLineAlignment(Word_xp::WdBaselineAlignment prop/*[in]*/);
  HRESULT         __fastcall get_AutoAdjustRightIndent(long* prop/*[out,retval]*/);
  long            __fastcall get_AutoAdjustRightIndent(void);
  HRESULT         __fastcall set_AutoAdjustRightIndent(long prop/*[in]*/);
  HRESULT         __fastcall get_DisableLineHeightGrid(long* prop/*[out,retval]*/);
  long            __fastcall get_DisableLineHeightGrid(void);
  HRESULT         __fastcall set_DisableLineHeightGrid(long prop/*[in]*/);
  HRESULT         __fastcall get_TabStops(Word_xp::TabStops** prop/*[out,retval]*/);
  Word_xp::TabStopsPtr __fastcall get_TabStops(void);
  HRESULT         __fastcall set_TabStops(Word_xp::TabStopsPtr prop/*[in]*/);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_OutlineLevel(Word_xp::WdOutlineLevel* prop/*[out,retval]*/);
  Word_xp::WdOutlineLevel __fastcall get_OutlineLevel(void);
  HRESULT         __fastcall set_OutlineLevel(Word_xp::WdOutlineLevel prop/*[in]*/);
  HRESULT         __fastcall CloseUp();
  HRESULT         __fastcall OpenUp();
  HRESULT         __fastcall OpenOrCloseUp();
  HRESULT         __fastcall TabHangingIndent(short Count/*[in]*/);
  HRESULT         __fastcall TabIndent(short Count/*[in]*/);
  HRESULT         __fastcall Reset();
  HRESULT         __fastcall Space1();
  HRESULT         __fastcall Space15();
  HRESULT         __fastcall Space2();
  HRESULT         __fastcall IndentCharWidth(short Count/*[in]*/);
  HRESULT         __fastcall IndentFirstLineCharWidth(short Count/*[in]*/);
  HRESULT         __fastcall get_CharacterUnitRightIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_CharacterUnitRightIndent(void);
  HRESULT         __fastcall set_CharacterUnitRightIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_CharacterUnitLeftIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_CharacterUnitLeftIndent(void);
  HRESULT         __fastcall set_CharacterUnitLeftIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_CharacterUnitFirstLineIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_CharacterUnitFirstLineIndent(void);
  HRESULT         __fastcall set_CharacterUnitFirstLineIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_LineUnitBefore(float* prop/*[out,retval]*/);
  float           __fastcall get_LineUnitBefore(void);
  HRESULT         __fastcall set_LineUnitBefore(float prop/*[in]*/);
  HRESULT         __fastcall get_LineUnitAfter(float* prop/*[out,retval]*/);
  float           __fastcall get_LineUnitAfter(void);
  HRESULT         __fastcall set_LineUnitAfter(float prop/*[in]*/);
  HRESULT         __fastcall get_ReadingOrder(Word_xp::WdReadingOrder* prop/*[out,retval]*/);
  Word_xp::WdReadingOrder __fastcall get_ReadingOrder(void);
  HRESULT         __fastcall set_ReadingOrder(Word_xp::WdReadingOrder prop/*[in]*/);
  HRESULT         __fastcall get_SpaceBeforeAuto(long* prop/*[out,retval]*/);
  long            __fastcall get_SpaceBeforeAuto(void);
  HRESULT         __fastcall set_SpaceBeforeAuto(long prop/*[in]*/);
  HRESULT         __fastcall get_SpaceAfterAuto(long* prop/*[out,retval]*/);
  long            __fastcall get_SpaceAfterAuto(void);
  HRESULT         __fastcall set_SpaceAfterAuto(long prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordParagraphFormatPtr Duplicate = {read = get_Duplicate};
  __property   Word_xp::WdParagraphAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   long            KeepTogether = {read = get_KeepTogether, write = set_KeepTogether};
  __property   long            KeepWithNext = {read = get_KeepWithNext, write = set_KeepWithNext};
  __property   long            PageBreakBefore = {read = get_PageBreakBefore, write = set_PageBreakBefore};
  __property   long            NoLineNumber = {read = get_NoLineNumber, write = set_NoLineNumber};
  __property   float           RightIndent = {read = get_RightIndent, write = set_RightIndent};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   float           FirstLineIndent = {read = get_FirstLineIndent, write = set_FirstLineIndent};
  __property   float           LineSpacing = {read = get_LineSpacing, write = set_LineSpacing};
  __property   Word_xp::WdLineSpacing LineSpacingRule = {read = get_LineSpacingRule, write = set_LineSpacingRule};
  __property   float           SpaceBefore = {read = get_SpaceBefore, write = set_SpaceBefore};
  __property   float           SpaceAfter = {read = get_SpaceAfter, write = set_SpaceAfter};
  __property   long            Hyphenation = {read = get_Hyphenation, write = set_Hyphenation};
  __property   long            WidowControl = {read = get_WidowControl, write = set_WidowControl};
  __property   long            FarEastLineBreakControl = {read = get_FarEastLineBreakControl, write = set_FarEastLineBreakControl};
  __property   long            WordWrap = {read = get_WordWrap, write = set_WordWrap};
  __property   long            HangingPunctuation = {read = get_HangingPunctuation, write = set_HangingPunctuation};
  __property   long            HalfWidthPunctuationOnTopOfLine = {read = get_HalfWidthPunctuationOnTopOfLine, write = set_HalfWidthPunctuationOnTopOfLine};
  __property   long            AddSpaceBetweenFarEastAndAlpha = {read = get_AddSpaceBetweenFarEastAndAlpha, write = set_AddSpaceBetweenFarEastAndAlpha};
  __property   long            AddSpaceBetweenFarEastAndDigit = {read = get_AddSpaceBetweenFarEastAndDigit, write = set_AddSpaceBetweenFarEastAndDigit};
  __property   Word_xp::WdBaselineAlignment BaseLineAlignment = {read = get_BaseLineAlignment, write = set_BaseLineAlignment};
  __property   long            AutoAdjustRightIndent = {read = get_AutoAdjustRightIndent, write = set_AutoAdjustRightIndent};
  __property   long            DisableLineHeightGrid = {read = get_DisableLineHeightGrid, write = set_DisableLineHeightGrid};
  __property   Word_xp::TabStopsPtr TabStops = {read = get_TabStops, write = set_TabStops};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::WdOutlineLevel OutlineLevel = {read = get_OutlineLevel, write = set_OutlineLevel};
  __property   float           CharacterUnitRightIndent = {read = get_CharacterUnitRightIndent, write = set_CharacterUnitRightIndent};
  __property   float           CharacterUnitLeftIndent = {read = get_CharacterUnitLeftIndent, write = set_CharacterUnitLeftIndent};
  __property   float           CharacterUnitFirstLineIndent = {read = get_CharacterUnitFirstLineIndent, write = set_CharacterUnitFirstLineIndent};
  __property   float           LineUnitBefore = {read = get_LineUnitBefore, write = set_LineUnitBefore};
  __property   float           LineUnitAfter = {read = get_LineUnitAfter, write = set_LineUnitAfter};
  __property   Word_xp::WdReadingOrder ReadingOrder = {read = get_ReadingOrder, write = set_ReadingOrder};
  __property   long            SpaceBeforeAuto = {read = get_SpaceBeforeAuto, write = set_SpaceBeforeAuto};
  __property   long            SpaceAfterAuto = {read = get_SpaceAfterAuto, write = set_SpaceAfterAuto};
};
typedef _ParagraphFormatDispT<_ParagraphFormat> _ParagraphFormatDisp;

// *********************************************************************//
// SmartIntf: TCOM_Font
// Interface: _Font
// *********************************************************************//
template <class T /* _Font */ >
class TCOM_FontT : public TComInterface<_Font>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FontT() {}
  TCOM_FontT(_Font *intf, bool addRef = false) : TComInterface<_Font>(intf, addRef) {}
  TCOM_FontT(const TCOM_FontT& src) : TComInterface<_Font>(src) {}
  TCOM_FontT& operator=(const TCOM_FontT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Duplicate(Word_xp::WordFont** prop/*[out,retval]*/);
  Word_xp::WordFontPtr __fastcall get_Duplicate(void);
  HRESULT         __fastcall get_Bold(long* prop/*[out,retval]*/);
  long            __fastcall get_Bold(void);
  HRESULT         __fastcall set_Bold(long prop/*[in]*/);
  HRESULT         __fastcall get_Italic(long* prop/*[out,retval]*/);
  long            __fastcall get_Italic(void);
  HRESULT         __fastcall set_Italic(long prop/*[in]*/);
  HRESULT         __fastcall get_Hidden(long* prop/*[out,retval]*/);
  long            __fastcall get_Hidden(void);
  HRESULT         __fastcall set_Hidden(long prop/*[in]*/);
  HRESULT         __fastcall get_SmallCaps(long* prop/*[out,retval]*/);
  long            __fastcall get_SmallCaps(void);
  HRESULT         __fastcall set_SmallCaps(long prop/*[in]*/);
  HRESULT         __fastcall get_AllCaps(long* prop/*[out,retval]*/);
  long            __fastcall get_AllCaps(void);
  HRESULT         __fastcall set_AllCaps(long prop/*[in]*/);
  HRESULT         __fastcall get_StrikeThrough(long* prop/*[out,retval]*/);
  long            __fastcall get_StrikeThrough(void);
  HRESULT         __fastcall set_StrikeThrough(long prop/*[in]*/);
  HRESULT         __fastcall get_DoubleStrikeThrough(long* prop/*[out,retval]*/);
  long            __fastcall get_DoubleStrikeThrough(void);
  HRESULT         __fastcall set_DoubleStrikeThrough(long prop/*[in]*/);
  HRESULT         __fastcall get_ColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_ColorIndex(void);
  HRESULT         __fastcall set_ColorIndex(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_Subscript(long* prop/*[out,retval]*/);
  long            __fastcall get_Subscript(void);
  HRESULT         __fastcall set_Subscript(long prop/*[in]*/);
  HRESULT         __fastcall get_Superscript(long* prop/*[out,retval]*/);
  long            __fastcall get_Superscript(void);
  HRESULT         __fastcall set_Superscript(long prop/*[in]*/);
  HRESULT         __fastcall get_Underline(Word_xp::WdUnderline* prop/*[out,retval]*/);
  Word_xp::WdUnderline __fastcall get_Underline(void);
  HRESULT         __fastcall set_Underline(Word_xp::WdUnderline prop/*[in]*/);
  HRESULT         __fastcall get_Size(float* prop/*[out,retval]*/);
  float           __fastcall get_Size(void);
  HRESULT         __fastcall set_Size(float prop/*[in]*/);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Position(long* prop/*[out,retval]*/);
  long            __fastcall get_Position(void);
  HRESULT         __fastcall set_Position(long prop/*[in]*/);
  HRESULT         __fastcall get_Spacing(float* prop/*[out,retval]*/);
  float           __fastcall get_Spacing(void);
  HRESULT         __fastcall set_Spacing(float prop/*[in]*/);
  HRESULT         __fastcall get_Scaling(long* prop/*[out,retval]*/);
  long            __fastcall get_Scaling(void);
  HRESULT         __fastcall set_Scaling(long prop/*[in]*/);
  HRESULT         __fastcall get_Shadow(long* prop/*[out,retval]*/);
  long            __fastcall get_Shadow(void);
  HRESULT         __fastcall set_Shadow(long prop/*[in]*/);
  HRESULT         __fastcall get_Outline(long* prop/*[out,retval]*/);
  long            __fastcall get_Outline(void);
  HRESULT         __fastcall set_Outline(long prop/*[in]*/);
  HRESULT         __fastcall get_Emboss(long* prop/*[out,retval]*/);
  long            __fastcall get_Emboss(void);
  HRESULT         __fastcall set_Emboss(long prop/*[in]*/);
  HRESULT         __fastcall get_Kerning(float* prop/*[out,retval]*/);
  float           __fastcall get_Kerning(void);
  HRESULT         __fastcall set_Kerning(float prop/*[in]*/);
  HRESULT         __fastcall get_Engrave(long* prop/*[out,retval]*/);
  long            __fastcall get_Engrave(void);
  HRESULT         __fastcall set_Engrave(long prop/*[in]*/);
  HRESULT         __fastcall get_Animation(Word_xp::WdAnimation* prop/*[out,retval]*/);
  Word_xp::WdAnimation __fastcall get_Animation(void);
  HRESULT         __fastcall set_Animation(Word_xp::WdAnimation prop/*[in]*/);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall set_Borders(Word_xp::Borders* prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_EmphasisMark(Word_xp::WdEmphasisMark* prop/*[out,retval]*/);
  Word_xp::WdEmphasisMark __fastcall get_EmphasisMark(void);
  HRESULT         __fastcall set_EmphasisMark(Word_xp::WdEmphasisMark prop/*[in]*/);
  HRESULT         __fastcall get_DisableCharacterSpaceGrid(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisableCharacterSpaceGrid(void);
  HRESULT         __fastcall set_DisableCharacterSpaceGrid(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_NameFarEast(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NameFarEast(void);
  HRESULT         __fastcall set_NameFarEast(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_NameAscii(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NameAscii(void);
  HRESULT         __fastcall set_NameAscii(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_NameOther(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NameOther(void);
  HRESULT         __fastcall set_NameOther(BSTR prop/*[in]*/);
  HRESULT         __fastcall Grow(void);
  HRESULT         __fastcall Shrink(void);
  HRESULT         __fastcall Reset(void);
  HRESULT         __fastcall SetAsTemplateDefault(void);
  HRESULT         __fastcall get_Color(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_Color(void);
  HRESULT         __fastcall set_Color(Word_xp::WdColor prop/*[in]*/);
  HRESULT         __fastcall get_BoldBi(long* prop/*[out,retval]*/);
  long            __fastcall get_BoldBi(void);
  HRESULT         __fastcall set_BoldBi(long prop/*[in]*/);
  HRESULT         __fastcall get_ItalicBi(long* prop/*[out,retval]*/);
  long            __fastcall get_ItalicBi(void);
  HRESULT         __fastcall set_ItalicBi(long prop/*[in]*/);
  HRESULT         __fastcall get_SizeBi(float* prop/*[out,retval]*/);
  float           __fastcall get_SizeBi(void);
  HRESULT         __fastcall set_SizeBi(float prop/*[in]*/);
  HRESULT         __fastcall get_NameBi(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NameBi(void);
  HRESULT         __fastcall set_NameBi(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ColorIndexBi(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_ColorIndexBi(void);
  HRESULT         __fastcall set_ColorIndexBi(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_DiacriticColor(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_DiacriticColor(void);
  HRESULT         __fastcall set_DiacriticColor(Word_xp::WdColor prop/*[in]*/);
  HRESULT         __fastcall get_UnderlineColor(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_UnderlineColor(void);
  HRESULT         __fastcall set_UnderlineColor(Word_xp::WdColor prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordFontPtr Duplicate = {read = get_Duplicate};
  __property   long            Bold = {read = get_Bold, write = set_Bold};
  __property   long            Italic = {read = get_Italic, write = set_Italic};
  __property   long            Hidden = {read = get_Hidden, write = set_Hidden};
  __property   long            SmallCaps = {read = get_SmallCaps, write = set_SmallCaps};
  __property   long            AllCaps = {read = get_AllCaps, write = set_AllCaps};
  __property   long            StrikeThrough = {read = get_StrikeThrough, write = set_StrikeThrough};
  __property   long            DoubleStrikeThrough = {read = get_DoubleStrikeThrough, write = set_DoubleStrikeThrough};
  __property   Word_xp::WdColorIndex ColorIndex = {read = get_ColorIndex, write = set_ColorIndex};
  __property   long            Subscript = {read = get_Subscript, write = set_Subscript};
  __property   long            Superscript = {read = get_Superscript, write = set_Superscript};
  __property   Word_xp::WdUnderline Underline = {read = get_Underline, write = set_Underline};
  __property   float           Size = {read = get_Size, write = set_Size};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   long            Position = {read = get_Position, write = set_Position};
  __property   float           Spacing = {read = get_Spacing, write = set_Spacing};
  __property   long            Scaling = {read = get_Scaling, write = set_Scaling};
  __property   long            Shadow = {read = get_Shadow, write = set_Shadow};
  __property   long            Outline = {read = get_Outline, write = set_Outline};
  __property   long            Emboss = {read = get_Emboss, write = set_Emboss};
  __property   float           Kerning = {read = get_Kerning, write = set_Kerning};
  __property   long            Engrave = {read = get_Engrave, write = set_Engrave};
  __property   Word_xp::WdAnimation Animation = {read = get_Animation, write = set_Animation};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::WdEmphasisMark EmphasisMark = {read = get_EmphasisMark, write = set_EmphasisMark};
  __property   VARIANT_BOOL    DisableCharacterSpaceGrid = {read = get_DisableCharacterSpaceGrid, write = set_DisableCharacterSpaceGrid};
  __property   BSTR            NameFarEast = {read = get_NameFarEast, write = set_NameFarEast};
  __property   BSTR            NameAscii = {read = get_NameAscii, write = set_NameAscii};
  __property   BSTR            NameOther = {read = get_NameOther, write = set_NameOther};
  __property   Word_xp::WdColor Color = {read = get_Color, write = set_Color};
  __property   long            BoldBi = {read = get_BoldBi, write = set_BoldBi};
  __property   long            ItalicBi = {read = get_ItalicBi, write = set_ItalicBi};
  __property   float           SizeBi = {read = get_SizeBi, write = set_SizeBi};
  __property   BSTR            NameBi = {read = get_NameBi, write = set_NameBi};
  __property   Word_xp::WdColorIndex ColorIndexBi = {read = get_ColorIndexBi, write = set_ColorIndexBi};
  __property   Word_xp::WdColor DiacriticColor = {read = get_DiacriticColor, write = set_DiacriticColor};
  __property   Word_xp::WdColor UnderlineColor = {read = get_UnderlineColor, write = set_UnderlineColor};
};
typedef TCOM_FontT<_Font> TCOM_Font;

// *********************************************************************//
// DispIntf:  _Font
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020952-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class _FontDispT : public TAutoDriver<_Font>
{
public:
  _FontDispT(){}

  _FontDispT(_Font *pintf)
  {
    TAutoDriver<_Font>::Bind(pintf, false);
  }

  _FontDispT(_FontPtr pintf)
  {
    TAutoDriver<_Font>::Bind(pintf, true);
  }

  _FontDispT& operator=(_Font *pintf)
  {
    TAutoDriver<_Font>::Bind(pintf, false);
    return *this;
  }

  _FontDispT& operator=(_FontPtr pintf)
  {
    TAutoDriver<_Font>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WordFont));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WordFont);
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Duplicate(Word_xp::WordFont** prop/*[out,retval]*/);
  Word_xp::WordFontPtr __fastcall get_Duplicate(void);
  HRESULT         __fastcall get_Bold(long* prop/*[out,retval]*/);
  long            __fastcall get_Bold(void);
  HRESULT         __fastcall set_Bold(long prop/*[in]*/);
  HRESULT         __fastcall get_Italic(long* prop/*[out,retval]*/);
  long            __fastcall get_Italic(void);
  HRESULT         __fastcall set_Italic(long prop/*[in]*/);
  HRESULT         __fastcall get_Hidden(long* prop/*[out,retval]*/);
  long            __fastcall get_Hidden(void);
  HRESULT         __fastcall set_Hidden(long prop/*[in]*/);
  HRESULT         __fastcall get_SmallCaps(long* prop/*[out,retval]*/);
  long            __fastcall get_SmallCaps(void);
  HRESULT         __fastcall set_SmallCaps(long prop/*[in]*/);
  HRESULT         __fastcall get_AllCaps(long* prop/*[out,retval]*/);
  long            __fastcall get_AllCaps(void);
  HRESULT         __fastcall set_AllCaps(long prop/*[in]*/);
  HRESULT         __fastcall get_StrikeThrough(long* prop/*[out,retval]*/);
  long            __fastcall get_StrikeThrough(void);
  HRESULT         __fastcall set_StrikeThrough(long prop/*[in]*/);
  HRESULT         __fastcall get_DoubleStrikeThrough(long* prop/*[out,retval]*/);
  long            __fastcall get_DoubleStrikeThrough(void);
  HRESULT         __fastcall set_DoubleStrikeThrough(long prop/*[in]*/);
  HRESULT         __fastcall get_ColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_ColorIndex(void);
  HRESULT         __fastcall set_ColorIndex(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_Subscript(long* prop/*[out,retval]*/);
  long            __fastcall get_Subscript(void);
  HRESULT         __fastcall set_Subscript(long prop/*[in]*/);
  HRESULT         __fastcall get_Superscript(long* prop/*[out,retval]*/);
  long            __fastcall get_Superscript(void);
  HRESULT         __fastcall set_Superscript(long prop/*[in]*/);
  HRESULT         __fastcall get_Underline(Word_xp::WdUnderline* prop/*[out,retval]*/);
  Word_xp::WdUnderline __fastcall get_Underline(void);
  HRESULT         __fastcall set_Underline(Word_xp::WdUnderline prop/*[in]*/);
  HRESULT         __fastcall get_Size(float* prop/*[out,retval]*/);
  float           __fastcall get_Size(void);
  HRESULT         __fastcall set_Size(float prop/*[in]*/);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Position(long* prop/*[out,retval]*/);
  long            __fastcall get_Position(void);
  HRESULT         __fastcall set_Position(long prop/*[in]*/);
  HRESULT         __fastcall get_Spacing(float* prop/*[out,retval]*/);
  float           __fastcall get_Spacing(void);
  HRESULT         __fastcall set_Spacing(float prop/*[in]*/);
  HRESULT         __fastcall get_Scaling(long* prop/*[out,retval]*/);
  long            __fastcall get_Scaling(void);
  HRESULT         __fastcall set_Scaling(long prop/*[in]*/);
  HRESULT         __fastcall get_Shadow(long* prop/*[out,retval]*/);
  long            __fastcall get_Shadow(void);
  HRESULT         __fastcall set_Shadow(long prop/*[in]*/);
  HRESULT         __fastcall get_Outline(long* prop/*[out,retval]*/);
  long            __fastcall get_Outline(void);
  HRESULT         __fastcall set_Outline(long prop/*[in]*/);
  HRESULT         __fastcall get_Emboss(long* prop/*[out,retval]*/);
  long            __fastcall get_Emboss(void);
  HRESULT         __fastcall set_Emboss(long prop/*[in]*/);
  HRESULT         __fastcall get_Kerning(float* prop/*[out,retval]*/);
  float           __fastcall get_Kerning(void);
  HRESULT         __fastcall set_Kerning(float prop/*[in]*/);
  HRESULT         __fastcall get_Engrave(long* prop/*[out,retval]*/);
  long            __fastcall get_Engrave(void);
  HRESULT         __fastcall set_Engrave(long prop/*[in]*/);
  HRESULT         __fastcall get_Animation(Word_xp::WdAnimation* prop/*[out,retval]*/);
  Word_xp::WdAnimation __fastcall get_Animation(void);
  HRESULT         __fastcall set_Animation(Word_xp::WdAnimation prop/*[in]*/);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_EmphasisMark(Word_xp::WdEmphasisMark* prop/*[out,retval]*/);
  Word_xp::WdEmphasisMark __fastcall get_EmphasisMark(void);
  HRESULT         __fastcall set_EmphasisMark(Word_xp::WdEmphasisMark prop/*[in]*/);
  HRESULT         __fastcall get_DisableCharacterSpaceGrid(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisableCharacterSpaceGrid(void);
  HRESULT         __fastcall set_DisableCharacterSpaceGrid(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_NameFarEast(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NameFarEast(void);
  HRESULT         __fastcall set_NameFarEast(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_NameAscii(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NameAscii(void);
  HRESULT         __fastcall set_NameAscii(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_NameOther(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NameOther(void);
  HRESULT         __fastcall set_NameOther(BSTR prop/*[in]*/);
  HRESULT         __fastcall Grow();
  HRESULT         __fastcall Shrink();
  HRESULT         __fastcall Reset();
  HRESULT         __fastcall SetAsTemplateDefault();
  HRESULT         __fastcall get_Color(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_Color(void);
  HRESULT         __fastcall set_Color(Word_xp::WdColor prop/*[in]*/);
  HRESULT         __fastcall get_BoldBi(long* prop/*[out,retval]*/);
  long            __fastcall get_BoldBi(void);
  HRESULT         __fastcall set_BoldBi(long prop/*[in]*/);
  HRESULT         __fastcall get_ItalicBi(long* prop/*[out,retval]*/);
  long            __fastcall get_ItalicBi(void);
  HRESULT         __fastcall set_ItalicBi(long prop/*[in]*/);
  HRESULT         __fastcall get_SizeBi(float* prop/*[out,retval]*/);
  float           __fastcall get_SizeBi(void);
  HRESULT         __fastcall set_SizeBi(float prop/*[in]*/);
  HRESULT         __fastcall get_NameBi(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NameBi(void);
  HRESULT         __fastcall set_NameBi(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ColorIndexBi(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_ColorIndexBi(void);
  HRESULT         __fastcall set_ColorIndexBi(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_DiacriticColor(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_DiacriticColor(void);
  HRESULT         __fastcall set_DiacriticColor(Word_xp::WdColor prop/*[in]*/);
  HRESULT         __fastcall get_UnderlineColor(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_UnderlineColor(void);
  HRESULT         __fastcall set_UnderlineColor(Word_xp::WdColor prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordFontPtr Duplicate = {read = get_Duplicate};
  __property   long            Bold = {read = get_Bold, write = set_Bold};
  __property   long            Italic = {read = get_Italic, write = set_Italic};
  __property   long            Hidden = {read = get_Hidden, write = set_Hidden};
  __property   long            SmallCaps = {read = get_SmallCaps, write = set_SmallCaps};
  __property   long            AllCaps = {read = get_AllCaps, write = set_AllCaps};
  __property   long            StrikeThrough = {read = get_StrikeThrough, write = set_StrikeThrough};
  __property   long            DoubleStrikeThrough = {read = get_DoubleStrikeThrough, write = set_DoubleStrikeThrough};
  __property   Word_xp::WdColorIndex ColorIndex = {read = get_ColorIndex, write = set_ColorIndex};
  __property   long            Subscript = {read = get_Subscript, write = set_Subscript};
  __property   long            Superscript = {read = get_Superscript, write = set_Superscript};
  __property   Word_xp::WdUnderline Underline = {read = get_Underline, write = set_Underline};
  __property   float           Size = {read = get_Size, write = set_Size};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   long            Position = {read = get_Position, write = set_Position};
  __property   float           Spacing = {read = get_Spacing, write = set_Spacing};
  __property   long            Scaling = {read = get_Scaling, write = set_Scaling};
  __property   long            Shadow = {read = get_Shadow, write = set_Shadow};
  __property   long            Outline = {read = get_Outline, write = set_Outline};
  __property   long            Emboss = {read = get_Emboss, write = set_Emboss};
  __property   float           Kerning = {read = get_Kerning, write = set_Kerning};
  __property   long            Engrave = {read = get_Engrave, write = set_Engrave};
  __property   Word_xp::WdAnimation Animation = {read = get_Animation, write = set_Animation};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::WdEmphasisMark EmphasisMark = {read = get_EmphasisMark, write = set_EmphasisMark};
  __property   VARIANT_BOOL    DisableCharacterSpaceGrid = {read = get_DisableCharacterSpaceGrid, write = set_DisableCharacterSpaceGrid};
  __property   BSTR            NameFarEast = {read = get_NameFarEast, write = set_NameFarEast};
  __property   BSTR            NameAscii = {read = get_NameAscii, write = set_NameAscii};
  __property   BSTR            NameOther = {read = get_NameOther, write = set_NameOther};
  __property   Word_xp::WdColor Color = {read = get_Color, write = set_Color};
  __property   long            BoldBi = {read = get_BoldBi, write = set_BoldBi};
  __property   long            ItalicBi = {read = get_ItalicBi, write = set_ItalicBi};
  __property   float           SizeBi = {read = get_SizeBi, write = set_SizeBi};
  __property   BSTR            NameBi = {read = get_NameBi, write = set_NameBi};
  __property   Word_xp::WdColorIndex ColorIndexBi = {read = get_ColorIndexBi, write = set_ColorIndexBi};
  __property   Word_xp::WdColor DiacriticColor = {read = get_DiacriticColor, write = set_DiacriticColor};
  __property   Word_xp::WdColor UnderlineColor = {read = get_UnderlineColor, write = set_UnderlineColor};
};
typedef _FontDispT<_Font> _FontDisp;

typedef TComInterface<Table>  TCOMTable;

// *********************************************************************//
// DispIntf:  Table
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020951-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TableDispT : public TAutoDriver<Table>
{
public:
  TableDispT(){}

  TableDispT(Table *pintf)
  {
    TAutoDriver<Table>::Bind(pintf, false);
  }

  TableDispT(TablePtr pintf)
  {
    TAutoDriver<Table>::Bind(pintf, true);
  }

  TableDispT& operator=(Table *pintf)
  {
    TAutoDriver<Table>::Bind(pintf, false);
    return *this;
  }

  TableDispT& operator=(TablePtr pintf)
  {
    TAutoDriver<Table>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Columns(Word_xp::Columns** prop/*[out,retval]*/);
  Word_xp::ColumnsPtr __fastcall get_Columns(void);
  HRESULT         __fastcall get_Rows(Word_xp::Rows** prop/*[out,retval]*/);
  Word_xp::RowsPtr __fastcall get_Rows(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_Uniform(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Uniform(void);
  HRESULT         __fastcall get_AutoFormatType(long* prop/*[out,retval]*/);
  long            __fastcall get_AutoFormatType(void);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall SortOld(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                     VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                     VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                     VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                     VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                     VARIANT* LanguageID/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SortAscending();
  HRESULT         __fastcall SortDescending();
  HRESULT         __fastcall AutoFormat(VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ApplyBorders/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ApplyShading/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ApplyFont/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ApplyColor/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ApplyHeadingRows/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ApplyLastRow/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ApplyFirstColumn/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ApplyLastColumn/*[in,opt]*/= TNoParam(), 
                                        VARIANT* AutoFit/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall UpdateAutoFormat();
  HRESULT         __fastcall ConvertToTextOld(VARIANT* Separator/*[in,opt]*/, 
                                              Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall ConvertToTextOld(VARIANT* Separator/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Cell(long Row/*[in]*/, long Column/*[in]*/, 
                                  Word_xp::Cell** prop/*[out,retval]*/);
  Word_xp::Cell*  __fastcall Cell(long Row/*[in]*/, long Column/*[in]*/);
  HRESULT         __fastcall Split(VARIANT* BeforeRow/*[in]*/, Word_xp::Table** prop/*[out,retval]*/);
  Word_xp::Table* __fastcall Split(VARIANT* BeforeRow/*[in]*/);
  HRESULT         __fastcall ConvertToText(VARIANT* Separator/*[in,opt]*/, 
                                           VARIANT* NestedTables/*[in,opt]*/, 
                                           Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall ConvertToText(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NestedTables/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AutoFitBehavior(Word_xp::WdAutoFitBehavior Behavior/*[in]*/);
  HRESULT         __fastcall Sort(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                  VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                  VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                  VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                  VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                  VARIANT* BidiSort/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreThe/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreKashida/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreDiacritics/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreHe/*[in,opt]*/= TNoParam(), 
                                  VARIANT* LanguageID/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_Tables(Word_xp::Tables** prop/*[out,retval]*/);
  Word_xp::TablesPtr __fastcall get_Tables(void);
  HRESULT         __fastcall get_NestingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_NestingLevel(void);
  HRESULT         __fastcall get_AllowPageBreaks(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AllowPageBreaks(void);
  HRESULT         __fastcall set_AllowPageBreaks(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AllowAutoFit(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AllowAutoFit(void);
  HRESULT         __fastcall set_AllowAutoFit(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PreferredWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_PreferredWidth(void);
  HRESULT         __fastcall set_PreferredWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/);
  Word_xp::WdPreferredWidthType __fastcall get_PreferredWidthType(void);
  HRESULT         __fastcall set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/);
  HRESULT         __fastcall get_TopPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_TopPadding(void);
  HRESULT         __fastcall set_TopPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_BottomPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_BottomPadding(void);
  HRESULT         __fastcall set_BottomPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_LeftPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftPadding(void);
  HRESULT         __fastcall set_LeftPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_RightPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_RightPadding(void);
  HRESULT         __fastcall set_RightPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_Spacing(float* prop/*[out,retval]*/);
  float           __fastcall get_Spacing(void);
  HRESULT         __fastcall set_Spacing(float prop/*[in]*/);
  HRESULT         __fastcall get_TableDirection(Word_xp::WdTableDirection* prop/*[out,retval]*/);
  Word_xp::WdTableDirection __fastcall get_TableDirection(void);
  HRESULT         __fastcall set_TableDirection(Word_xp::WdTableDirection prop/*[in]*/);
  HRESULT         __fastcall get_ID(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ID(void);
  HRESULT         __fastcall set_ID(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Style(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Style(void);
  HRESULT         __fastcall set_Style(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_ApplyStyleHeadingRows(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ApplyStyleHeadingRows(void);
  HRESULT         __fastcall set_ApplyStyleHeadingRows(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ApplyStyleLastRow(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ApplyStyleLastRow(void);
  HRESULT         __fastcall set_ApplyStyleLastRow(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ApplyStyleFirstColumn(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ApplyStyleFirstColumn(void);
  HRESULT         __fastcall set_ApplyStyleFirstColumn(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ApplyStyleLastColumn(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ApplyStyleLastColumn(void);
  HRESULT         __fastcall set_ApplyStyleLastColumn(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::ColumnsPtr Columns = {read = get_Columns};
  __property   Word_xp::RowsPtr Rows = {read = get_Rows};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   VARIANT_BOOL    Uniform = {read = get_Uniform};
  __property   long            AutoFormatType = {read = get_AutoFormatType};
  __property   Word_xp::TablesPtr Tables = {read = get_Tables};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   VARIANT_BOOL    AllowPageBreaks = {read = get_AllowPageBreaks, write = set_AllowPageBreaks};
  __property   VARIANT_BOOL    AllowAutoFit = {read = get_AllowAutoFit, write = set_AllowAutoFit};
  __property   float           PreferredWidth = {read = get_PreferredWidth, write = set_PreferredWidth};
  __property   Word_xp::WdPreferredWidthType PreferredWidthType = {read = get_PreferredWidthType, write = set_PreferredWidthType};
  __property   float           TopPadding = {read = get_TopPadding, write = set_TopPadding};
  __property   float           BottomPadding = {read = get_BottomPadding, write = set_BottomPadding};
  __property   float           LeftPadding = {read = get_LeftPadding, write = set_LeftPadding};
  __property   float           RightPadding = {read = get_RightPadding, write = set_RightPadding};
  __property   float           Spacing = {read = get_Spacing, write = set_Spacing};
  __property   Word_xp::WdTableDirection TableDirection = {read = get_TableDirection, write = set_TableDirection};
  __property   BSTR            ID = {read = get_ID, write = set_ID};
  __property   VARIANT_BOOL    ApplyStyleHeadingRows = {read = get_ApplyStyleHeadingRows, write = set_ApplyStyleHeadingRows};
  __property   VARIANT_BOOL    ApplyStyleLastRow = {read = get_ApplyStyleLastRow, write = set_ApplyStyleLastRow};
  __property   VARIANT_BOOL    ApplyStyleFirstColumn = {read = get_ApplyStyleFirstColumn, write = set_ApplyStyleFirstColumn};
  __property   VARIANT_BOOL    ApplyStyleLastColumn = {read = get_ApplyStyleLastColumn, write = set_ApplyStyleLastColumn};
};
typedef TableDispT<Table> TableDisp;

typedef TComInterface<Row>  TCOMRow;

// *********************************************************************//
// DispIntf:  Row
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020950-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class RowDispT : public TAutoDriver<Row>
{
public:
  RowDispT(){}

  RowDispT(Row *pintf)
  {
    TAutoDriver<Row>::Bind(pintf, false);
  }

  RowDispT(RowPtr pintf)
  {
    TAutoDriver<Row>::Bind(pintf, true);
  }

  RowDispT& operator=(Row *pintf)
  {
    TAutoDriver<Row>::Bind(pintf, false);
    return *this;
  }

  RowDispT& operator=(RowPtr pintf)
  {
    TAutoDriver<Row>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_AllowBreakAcrossPages(long* prop/*[out,retval]*/);
  long            __fastcall get_AllowBreakAcrossPages(void);
  HRESULT         __fastcall set_AllowBreakAcrossPages(long prop/*[in]*/);
  HRESULT         __fastcall get_Alignment(Word_xp::WdRowAlignment* prop/*[out,retval]*/);
  Word_xp::WdRowAlignment __fastcall get_Alignment(void);
  HRESULT         __fastcall set_Alignment(Word_xp::WdRowAlignment prop/*[in]*/);
  HRESULT         __fastcall get_HeadingFormat(long* prop/*[out,retval]*/);
  long            __fastcall get_HeadingFormat(void);
  HRESULT         __fastcall set_HeadingFormat(long prop/*[in]*/);
  HRESULT         __fastcall get_SpaceBetweenColumns(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceBetweenColumns(void);
  HRESULT         __fastcall set_SpaceBetweenColumns(float prop/*[in]*/);
  HRESULT         __fastcall get_Height(float* prop/*[out,retval]*/);
  float           __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(float prop/*[in]*/);
  HRESULT         __fastcall get_HeightRule(Word_xp::WdRowHeightRule* prop/*[out,retval]*/);
  Word_xp::WdRowHeightRule __fastcall get_HeightRule(void);
  HRESULT         __fastcall set_HeightRule(Word_xp::WdRowHeightRule prop/*[in]*/);
  HRESULT         __fastcall get_LeftIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftIndent(void);
  HRESULT         __fastcall set_LeftIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_IsLast(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsLast(void);
  HRESULT         __fastcall get_IsFirst(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsFirst(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Cells(Word_xp::Cells** prop/*[out,retval]*/);
  Word_xp::CellsPtr __fastcall get_Cells(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_Next(Word_xp::Row** prop/*[out,retval]*/);
  Word_xp::RowPtr __fastcall get_Next(void);
  HRESULT         __fastcall get_Previous(Word_xp::Row** prop/*[out,retval]*/);
  Word_xp::RowPtr __fastcall get_Previous(void);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall SetLeftIndent(float LeftIndent/*[in]*/, 
                                           Word_xp::WdRulerStyle RulerStyle/*[in]*/);
  HRESULT         __fastcall SetHeight(float RowHeight/*[in]*/, 
                                       Word_xp::WdRowHeightRule HeightRule/*[in]*/);
  HRESULT         __fastcall ConvertToTextOld(VARIANT* Separator/*[in,opt]*/, 
                                              Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall ConvertToTextOld(VARIANT* Separator/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ConvertToText(VARIANT* Separator/*[in,opt]*/, 
                                           VARIANT* NestedTables/*[in,opt]*/, 
                                           Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall ConvertToText(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NestedTables/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_NestingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_NestingLevel(void);
  HRESULT         __fastcall get_ID(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ID(void);
  HRESULT         __fastcall set_ID(BSTR prop/*[in]*/);

  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            AllowBreakAcrossPages = {read = get_AllowBreakAcrossPages, write = set_AllowBreakAcrossPages};
  __property   Word_xp::WdRowAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   long            HeadingFormat = {read = get_HeadingFormat, write = set_HeadingFormat};
  __property   float           SpaceBetweenColumns = {read = get_SpaceBetweenColumns, write = set_SpaceBetweenColumns};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdRowHeightRule HeightRule = {read = get_HeightRule, write = set_HeightRule};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   VARIANT_BOOL    IsLast = {read = get_IsLast};
  __property   VARIANT_BOOL    IsFirst = {read = get_IsFirst};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::CellsPtr Cells = {read = get_Cells};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::RowPtr Next = {read = get_Next};
  __property   Word_xp::RowPtr Previous = {read = get_Previous};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   BSTR            ID = {read = get_ID, write = set_ID};
};
typedef RowDispT<Row> RowDisp;

typedef TComInterface<Column>  TCOMColumn;

// *********************************************************************//
// DispIntf:  Column
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094F-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ColumnDispT : public TAutoDriver<Column>
{
public:
  ColumnDispT(){}

  ColumnDispT(Column *pintf)
  {
    TAutoDriver<Column>::Bind(pintf, false);
  }

  ColumnDispT(ColumnPtr pintf)
  {
    TAutoDriver<Column>::Bind(pintf, true);
  }

  ColumnDispT& operator=(Column *pintf)
  {
    TAutoDriver<Column>::Bind(pintf, false);
    return *this;
  }

  ColumnDispT& operator=(ColumnPtr pintf)
  {
    TAutoDriver<Column>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_IsFirst(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsFirst(void);
  HRESULT         __fastcall get_IsLast(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsLast(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Cells(Word_xp::Cells** prop/*[out,retval]*/);
  Word_xp::CellsPtr __fastcall get_Cells(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_Next(Word_xp::Column** prop/*[out,retval]*/);
  Word_xp::ColumnPtr __fastcall get_Next(void);
  HRESULT         __fastcall get_Previous(Word_xp::Column** prop/*[out,retval]*/);
  Word_xp::ColumnPtr __fastcall get_Previous(void);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall SetWidth(float ColumnWidth/*[in]*/, 
                                      Word_xp::WdRulerStyle RulerStyle/*[in]*/);
  HRESULT         __fastcall AutoFit();
  HRESULT         __fastcall SortOld(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                     VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                     VARIANT* LanguageID/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Sort(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                  VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                  VARIANT* BidiSort/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreThe/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreKashida/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreDiacritics/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreHe/*[in,opt]*/= TNoParam(), 
                                  VARIANT* LanguageID/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_NestingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_NestingLevel(void);
  HRESULT         __fastcall get_PreferredWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_PreferredWidth(void);
  HRESULT         __fastcall set_PreferredWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/);
  Word_xp::WdPreferredWidthType __fastcall get_PreferredWidthType(void);
  HRESULT         __fastcall set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   VARIANT_BOOL    IsFirst = {read = get_IsFirst};
  __property   VARIANT_BOOL    IsLast = {read = get_IsLast};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::CellsPtr Cells = {read = get_Cells};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::ColumnPtr Next = {read = get_Next};
  __property   Word_xp::ColumnPtr Previous = {read = get_Previous};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   float           PreferredWidth = {read = get_PreferredWidth, write = set_PreferredWidth};
  __property   Word_xp::WdPreferredWidthType PreferredWidthType = {read = get_PreferredWidthType, write = set_PreferredWidthType};
};
typedef ColumnDispT<Column> ColumnDisp;

typedef TComInterface<Cell>  TCOMCell;

// *********************************************************************//
// DispIntf:  Cell
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094E-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class CellDispT : public TAutoDriver<Cell>
{
public:
  CellDispT(){}

  CellDispT(Cell *pintf)
  {
    TAutoDriver<Cell>::Bind(pintf, false);
  }

  CellDispT(CellPtr pintf)
  {
    TAutoDriver<Cell>::Bind(pintf, true);
  }

  CellDispT& operator=(Cell *pintf)
  {
    TAutoDriver<Cell>::Bind(pintf, false);
    return *this;
  }

  CellDispT& operator=(CellPtr pintf)
  {
    TAutoDriver<Cell>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_RowIndex(long* prop/*[out,retval]*/);
  long            __fastcall get_RowIndex(void);
  HRESULT         __fastcall get_ColumnIndex(long* prop/*[out,retval]*/);
  long            __fastcall get_ColumnIndex(void);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_Height(float* prop/*[out,retval]*/);
  float           __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(float prop/*[in]*/);
  HRESULT         __fastcall get_HeightRule(Word_xp::WdRowHeightRule* prop/*[out,retval]*/);
  Word_xp::WdRowHeightRule __fastcall get_HeightRule(void);
  HRESULT         __fastcall set_HeightRule(Word_xp::WdRowHeightRule prop/*[in]*/);
  HRESULT         __fastcall get_VerticalAlignment(Word_xp::WdCellVerticalAlignment* prop/*[out,retval]*/);
  Word_xp::WdCellVerticalAlignment __fastcall get_VerticalAlignment(void);
  HRESULT         __fastcall set_VerticalAlignment(Word_xp::WdCellVerticalAlignment prop/*[in]*/);
  HRESULT         __fastcall get_Column(Word_xp::Column** prop/*[out,retval]*/);
  Word_xp::ColumnPtr __fastcall get_Column(void);
  HRESULT         __fastcall get_Row(Word_xp::Row** prop/*[out,retval]*/);
  Word_xp::RowPtr __fastcall get_Row(void);
  HRESULT         __fastcall get_Next(Word_xp::Cell** prop/*[out,retval]*/);
  Word_xp::CellPtr __fastcall get_Next(void);
  HRESULT         __fastcall get_Previous(Word_xp::Cell** prop/*[out,retval]*/);
  Word_xp::CellPtr __fastcall get_Previous(void);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Delete(VARIANT* ShiftCells/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Formula(VARIANT* Formula/*[in,opt]*/= TNoParam(), 
                                     VARIANT* NumFormat/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SetWidth(float ColumnWidth/*[in]*/, 
                                      Word_xp::WdRulerStyle RulerStyle/*[in]*/);
  HRESULT         __fastcall SetHeight(VARIANT* RowHeight/*[in]*/, 
                                       Word_xp::WdRowHeightRule HeightRule/*[in]*/);
  HRESULT         __fastcall Merge(Word_xp::Cell* MergeTo/*[in]*/);
  HRESULT         __fastcall Split(VARIANT* NumRows/*[in,opt]*/= TNoParam(), 
                                   VARIANT* NumColumns/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AutoSum();
  HRESULT         __fastcall get_Tables(Word_xp::Tables** prop/*[out,retval]*/);
  Word_xp::TablesPtr __fastcall get_Tables(void);
  HRESULT         __fastcall get_NestingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_NestingLevel(void);
  HRESULT         __fastcall get_WordWrap(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_WordWrap(void);
  HRESULT         __fastcall set_WordWrap(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PreferredWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_PreferredWidth(void);
  HRESULT         __fastcall set_PreferredWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_FitText(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FitText(void);
  HRESULT         __fastcall set_FitText(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_TopPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_TopPadding(void);
  HRESULT         __fastcall set_TopPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_BottomPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_BottomPadding(void);
  HRESULT         __fastcall set_BottomPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_LeftPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftPadding(void);
  HRESULT         __fastcall set_LeftPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_RightPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_RightPadding(void);
  HRESULT         __fastcall set_RightPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_ID(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ID(void);
  HRESULT         __fastcall set_ID(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/);
  Word_xp::WdPreferredWidthType __fastcall get_PreferredWidthType(void);
  HRESULT         __fastcall set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/);

  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            RowIndex = {read = get_RowIndex};
  __property   long            ColumnIndex = {read = get_ColumnIndex};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdRowHeightRule HeightRule = {read = get_HeightRule, write = set_HeightRule};
  __property   Word_xp::WdCellVerticalAlignment VerticalAlignment = {read = get_VerticalAlignment, write = set_VerticalAlignment};
  __property   Word_xp::ColumnPtr Column = {read = get_Column};
  __property   Word_xp::RowPtr Row = {read = get_Row};
  __property   Word_xp::CellPtr Next = {read = get_Next};
  __property   Word_xp::CellPtr Previous = {read = get_Previous};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::TablesPtr Tables = {read = get_Tables};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   VARIANT_BOOL    WordWrap = {read = get_WordWrap, write = set_WordWrap};
  __property   float           PreferredWidth = {read = get_PreferredWidth, write = set_PreferredWidth};
  __property   VARIANT_BOOL    FitText = {read = get_FitText, write = set_FitText};
  __property   float           TopPadding = {read = get_TopPadding, write = set_TopPadding};
  __property   float           BottomPadding = {read = get_BottomPadding, write = set_BottomPadding};
  __property   float           LeftPadding = {read = get_LeftPadding, write = set_LeftPadding};
  __property   float           RightPadding = {read = get_RightPadding, write = set_RightPadding};
  __property   BSTR            ID = {read = get_ID, write = set_ID};
  __property   Word_xp::WdPreferredWidthType PreferredWidthType = {read = get_PreferredWidthType, write = set_PreferredWidthType};
};
typedef CellDispT<Cell> CellDisp;

typedef TComInterface<Tables>  TCOMTables;

// *********************************************************************//
// DispIntf:  Tables
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094D-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TablesDispT : public TAutoDriver<Tables>
{
public:
  TablesDispT(){}

  TablesDispT(Tables *pintf)
  {
    TAutoDriver<Tables>::Bind(pintf, false);
  }

  TablesDispT(TablesPtr pintf)
  {
    TAutoDriver<Tables>::Bind(pintf, true);
  }

  TablesDispT& operator=(Tables *pintf)
  {
    TAutoDriver<Tables>::Bind(pintf, false);
    return *this;
  }

  TablesDispT& operator=(TablesPtr pintf)
  {
    TAutoDriver<Tables>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Table** prop/*[out,retval]*/);
  Word_xp::Table* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall AddOld(Word_xp::WordRange* Range/*[in]*/, long NumRows/*[in]*/, 
                                    long NumColumns/*[in]*/, Word_xp::Table** prop/*[out,retval]*/);
  Word_xp::Table* __fastcall AddOld(Word_xp::WordRange* Range/*[in]*/, long NumRows/*[in]*/, 
                                    long NumColumns/*[in]*/);
  HRESULT         __fastcall Add(Word_xp::WordRange* Range/*[in]*/, long NumRows/*[in]*/, 
                                 long NumColumns/*[in]*/, VARIANT* DefaultTableBehavior/*[in,opt]*/
                                 , VARIANT* AutoFitBehavior/*[in,opt]*/, 
                                 Word_xp::Table** prop/*[out,retval]*/);
  Word_xp::Table* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, long NumRows/*[in]*/, 
                                 long NumColumns/*[in]*/, 
                                 VARIANT* DefaultTableBehavior/*[in,opt]*/= TNoParam(), 
                                 VARIANT* AutoFitBehavior/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_NestingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_NestingLevel(void);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            NestingLevel = {read = get_NestingLevel};
};
typedef TablesDispT<Tables> TablesDisp;

typedef TComInterface<Rows>  TCOMRows;

// *********************************************************************//
// DispIntf:  Rows
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094C-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class RowsDispT : public TAutoDriver<Rows>
{
public:
  RowsDispT(){}

  RowsDispT(Rows *pintf)
  {
    TAutoDriver<Rows>::Bind(pintf, false);
  }

  RowsDispT(RowsPtr pintf)
  {
    TAutoDriver<Rows>::Bind(pintf, true);
  }

  RowsDispT& operator=(Rows *pintf)
  {
    TAutoDriver<Rows>::Bind(pintf, false);
    return *this;
  }

  RowsDispT& operator=(RowsPtr pintf)
  {
    TAutoDriver<Rows>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_AllowBreakAcrossPages(long* prop/*[out,retval]*/);
  long            __fastcall get_AllowBreakAcrossPages(void);
  HRESULT         __fastcall set_AllowBreakAcrossPages(long prop/*[in]*/);
  HRESULT         __fastcall get_Alignment(Word_xp::WdRowAlignment* prop/*[out,retval]*/);
  Word_xp::WdRowAlignment __fastcall get_Alignment(void);
  HRESULT         __fastcall set_Alignment(Word_xp::WdRowAlignment prop/*[in]*/);
  HRESULT         __fastcall get_HeadingFormat(long* prop/*[out,retval]*/);
  long            __fastcall get_HeadingFormat(void);
  HRESULT         __fastcall set_HeadingFormat(long prop/*[in]*/);
  HRESULT         __fastcall get_SpaceBetweenColumns(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceBetweenColumns(void);
  HRESULT         __fastcall set_SpaceBetweenColumns(float prop/*[in]*/);
  HRESULT         __fastcall get_Height(float* prop/*[out,retval]*/);
  float           __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(float prop/*[in]*/);
  HRESULT         __fastcall get_HeightRule(Word_xp::WdRowHeightRule* prop/*[out,retval]*/);
  Word_xp::WdRowHeightRule __fastcall get_HeightRule(void);
  HRESULT         __fastcall set_HeightRule(Word_xp::WdRowHeightRule prop/*[in]*/);
  HRESULT         __fastcall get_LeftIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftIndent(void);
  HRESULT         __fastcall set_LeftIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_First(Word_xp::Row** prop/*[out,retval]*/);
  Word_xp::RowPtr __fastcall get_First(void);
  HRESULT         __fastcall get_Last(Word_xp::Row** prop/*[out,retval]*/);
  Word_xp::RowPtr __fastcall get_Last(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Row** prop/*[out,retval]*/);
  Word_xp::Row*   __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(VARIANT* BeforeRow/*[in,opt]*/, Word_xp::Row** prop/*[out,retval]*/);
  Word_xp::Row*   __fastcall Add(VARIANT* BeforeRow/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall SetLeftIndent(float LeftIndent/*[in]*/, 
                                           Word_xp::WdRulerStyle RulerStyle/*[in]*/);
  HRESULT         __fastcall SetHeight(float RowHeight/*[in]*/, 
                                       Word_xp::WdRowHeightRule HeightRule/*[in]*/);
  HRESULT         __fastcall ConvertToTextOld(VARIANT* Separator/*[in,opt]*/, 
                                              Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall ConvertToTextOld(VARIANT* Separator/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall DistributeHeight();
  HRESULT         __fastcall ConvertToText(VARIANT* Separator/*[in,opt]*/, 
                                           VARIANT* NestedTables/*[in,opt]*/, 
                                           Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall ConvertToText(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NestedTables/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_WrapAroundText(long* prop/*[out,retval]*/);
  long            __fastcall get_WrapAroundText(void);
  HRESULT         __fastcall set_WrapAroundText(long prop/*[in]*/);
  HRESULT         __fastcall get_DistanceTop(float* prop/*[out,retval]*/);
  float           __fastcall get_DistanceTop(void);
  HRESULT         __fastcall set_DistanceTop(float prop/*[in]*/);
  HRESULT         __fastcall get_DistanceBottom(float* prop/*[out,retval]*/);
  float           __fastcall get_DistanceBottom(void);
  HRESULT         __fastcall set_DistanceBottom(float prop/*[in]*/);
  HRESULT         __fastcall get_DistanceLeft(float* prop/*[out,retval]*/);
  float           __fastcall get_DistanceLeft(void);
  HRESULT         __fastcall set_DistanceLeft(float prop/*[in]*/);
  HRESULT         __fastcall get_DistanceRight(float* prop/*[out,retval]*/);
  float           __fastcall get_DistanceRight(void);
  HRESULT         __fastcall set_DistanceRight(float prop/*[in]*/);
  HRESULT         __fastcall get_HorizontalPosition(float* prop/*[out,retval]*/);
  float           __fastcall get_HorizontalPosition(void);
  HRESULT         __fastcall set_HorizontalPosition(float prop/*[in]*/);
  HRESULT         __fastcall get_VerticalPosition(float* prop/*[out,retval]*/);
  float           __fastcall get_VerticalPosition(void);
  HRESULT         __fastcall set_VerticalPosition(float prop/*[in]*/);
  HRESULT         __fastcall get_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition* prop/*[out,retval]*/);
  Word_xp::WdRelativeHorizontalPosition __fastcall get_RelativeHorizontalPosition(void);
  HRESULT         __fastcall set_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition prop/*[in]*/);
  HRESULT         __fastcall get_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition* prop/*[out,retval]*/);
  Word_xp::WdRelativeVerticalPosition __fastcall get_RelativeVerticalPosition(void);
  HRESULT         __fastcall set_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition prop/*[in]*/);
  HRESULT         __fastcall get_AllowOverlap(long* prop/*[out,retval]*/);
  long            __fastcall get_AllowOverlap(void);
  HRESULT         __fastcall set_AllowOverlap(long prop/*[in]*/);
  HRESULT         __fastcall get_NestingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_NestingLevel(void);
  HRESULT         __fastcall get_TableDirection(Word_xp::WdTableDirection* prop/*[out,retval]*/);
  Word_xp::WdTableDirection __fastcall get_TableDirection(void);
  HRESULT         __fastcall set_TableDirection(Word_xp::WdTableDirection prop/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   long            AllowBreakAcrossPages = {read = get_AllowBreakAcrossPages, write = set_AllowBreakAcrossPages};
  __property   Word_xp::WdRowAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   long            HeadingFormat = {read = get_HeadingFormat, write = set_HeadingFormat};
  __property   float           SpaceBetweenColumns = {read = get_SpaceBetweenColumns, write = set_SpaceBetweenColumns};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdRowHeightRule HeightRule = {read = get_HeightRule, write = set_HeightRule};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   Word_xp::RowPtr First = {read = get_First};
  __property   Word_xp::RowPtr Last = {read = get_Last};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   long            WrapAroundText = {read = get_WrapAroundText, write = set_WrapAroundText};
  __property   float           DistanceTop = {read = get_DistanceTop, write = set_DistanceTop};
  __property   float           DistanceBottom = {read = get_DistanceBottom, write = set_DistanceBottom};
  __property   float           DistanceLeft = {read = get_DistanceLeft, write = set_DistanceLeft};
  __property   float           DistanceRight = {read = get_DistanceRight, write = set_DistanceRight};
  __property   float           HorizontalPosition = {read = get_HorizontalPosition, write = set_HorizontalPosition};
  __property   float           VerticalPosition = {read = get_VerticalPosition, write = set_VerticalPosition};
  __property   Word_xp::WdRelativeHorizontalPosition RelativeHorizontalPosition = {read = get_RelativeHorizontalPosition, write = set_RelativeHorizontalPosition};
  __property   Word_xp::WdRelativeVerticalPosition RelativeVerticalPosition = {read = get_RelativeVerticalPosition, write = set_RelativeVerticalPosition};
  __property   long            AllowOverlap = {read = get_AllowOverlap, write = set_AllowOverlap};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   Word_xp::WdTableDirection TableDirection = {read = get_TableDirection, write = set_TableDirection};
};
typedef RowsDispT<Rows> RowsDisp;

typedef TComInterface<Columns>  TCOMColumns;

// *********************************************************************//
// DispIntf:  Columns
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094B-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ColumnsDispT : public TAutoDriver<Columns>
{
public:
  ColumnsDispT(){}

  ColumnsDispT(Columns *pintf)
  {
    TAutoDriver<Columns>::Bind(pintf, false);
  }

  ColumnsDispT(ColumnsPtr pintf)
  {
    TAutoDriver<Columns>::Bind(pintf, true);
  }

  ColumnsDispT& operator=(Columns *pintf)
  {
    TAutoDriver<Columns>::Bind(pintf, false);
    return *this;
  }

  ColumnsDispT& operator=(ColumnsPtr pintf)
  {
    TAutoDriver<Columns>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_First(Word_xp::Column** prop/*[out,retval]*/);
  Word_xp::ColumnPtr __fastcall get_First(void);
  HRESULT         __fastcall get_Last(Word_xp::Column** prop/*[out,retval]*/);
  Word_xp::ColumnPtr __fastcall get_Last(void);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Column** prop/*[out,retval]*/);
  Word_xp::Column* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(VARIANT* BeforeColumn/*[in,opt]*/, 
                                 Word_xp::Column** prop/*[out,retval]*/);
  Word_xp::Column* __fastcall Add(VARIANT* BeforeColumn/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall SetWidth(float ColumnWidth/*[in]*/, 
                                      Word_xp::WdRulerStyle RulerStyle/*[in]*/);
  HRESULT         __fastcall AutoFit();
  HRESULT         __fastcall DistributeWidth();
  HRESULT         __fastcall get_NestingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_NestingLevel(void);
  HRESULT         __fastcall get_PreferredWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_PreferredWidth(void);
  HRESULT         __fastcall set_PreferredWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/);
  Word_xp::WdPreferredWidthType __fastcall get_PreferredWidthType(void);
  HRESULT         __fastcall set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::ColumnPtr First = {read = get_First};
  __property   Word_xp::ColumnPtr Last = {read = get_Last};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   float           PreferredWidth = {read = get_PreferredWidth, write = set_PreferredWidth};
  __property   Word_xp::WdPreferredWidthType PreferredWidthType = {read = get_PreferredWidthType, write = set_PreferredWidthType};
};
typedef ColumnsDispT<Columns> ColumnsDisp;

typedef TComInterface<Cells>  TCOMCells;

// *********************************************************************//
// DispIntf:  Cells
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094A-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class CellsDispT : public TAutoDriver<Cells>
{
public:
  CellsDispT(){}

  CellsDispT(Cells *pintf)
  {
    TAutoDriver<Cells>::Bind(pintf, false);
  }

  CellsDispT(CellsPtr pintf)
  {
    TAutoDriver<Cells>::Bind(pintf, true);
  }

  CellsDispT& operator=(Cells *pintf)
  {
    TAutoDriver<Cells>::Bind(pintf, false);
    return *this;
  }

  CellsDispT& operator=(CellsPtr pintf)
  {
    TAutoDriver<Cells>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_Height(float* prop/*[out,retval]*/);
  float           __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(float prop/*[in]*/);
  HRESULT         __fastcall get_HeightRule(Word_xp::WdRowHeightRule* prop/*[out,retval]*/);
  Word_xp::WdRowHeightRule __fastcall get_HeightRule(void);
  HRESULT         __fastcall set_HeightRule(Word_xp::WdRowHeightRule prop/*[in]*/);
  HRESULT         __fastcall get_VerticalAlignment(Word_xp::WdCellVerticalAlignment* prop/*[out,retval]*/);
  Word_xp::WdCellVerticalAlignment __fastcall get_VerticalAlignment(void);
  HRESULT         __fastcall set_VerticalAlignment(Word_xp::WdCellVerticalAlignment prop/*[in]*/);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Cell** prop/*[out,retval]*/);
  Word_xp::Cell*  __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(VARIANT* BeforeCell/*[in,opt]*/, 
                                 Word_xp::Cell** prop/*[out,retval]*/);
  Word_xp::Cell*  __fastcall Add(VARIANT* BeforeCell/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Delete(VARIANT* ShiftCells/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SetWidth(float ColumnWidth/*[in]*/, 
                                      Word_xp::WdRulerStyle RulerStyle/*[in]*/);
  HRESULT         __fastcall SetHeight(VARIANT* RowHeight/*[in]*/, 
                                       Word_xp::WdRowHeightRule HeightRule/*[in]*/);
  HRESULT         __fastcall Merge();
  HRESULT         __fastcall Split(VARIANT* NumRows/*[in,opt]*/= TNoParam(), 
                                   VARIANT* NumColumns/*[in,opt]*/= TNoParam(), 
                                   VARIANT* MergeBeforeSplit/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall DistributeHeight();
  HRESULT         __fastcall DistributeWidth();
  HRESULT         __fastcall AutoFit();
  HRESULT         __fastcall get_NestingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_NestingLevel(void);
  HRESULT         __fastcall get_PreferredWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_PreferredWidth(void);
  HRESULT         __fastcall set_PreferredWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/);
  Word_xp::WdPreferredWidthType __fastcall get_PreferredWidthType(void);
  HRESULT         __fastcall set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdRowHeightRule HeightRule = {read = get_HeightRule, write = set_HeightRule};
  __property   Word_xp::WdCellVerticalAlignment VerticalAlignment = {read = get_VerticalAlignment, write = set_VerticalAlignment};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   long            NestingLevel = {read = get_NestingLevel};
  __property   float           PreferredWidth = {read = get_PreferredWidth, write = set_PreferredWidth};
  __property   Word_xp::WdPreferredWidthType PreferredWidthType = {read = get_PreferredWidthType, write = set_PreferredWidthType};
};
typedef CellsDispT<Cells> CellsDisp;

typedef TComInterface<AutoCorrect>  TCOMAutoCorrect;

// *********************************************************************//
// DispIntf:  AutoCorrect
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020949-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class AutoCorrectDispT : public TAutoDriver<AutoCorrect>
{
public:
  AutoCorrectDispT(){}

  AutoCorrectDispT(AutoCorrect *pintf)
  {
    TAutoDriver<AutoCorrect>::Bind(pintf, false);
  }

  AutoCorrectDispT(AutoCorrectPtr pintf)
  {
    TAutoDriver<AutoCorrect>::Bind(pintf, true);
  }

  AutoCorrectDispT& operator=(AutoCorrect *pintf)
  {
    TAutoDriver<AutoCorrect>::Bind(pintf, false);
    return *this;
  }

  AutoCorrectDispT& operator=(AutoCorrectPtr pintf)
  {
    TAutoDriver<AutoCorrect>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_CorrectDays(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CorrectDays(void);
  HRESULT         __fastcall set_CorrectDays(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CorrectInitialCaps(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CorrectInitialCaps(void);
  HRESULT         __fastcall set_CorrectInitialCaps(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CorrectSentenceCaps(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CorrectSentenceCaps(void);
  HRESULT         __fastcall set_CorrectSentenceCaps(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ReplaceText(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ReplaceText(void);
  HRESULT         __fastcall set_ReplaceText(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Entries(Word_xp::AutoCorrectEntries** prop/*[out,retval]*/);
  Word_xp::AutoCorrectEntriesPtr __fastcall get_Entries(void);
  HRESULT         __fastcall get_FirstLetterExceptions(Word_xp::FirstLetterExceptions** prop/*[out,retval]*/);
  Word_xp::FirstLetterExceptionsPtr __fastcall get_FirstLetterExceptions(void);
  HRESULT         __fastcall get_FirstLetterAutoAdd(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FirstLetterAutoAdd(void);
  HRESULT         __fastcall set_FirstLetterAutoAdd(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_TwoInitialCapsExceptions(Word_xp::TwoInitialCapsExceptions** prop/*[out,retval]*/);
  Word_xp::TwoInitialCapsExceptionsPtr __fastcall get_TwoInitialCapsExceptions(void);
  HRESULT         __fastcall get_TwoInitialCapsAutoAdd(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_TwoInitialCapsAutoAdd(void);
  HRESULT         __fastcall set_TwoInitialCapsAutoAdd(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CorrectCapsLock(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CorrectCapsLock(void);
  HRESULT         __fastcall set_CorrectCapsLock(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CorrectHangulAndAlphabet(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CorrectHangulAndAlphabet(void);
  HRESULT         __fastcall set_CorrectHangulAndAlphabet(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HangulAndAlphabetExceptions(Word_xp::HangulAndAlphabetExceptions** prop/*[out,retval]*/);
  Word_xp::HangulAndAlphabetExceptionsPtr __fastcall get_HangulAndAlphabetExceptions(void);
  HRESULT         __fastcall get_HangulAndAlphabetAutoAdd(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HangulAndAlphabetAutoAdd(void);
  HRESULT         __fastcall set_HangulAndAlphabetAutoAdd(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ReplaceTextFromSpellingChecker(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ReplaceTextFromSpellingChecker(void);
  HRESULT         __fastcall set_ReplaceTextFromSpellingChecker(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_OtherCorrectionsAutoAdd(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_OtherCorrectionsAutoAdd(void);
  HRESULT         __fastcall set_OtherCorrectionsAutoAdd(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_OtherCorrectionsExceptions(Word_xp::OtherCorrectionsExceptions** prop/*[out,retval]*/);
  Word_xp::OtherCorrectionsExceptionsPtr __fastcall get_OtherCorrectionsExceptions(void);
  HRESULT         __fastcall get_CorrectKeyboardSetting(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CorrectKeyboardSetting(void);
  HRESULT         __fastcall set_CorrectKeyboardSetting(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CorrectTableCells(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CorrectTableCells(void);
  HRESULT         __fastcall set_CorrectTableCells(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DisplayAutoCorrectOptions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayAutoCorrectOptions(void);
  HRESULT         __fastcall set_DisplayAutoCorrectOptions(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    CorrectDays = {read = get_CorrectDays, write = set_CorrectDays};
  __property   VARIANT_BOOL    CorrectInitialCaps = {read = get_CorrectInitialCaps, write = set_CorrectInitialCaps};
  __property   VARIANT_BOOL    CorrectSentenceCaps = {read = get_CorrectSentenceCaps, write = set_CorrectSentenceCaps};
  __property   VARIANT_BOOL    ReplaceText = {read = get_ReplaceText, write = set_ReplaceText};
  __property   Word_xp::AutoCorrectEntriesPtr Entries = {read = get_Entries};
  __property   Word_xp::FirstLetterExceptionsPtr FirstLetterExceptions = {read = get_FirstLetterExceptions};
  __property   VARIANT_BOOL    FirstLetterAutoAdd = {read = get_FirstLetterAutoAdd, write = set_FirstLetterAutoAdd};
  __property   Word_xp::TwoInitialCapsExceptionsPtr TwoInitialCapsExceptions = {read = get_TwoInitialCapsExceptions};
  __property   VARIANT_BOOL    TwoInitialCapsAutoAdd = {read = get_TwoInitialCapsAutoAdd, write = set_TwoInitialCapsAutoAdd};
  __property   VARIANT_BOOL    CorrectCapsLock = {read = get_CorrectCapsLock, write = set_CorrectCapsLock};
  __property   VARIANT_BOOL    CorrectHangulAndAlphabet = {read = get_CorrectHangulAndAlphabet, write = set_CorrectHangulAndAlphabet};
  __property   Word_xp::HangulAndAlphabetExceptionsPtr HangulAndAlphabetExceptions = {read = get_HangulAndAlphabetExceptions};
  __property   VARIANT_BOOL    HangulAndAlphabetAutoAdd = {read = get_HangulAndAlphabetAutoAdd, write = set_HangulAndAlphabetAutoAdd};
  __property   VARIANT_BOOL    ReplaceTextFromSpellingChecker = {read = get_ReplaceTextFromSpellingChecker, write = set_ReplaceTextFromSpellingChecker};
  __property   VARIANT_BOOL    OtherCorrectionsAutoAdd = {read = get_OtherCorrectionsAutoAdd, write = set_OtherCorrectionsAutoAdd};
  __property   Word_xp::OtherCorrectionsExceptionsPtr OtherCorrectionsExceptions = {read = get_OtherCorrectionsExceptions};
  __property   VARIANT_BOOL    CorrectKeyboardSetting = {read = get_CorrectKeyboardSetting, write = set_CorrectKeyboardSetting};
  __property   VARIANT_BOOL    CorrectTableCells = {read = get_CorrectTableCells, write = set_CorrectTableCells};
  __property   VARIANT_BOOL    DisplayAutoCorrectOptions = {read = get_DisplayAutoCorrectOptions, write = set_DisplayAutoCorrectOptions};
};
typedef AutoCorrectDispT<AutoCorrect> AutoCorrectDisp;

typedef TComInterface<AutoCorrectEntries>  TCOMAutoCorrectEntries;

// *********************************************************************//
// DispIntf:  AutoCorrectEntries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020948-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class AutoCorrectEntriesDispT : public TAutoDriver<AutoCorrectEntries>
{
public:
  AutoCorrectEntriesDispT(){}

  AutoCorrectEntriesDispT(AutoCorrectEntries *pintf)
  {
    TAutoDriver<AutoCorrectEntries>::Bind(pintf, false);
  }

  AutoCorrectEntriesDispT(AutoCorrectEntriesPtr pintf)
  {
    TAutoDriver<AutoCorrectEntries>::Bind(pintf, true);
  }

  AutoCorrectEntriesDispT& operator=(AutoCorrectEntries *pintf)
  {
    TAutoDriver<AutoCorrectEntries>::Bind(pintf, false);
    return *this;
  }

  AutoCorrectEntriesDispT& operator=(AutoCorrectEntriesPtr pintf)
  {
    TAutoDriver<AutoCorrectEntries>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::AutoCorrectEntry** prop/*[out,retval]*/);
  Word_xp::AutoCorrectEntry* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, BSTR Value/*[in]*/, 
                                 Word_xp::AutoCorrectEntry** prop/*[out,retval]*/);
  Word_xp::AutoCorrectEntry* __fastcall Add(BSTR Name/*[in]*/, BSTR Value/*[in]*/);
  HRESULT         __fastcall AddRichText(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/, 
                                         Word_xp::AutoCorrectEntry** prop/*[out,retval]*/);
  Word_xp::AutoCorrectEntry* __fastcall AddRichText(BSTR Name/*[in]*/, 
                                                    Word_xp::WordRange* Range/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef AutoCorrectEntriesDispT<AutoCorrectEntries> AutoCorrectEntriesDisp;

typedef TComInterface<AutoCorrectEntry>  TCOMAutoCorrectEntry;

// *********************************************************************//
// DispIntf:  AutoCorrectEntry
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020947-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class AutoCorrectEntryDispT : public TAutoDriver<AutoCorrectEntry>
{
public:
  AutoCorrectEntryDispT(){}

  AutoCorrectEntryDispT(AutoCorrectEntry *pintf)
  {
    TAutoDriver<AutoCorrectEntry>::Bind(pintf, false);
  }

  AutoCorrectEntryDispT(AutoCorrectEntryPtr pintf)
  {
    TAutoDriver<AutoCorrectEntry>::Bind(pintf, true);
  }

  AutoCorrectEntryDispT& operator=(AutoCorrectEntry *pintf)
  {
    TAutoDriver<AutoCorrectEntry>::Bind(pintf, false);
    return *this;
  }

  AutoCorrectEntryDispT& operator=(AutoCorrectEntryPtr pintf)
  {
    TAutoDriver<AutoCorrectEntry>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Value(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Value(void);
  HRESULT         __fastcall set_Value(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_RichText(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RichText(void);
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Apply(Word_xp::WordRange* Range/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   BSTR            Value = {read = get_Value, write = set_Value};
  __property   VARIANT_BOOL    RichText = {read = get_RichText};
};
typedef AutoCorrectEntryDispT<AutoCorrectEntry> AutoCorrectEntryDisp;

typedef TComInterface<FirstLetterExceptions>  TCOMFirstLetterExceptions;

// *********************************************************************//
// DispIntf:  FirstLetterExceptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020946-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FirstLetterExceptionsDispT : public TAutoDriver<FirstLetterExceptions>
{
public:
  FirstLetterExceptionsDispT(){}

  FirstLetterExceptionsDispT(FirstLetterExceptions *pintf)
  {
    TAutoDriver<FirstLetterExceptions>::Bind(pintf, false);
  }

  FirstLetterExceptionsDispT(FirstLetterExceptionsPtr pintf)
  {
    TAutoDriver<FirstLetterExceptions>::Bind(pintf, true);
  }

  FirstLetterExceptionsDispT& operator=(FirstLetterExceptions *pintf)
  {
    TAutoDriver<FirstLetterExceptions>::Bind(pintf, false);
    return *this;
  }

  FirstLetterExceptionsDispT& operator=(FirstLetterExceptionsPtr pintf)
  {
    TAutoDriver<FirstLetterExceptions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::FirstLetterException** prop/*[out,retval]*/);
  Word_xp::FirstLetterException* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, 
                                 Word_xp::FirstLetterException** prop/*[out,retval]*/);
  Word_xp::FirstLetterException* __fastcall Add(BSTR Name/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef FirstLetterExceptionsDispT<FirstLetterExceptions> FirstLetterExceptionsDisp;

typedef TComInterface<FirstLetterException>  TCOMFirstLetterException;

// *********************************************************************//
// DispIntf:  FirstLetterException
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020945-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FirstLetterExceptionDispT : public TAutoDriver<FirstLetterException>
{
public:
  FirstLetterExceptionDispT(){}

  FirstLetterExceptionDispT(FirstLetterException *pintf)
  {
    TAutoDriver<FirstLetterException>::Bind(pintf, false);
  }

  FirstLetterExceptionDispT(FirstLetterExceptionPtr pintf)
  {
    TAutoDriver<FirstLetterException>::Bind(pintf, true);
  }

  FirstLetterExceptionDispT& operator=(FirstLetterException *pintf)
  {
    TAutoDriver<FirstLetterException>::Bind(pintf, false);
    return *this;
  }

  FirstLetterExceptionDispT& operator=(FirstLetterExceptionPtr pintf)
  {
    TAutoDriver<FirstLetterException>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name};
};
typedef FirstLetterExceptionDispT<FirstLetterException> FirstLetterExceptionDisp;

typedef TComInterface<TwoInitialCapsExceptions>  TCOMTwoInitialCapsExceptions;

// *********************************************************************//
// DispIntf:  TwoInitialCapsExceptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020944-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TwoInitialCapsExceptionsDispT : public TAutoDriver<TwoInitialCapsExceptions>
{
public:
  TwoInitialCapsExceptionsDispT(){}

  TwoInitialCapsExceptionsDispT(TwoInitialCapsExceptions *pintf)
  {
    TAutoDriver<TwoInitialCapsExceptions>::Bind(pintf, false);
  }

  TwoInitialCapsExceptionsDispT(TwoInitialCapsExceptionsPtr pintf)
  {
    TAutoDriver<TwoInitialCapsExceptions>::Bind(pintf, true);
  }

  TwoInitialCapsExceptionsDispT& operator=(TwoInitialCapsExceptions *pintf)
  {
    TAutoDriver<TwoInitialCapsExceptions>::Bind(pintf, false);
    return *this;
  }

  TwoInitialCapsExceptionsDispT& operator=(TwoInitialCapsExceptionsPtr pintf)
  {
    TAutoDriver<TwoInitialCapsExceptions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::TwoInitialCapsException** prop/*[out,retval]*/);
  Word_xp::TwoInitialCapsException* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, 
                                 Word_xp::TwoInitialCapsException** prop/*[out,retval]*/);
  Word_xp::TwoInitialCapsException* __fastcall Add(BSTR Name/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef TwoInitialCapsExceptionsDispT<TwoInitialCapsExceptions> TwoInitialCapsExceptionsDisp;

typedef TComInterface<TwoInitialCapsException>  TCOMTwoInitialCapsException;

// *********************************************************************//
// DispIntf:  TwoInitialCapsException
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020943-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TwoInitialCapsExceptionDispT : public TAutoDriver<TwoInitialCapsException>
{
public:
  TwoInitialCapsExceptionDispT(){}

  TwoInitialCapsExceptionDispT(TwoInitialCapsException *pintf)
  {
    TAutoDriver<TwoInitialCapsException>::Bind(pintf, false);
  }

  TwoInitialCapsExceptionDispT(TwoInitialCapsExceptionPtr pintf)
  {
    TAutoDriver<TwoInitialCapsException>::Bind(pintf, true);
  }

  TwoInitialCapsExceptionDispT& operator=(TwoInitialCapsException *pintf)
  {
    TAutoDriver<TwoInitialCapsException>::Bind(pintf, false);
    return *this;
  }

  TwoInitialCapsExceptionDispT& operator=(TwoInitialCapsExceptionPtr pintf)
  {
    TAutoDriver<TwoInitialCapsException>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name};
};
typedef TwoInitialCapsExceptionDispT<TwoInitialCapsException> TwoInitialCapsExceptionDisp;

typedef TComInterface<Footnotes>  TCOMFootnotes;

// *********************************************************************//
// DispIntf:  Footnotes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020942-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FootnotesDispT : public TAutoDriver<Footnotes>
{
public:
  FootnotesDispT(){}

  FootnotesDispT(Footnotes *pintf)
  {
    TAutoDriver<Footnotes>::Bind(pintf, false);
  }

  FootnotesDispT(FootnotesPtr pintf)
  {
    TAutoDriver<Footnotes>::Bind(pintf, true);
  }

  FootnotesDispT& operator=(Footnotes *pintf)
  {
    TAutoDriver<Footnotes>::Bind(pintf, false);
    return *this;
  }

  FootnotesDispT& operator=(FootnotesPtr pintf)
  {
    TAutoDriver<Footnotes>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Location(Word_xp::WdFootnoteLocation* prop/*[out,retval]*/);
  Word_xp::WdFootnoteLocation __fastcall get_Location(void);
  HRESULT         __fastcall set_Location(Word_xp::WdFootnoteLocation prop/*[in]*/);
  HRESULT         __fastcall get_NumberStyle(Word_xp::WdNoteNumberStyle* prop/*[out,retval]*/);
  Word_xp::WdNoteNumberStyle __fastcall get_NumberStyle(void);
  HRESULT         __fastcall set_NumberStyle(Word_xp::WdNoteNumberStyle prop/*[in]*/);
  HRESULT         __fastcall get_StartingNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_StartingNumber(void);
  HRESULT         __fastcall set_StartingNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_NumberingRule(Word_xp::WdNumberingRule* prop/*[out,retval]*/);
  Word_xp::WdNumberingRule __fastcall get_NumberingRule(void);
  HRESULT         __fastcall set_NumberingRule(Word_xp::WdNumberingRule prop/*[in]*/);
  HRESULT         __fastcall get_Separator(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Separator(void);
  HRESULT         __fastcall get_ContinuationSeparator(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_ContinuationSeparator(void);
  HRESULT         __fastcall get_ContinuationNotice(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_ContinuationNotice(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Footnote** prop/*[out,retval]*/);
  Word_xp::Footnote* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Reference/*[in,opt]*/, 
                                 VARIANT* Text/*[in,opt]*/, Word_xp::Footnote** prop/*[out,retval]*/);
  Word_xp::Footnote* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                    VARIANT* Reference/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Text/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Convert();
  HRESULT         __fastcall SwapWithEndnotes();
  HRESULT         __fastcall ResetSeparator();
  HRESULT         __fastcall ResetContinuationSeparator();
  HRESULT         __fastcall ResetContinuationNotice();

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdFootnoteLocation Location = {read = get_Location, write = set_Location};
  __property   Word_xp::WdNoteNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   long            StartingNumber = {read = get_StartingNumber, write = set_StartingNumber};
  __property   Word_xp::WdNumberingRule NumberingRule = {read = get_NumberingRule, write = set_NumberingRule};
  __property   Word_xp::WordRangePtr Separator = {read = get_Separator};
  __property   Word_xp::WordRangePtr ContinuationSeparator = {read = get_ContinuationSeparator};
  __property   Word_xp::WordRangePtr ContinuationNotice = {read = get_ContinuationNotice};
};
typedef FootnotesDispT<Footnotes> FootnotesDisp;

typedef TComInterface<Endnotes>  TCOMEndnotes;

// *********************************************************************//
// DispIntf:  Endnotes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020941-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class EndnotesDispT : public TAutoDriver<Endnotes>
{
public:
  EndnotesDispT(){}

  EndnotesDispT(Endnotes *pintf)
  {
    TAutoDriver<Endnotes>::Bind(pintf, false);
  }

  EndnotesDispT(EndnotesPtr pintf)
  {
    TAutoDriver<Endnotes>::Bind(pintf, true);
  }

  EndnotesDispT& operator=(Endnotes *pintf)
  {
    TAutoDriver<Endnotes>::Bind(pintf, false);
    return *this;
  }

  EndnotesDispT& operator=(EndnotesPtr pintf)
  {
    TAutoDriver<Endnotes>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Location(Word_xp::WdEndnoteLocation* prop/*[out,retval]*/);
  Word_xp::WdEndnoteLocation __fastcall get_Location(void);
  HRESULT         __fastcall set_Location(Word_xp::WdEndnoteLocation prop/*[in]*/);
  HRESULT         __fastcall get_NumberStyle(Word_xp::WdNoteNumberStyle* prop/*[out,retval]*/);
  Word_xp::WdNoteNumberStyle __fastcall get_NumberStyle(void);
  HRESULT         __fastcall set_NumberStyle(Word_xp::WdNoteNumberStyle prop/*[in]*/);
  HRESULT         __fastcall get_StartingNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_StartingNumber(void);
  HRESULT         __fastcall set_StartingNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_NumberingRule(Word_xp::WdNumberingRule* prop/*[out,retval]*/);
  Word_xp::WdNumberingRule __fastcall get_NumberingRule(void);
  HRESULT         __fastcall set_NumberingRule(Word_xp::WdNumberingRule prop/*[in]*/);
  HRESULT         __fastcall get_Separator(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Separator(void);
  HRESULT         __fastcall get_ContinuationSeparator(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_ContinuationSeparator(void);
  HRESULT         __fastcall get_ContinuationNotice(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_ContinuationNotice(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Endnote** prop/*[out,retval]*/);
  Word_xp::Endnote* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Reference/*[in,opt]*/, 
                                 VARIANT* Text/*[in,opt]*/, Word_xp::Endnote** prop/*[out,retval]*/);
  Word_xp::Endnote* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                   VARIANT* Reference/*[in,opt]*/= TNoParam(), 
                                   VARIANT* Text/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Convert();
  HRESULT         __fastcall SwapWithFootnotes();
  HRESULT         __fastcall ResetSeparator();
  HRESULT         __fastcall ResetContinuationSeparator();
  HRESULT         __fastcall ResetContinuationNotice();

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdEndnoteLocation Location = {read = get_Location, write = set_Location};
  __property   Word_xp::WdNoteNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   long            StartingNumber = {read = get_StartingNumber, write = set_StartingNumber};
  __property   Word_xp::WdNumberingRule NumberingRule = {read = get_NumberingRule, write = set_NumberingRule};
  __property   Word_xp::WordRangePtr Separator = {read = get_Separator};
  __property   Word_xp::WordRangePtr ContinuationSeparator = {read = get_ContinuationSeparator};
  __property   Word_xp::WordRangePtr ContinuationNotice = {read = get_ContinuationNotice};
};
typedef EndnotesDispT<Endnotes> EndnotesDisp;

typedef TComInterface<Comments>  TCOMComments;

// *********************************************************************//
// DispIntf:  Comments
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020940-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class CommentsDispT : public TAutoDriver<Comments>
{
public:
  CommentsDispT(){}

  CommentsDispT(Comments *pintf)
  {
    TAutoDriver<Comments>::Bind(pintf, false);
  }

  CommentsDispT(CommentsPtr pintf)
  {
    TAutoDriver<Comments>::Bind(pintf, true);
  }

  CommentsDispT& operator=(Comments *pintf)
  {
    TAutoDriver<Comments>::Bind(pintf, false);
    return *this;
  }

  CommentsDispT& operator=(CommentsPtr pintf)
  {
    TAutoDriver<Comments>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_ShowBy(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ShowBy(void);
  HRESULT         __fastcall set_ShowBy(BSTR prop/*[in]*/);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Comment** prop/*[out,retval]*/);
  Word_xp::Comment* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Text/*[in,opt]*/, 
                                 Word_xp::Comment** prop/*[out,retval]*/);
  Word_xp::Comment* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                   VARIANT* Text/*[in,opt]*/= TNoParam());

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            ShowBy = {read = get_ShowBy, write = set_ShowBy};
};
typedef CommentsDispT<Comments> CommentsDisp;

typedef TComInterface<Footnote>  TCOMFootnote;

// *********************************************************************//
// DispIntf:  Footnote
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093F-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FootnoteDispT : public TAutoDriver<Footnote>
{
public:
  FootnoteDispT(){}

  FootnoteDispT(Footnote *pintf)
  {
    TAutoDriver<Footnote>::Bind(pintf, false);
  }

  FootnoteDispT(FootnotePtr pintf)
  {
    TAutoDriver<Footnote>::Bind(pintf, true);
  }

  FootnoteDispT& operator=(Footnote *pintf)
  {
    TAutoDriver<Footnote>::Bind(pintf, false);
    return *this;
  }

  FootnoteDispT& operator=(FootnotePtr pintf)
  {
    TAutoDriver<Footnote>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Reference(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Reference(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordRangePtr Reference = {read = get_Reference};
  __property   long            Index = {read = get_Index};
};
typedef FootnoteDispT<Footnote> FootnoteDisp;

typedef TComInterface<Endnote>  TCOMEndnote;

// *********************************************************************//
// DispIntf:  Endnote
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093E-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class EndnoteDispT : public TAutoDriver<Endnote>
{
public:
  EndnoteDispT(){}

  EndnoteDispT(Endnote *pintf)
  {
    TAutoDriver<Endnote>::Bind(pintf, false);
  }

  EndnoteDispT(EndnotePtr pintf)
  {
    TAutoDriver<Endnote>::Bind(pintf, true);
  }

  EndnoteDispT& operator=(Endnote *pintf)
  {
    TAutoDriver<Endnote>::Bind(pintf, false);
    return *this;
  }

  EndnoteDispT& operator=(EndnotePtr pintf)
  {
    TAutoDriver<Endnote>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Reference(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Reference(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordRangePtr Reference = {read = get_Reference};
  __property   long            Index = {read = get_Index};
};
typedef EndnoteDispT<Endnote> EndnoteDisp;

typedef TComInterface<Comment>  TCOMComment;

// *********************************************************************//
// DispIntf:  Comment
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093D-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class CommentDispT : public TAutoDriver<Comment>
{
public:
  CommentDispT(){}

  CommentDispT(Comment *pintf)
  {
    TAutoDriver<Comment>::Bind(pintf, false);
  }

  CommentDispT(CommentPtr pintf)
  {
    TAutoDriver<Comment>::Bind(pintf, true);
  }

  CommentDispT& operator=(Comment *pintf)
  {
    TAutoDriver<Comment>::Bind(pintf, false);
    return *this;
  }

  CommentDispT& operator=(CommentPtr pintf)
  {
    TAutoDriver<Comment>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Reference(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Reference(void);
  HRESULT         __fastcall get_Scope(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Scope(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Author(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Author(void);
  HRESULT         __fastcall set_Author(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Initial(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Initial(void);
  HRESULT         __fastcall set_Initial(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ShowTip(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowTip(void);
  HRESULT         __fastcall set_ShowTip(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Edit();
  HRESULT         __fastcall get_Date(DATE* prop/*[out,retval]*/);
  DATE            __fastcall get_Date(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WordRangePtr Reference = {read = get_Reference};
  __property   Word_xp::WordRangePtr Scope = {read = get_Scope};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Author = {read = get_Author, write = set_Author};
  __property   BSTR            Initial = {read = get_Initial, write = set_Initial};
  __property   VARIANT_BOOL    ShowTip = {read = get_ShowTip, write = set_ShowTip};
  __property   DATE            Date = {read = get_Date};
};
typedef CommentDispT<Comment> CommentDisp;

typedef TComInterface<Borders>  TCOMBorders;

// *********************************************************************//
// DispIntf:  Borders
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093C-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class BordersDispT : public TAutoDriver<Borders>
{
public:
  BordersDispT(){}

  BordersDispT(Borders *pintf)
  {
    TAutoDriver<Borders>::Bind(pintf, false);
  }

  BordersDispT(BordersPtr pintf)
  {
    TAutoDriver<Borders>::Bind(pintf, true);
  }

  BordersDispT& operator=(Borders *pintf)
  {
    TAutoDriver<Borders>::Bind(pintf, false);
    return *this;
  }

  BordersDispT& operator=(BordersPtr pintf)
  {
    TAutoDriver<Borders>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Enable(long* prop/*[out,retval]*/);
  long            __fastcall get_Enable(void);
  HRESULT         __fastcall set_Enable(long prop/*[in]*/);
  HRESULT         __fastcall get_DistanceFromTop(long* prop/*[out,retval]*/);
  long            __fastcall get_DistanceFromTop(void);
  HRESULT         __fastcall set_DistanceFromTop(long prop/*[in]*/);
  HRESULT         __fastcall get_Shadow(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Shadow(void);
  HRESULT         __fastcall set_Shadow(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_InsideLineStyle(Word_xp::WdLineStyle* prop/*[out,retval]*/);
  Word_xp::WdLineStyle __fastcall get_InsideLineStyle(void);
  HRESULT         __fastcall set_InsideLineStyle(Word_xp::WdLineStyle prop/*[in]*/);
  HRESULT         __fastcall get_OutsideLineStyle(Word_xp::WdLineStyle* prop/*[out,retval]*/);
  Word_xp::WdLineStyle __fastcall get_OutsideLineStyle(void);
  HRESULT         __fastcall set_OutsideLineStyle(Word_xp::WdLineStyle prop/*[in]*/);
  HRESULT         __fastcall get_InsideLineWidth(Word_xp::WdLineWidth* prop/*[out,retval]*/);
  Word_xp::WdLineWidth __fastcall get_InsideLineWidth(void);
  HRESULT         __fastcall set_InsideLineWidth(Word_xp::WdLineWidth prop/*[in]*/);
  HRESULT         __fastcall get_OutsideLineWidth(Word_xp::WdLineWidth* prop/*[out,retval]*/);
  Word_xp::WdLineWidth __fastcall get_OutsideLineWidth(void);
  HRESULT         __fastcall set_OutsideLineWidth(Word_xp::WdLineWidth prop/*[in]*/);
  HRESULT         __fastcall get_InsideColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_InsideColorIndex(void);
  HRESULT         __fastcall set_InsideColorIndex(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_OutsideColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_OutsideColorIndex(void);
  HRESULT         __fastcall set_OutsideColorIndex(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_DistanceFromLeft(long* prop/*[out,retval]*/);
  long            __fastcall get_DistanceFromLeft(void);
  HRESULT         __fastcall set_DistanceFromLeft(long prop/*[in]*/);
  HRESULT         __fastcall get_DistanceFromBottom(long* prop/*[out,retval]*/);
  long            __fastcall get_DistanceFromBottom(void);
  HRESULT         __fastcall set_DistanceFromBottom(long prop/*[in]*/);
  HRESULT         __fastcall get_DistanceFromRight(long* prop/*[out,retval]*/);
  long            __fastcall get_DistanceFromRight(void);
  HRESULT         __fastcall set_DistanceFromRight(long prop/*[in]*/);
  HRESULT         __fastcall get_AlwaysInFront(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AlwaysInFront(void);
  HRESULT         __fastcall set_AlwaysInFront(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SurroundHeader(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SurroundHeader(void);
  HRESULT         __fastcall set_SurroundHeader(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SurroundFooter(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SurroundFooter(void);
  HRESULT         __fastcall set_SurroundFooter(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_JoinBorders(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_JoinBorders(void);
  HRESULT         __fastcall set_JoinBorders(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HasHorizontal(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HasHorizontal(void);
  HRESULT         __fastcall get_HasVertical(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HasVertical(void);
  HRESULT         __fastcall get_DistanceFrom(Word_xp::WdBorderDistanceFrom* prop/*[out,retval]*/);
  Word_xp::WdBorderDistanceFrom __fastcall get_DistanceFrom(void);
  HRESULT         __fastcall set_DistanceFrom(Word_xp::WdBorderDistanceFrom prop/*[in]*/);
  HRESULT         __fastcall get_EnableFirstPageInSection(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EnableFirstPageInSection(void);
  HRESULT         __fastcall set_EnableFirstPageInSection(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_EnableOtherPagesInSection(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EnableOtherPagesInSection(void);
  HRESULT         __fastcall set_EnableOtherPagesInSection(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall Item(Word_xp::WdBorderType Index/*[in]*/, 
                                  Word_xp::Border** prop/*[out,retval]*/);
  Word_xp::Border* __fastcall Item(Word_xp::WdBorderType Index/*[in]*/);
  HRESULT         __fastcall ApplyPageBordersToAllSections();
  HRESULT         __fastcall get_InsideColor(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_InsideColor(void);
  HRESULT         __fastcall set_InsideColor(Word_xp::WdColor prop/*[in]*/);
  HRESULT         __fastcall get_OutsideColor(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_OutsideColor(void);
  HRESULT         __fastcall set_OutsideColor(Word_xp::WdColor prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   long            Enable = {read = get_Enable, write = set_Enable};
  __property   long            DistanceFromTop = {read = get_DistanceFromTop, write = set_DistanceFromTop};
  __property   VARIANT_BOOL    Shadow = {read = get_Shadow, write = set_Shadow};
  __property   Word_xp::WdLineStyle InsideLineStyle = {read = get_InsideLineStyle, write = set_InsideLineStyle};
  __property   Word_xp::WdLineStyle OutsideLineStyle = {read = get_OutsideLineStyle, write = set_OutsideLineStyle};
  __property   Word_xp::WdLineWidth InsideLineWidth = {read = get_InsideLineWidth, write = set_InsideLineWidth};
  __property   Word_xp::WdLineWidth OutsideLineWidth = {read = get_OutsideLineWidth, write = set_OutsideLineWidth};
  __property   Word_xp::WdColorIndex InsideColorIndex = {read = get_InsideColorIndex, write = set_InsideColorIndex};
  __property   Word_xp::WdColorIndex OutsideColorIndex = {read = get_OutsideColorIndex, write = set_OutsideColorIndex};
  __property   long            DistanceFromLeft = {read = get_DistanceFromLeft, write = set_DistanceFromLeft};
  __property   long            DistanceFromBottom = {read = get_DistanceFromBottom, write = set_DistanceFromBottom};
  __property   long            DistanceFromRight = {read = get_DistanceFromRight, write = set_DistanceFromRight};
  __property   VARIANT_BOOL    AlwaysInFront = {read = get_AlwaysInFront, write = set_AlwaysInFront};
  __property   VARIANT_BOOL    SurroundHeader = {read = get_SurroundHeader, write = set_SurroundHeader};
  __property   VARIANT_BOOL    SurroundFooter = {read = get_SurroundFooter, write = set_SurroundFooter};
  __property   VARIANT_BOOL    JoinBorders = {read = get_JoinBorders, write = set_JoinBorders};
  __property   VARIANT_BOOL    HasHorizontal = {read = get_HasHorizontal};
  __property   VARIANT_BOOL    HasVertical = {read = get_HasVertical};
  __property   Word_xp::WdBorderDistanceFrom DistanceFrom = {read = get_DistanceFrom, write = set_DistanceFrom};
  __property   VARIANT_BOOL    EnableFirstPageInSection = {read = get_EnableFirstPageInSection, write = set_EnableFirstPageInSection};
  __property   VARIANT_BOOL    EnableOtherPagesInSection = {read = get_EnableOtherPagesInSection, write = set_EnableOtherPagesInSection};
  __property   Word_xp::WdColor InsideColor = {read = get_InsideColor, write = set_InsideColor};
  __property   Word_xp::WdColor OutsideColor = {read = get_OutsideColor, write = set_OutsideColor};
};
typedef BordersDispT<Borders> BordersDisp;

typedef TComInterface<Border>  TCOMBorder;

// *********************************************************************//
// DispIntf:  Border
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093B-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class BorderDispT : public TAutoDriver<Border>
{
public:
  BorderDispT(){}

  BorderDispT(Border *pintf)
  {
    TAutoDriver<Border>::Bind(pintf, false);
  }

  BorderDispT(BorderPtr pintf)
  {
    TAutoDriver<Border>::Bind(pintf, true);
  }

  BorderDispT& operator=(Border *pintf)
  {
    TAutoDriver<Border>::Bind(pintf, false);
    return *this;
  }

  BorderDispT& operator=(BorderPtr pintf)
  {
    TAutoDriver<Border>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Visible(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_ColorIndex(void);
  HRESULT         __fastcall set_ColorIndex(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_Inside(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Inside(void);
  HRESULT         __fastcall get_LineStyle(Word_xp::WdLineStyle* prop/*[out,retval]*/);
  Word_xp::WdLineStyle __fastcall get_LineStyle(void);
  HRESULT         __fastcall set_LineStyle(Word_xp::WdLineStyle prop/*[in]*/);
  HRESULT         __fastcall get_LineWidth(Word_xp::WdLineWidth* prop/*[out,retval]*/);
  Word_xp::WdLineWidth __fastcall get_LineWidth(void);
  HRESULT         __fastcall set_LineWidth(Word_xp::WdLineWidth prop/*[in]*/);
  HRESULT         __fastcall get_ArtStyle(Word_xp::WdPageBorderArt* prop/*[out,retval]*/);
  Word_xp::WdPageBorderArt __fastcall get_ArtStyle(void);
  HRESULT         __fastcall set_ArtStyle(Word_xp::WdPageBorderArt prop/*[in]*/);
  HRESULT         __fastcall get_ArtWidth(long* prop/*[out,retval]*/);
  long            __fastcall get_ArtWidth(void);
  HRESULT         __fastcall set_ArtWidth(long prop/*[in]*/);
  HRESULT         __fastcall get_Color(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_Color(void);
  HRESULT         __fastcall set_Color(Word_xp::WdColor prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};
  __property   Word_xp::WdColorIndex ColorIndex = {read = get_ColorIndex, write = set_ColorIndex};
  __property   VARIANT_BOOL    Inside = {read = get_Inside};
  __property   Word_xp::WdLineStyle LineStyle = {read = get_LineStyle, write = set_LineStyle};
  __property   Word_xp::WdLineWidth LineWidth = {read = get_LineWidth, write = set_LineWidth};
  __property   Word_xp::WdPageBorderArt ArtStyle = {read = get_ArtStyle, write = set_ArtStyle};
  __property   long            ArtWidth = {read = get_ArtWidth, write = set_ArtWidth};
  __property   Word_xp::WdColor Color = {read = get_Color, write = set_Color};
};
typedef BorderDispT<Border> BorderDisp;

typedef TComInterface<Shading>  TCOMShading;

// *********************************************************************//
// DispIntf:  Shading
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093A-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ShadingDispT : public TAutoDriver<Shading>
{
public:
  ShadingDispT(){}

  ShadingDispT(Shading *pintf)
  {
    TAutoDriver<Shading>::Bind(pintf, false);
  }

  ShadingDispT(ShadingPtr pintf)
  {
    TAutoDriver<Shading>::Bind(pintf, true);
  }

  ShadingDispT& operator=(Shading *pintf)
  {
    TAutoDriver<Shading>::Bind(pintf, false);
    return *this;
  }

  ShadingDispT& operator=(ShadingPtr pintf)
  {
    TAutoDriver<Shading>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_ForegroundPatternColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_ForegroundPatternColorIndex(void);
  HRESULT         __fastcall set_ForegroundPatternColorIndex(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_BackgroundPatternColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_BackgroundPatternColorIndex(void);
  HRESULT         __fastcall set_BackgroundPatternColorIndex(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_Texture(Word_xp::WdTextureIndex* prop/*[out,retval]*/);
  Word_xp::WdTextureIndex __fastcall get_Texture(void);
  HRESULT         __fastcall set_Texture(Word_xp::WdTextureIndex prop/*[in]*/);
  HRESULT         __fastcall get_ForegroundPatternColor(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_ForegroundPatternColor(void);
  HRESULT         __fastcall set_ForegroundPatternColor(Word_xp::WdColor prop/*[in]*/);
  HRESULT         __fastcall get_BackgroundPatternColor(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_BackgroundPatternColor(void);
  HRESULT         __fastcall set_BackgroundPatternColor(Word_xp::WdColor prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdColorIndex ForegroundPatternColorIndex = {read = get_ForegroundPatternColorIndex, write = set_ForegroundPatternColorIndex};
  __property   Word_xp::WdColorIndex BackgroundPatternColorIndex = {read = get_BackgroundPatternColorIndex, write = set_BackgroundPatternColorIndex};
  __property   Word_xp::WdTextureIndex Texture = {read = get_Texture, write = set_Texture};
  __property   Word_xp::WdColor ForegroundPatternColor = {read = get_ForegroundPatternColor, write = set_ForegroundPatternColor};
  __property   Word_xp::WdColor BackgroundPatternColor = {read = get_BackgroundPatternColor, write = set_BackgroundPatternColor};
};
typedef ShadingDispT<Shading> ShadingDisp;

typedef TComInterface<TextRetrievalMode>  TCOMTextRetrievalMode;

// *********************************************************************//
// DispIntf:  TextRetrievalMode
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020939-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TextRetrievalModeDispT : public TAutoDriver<TextRetrievalMode>
{
public:
  TextRetrievalModeDispT(){}

  TextRetrievalModeDispT(TextRetrievalMode *pintf)
  {
    TAutoDriver<TextRetrievalMode>::Bind(pintf, false);
  }

  TextRetrievalModeDispT(TextRetrievalModePtr pintf)
  {
    TAutoDriver<TextRetrievalMode>::Bind(pintf, true);
  }

  TextRetrievalModeDispT& operator=(TextRetrievalMode *pintf)
  {
    TAutoDriver<TextRetrievalMode>::Bind(pintf, false);
    return *this;
  }

  TextRetrievalModeDispT& operator=(TextRetrievalModePtr pintf)
  {
    TAutoDriver<TextRetrievalMode>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_ViewType(Word_xp::WdViewType* prop/*[out,retval]*/);
  Word_xp::WdViewType __fastcall get_ViewType(void);
  HRESULT         __fastcall set_ViewType(Word_xp::WdViewType prop/*[in]*/);
  HRESULT         __fastcall get_Duplicate(Word_xp::TextRetrievalMode** prop/*[out,retval]*/);
  Word_xp::TextRetrievalModePtr __fastcall get_Duplicate(void);
  HRESULT         __fastcall get_IncludeHiddenText(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IncludeHiddenText(void);
  HRESULT         __fastcall set_IncludeHiddenText(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_IncludeFieldCodes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IncludeFieldCodes(void);
  HRESULT         __fastcall set_IncludeFieldCodes(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdViewType ViewType = {read = get_ViewType, write = set_ViewType};
  __property   Word_xp::TextRetrievalModePtr Duplicate = {read = get_Duplicate};
  __property   VARIANT_BOOL    IncludeHiddenText = {read = get_IncludeHiddenText, write = set_IncludeHiddenText};
  __property   VARIANT_BOOL    IncludeFieldCodes = {read = get_IncludeFieldCodes, write = set_IncludeFieldCodes};
};
typedef TextRetrievalModeDispT<TextRetrievalMode> TextRetrievalModeDisp;

typedef TComInterface<AutoTextEntries>  TCOMAutoTextEntries;

// *********************************************************************//
// DispIntf:  AutoTextEntries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020937-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class AutoTextEntriesDispT : public TAutoDriver<AutoTextEntries>
{
public:
  AutoTextEntriesDispT(){}

  AutoTextEntriesDispT(AutoTextEntries *pintf)
  {
    TAutoDriver<AutoTextEntries>::Bind(pintf, false);
  }

  AutoTextEntriesDispT(AutoTextEntriesPtr pintf)
  {
    TAutoDriver<AutoTextEntries>::Bind(pintf, true);
  }

  AutoTextEntriesDispT& operator=(AutoTextEntries *pintf)
  {
    TAutoDriver<AutoTextEntries>::Bind(pintf, false);
    return *this;
  }

  AutoTextEntriesDispT& operator=(AutoTextEntriesPtr pintf)
  {
    TAutoDriver<AutoTextEntries>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::AutoTextEntry** prop/*[out,retval]*/);
  Word_xp::AutoTextEntry* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/, 
                                 Word_xp::AutoTextEntry** prop/*[out,retval]*/);
  Word_xp::AutoTextEntry* __fastcall Add(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall AppendToSpike(Word_xp::WordRange* Range/*[in]*/, 
                                           Word_xp::AutoTextEntry** prop/*[out,retval]*/);
  Word_xp::AutoTextEntry* __fastcall AppendToSpike(Word_xp::WordRange* Range/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef AutoTextEntriesDispT<AutoTextEntries> AutoTextEntriesDisp;

typedef TComInterface<AutoTextEntry>  TCOMAutoTextEntry;

// *********************************************************************//
// DispIntf:  AutoTextEntry
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020936-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class AutoTextEntryDispT : public TAutoDriver<AutoTextEntry>
{
public:
  AutoTextEntryDispT(){}

  AutoTextEntryDispT(AutoTextEntry *pintf)
  {
    TAutoDriver<AutoTextEntry>::Bind(pintf, false);
  }

  AutoTextEntryDispT(AutoTextEntryPtr pintf)
  {
    TAutoDriver<AutoTextEntry>::Bind(pintf, true);
  }

  AutoTextEntryDispT& operator=(AutoTextEntry *pintf)
  {
    TAutoDriver<AutoTextEntry>::Bind(pintf, false);
    return *this;
  }

  AutoTextEntryDispT& operator=(AutoTextEntryPtr pintf)
  {
    TAutoDriver<AutoTextEntry>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_StyleName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_StyleName(void);
  HRESULT         __fastcall get_Value(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Value(void);
  HRESULT         __fastcall set_Value(BSTR prop/*[in]*/);
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Insert(Word_xp::WordRange* Where/*[in]*/, VARIANT* RichText/*[in,opt]*/
                                    , Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall Insert(Word_xp::WordRange* Where/*[in]*/, 
                                        VARIANT* RichText/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   BSTR            StyleName = {read = get_StyleName};
  __property   BSTR            Value = {read = get_Value, write = set_Value};
};
typedef AutoTextEntryDispT<AutoTextEntry> AutoTextEntryDisp;

typedef TComInterface<SYSTEM>  TCOMSYSTEM;

// *********************************************************************//
// DispIntf:  System
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020935-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class SYSTEMDispT : public TAutoDriver<SYSTEM>
{
public:
  SYSTEMDispT(){}

  SYSTEMDispT(SYSTEM *pintf)
  {
    TAutoDriver<SYSTEM>::Bind(pintf, false);
  }

  SYSTEMDispT(SYSTEMPtr pintf)
  {
    TAutoDriver<SYSTEM>::Bind(pintf, true);
  }

  SYSTEMDispT& operator=(SYSTEM *pintf)
  {
    TAutoDriver<SYSTEM>::Bind(pintf, false);
    return *this;
  }

  SYSTEMDispT& operator=(SYSTEMPtr pintf)
  {
    TAutoDriver<SYSTEM>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_OperatingSystem(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_OperatingSystem(void);
  HRESULT         __fastcall get_ProcessorType(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ProcessorType(void);
  HRESULT         __fastcall get_Version(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Version(void);
  HRESULT         __fastcall get_FreeDiskSpace(long* prop/*[out,retval]*/);
  long            __fastcall get_FreeDiskSpace(void);
  HRESULT         __fastcall get_Country(Word_xp::WdCountry* prop/*[out,retval]*/);
  Word_xp::WdCountry __fastcall get_Country(void);
  HRESULT         __fastcall get_LanguageDesignation(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_LanguageDesignation(void);
  HRESULT         __fastcall get_HorizontalResolution(long* prop/*[out,retval]*/);
  long            __fastcall get_HorizontalResolution(void);
  HRESULT         __fastcall get_VerticalResolution(long* prop/*[out,retval]*/);
  long            __fastcall get_VerticalResolution(void);
  HRESULT         __fastcall get_ProfileString(BSTR Section/*[in]*/, BSTR Key/*[in]*/, 
                                               BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ProfileString(BSTR Section/*[in]*/, BSTR Key/*[in]*/);
  HRESULT         __fastcall set_ProfileString(BSTR Section/*[in]*/, BSTR Key/*[in]*/, 
                                               BSTR prop/*[in]*/);
  HRESULT         __fastcall get_PrivateProfileString(BSTR FileName/*[in]*/, BSTR Section/*[in]*/, 
                                                      BSTR Key/*[in]*/, BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_PrivateProfileString(BSTR FileName/*[in]*/, BSTR Section/*[in]*/, 
                                                      BSTR Key/*[in]*/);
  HRESULT         __fastcall set_PrivateProfileString(BSTR FileName/*[in]*/, BSTR Section/*[in]*/, 
                                                      BSTR Key/*[in]*/, BSTR prop/*[in]*/);
  HRESULT         __fastcall get_MathCoprocessorInstalled(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MathCoprocessorInstalled(void);
  HRESULT         __fastcall get_ComputerType(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ComputerType(void);
  HRESULT         __fastcall get_MacintoshName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_MacintoshName(void);
  HRESULT         __fastcall get_QuickDrawInstalled(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_QuickDrawInstalled(void);
  HRESULT         __fastcall get_Cursor(Word_xp::WdCursorType* prop/*[out,retval]*/);
  Word_xp::WdCursorType __fastcall get_Cursor(void);
  HRESULT         __fastcall set_Cursor(Word_xp::WdCursorType prop/*[in]*/);
  HRESULT         __fastcall MSInfo();
  HRESULT         __fastcall Connect(BSTR Path/*[in]*/, VARIANT* Drive/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Password/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            OperatingSystem = {read = get_OperatingSystem};
  __property   BSTR            ProcessorType = {read = get_ProcessorType};
  __property   BSTR            Version = {read = get_Version};
  __property   long            FreeDiskSpace = {read = get_FreeDiskSpace};
  __property   Word_xp::WdCountry Country = {read = get_Country};
  __property   BSTR            LanguageDesignation = {read = get_LanguageDesignation};
  __property   long            HorizontalResolution = {read = get_HorizontalResolution};
  __property   long            VerticalResolution = {read = get_VerticalResolution};
  __property   VARIANT_BOOL    MathCoprocessorInstalled = {read = get_MathCoprocessorInstalled};
  __property   BSTR            ComputerType = {read = get_ComputerType};
  __property   BSTR            MacintoshName = {read = get_MacintoshName};
  __property   VARIANT_BOOL    QuickDrawInstalled = {read = get_QuickDrawInstalled};
  __property   Word_xp::WdCursorType Cursor = {read = get_Cursor, write = set_Cursor};
};
typedef SYSTEMDispT<SYSTEM> SYSTEMDisp;

typedef TComInterface<OLEFormat>  TCOMOLEFormat;

// *********************************************************************//
// DispIntf:  OLEFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020933-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class OLEFormatDispT : public TAutoDriver<OLEFormat>
{
public:
  OLEFormatDispT(){}

  OLEFormatDispT(OLEFormat *pintf)
  {
    TAutoDriver<OLEFormat>::Bind(pintf, false);
  }

  OLEFormatDispT(OLEFormatPtr pintf)
  {
    TAutoDriver<OLEFormat>::Bind(pintf, true);
  }

  OLEFormatDispT& operator=(OLEFormat *pintf)
  {
    TAutoDriver<OLEFormat>::Bind(pintf, false);
    return *this;
  }

  OLEFormatDispT& operator=(OLEFormatPtr pintf)
  {
    TAutoDriver<OLEFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_ClassType(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ClassType(void);
  HRESULT         __fastcall set_ClassType(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_DisplayAsIcon(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayAsIcon(void);
  HRESULT         __fastcall set_DisplayAsIcon(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_IconName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_IconName(void);
  HRESULT         __fastcall set_IconName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_IconPath(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_IconPath(void);
  HRESULT         __fastcall get_IconIndex(long* prop/*[out,retval]*/);
  long            __fastcall get_IconIndex(void);
  HRESULT         __fastcall set_IconIndex(long prop/*[in]*/);
  HRESULT         __fastcall get_IconLabel(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_IconLabel(void);
  HRESULT         __fastcall set_IconLabel(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Label(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Label(void);
  HRESULT         __fastcall get_Object(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Object(void);
  HRESULT         __fastcall get_ProgID(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ProgID(void);
  HRESULT         __fastcall Activate();
  HRESULT         __fastcall Edit();
  HRESULT         __fastcall Open();
  HRESULT         __fastcall DoVerb(VARIANT* VerbIndex/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ConvertTo(VARIANT* ClassType/*[in,opt]*/= TNoParam(), 
                                       VARIANT* DisplayAsIcon/*[in,opt]*/= TNoParam(), 
                                       VARIANT* IconFileName/*[in,opt]*/= TNoParam(), 
                                       VARIANT* IconIndex/*[in,opt]*/= TNoParam(), 
                                       VARIANT* IconLabel/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ActivateAs(BSTR ClassType/*[in]*/);
  HRESULT         __fastcall get_PreserveFormattingOnUpdate(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PreserveFormattingOnUpdate(void);
  HRESULT         __fastcall set_PreserveFormattingOnUpdate(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            ClassType = {read = get_ClassType, write = set_ClassType};
  __property   VARIANT_BOOL    DisplayAsIcon = {read = get_DisplayAsIcon, write = set_DisplayAsIcon};
  __property   BSTR            IconName = {read = get_IconName, write = set_IconName};
  __property   BSTR            IconPath = {read = get_IconPath};
  __property   long            IconIndex = {read = get_IconIndex, write = set_IconIndex};
  __property   BSTR            IconLabel = {read = get_IconLabel, write = set_IconLabel};
  __property   BSTR            Label = {read = get_Label};
  __property   LPDISPATCH      Object = {read = get_Object};
  __property   BSTR            ProgID = {read = get_ProgID};
  __property   VARIANT_BOOL    PreserveFormattingOnUpdate = {read = get_PreserveFormattingOnUpdate, write = set_PreserveFormattingOnUpdate};
};
typedef OLEFormatDispT<OLEFormat> OLEFormatDisp;

typedef TComInterface<LinkFormat>  TCOMLinkFormat;

// *********************************************************************//
// DispIntf:  LinkFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020931-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class LinkFormatDispT : public TAutoDriver<LinkFormat>
{
public:
  LinkFormatDispT(){}

  LinkFormatDispT(LinkFormat *pintf)
  {
    TAutoDriver<LinkFormat>::Bind(pintf, false);
  }

  LinkFormatDispT(LinkFormatPtr pintf)
  {
    TAutoDriver<LinkFormat>::Bind(pintf, true);
  }

  LinkFormatDispT& operator=(LinkFormat *pintf)
  {
    TAutoDriver<LinkFormat>::Bind(pintf, false);
    return *this;
  }

  LinkFormatDispT& operator=(LinkFormatPtr pintf)
  {
    TAutoDriver<LinkFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_AutoUpdate(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoUpdate(void);
  HRESULT         __fastcall set_AutoUpdate(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SourceName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SourceName(void);
  HRESULT         __fastcall get_SourcePath(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SourcePath(void);
  HRESULT         __fastcall get_Locked(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Locked(void);
  HRESULT         __fastcall set_Locked(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Type(Word_xp::WdLinkType* prop/*[out,retval]*/);
  Word_xp::WdLinkType __fastcall get_Type(void);
  HRESULT         __fastcall get_SourceFullName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SourceFullName(void);
  HRESULT         __fastcall set_SourceFullName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SavePictureWithDocument(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SavePictureWithDocument(void);
  HRESULT         __fastcall set_SavePictureWithDocument(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall BreakLink();
  HRESULT         __fastcall _Update();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    AutoUpdate = {read = get_AutoUpdate, write = set_AutoUpdate};
  __property   BSTR            SourceName = {read = get_SourceName};
  __property   BSTR            SourcePath = {read = get_SourcePath};
  __property   VARIANT_BOOL    Locked = {read = get_Locked, write = set_Locked};
  __property   Word_xp::WdLinkType Type = {read = get_Type};
  __property   BSTR            SourceFullName = {read = get_SourceFullName, write = set_SourceFullName};
  __property   VARIANT_BOOL    SavePictureWithDocument = {read = get_SavePictureWithDocument, write = set_SavePictureWithDocument};
};
typedef LinkFormatDispT<LinkFormat> LinkFormatDisp;

// *********************************************************************//
// SmartIntf: TCOM_OLEControl
// Interface: _OLEControl
// *********************************************************************//
template <class T /* _OLEControl */ >
class TCOM_OLEControlT : public TComInterface<_OLEControl>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OLEControlT() {}
  TCOM_OLEControlT(_OLEControl *intf, bool addRef = false) : TComInterface<_OLEControl>(intf, addRef) {}
  TCOM_OLEControlT(const TCOM_OLEControlT& src) : TComInterface<_OLEControl>(src) {}
  TCOM_OLEControlT& operator=(const TCOM_OLEControlT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_Left(float* prop/*[out,retval]*/);
  float           __fastcall get_Left(void);
  HRESULT         __fastcall set_Left(float prop/*[in]*/);
  HRESULT         __fastcall get_Top(float* prop/*[out,retval]*/);
  float           __fastcall get_Top(void);
  HRESULT         __fastcall set_Top(float prop/*[in]*/);
  HRESULT         __fastcall get_Height(float* prop/*[out,retval]*/);
  float           __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(float prop/*[in]*/);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Automation(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Automation(void);
  HRESULT         __fastcall Select(void);
  HRESULT         __fastcall Copy(void);
  HRESULT         __fastcall Cut(void);
  HRESULT         __fastcall Delete(void);
  HRESULT         __fastcall Activate(void);
  HRESULT         __fastcall get_AltHTML(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_AltHTML(void);
  HRESULT         __fastcall set_AltHTML(BSTR prop/*[in]*/);

  __property   float           Left = {read = get_Left, write = set_Left};
  __property   float           Top = {read = get_Top, write = set_Top};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   LPDISPATCH      Automation = {read = get_Automation};
  __property   BSTR            AltHTML = {read = get_AltHTML, write = set_AltHTML};
};
typedef TCOM_OLEControlT<_OLEControl> TCOM_OLEControl;

// *********************************************************************//
// DispIntf:  _OLEControl
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {000209A4-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class _OLEControlDispT : public TAutoDriver<_OLEControl>
{
public:
  _OLEControlDispT(){}

  _OLEControlDispT(_OLEControl *pintf)
  {
    TAutoDriver<_OLEControl>::Bind(pintf, false);
  }

  _OLEControlDispT(_OLEControlPtr pintf)
  {
    TAutoDriver<_OLEControl>::Bind(pintf, true);
  }

  _OLEControlDispT& operator=(_OLEControl *pintf)
  {
    TAutoDriver<_OLEControl>::Bind(pintf, false);
    return *this;
  }

  _OLEControlDispT& operator=(_OLEControlPtr pintf)
  {
    TAutoDriver<_OLEControl>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WordOLEControl));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WordOLEControl);
  }

  HRESULT         __fastcall get_Left(float* prop/*[out,retval]*/);
  float           __fastcall get_Left(void);
  HRESULT         __fastcall set_Left(float prop/*[in]*/);
  HRESULT         __fastcall get_Top(float* prop/*[out,retval]*/);
  float           __fastcall get_Top(void);
  HRESULT         __fastcall set_Top(float prop/*[in]*/);
  HRESULT         __fastcall get_Height(float* prop/*[out,retval]*/);
  float           __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(float prop/*[in]*/);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Automation(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Automation(void);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Copy();
  HRESULT         __fastcall Cut();
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Activate();
  HRESULT         __fastcall get_AltHTML(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_AltHTML(void);
  HRESULT         __fastcall set_AltHTML(BSTR prop/*[in]*/);

  __property   float           Left = {read = get_Left, write = set_Left};
  __property   float           Top = {read = get_Top, write = set_Top};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   LPDISPATCH      Automation = {read = get_Automation};
  __property   BSTR            AltHTML = {read = get_AltHTML, write = set_AltHTML};
};
typedef _OLEControlDispT<_OLEControl> _OLEControlDisp;

typedef TComInterface<Fields>  TCOMFields;

// *********************************************************************//
// DispIntf:  Fields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020930-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FieldsDispT : public TAutoDriver<Fields>
{
public:
  FieldsDispT(){}

  FieldsDispT(Fields *pintf)
  {
    TAutoDriver<Fields>::Bind(pintf, false);
  }

  FieldsDispT(FieldsPtr pintf)
  {
    TAutoDriver<Fields>::Bind(pintf, true);
  }

  FieldsDispT& operator=(Fields *pintf)
  {
    TAutoDriver<Fields>::Bind(pintf, false);
    return *this;
  }

  FieldsDispT& operator=(FieldsPtr pintf)
  {
    TAutoDriver<Fields>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Locked(long* prop/*[out,retval]*/);
  long            __fastcall get_Locked(void);
  HRESULT         __fastcall set_Locked(long prop/*[in]*/);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Field** prop/*[out,retval]*/);
  Word_xp::Field* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall ToggleShowCodes();
  HRESULT         __fastcall _Update(long* prop/*[out,retval]*/);
  long            __fastcall _Update(void);
  HRESULT         __fastcall Unlink();
  HRESULT         __fastcall UpdateSource();
  HRESULT         __fastcall Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Type/*[in,opt]*/, 
                                 VARIANT* Text/*[in,opt]*/, VARIANT* PreserveFormatting/*[in,opt]*/
                                 , Word_xp::Field** prop/*[out,retval]*/);
  Word_xp::Field* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                 VARIANT* Type/*[in,opt]*/= TNoParam(), 
                                 VARIANT* Text/*[in,opt]*/= TNoParam(), 
                                 VARIANT* PreserveFormatting/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   long            Locked = {read = get_Locked, write = set_Locked};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
};
typedef FieldsDispT<Fields> FieldsDisp;

typedef TComInterface<Field>  TCOMField;

// *********************************************************************//
// DispIntf:  Field
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092F-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FieldDispT : public TAutoDriver<Field>
{
public:
  FieldDispT(){}

  FieldDispT(Field *pintf)
  {
    TAutoDriver<Field>::Bind(pintf, false);
  }

  FieldDispT(FieldPtr pintf)
  {
    TAutoDriver<Field>::Bind(pintf, true);
  }

  FieldDispT& operator=(Field *pintf)
  {
    TAutoDriver<Field>::Bind(pintf, false);
    return *this;
  }

  FieldDispT& operator=(FieldPtr pintf)
  {
    TAutoDriver<Field>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Code(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Code(void);
  HRESULT         __fastcall set_Code(Word_xp::WordRangePtr prop/*[in]*/);
  HRESULT         __fastcall get_Type(Word_xp::WdFieldType* prop/*[out,retval]*/);
  Word_xp::WdFieldType __fastcall get_Type(void);
  HRESULT         __fastcall get_Locked(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Locked(void);
  HRESULT         __fastcall set_Locked(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Kind(Word_xp::WdFieldKind* prop/*[out,retval]*/);
  Word_xp::WdFieldKind __fastcall get_Kind(void);
  HRESULT         __fastcall get_Result(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Result(void);
  HRESULT         __fastcall set_Result(Word_xp::WordRangePtr prop/*[in]*/);
  HRESULT         __fastcall get_Data(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Data(void);
  HRESULT         __fastcall set_Data(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Next(Word_xp::Field** prop/*[out,retval]*/);
  Word_xp::FieldPtr __fastcall get_Next(void);
  HRESULT         __fastcall get_Previous(Word_xp::Field** prop/*[out,retval]*/);
  Word_xp::FieldPtr __fastcall get_Previous(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_ShowCodes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowCodes(void);
  HRESULT         __fastcall set_ShowCodes(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_LinkFormat(Word_xp::LinkFormat** prop/*[out,retval]*/);
  Word_xp::LinkFormatPtr __fastcall get_LinkFormat(void);
  HRESULT         __fastcall get_OLEFormat(Word_xp::OLEFormat** prop/*[out,retval]*/);
  Word_xp::OLEFormatPtr __fastcall get_OLEFormat(void);
  HRESULT         __fastcall get_InlineShape(Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShapePtr __fastcall get_InlineShape(void);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall _Update(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall _Update(void);
  HRESULT         __fastcall Unlink();
  HRESULT         __fastcall UpdateSource();
  HRESULT         __fastcall DoClick();
  HRESULT         __fastcall Copy();
  HRESULT         __fastcall Cut();
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Code = {read = get_Code, write = set_Code};
  __property   Word_xp::WdFieldType Type = {read = get_Type};
  __property   VARIANT_BOOL    Locked = {read = get_Locked, write = set_Locked};
  __property   Word_xp::WdFieldKind Kind = {read = get_Kind};
  __property   Word_xp::WordRangePtr Result = {read = get_Result, write = set_Result};
  __property   BSTR            Data = {read = get_Data, write = set_Data};
  __property   Word_xp::FieldPtr Next = {read = get_Next};
  __property   Word_xp::FieldPtr Previous = {read = get_Previous};
  __property   long            Index = {read = get_Index};
  __property   VARIANT_BOOL    ShowCodes = {read = get_ShowCodes, write = set_ShowCodes};
  __property   Word_xp::LinkFormatPtr LinkFormat = {read = get_LinkFormat};
  __property   Word_xp::OLEFormatPtr OLEFormat = {read = get_OLEFormat};
  __property   Word_xp::InlineShapePtr InlineShape = {read = get_InlineShape};
};
typedef FieldDispT<Field> FieldDisp;

typedef TComInterface<Browser>  TCOMBrowser;

// *********************************************************************//
// DispIntf:  Browser
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092E-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class BrowserDispT : public TAutoDriver<Browser>
{
public:
  BrowserDispT(){}

  BrowserDispT(Browser *pintf)
  {
    TAutoDriver<Browser>::Bind(pintf, false);
  }

  BrowserDispT(BrowserPtr pintf)
  {
    TAutoDriver<Browser>::Bind(pintf, true);
  }

  BrowserDispT& operator=(Browser *pintf)
  {
    TAutoDriver<Browser>::Bind(pintf, false);
    return *this;
  }

  BrowserDispT& operator=(BrowserPtr pintf)
  {
    TAutoDriver<Browser>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Target(Word_xp::WdBrowseTarget* prop/*[out,retval]*/);
  Word_xp::WdBrowseTarget __fastcall get_Target(void);
  HRESULT         __fastcall set_Target(Word_xp::WdBrowseTarget prop/*[in]*/);
  HRESULT         __fastcall Next();
  HRESULT         __fastcall Previous();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdBrowseTarget Target = {read = get_Target, write = set_Target};
};
typedef BrowserDispT<Browser> BrowserDisp;

typedef TComInterface<Styles>  TCOMStyles;

// *********************************************************************//
// DispIntf:  Styles
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092D-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class StylesDispT : public TAutoDriver<Styles>
{
public:
  StylesDispT(){}

  StylesDispT(Styles *pintf)
  {
    TAutoDriver<Styles>::Bind(pintf, false);
  }

  StylesDispT(StylesPtr pintf)
  {
    TAutoDriver<Styles>::Bind(pintf, true);
  }

  StylesDispT& operator=(Styles *pintf)
  {
    TAutoDriver<Styles>::Bind(pintf, false);
    return *this;
  }

  StylesDispT& operator=(StylesPtr pintf)
  {
    TAutoDriver<Styles>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Style** prop/*[out,retval]*/);
  Word_xp::Style* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, VARIANT* Type/*[in,opt]*/, 
                                 Word_xp::Style** prop/*[out,retval]*/);
  Word_xp::Style* __fastcall Add(BSTR Name/*[in]*/, VARIANT* Type/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef StylesDispT<Styles> StylesDisp;

typedef TComInterface<Style>  TCOMStyle;

// *********************************************************************//
// DispIntf:  Style
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092C-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class StyleDispT : public TAutoDriver<Style>
{
public:
  StyleDispT(){}

  StyleDispT(Style *pintf)
  {
    TAutoDriver<Style>::Bind(pintf, false);
  }

  StyleDispT(StylePtr pintf)
  {
    TAutoDriver<Style>::Bind(pintf, true);
  }

  StyleDispT& operator=(Style *pintf)
  {
    TAutoDriver<Style>::Bind(pintf, false);
    return *this;
  }

  StyleDispT& operator=(StylePtr pintf)
  {
    TAutoDriver<Style>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_NameLocal(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NameLocal(void);
  HRESULT         __fastcall set_NameLocal(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_BaseStyle(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_BaseStyle(void);
  HRESULT         __fastcall set_BaseStyle(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Description(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Description(void);
  HRESULT         __fastcall get_Type(Word_xp::WdStyleType* prop/*[out,retval]*/);
  Word_xp::WdStyleType __fastcall get_Type(void);
  HRESULT         __fastcall get_BuiltIn(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_BuiltIn(void);
  HRESULT         __fastcall get_NextParagraphStyle(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_NextParagraphStyle(void);
  HRESULT         __fastcall set_NextParagraphStyle(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_InUse(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_InUse(void);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/);
  Word_xp::WordParagraphFormatPtr __fastcall get_ParagraphFormat(void);
  HRESULT         __fastcall set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/);
  HRESULT         __fastcall get_Font(Word_xp::WordFont** prop/*[out,retval]*/);
  Word_xp::WordFontPtr __fastcall get_Font(void);
  HRESULT         __fastcall set_Font(Word_xp::WordFontPtr prop/*[in]*/);
  HRESULT         __fastcall get_Frame(Word_xp::Frame** prop/*[out,retval]*/);
  Word_xp::FramePtr __fastcall get_Frame(void);
  HRESULT         __fastcall get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageID(void);
  HRESULT         __fastcall set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_AutomaticallyUpdate(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutomaticallyUpdate(void);
  HRESULT         __fastcall set_AutomaticallyUpdate(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ListTemplate(Word_xp::ListTemplate** prop/*[out,retval]*/);
  Word_xp::ListTemplatePtr __fastcall get_ListTemplate(void);
  HRESULT         __fastcall get_ListLevelNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_ListLevelNumber(void);
  HRESULT         __fastcall get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageIDFarEast(void);
  HRESULT         __fastcall set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_Hidden(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Hidden(void);
  HRESULT         __fastcall set_Hidden(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall LinkToListTemplate(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                                VARIANT* ListLevelNumber/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_NoProofing(long* prop/*[out,retval]*/);
  long            __fastcall get_NoProofing(void);
  HRESULT         __fastcall set_NoProofing(long prop/*[in]*/);
  HRESULT         __fastcall get_LinkStyle(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_LinkStyle(void);
  HRESULT         __fastcall set_LinkStyle(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Visibility(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Visibility(void);
  HRESULT         __fastcall set_Visibility(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_NoSpaceBetweenParagraphsOfSameStyle(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_NoSpaceBetweenParagraphsOfSameStyle(void);
  HRESULT         __fastcall set_NoSpaceBetweenParagraphsOfSameStyle(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Table(Word_xp::TableStyle** prop/*[out,retval]*/);
  Word_xp::TableStylePtr __fastcall get_Table(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            NameLocal = {read = get_NameLocal, write = set_NameLocal};
  __property   BSTR            Description = {read = get_Description};
  __property   Word_xp::WdStyleType Type = {read = get_Type};
  __property   VARIANT_BOOL    BuiltIn = {read = get_BuiltIn};
  __property   VARIANT_BOOL    InUse = {read = get_InUse};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::WordParagraphFormatPtr ParagraphFormat = {read = get_ParagraphFormat, write = set_ParagraphFormat};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
  __property   Word_xp::FramePtr Frame = {read = get_Frame};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   VARIANT_BOOL    AutomaticallyUpdate = {read = get_AutomaticallyUpdate, write = set_AutomaticallyUpdate};
  __property   Word_xp::ListTemplatePtr ListTemplate = {read = get_ListTemplate};
  __property   long            ListLevelNumber = {read = get_ListLevelNumber};
  __property   Word_xp::WdLanguageID LanguageIDFarEast = {read = get_LanguageIDFarEast, write = set_LanguageIDFarEast};
  __property   VARIANT_BOOL    Hidden = {read = get_Hidden, write = set_Hidden};
  __property   long            NoProofing = {read = get_NoProofing, write = set_NoProofing};
  __property   VARIANT_BOOL    Visibility = {read = get_Visibility, write = set_Visibility};
  __property   VARIANT_BOOL    NoSpaceBetweenParagraphsOfSameStyle = {read = get_NoSpaceBetweenParagraphsOfSameStyle, write = set_NoSpaceBetweenParagraphsOfSameStyle};
  __property   Word_xp::TableStylePtr Table = {read = get_Table};
};
typedef StyleDispT<Style> StyleDisp;

typedef TComInterface<Frames>  TCOMFrames;

// *********************************************************************//
// DispIntf:  Frames
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092B-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FramesDispT : public TAutoDriver<Frames>
{
public:
  FramesDispT(){}

  FramesDispT(Frames *pintf)
  {
    TAutoDriver<Frames>::Bind(pintf, false);
  }

  FramesDispT(FramesPtr pintf)
  {
    TAutoDriver<Frames>::Bind(pintf, true);
  }

  FramesDispT& operator=(Frames *pintf)
  {
    TAutoDriver<Frames>::Bind(pintf, false);
    return *this;
  }

  FramesDispT& operator=(FramesPtr pintf)
  {
    TAutoDriver<Frames>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Frame** prop/*[out,retval]*/);
  Word_xp::Frame* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                 Word_xp::Frame** prop/*[out,retval]*/);
  Word_xp::Frame* __fastcall Add(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef FramesDispT<Frames> FramesDisp;

typedef TComInterface<Frame>  TCOMFrame;

// *********************************************************************//
// DispIntf:  Frame
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092A-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FrameDispT : public TAutoDriver<Frame>
{
public:
  FrameDispT(){}

  FrameDispT(Frame *pintf)
  {
    TAutoDriver<Frame>::Bind(pintf, false);
  }

  FrameDispT(FramePtr pintf)
  {
    TAutoDriver<Frame>::Bind(pintf, true);
  }

  FrameDispT& operator=(Frame *pintf)
  {
    TAutoDriver<Frame>::Bind(pintf, false);
    return *this;
  }

  FrameDispT& operator=(FramePtr pintf)
  {
    TAutoDriver<Frame>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_HeightRule(Word_xp::WdFrameSizeRule* prop/*[out,retval]*/);
  Word_xp::WdFrameSizeRule __fastcall get_HeightRule(void);
  HRESULT         __fastcall set_HeightRule(Word_xp::WdFrameSizeRule prop/*[in]*/);
  HRESULT         __fastcall get_WidthRule(Word_xp::WdFrameSizeRule* prop/*[out,retval]*/);
  Word_xp::WdFrameSizeRule __fastcall get_WidthRule(void);
  HRESULT         __fastcall set_WidthRule(Word_xp::WdFrameSizeRule prop/*[in]*/);
  HRESULT         __fastcall get_HorizontalDistanceFromText(float* prop/*[out,retval]*/);
  float           __fastcall get_HorizontalDistanceFromText(void);
  HRESULT         __fastcall set_HorizontalDistanceFromText(float prop/*[in]*/);
  HRESULT         __fastcall get_Height(float* prop/*[out,retval]*/);
  float           __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(float prop/*[in]*/);
  HRESULT         __fastcall get_HorizontalPosition(float* prop/*[out,retval]*/);
  float           __fastcall get_HorizontalPosition(void);
  HRESULT         __fastcall set_HorizontalPosition(float prop/*[in]*/);
  HRESULT         __fastcall get_LockAnchor(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_LockAnchor(void);
  HRESULT         __fastcall set_LockAnchor(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition* prop/*[out,retval]*/);
  Word_xp::WdRelativeHorizontalPosition __fastcall get_RelativeHorizontalPosition(void);
  HRESULT         __fastcall set_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition prop/*[in]*/);
  HRESULT         __fastcall get_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition* prop/*[out,retval]*/);
  Word_xp::WdRelativeVerticalPosition __fastcall get_RelativeVerticalPosition(void);
  HRESULT         __fastcall set_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition prop/*[in]*/);
  HRESULT         __fastcall get_VerticalDistanceFromText(float* prop/*[out,retval]*/);
  float           __fastcall get_VerticalDistanceFromText(void);
  HRESULT         __fastcall set_VerticalDistanceFromText(float prop/*[in]*/);
  HRESULT         __fastcall get_VerticalPosition(float* prop/*[out,retval]*/);
  float           __fastcall get_VerticalPosition(void);
  HRESULT         __fastcall set_VerticalPosition(float prop/*[in]*/);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_TextWrap(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_TextWrap(void);
  HRESULT         __fastcall set_TextWrap(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Copy();
  HRESULT         __fastcall Cut();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdFrameSizeRule HeightRule = {read = get_HeightRule, write = set_HeightRule};
  __property   Word_xp::WdFrameSizeRule WidthRule = {read = get_WidthRule, write = set_WidthRule};
  __property   float           HorizontalDistanceFromText = {read = get_HorizontalDistanceFromText, write = set_HorizontalDistanceFromText};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   float           HorizontalPosition = {read = get_HorizontalPosition, write = set_HorizontalPosition};
  __property   VARIANT_BOOL    LockAnchor = {read = get_LockAnchor, write = set_LockAnchor};
  __property   Word_xp::WdRelativeHorizontalPosition RelativeHorizontalPosition = {read = get_RelativeHorizontalPosition, write = set_RelativeHorizontalPosition};
  __property   Word_xp::WdRelativeVerticalPosition RelativeVerticalPosition = {read = get_RelativeVerticalPosition, write = set_RelativeVerticalPosition};
  __property   float           VerticalDistanceFromText = {read = get_VerticalDistanceFromText, write = set_VerticalDistanceFromText};
  __property   float           VerticalPosition = {read = get_VerticalPosition, write = set_VerticalPosition};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   VARIANT_BOOL    TextWrap = {read = get_TextWrap, write = set_TextWrap};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
};
typedef FrameDispT<Frame> FrameDisp;

typedef TComInterface<FormFields>  TCOMFormFields;

// *********************************************************************//
// DispIntf:  FormFields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020929-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FormFieldsDispT : public TAutoDriver<FormFields>
{
public:
  FormFieldsDispT(){}

  FormFieldsDispT(FormFields *pintf)
  {
    TAutoDriver<FormFields>::Bind(pintf, false);
  }

  FormFieldsDispT(FormFieldsPtr pintf)
  {
    TAutoDriver<FormFields>::Bind(pintf, true);
  }

  FormFieldsDispT& operator=(FormFields *pintf)
  {
    TAutoDriver<FormFields>::Bind(pintf, false);
    return *this;
  }

  FormFieldsDispT& operator=(FormFieldsPtr pintf)
  {
    TAutoDriver<FormFields>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Shaded(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Shaded(void);
  HRESULT         __fastcall set_Shaded(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::FormField** prop/*[out,retval]*/);
  Word_xp::FormField* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                 Word_xp::WdFieldType Type/*[in]*/, 
                                 Word_xp::FormField** prop/*[out,retval]*/);
  Word_xp::FormField* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                     Word_xp::WdFieldType Type/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   VARIANT_BOOL    Shaded = {read = get_Shaded, write = set_Shaded};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
};
typedef FormFieldsDispT<FormFields> FormFieldsDisp;

typedef TComInterface<FormField>  TCOMFormField;

// *********************************************************************//
// DispIntf:  FormField
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020928-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FormFieldDispT : public TAutoDriver<FormField>
{
public:
  FormFieldDispT(){}

  FormFieldDispT(FormField *pintf)
  {
    TAutoDriver<FormField>::Bind(pintf, false);
  }

  FormFieldDispT(FormFieldPtr pintf)
  {
    TAutoDriver<FormField>::Bind(pintf, true);
  }

  FormFieldDispT& operator=(FormField *pintf)
  {
    TAutoDriver<FormField>::Bind(pintf, false);
    return *this;
  }

  FormFieldDispT& operator=(FormFieldPtr pintf)
  {
    TAutoDriver<FormField>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Type(Word_xp::WdFieldType* prop/*[out,retval]*/);
  Word_xp::WdFieldType __fastcall get_Type(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_EntryMacro(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_EntryMacro(void);
  HRESULT         __fastcall set_EntryMacro(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ExitMacro(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ExitMacro(void);
  HRESULT         __fastcall set_ExitMacro(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_OwnHelp(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_OwnHelp(void);
  HRESULT         __fastcall set_OwnHelp(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_OwnStatus(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_OwnStatus(void);
  HRESULT         __fastcall set_OwnStatus(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HelpText(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_HelpText(void);
  HRESULT         __fastcall set_HelpText(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_StatusText(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_StatusText(void);
  HRESULT         __fastcall set_StatusText(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Enabled(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Enabled(void);
  HRESULT         __fastcall set_Enabled(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Result(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Result(void);
  HRESULT         __fastcall set_Result(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_TextInput(Word_xp::TextInput** prop/*[out,retval]*/);
  Word_xp::TextInputPtr __fastcall get_TextInput(void);
  HRESULT         __fastcall get_CheckBox(Word_xp::CheckBox** prop/*[out,retval]*/);
  Word_xp::CheckBoxPtr __fastcall get_CheckBox(void);
  HRESULT         __fastcall get_DropDown(Word_xp::DropDown** prop/*[out,retval]*/);
  Word_xp::DropDownPtr __fastcall get_DropDown(void);
  HRESULT         __fastcall get_Next(Word_xp::FormField** prop/*[out,retval]*/);
  Word_xp::FormFieldPtr __fastcall get_Next(void);
  HRESULT         __fastcall get_Previous(Word_xp::FormField** prop/*[out,retval]*/);
  Word_xp::FormFieldPtr __fastcall get_Previous(void);
  HRESULT         __fastcall get_CalculateOnExit(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CalculateOnExit(void);
  HRESULT         __fastcall set_CalculateOnExit(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Copy();
  HRESULT         __fastcall Cut();
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdFieldType Type = {read = get_Type};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   BSTR            EntryMacro = {read = get_EntryMacro, write = set_EntryMacro};
  __property   BSTR            ExitMacro = {read = get_ExitMacro, write = set_ExitMacro};
  __property   VARIANT_BOOL    OwnHelp = {read = get_OwnHelp, write = set_OwnHelp};
  __property   VARIANT_BOOL    OwnStatus = {read = get_OwnStatus, write = set_OwnStatus};
  __property   BSTR            HelpText = {read = get_HelpText, write = set_HelpText};
  __property   BSTR            StatusText = {read = get_StatusText, write = set_StatusText};
  __property   VARIANT_BOOL    Enabled = {read = get_Enabled, write = set_Enabled};
  __property   BSTR            Result = {read = get_Result, write = set_Result};
  __property   Word_xp::TextInputPtr TextInput = {read = get_TextInput};
  __property   Word_xp::CheckBoxPtr CheckBox = {read = get_CheckBox};
  __property   Word_xp::DropDownPtr DropDown = {read = get_DropDown};
  __property   Word_xp::FormFieldPtr Next = {read = get_Next};
  __property   Word_xp::FormFieldPtr Previous = {read = get_Previous};
  __property   VARIANT_BOOL    CalculateOnExit = {read = get_CalculateOnExit, write = set_CalculateOnExit};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
};
typedef FormFieldDispT<FormField> FormFieldDisp;

typedef TComInterface<TextInput>  TCOMTextInput;

// *********************************************************************//
// DispIntf:  TextInput
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020927-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TextInputDispT : public TAutoDriver<TextInput>
{
public:
  TextInputDispT(){}

  TextInputDispT(TextInput *pintf)
  {
    TAutoDriver<TextInput>::Bind(pintf, false);
  }

  TextInputDispT(TextInputPtr pintf)
  {
    TAutoDriver<TextInput>::Bind(pintf, true);
  }

  TextInputDispT& operator=(TextInput *pintf)
  {
    TAutoDriver<TextInput>::Bind(pintf, false);
    return *this;
  }

  TextInputDispT& operator=(TextInputPtr pintf)
  {
    TAutoDriver<TextInput>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Valid(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Valid(void);
  HRESULT         __fastcall get_Default(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Default(void);
  HRESULT         __fastcall set_Default(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Type(Word_xp::WdTextFormFieldType* prop/*[out,retval]*/);
  Word_xp::WdTextFormFieldType __fastcall get_Type(void);
  HRESULT         __fastcall get_Format(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Format(void);
  HRESULT         __fastcall get_Width(long* prop/*[out,retval]*/);
  long            __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(long prop/*[in]*/);
  HRESULT         __fastcall Clear();
  HRESULT         __fastcall EditType(Word_xp::WdTextFormFieldType Type/*[in]*/, 
                                      VARIANT* Default/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Enabled/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Valid = {read = get_Valid};
  __property   BSTR            Default = {read = get_Default, write = set_Default};
  __property   Word_xp::WdTextFormFieldType Type = {read = get_Type};
  __property   BSTR            Format = {read = get_Format};
  __property   long            Width = {read = get_Width, write = set_Width};
};
typedef TextInputDispT<TextInput> TextInputDisp;

typedef TComInterface<CheckBox>  TCOMCheckBox;

// *********************************************************************//
// DispIntf:  CheckBox
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020926-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class CheckBoxDispT : public TAutoDriver<CheckBox>
{
public:
  CheckBoxDispT(){}

  CheckBoxDispT(CheckBox *pintf)
  {
    TAutoDriver<CheckBox>::Bind(pintf, false);
  }

  CheckBoxDispT(CheckBoxPtr pintf)
  {
    TAutoDriver<CheckBox>::Bind(pintf, true);
  }

  CheckBoxDispT& operator=(CheckBox *pintf)
  {
    TAutoDriver<CheckBox>::Bind(pintf, false);
    return *this;
  }

  CheckBoxDispT& operator=(CheckBoxPtr pintf)
  {
    TAutoDriver<CheckBox>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Valid(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Valid(void);
  HRESULT         __fastcall get_AutoSize(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoSize(void);
  HRESULT         __fastcall set_AutoSize(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Size(float* prop/*[out,retval]*/);
  float           __fastcall get_Size(void);
  HRESULT         __fastcall set_Size(float prop/*[in]*/);
  HRESULT         __fastcall get_Default(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Default(void);
  HRESULT         __fastcall set_Default(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Value(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Value(void);
  HRESULT         __fastcall set_Value(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Valid = {read = get_Valid};
  __property   VARIANT_BOOL    AutoSize = {read = get_AutoSize, write = set_AutoSize};
  __property   float           Size = {read = get_Size, write = set_Size};
  __property   VARIANT_BOOL    Default = {read = get_Default, write = set_Default};
  __property   VARIANT_BOOL    Value = {read = get_Value, write = set_Value};
};
typedef CheckBoxDispT<CheckBox> CheckBoxDisp;

typedef TComInterface<DropDown>  TCOMDropDown;

// *********************************************************************//
// DispIntf:  DropDown
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020925-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class DropDownDispT : public TAutoDriver<DropDown>
{
public:
  DropDownDispT(){}

  DropDownDispT(DropDown *pintf)
  {
    TAutoDriver<DropDown>::Bind(pintf, false);
  }

  DropDownDispT(DropDownPtr pintf)
  {
    TAutoDriver<DropDown>::Bind(pintf, true);
  }

  DropDownDispT& operator=(DropDown *pintf)
  {
    TAutoDriver<DropDown>::Bind(pintf, false);
    return *this;
  }

  DropDownDispT& operator=(DropDownPtr pintf)
  {
    TAutoDriver<DropDown>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Valid(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Valid(void);
  HRESULT         __fastcall get_Default(long* prop/*[out,retval]*/);
  long            __fastcall get_Default(void);
  HRESULT         __fastcall set_Default(long prop/*[in]*/);
  HRESULT         __fastcall get_Value(long* prop/*[out,retval]*/);
  long            __fastcall get_Value(void);
  HRESULT         __fastcall set_Value(long prop/*[in]*/);
  HRESULT         __fastcall get_ListEntries(Word_xp::ListEntries** prop/*[out,retval]*/);
  Word_xp::ListEntriesPtr __fastcall get_ListEntries(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Valid = {read = get_Valid};
  __property   long            Default = {read = get_Default, write = set_Default};
  __property   long            Value = {read = get_Value, write = set_Value};
  __property   Word_xp::ListEntriesPtr ListEntries = {read = get_ListEntries};
};
typedef DropDownDispT<DropDown> DropDownDisp;

typedef TComInterface<ListEntries>  TCOMListEntries;

// *********************************************************************//
// DispIntf:  ListEntries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020924-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ListEntriesDispT : public TAutoDriver<ListEntries>
{
public:
  ListEntriesDispT(){}

  ListEntriesDispT(ListEntries *pintf)
  {
    TAutoDriver<ListEntries>::Bind(pintf, false);
  }

  ListEntriesDispT(ListEntriesPtr pintf)
  {
    TAutoDriver<ListEntries>::Bind(pintf, true);
  }

  ListEntriesDispT& operator=(ListEntries *pintf)
  {
    TAutoDriver<ListEntries>::Bind(pintf, false);
    return *this;
  }

  ListEntriesDispT& operator=(ListEntriesPtr pintf)
  {
    TAutoDriver<ListEntries>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::ListEntry** prop/*[out,retval]*/);
  Word_xp::ListEntry* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, VARIANT* Index/*[in,opt]*/, 
                                 Word_xp::ListEntry** prop/*[out,retval]*/);
  Word_xp::ListEntry* __fastcall Add(BSTR Name/*[in]*/, VARIANT* Index/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Clear();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef ListEntriesDispT<ListEntries> ListEntriesDisp;

typedef TComInterface<ListEntry>  TCOMListEntry;

// *********************************************************************//
// DispIntf:  ListEntry
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020923-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ListEntryDispT : public TAutoDriver<ListEntry>
{
public:
  ListEntryDispT(){}

  ListEntryDispT(ListEntry *pintf)
  {
    TAutoDriver<ListEntry>::Bind(pintf, false);
  }

  ListEntryDispT(ListEntryPtr pintf)
  {
    TAutoDriver<ListEntry>::Bind(pintf, true);
  }

  ListEntryDispT& operator=(ListEntry *pintf)
  {
    TAutoDriver<ListEntry>::Bind(pintf, false);
    return *this;
  }

  ListEntryDispT& operator=(ListEntryPtr pintf)
  {
    TAutoDriver<ListEntry>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
};
typedef ListEntryDispT<ListEntry> ListEntryDisp;

typedef TComInterface<TablesOfFigures>  TCOMTablesOfFigures;

// *********************************************************************//
// DispIntf:  TablesOfFigures
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020922-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TablesOfFiguresDispT : public TAutoDriver<TablesOfFigures>
{
public:
  TablesOfFiguresDispT(){}

  TablesOfFiguresDispT(TablesOfFigures *pintf)
  {
    TAutoDriver<TablesOfFigures>::Bind(pintf, false);
  }

  TablesOfFiguresDispT(TablesOfFiguresPtr pintf)
  {
    TAutoDriver<TablesOfFigures>::Bind(pintf, true);
  }

  TablesOfFiguresDispT& operator=(TablesOfFigures *pintf)
  {
    TAutoDriver<TablesOfFigures>::Bind(pintf, false);
    return *this;
  }

  TablesOfFiguresDispT& operator=(TablesOfFiguresPtr pintf)
  {
    TAutoDriver<TablesOfFigures>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Format(Word_xp::WdTofFormat* prop/*[out,retval]*/);
  Word_xp::WdTofFormat __fastcall get_Format(void);
  HRESULT         __fastcall set_Format(Word_xp::WdTofFormat prop/*[in]*/);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::TableOfFigures** prop/*[out,retval]*/);
  Word_xp::TableOfFigures* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall AddOld(Word_xp::WordRange* Range/*[in]*/, VARIANT* Caption/*[in,opt]*/
                                    , VARIANT* IncludeLabel/*[in,opt]*/, 
                                    VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                    VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                    VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                    VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                    VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                    VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                    VARIANT* AddedStyles/*[in,opt]*/, 
                                    Word_xp::TableOfFigures** prop/*[out,retval]*/);
  Word_xp::TableOfFigures* __fastcall AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                             VARIANT* Caption/*[in,opt]*/= TNoParam(), 
                                             VARIANT* IncludeLabel/*[in,opt]*/= TNoParam(), 
                                             VARIANT* UseHeadingStyles/*[in,opt]*/= TNoParam(), 
                                             VARIANT* UpperHeadingLevel/*[in,opt]*/= TNoParam(), 
                                             VARIANT* LowerHeadingLevel/*[in,opt]*/= TNoParam(), 
                                             VARIANT* UseFields/*[in,opt]*/= TNoParam(), 
                                             VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                             VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                             VARIANT* IncludePageNumbers/*[in,opt]*/= TNoParam(), 
                                             VARIANT* AddedStyles/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MarkEntry(Word_xp::WordRange* Range/*[in]*/, VARIANT* Entry/*[in,opt]*/
                                       , VARIANT* EntryAutoText/*[in,opt]*/, 
                                       VARIANT* TableID/*[in,opt]*/, VARIANT* Level/*[in,opt]*/, 
                                       Word_xp::Field** prop/*[out,retval]*/);
  Word_xp::Field* __fastcall MarkEntry(Word_xp::WordRange* Range/*[in]*/, 
                                       VARIANT* Entry/*[in,opt]*/= TNoParam(), 
                                       VARIANT* EntryAutoText/*[in,opt]*/= TNoParam(), 
                                       VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Level/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Caption/*[in,opt]*/, 
                                 VARIANT* IncludeLabel/*[in,opt]*/, 
                                 VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                 VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                 VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                 VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                 VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                 VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                 VARIANT* AddedStyles/*[in,opt]*/, 
                                 VARIANT* UseHyperlinks/*[in,opt]*/, 
                                 VARIANT* HidePageNumbersInWeb/*[in,opt]*/, 
                                 Word_xp::TableOfFigures** prop/*[out,retval]*/);
  Word_xp::TableOfFigures* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                          VARIANT* Caption/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IncludeLabel/*[in,opt]*/= TNoParam(), 
                                          VARIANT* UseHeadingStyles/*[in,opt]*/= TNoParam(), 
                                          VARIANT* UpperHeadingLevel/*[in,opt]*/= TNoParam(), 
                                          VARIANT* LowerHeadingLevel/*[in,opt]*/= TNoParam(), 
                                          VARIANT* UseFields/*[in,opt]*/= TNoParam(), 
                                          VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                          VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IncludePageNumbers/*[in,opt]*/= TNoParam(), 
                                          VARIANT* AddedStyles/*[in,opt]*/= TNoParam(), 
                                          VARIANT* UseHyperlinks/*[in,opt]*/= TNoParam(), 
                                          VARIANT* HidePageNumbersInWeb/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdTofFormat Format = {read = get_Format, write = set_Format};
};
typedef TablesOfFiguresDispT<TablesOfFigures> TablesOfFiguresDisp;

typedef TComInterface<TableOfFigures>  TCOMTableOfFigures;

// *********************************************************************//
// DispIntf:  TableOfFigures
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020921-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TableOfFiguresDispT : public TAutoDriver<TableOfFigures>
{
public:
  TableOfFiguresDispT(){}

  TableOfFiguresDispT(TableOfFigures *pintf)
  {
    TAutoDriver<TableOfFigures>::Bind(pintf, false);
  }

  TableOfFiguresDispT(TableOfFiguresPtr pintf)
  {
    TAutoDriver<TableOfFigures>::Bind(pintf, true);
  }

  TableOfFiguresDispT& operator=(TableOfFigures *pintf)
  {
    TAutoDriver<TableOfFigures>::Bind(pintf, false);
    return *this;
  }

  TableOfFiguresDispT& operator=(TableOfFiguresPtr pintf)
  {
    TAutoDriver<TableOfFigures>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Caption(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Caption(void);
  HRESULT         __fastcall set_Caption(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_IncludeLabel(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IncludeLabel(void);
  HRESULT         __fastcall set_IncludeLabel(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RightAlignPageNumbers(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RightAlignPageNumbers(void);
  HRESULT         __fastcall set_RightAlignPageNumbers(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_UseHeadingStyles(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseHeadingStyles(void);
  HRESULT         __fastcall set_UseHeadingStyles(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_LowerHeadingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_LowerHeadingLevel(void);
  HRESULT         __fastcall set_LowerHeadingLevel(long prop/*[in]*/);
  HRESULT         __fastcall get_UpperHeadingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_UpperHeadingLevel(void);
  HRESULT         __fastcall set_UpperHeadingLevel(long prop/*[in]*/);
  HRESULT         __fastcall get_IncludePageNumbers(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IncludePageNumbers(void);
  HRESULT         __fastcall set_IncludePageNumbers(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_UseFields(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseFields(void);
  HRESULT         __fastcall set_UseFields(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_TableID(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_TableID(void);
  HRESULT         __fastcall set_TableID(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_HeadingStyles(Word_xp::HeadingStyles** prop/*[out,retval]*/);
  Word_xp::HeadingStylesPtr __fastcall get_HeadingStyles(void);
  HRESULT         __fastcall get_TabLeader(Word_xp::WdTabLeader* prop/*[out,retval]*/);
  Word_xp::WdTabLeader __fastcall get_TabLeader(void);
  HRESULT         __fastcall set_TabLeader(Word_xp::WdTabLeader prop/*[in]*/);
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall UpdatePageNumbers();
  HRESULT         __fastcall _Update();
  HRESULT         __fastcall get_UseHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseHyperlinks(void);
  HRESULT         __fastcall set_UseHyperlinks(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HidePageNumbersInWeb(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HidePageNumbersInWeb(void);
  HRESULT         __fastcall set_HidePageNumbersInWeb(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Caption = {read = get_Caption, write = set_Caption};
  __property   VARIANT_BOOL    IncludeLabel = {read = get_IncludeLabel, write = set_IncludeLabel};
  __property   VARIANT_BOOL    RightAlignPageNumbers = {read = get_RightAlignPageNumbers, write = set_RightAlignPageNumbers};
  __property   VARIANT_BOOL    UseHeadingStyles = {read = get_UseHeadingStyles, write = set_UseHeadingStyles};
  __property   long            LowerHeadingLevel = {read = get_LowerHeadingLevel, write = set_LowerHeadingLevel};
  __property   long            UpperHeadingLevel = {read = get_UpperHeadingLevel, write = set_UpperHeadingLevel};
  __property   VARIANT_BOOL    IncludePageNumbers = {read = get_IncludePageNumbers, write = set_IncludePageNumbers};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   VARIANT_BOOL    UseFields = {read = get_UseFields, write = set_UseFields};
  __property   BSTR            TableID = {read = get_TableID, write = set_TableID};
  __property   Word_xp::HeadingStylesPtr HeadingStyles = {read = get_HeadingStyles};
  __property   Word_xp::WdTabLeader TabLeader = {read = get_TabLeader, write = set_TabLeader};
  __property   VARIANT_BOOL    UseHyperlinks = {read = get_UseHyperlinks, write = set_UseHyperlinks};
  __property   VARIANT_BOOL    HidePageNumbersInWeb = {read = get_HidePageNumbersInWeb, write = set_HidePageNumbersInWeb};
};
typedef TableOfFiguresDispT<TableOfFigures> TableOfFiguresDisp;

typedef TComInterface<MailMerge>  TCOMMailMerge;

// *********************************************************************//
// DispIntf:  MailMerge
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020920-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class MailMergeDispT : public TAutoDriver<MailMerge>
{
public:
  MailMergeDispT(){}

  MailMergeDispT(MailMerge *pintf)
  {
    TAutoDriver<MailMerge>::Bind(pintf, false);
  }

  MailMergeDispT(MailMergePtr pintf)
  {
    TAutoDriver<MailMerge>::Bind(pintf, true);
  }

  MailMergeDispT& operator=(MailMerge *pintf)
  {
    TAutoDriver<MailMerge>::Bind(pintf, false);
    return *this;
  }

  MailMergeDispT& operator=(MailMergePtr pintf)
  {
    TAutoDriver<MailMerge>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_MainDocumentType(Word_xp::WdMailMergeMainDocType* prop/*[out,retval]*/);
  Word_xp::WdMailMergeMainDocType __fastcall get_MainDocumentType(void);
  HRESULT         __fastcall set_MainDocumentType(Word_xp::WdMailMergeMainDocType prop/*[in]*/);
  HRESULT         __fastcall get_State(Word_xp::WdMailMergeState* prop/*[out,retval]*/);
  Word_xp::WdMailMergeState __fastcall get_State(void);
  HRESULT         __fastcall get_Destination(Word_xp::WdMailMergeDestination* prop/*[out,retval]*/);
  Word_xp::WdMailMergeDestination __fastcall get_Destination(void);
  HRESULT         __fastcall set_Destination(Word_xp::WdMailMergeDestination prop/*[in]*/);
  HRESULT         __fastcall get_DataSource(Word_xp::MailMergeDataSource** prop/*[out,retval]*/);
  Word_xp::MailMergeDataSourcePtr __fastcall get_DataSource(void);
  HRESULT         __fastcall get_Fields(Word_xp::MailMergeFields** prop/*[out,retval]*/);
  Word_xp::MailMergeFieldsPtr __fastcall get_Fields(void);
  HRESULT         __fastcall get_ViewMailMergeFieldCodes(long* prop/*[out,retval]*/);
  long            __fastcall get_ViewMailMergeFieldCodes(void);
  HRESULT         __fastcall set_ViewMailMergeFieldCodes(long prop/*[in]*/);
  HRESULT         __fastcall get_SuppressBlankLines(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SuppressBlankLines(void);
  HRESULT         __fastcall set_SuppressBlankLines(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MailAsAttachment(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MailAsAttachment(void);
  HRESULT         __fastcall set_MailAsAttachment(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MailAddressFieldName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_MailAddressFieldName(void);
  HRESULT         __fastcall set_MailAddressFieldName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_MailSubject(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_MailSubject(void);
  HRESULT         __fastcall set_MailSubject(BSTR prop/*[in]*/);
  HRESULT         __fastcall CreateDataSource(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                                              VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                              VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam()
                                              , VARIANT* HeaderRecord/*[in,opt]*/= TNoParam(), 
                                              VARIANT* MSQuery/*[in,opt]*/= TNoParam(), 
                                              VARIANT* SQLStatement/*[in,opt]*/= TNoParam(), 
                                              VARIANT* SQLStatement1/*[in,opt]*/= TNoParam(), 
                                              VARIANT* Connection/*[in,opt]*/= TNoParam(), 
                                              VARIANT* LinkToSource/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CreateHeaderSource(BSTR Name/*[in]*/, 
                                                VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                                VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam()
                                                , VARIANT* HeaderRecord/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall OpenDataSource2000(BSTR Name/*[in]*/, 
                                                VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                                VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam()
                                                , VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                                VARIANT* LinkToSource/*[in,opt]*/= TNoParam(), 
                                                VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                                VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                                VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                                VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam()
                                                , 
                                                VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam()
                                                , VARIANT* Connection/*[in,opt]*/= TNoParam(), 
                                                VARIANT* SQLStatement/*[in,opt]*/= TNoParam(), 
                                                VARIANT* SQLStatement1/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall OpenHeaderSource2000(BSTR Name/*[in]*/, 
                                                  VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam()
                                                  , VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam()
                                                  , 
                                                  VARIANT* PasswordDocument/*[in,opt]*/= TNoParam()
                                                  , 
                                                  VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam()
                                                  , VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                                  VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam()
                                                  , 
                                                  VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Execute(VARIANT* Pause/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Check();
  HRESULT         __fastcall EditDataSource();
  HRESULT         __fastcall EditHeaderSource();
  HRESULT         __fastcall EditMainDocument();
  HRESULT         __fastcall UseAddressBook(BSTR Type/*[in]*/);
  HRESULT         __fastcall get_HighlightMergeFields(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HighlightMergeFields(void);
  HRESULT         __fastcall set_HighlightMergeFields(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MailFormat(Word_xp::WdMailMergeMailFormat* prop/*[out,retval]*/);
  Word_xp::WdMailMergeMailFormat __fastcall get_MailFormat(void);
  HRESULT         __fastcall set_MailFormat(Word_xp::WdMailMergeMailFormat prop/*[in]*/);
  HRESULT         __fastcall get_ShowSendToCustom(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ShowSendToCustom(void);
  HRESULT         __fastcall set_ShowSendToCustom(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_WizardState(long* prop/*[out,retval]*/);
  long            __fastcall get_WizardState(void);
  HRESULT         __fastcall set_WizardState(long prop/*[in]*/);
  HRESULT         __fastcall OpenDataSource(BSTR Name/*[in]*/, 
                                            VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                            VARIANT* LinkToSource/*[in,opt]*/= TNoParam(), 
                                            VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                            VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                            VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                            VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                            VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Connection/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SQLStatement/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SQLStatement1/*[in,opt]*/= TNoParam(), 
                                            VARIANT* OpenExclusive/*[in,opt]*/= TNoParam(), 
                                            VARIANT* SubType/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall OpenHeaderSource(BSTR Name/*[in]*/, 
                                              VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                              VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                              VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                              VARIANT* AddToRecentFiles/*[in,opt]*/= TNoParam(), 
                                              VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                              VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                              VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                              VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam()
                                              , 
                                              VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam()
                                              , VARIANT* OpenExclusive/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ShowWizard(VARIANT* InitialState/*[in]*/, 
                                        VARIANT* ShowDocumentStep/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ShowTemplateStep/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ShowDataStep/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ShowWriteStep/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ShowPreviewStep/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ShowMergeStep/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdMailMergeMainDocType MainDocumentType = {read = get_MainDocumentType, write = set_MainDocumentType};
  __property   Word_xp::WdMailMergeState State = {read = get_State};
  __property   Word_xp::WdMailMergeDestination Destination = {read = get_Destination, write = set_Destination};
  __property   Word_xp::MailMergeDataSourcePtr DataSource = {read = get_DataSource};
  __property   Word_xp::MailMergeFieldsPtr Fields = {read = get_Fields};
  __property   long            ViewMailMergeFieldCodes = {read = get_ViewMailMergeFieldCodes, write = set_ViewMailMergeFieldCodes};
  __property   VARIANT_BOOL    SuppressBlankLines = {read = get_SuppressBlankLines, write = set_SuppressBlankLines};
  __property   VARIANT_BOOL    MailAsAttachment = {read = get_MailAsAttachment, write = set_MailAsAttachment};
  __property   BSTR            MailAddressFieldName = {read = get_MailAddressFieldName, write = set_MailAddressFieldName};
  __property   BSTR            MailSubject = {read = get_MailSubject, write = set_MailSubject};
  __property   VARIANT_BOOL    HighlightMergeFields = {read = get_HighlightMergeFields, write = set_HighlightMergeFields};
  __property   Word_xp::WdMailMergeMailFormat MailFormat = {read = get_MailFormat, write = set_MailFormat};
  __property   BSTR            ShowSendToCustom = {read = get_ShowSendToCustom, write = set_ShowSendToCustom};
  __property   long            WizardState = {read = get_WizardState, write = set_WizardState};
};
typedef MailMergeDispT<MailMerge> MailMergeDisp;

typedef TComInterface<MailMergeFields>  TCOMMailMergeFields;

// *********************************************************************//
// DispIntf:  MailMergeFields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091F-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class MailMergeFieldsDispT : public TAutoDriver<MailMergeFields>
{
public:
  MailMergeFieldsDispT(){}

  MailMergeFieldsDispT(MailMergeFields *pintf)
  {
    TAutoDriver<MailMergeFields>::Bind(pintf, false);
  }

  MailMergeFieldsDispT(MailMergeFieldsPtr pintf)
  {
    TAutoDriver<MailMergeFields>::Bind(pintf, true);
  }

  MailMergeFieldsDispT& operator=(MailMergeFields *pintf)
  {
    TAutoDriver<MailMergeFields>::Bind(pintf, false);
    return *this;
  }

  MailMergeFieldsDispT& operator=(MailMergeFieldsPtr pintf)
  {
    TAutoDriver<MailMergeFields>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeField* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                 Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeField* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/);
  HRESULT         __fastcall AddAsk(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                    VARIANT* Prompt/*[in,opt]*/, VARIANT* DefaultAskText/*[in,opt]*/
                                    , VARIANT* AskOnce/*[in,opt]*/, 
                                    Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeField* __fastcall AddAsk(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                             VARIANT* Prompt/*[in,opt]*/= TNoParam(), 
                                             VARIANT* DefaultAskText/*[in,opt]*/= TNoParam(), 
                                             VARIANT* AskOnce/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddFillIn(Word_xp::WordRange* Range/*[in]*/, 
                                       VARIANT* Prompt/*[in,opt]*/, 
                                       VARIANT* DefaultFillInText/*[in,opt]*/, 
                                       VARIANT* AskOnce/*[in,opt]*/, 
                                       Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeField* __fastcall AddFillIn(Word_xp::WordRange* Range/*[in]*/, 
                                                VARIANT* Prompt/*[in,opt]*/= TNoParam(), 
                                                VARIANT* DefaultFillInText/*[in,opt]*/= TNoParam(), 
                                                VARIANT* AskOnce/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddIf(Word_xp::WordRange* Range/*[in]*/, BSTR MergeField/*[in]*/, 
                                   Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                   VARIANT* CompareTo/*[in,opt]*/, VARIANT* TrueAutoText/*[in,opt]*/
                                   , VARIANT* TrueText/*[in,opt]*/, 
                                   VARIANT* FalseAutoText/*[in,opt]*/, 
                                   VARIANT* FalseText/*[in,opt]*/, 
                                   Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeField* __fastcall AddIf(Word_xp::WordRange* Range/*[in]*/, 
                                            BSTR MergeField/*[in]*/, 
                                            Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                            VARIANT* CompareTo/*[in,opt]*/= TNoParam(), 
                                            VARIANT* TrueAutoText/*[in,opt]*/= TNoParam(), 
                                            VARIANT* TrueText/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FalseAutoText/*[in,opt]*/= TNoParam(), 
                                            VARIANT* FalseText/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddMergeRec(Word_xp::WordRange* Range/*[in]*/, 
                                         Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeField* __fastcall AddMergeRec(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall AddMergeSeq(Word_xp::WordRange* Range/*[in]*/, 
                                         Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeField* __fastcall AddMergeSeq(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall AddNext(Word_xp::WordRange* Range/*[in]*/, 
                                     Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeField* __fastcall AddNext(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall AddNextIf(Word_xp::WordRange* Range/*[in]*/, BSTR MergeField/*[in]*/, 
                                       Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                       VARIANT* CompareTo/*[in,opt]*/, 
                                       Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeField* __fastcall AddNextIf(Word_xp::WordRange* Range/*[in]*/, 
                                                BSTR MergeField/*[in]*/, 
                                                Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                                VARIANT* CompareTo/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddSet(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                    VARIANT* ValueText/*[in,opt]*/, 
                                    VARIANT* ValueAutoText/*[in,opt]*/, 
                                    Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeField* __fastcall AddSet(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                             VARIANT* ValueText/*[in,opt]*/= TNoParam(), 
                                             VARIANT* ValueAutoText/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddSkipIf(Word_xp::WordRange* Range/*[in]*/, BSTR MergeField/*[in]*/, 
                                       Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                       VARIANT* CompareTo/*[in,opt]*/, 
                                       Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeField* __fastcall AddSkipIf(Word_xp::WordRange* Range/*[in]*/, 
                                                BSTR MergeField/*[in]*/, 
                                                Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                                VARIANT* CompareTo/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef MailMergeFieldsDispT<MailMergeFields> MailMergeFieldsDisp;

typedef TComInterface<MailMergeField>  TCOMMailMergeField;

// *********************************************************************//
// DispIntf:  MailMergeField
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091E-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class MailMergeFieldDispT : public TAutoDriver<MailMergeField>
{
public:
  MailMergeFieldDispT(){}

  MailMergeFieldDispT(MailMergeField *pintf)
  {
    TAutoDriver<MailMergeField>::Bind(pintf, false);
  }

  MailMergeFieldDispT(MailMergeFieldPtr pintf)
  {
    TAutoDriver<MailMergeField>::Bind(pintf, true);
  }

  MailMergeFieldDispT& operator=(MailMergeField *pintf)
  {
    TAutoDriver<MailMergeField>::Bind(pintf, false);
    return *this;
  }

  MailMergeFieldDispT& operator=(MailMergeFieldPtr pintf)
  {
    TAutoDriver<MailMergeField>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Type(Word_xp::WdFieldType* prop/*[out,retval]*/);
  Word_xp::WdFieldType __fastcall get_Type(void);
  HRESULT         __fastcall get_Locked(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Locked(void);
  HRESULT         __fastcall set_Locked(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Code(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Code(void);
  HRESULT         __fastcall set_Code(Word_xp::WordRangePtr prop/*[in]*/);
  HRESULT         __fastcall get_Next(Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeFieldPtr __fastcall get_Next(void);
  HRESULT         __fastcall get_Previous(Word_xp::MailMergeField** prop/*[out,retval]*/);
  Word_xp::MailMergeFieldPtr __fastcall get_Previous(void);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Copy();
  HRESULT         __fastcall Cut();
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdFieldType Type = {read = get_Type};
  __property   VARIANT_BOOL    Locked = {read = get_Locked, write = set_Locked};
  __property   Word_xp::WordRangePtr Code = {read = get_Code, write = set_Code};
  __property   Word_xp::MailMergeFieldPtr Next = {read = get_Next};
  __property   Word_xp::MailMergeFieldPtr Previous = {read = get_Previous};
};
typedef MailMergeFieldDispT<MailMergeField> MailMergeFieldDisp;

typedef TComInterface<MailMergeDataSource>  TCOMMailMergeDataSource;

// *********************************************************************//
// DispIntf:  MailMergeDataSource
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091D-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class MailMergeDataSourceDispT : public TAutoDriver<MailMergeDataSource>
{
public:
  MailMergeDataSourceDispT(){}

  MailMergeDataSourceDispT(MailMergeDataSource *pintf)
  {
    TAutoDriver<MailMergeDataSource>::Bind(pintf, false);
  }

  MailMergeDataSourceDispT(MailMergeDataSourcePtr pintf)
  {
    TAutoDriver<MailMergeDataSource>::Bind(pintf, true);
  }

  MailMergeDataSourceDispT& operator=(MailMergeDataSource *pintf)
  {
    TAutoDriver<MailMergeDataSource>::Bind(pintf, false);
    return *this;
  }

  MailMergeDataSourceDispT& operator=(MailMergeDataSourcePtr pintf)
  {
    TAutoDriver<MailMergeDataSource>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_HeaderSourceName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_HeaderSourceName(void);
  HRESULT         __fastcall get_Type(Word_xp::WdMailMergeDataSource* prop/*[out,retval]*/);
  Word_xp::WdMailMergeDataSource __fastcall get_Type(void);
  HRESULT         __fastcall get_HeaderSourceType(Word_xp::WdMailMergeDataSource* prop/*[out,retval]*/);
  Word_xp::WdMailMergeDataSource __fastcall get_HeaderSourceType(void);
  HRESULT         __fastcall get_ConnectString(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ConnectString(void);
  HRESULT         __fastcall get_QueryString(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_QueryString(void);
  HRESULT         __fastcall set_QueryString(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ActiveRecord(Word_xp::WdMailMergeActiveRecord* prop/*[out,retval]*/);
  Word_xp::WdMailMergeActiveRecord __fastcall get_ActiveRecord(void);
  HRESULT         __fastcall set_ActiveRecord(Word_xp::WdMailMergeActiveRecord prop/*[in]*/);
  HRESULT         __fastcall get_FirstRecord(long* prop/*[out,retval]*/);
  long            __fastcall get_FirstRecord(void);
  HRESULT         __fastcall set_FirstRecord(long prop/*[in]*/);
  HRESULT         __fastcall get_LastRecord(long* prop/*[out,retval]*/);
  long            __fastcall get_LastRecord(void);
  HRESULT         __fastcall set_LastRecord(long prop/*[in]*/);
  HRESULT         __fastcall get_FieldNames(Word_xp::MailMergeFieldNames** prop/*[out,retval]*/);
  Word_xp::MailMergeFieldNamesPtr __fastcall get_FieldNames(void);
  HRESULT         __fastcall get_DataFields(Word_xp::MailMergeDataFields** prop/*[out,retval]*/);
  Word_xp::MailMergeDataFieldsPtr __fastcall get_DataFields(void);
  HRESULT         __fastcall FindRecord2000(BSTR FindText/*[in]*/, BSTR Field/*[in]*/, 
                                            VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall FindRecord2000(BSTR FindText/*[in]*/, BSTR Field/*[in]*/);
  HRESULT         __fastcall get_RecordCount(long* prop/*[out,retval]*/);
  long            __fastcall get_RecordCount(void);
  HRESULT         __fastcall get_Included(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Included(void);
  HRESULT         __fastcall set_Included(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_InvalidAddress(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_InvalidAddress(void);
  HRESULT         __fastcall set_InvalidAddress(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_InvalidComments(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_InvalidComments(void);
  HRESULT         __fastcall set_InvalidComments(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_MappedDataFields(Word_xp::MappedDataFields** prop/*[out,retval]*/);
  Word_xp::MappedDataFieldsPtr __fastcall get_MappedDataFields(void);
  HRESULT         __fastcall get_TableName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_TableName(void);
  HRESULT         __fastcall FindRecord(BSTR FindText/*[in]*/, VARIANT* Field/*[in,opt]*/, 
                                        VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall FindRecord(BSTR FindText/*[in]*/, 
                                        VARIANT* Field/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SetAllIncludedFlags(VARIANT_BOOL Included/*[in]*/);
  HRESULT         __fastcall SetAllErrorFlags(VARIANT_BOOL Invalid/*[in]*/, 
                                              BSTR InvalidComment/*[in]*/);
  HRESULT         __fastcall Close();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            HeaderSourceName = {read = get_HeaderSourceName};
  __property   Word_xp::WdMailMergeDataSource Type = {read = get_Type};
  __property   Word_xp::WdMailMergeDataSource HeaderSourceType = {read = get_HeaderSourceType};
  __property   BSTR            ConnectString = {read = get_ConnectString};
  __property   BSTR            QueryString = {read = get_QueryString, write = set_QueryString};
  __property   Word_xp::WdMailMergeActiveRecord ActiveRecord = {read = get_ActiveRecord, write = set_ActiveRecord};
  __property   long            FirstRecord = {read = get_FirstRecord, write = set_FirstRecord};
  __property   long            LastRecord = {read = get_LastRecord, write = set_LastRecord};
  __property   Word_xp::MailMergeFieldNamesPtr FieldNames = {read = get_FieldNames};
  __property   Word_xp::MailMergeDataFieldsPtr DataFields = {read = get_DataFields};
  __property   long            RecordCount = {read = get_RecordCount};
  __property   VARIANT_BOOL    Included = {read = get_Included, write = set_Included};
  __property   VARIANT_BOOL    InvalidAddress = {read = get_InvalidAddress, write = set_InvalidAddress};
  __property   BSTR            InvalidComments = {read = get_InvalidComments, write = set_InvalidComments};
  __property   Word_xp::MappedDataFieldsPtr MappedDataFields = {read = get_MappedDataFields};
  __property   BSTR            TableName = {read = get_TableName};
};
typedef MailMergeDataSourceDispT<MailMergeDataSource> MailMergeDataSourceDisp;

typedef TComInterface<MailMergeFieldNames>  TCOMMailMergeFieldNames;

// *********************************************************************//
// DispIntf:  MailMergeFieldNames
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091C-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class MailMergeFieldNamesDispT : public TAutoDriver<MailMergeFieldNames>
{
public:
  MailMergeFieldNamesDispT(){}

  MailMergeFieldNamesDispT(MailMergeFieldNames *pintf)
  {
    TAutoDriver<MailMergeFieldNames>::Bind(pintf, false);
  }

  MailMergeFieldNamesDispT(MailMergeFieldNamesPtr pintf)
  {
    TAutoDriver<MailMergeFieldNames>::Bind(pintf, true);
  }

  MailMergeFieldNamesDispT& operator=(MailMergeFieldNames *pintf)
  {
    TAutoDriver<MailMergeFieldNames>::Bind(pintf, false);
    return *this;
  }

  MailMergeFieldNamesDispT& operator=(MailMergeFieldNamesPtr pintf)
  {
    TAutoDriver<MailMergeFieldNames>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::MailMergeFieldName** prop/*[out,retval]*/);
  Word_xp::MailMergeFieldName* __fastcall Item(VARIANT* Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef MailMergeFieldNamesDispT<MailMergeFieldNames> MailMergeFieldNamesDisp;

typedef TComInterface<MailMergeFieldName>  TCOMMailMergeFieldName;

// *********************************************************************//
// DispIntf:  MailMergeFieldName
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091B-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class MailMergeFieldNameDispT : public TAutoDriver<MailMergeFieldName>
{
public:
  MailMergeFieldNameDispT(){}

  MailMergeFieldNameDispT(MailMergeFieldName *pintf)
  {
    TAutoDriver<MailMergeFieldName>::Bind(pintf, false);
  }

  MailMergeFieldNameDispT(MailMergeFieldNamePtr pintf)
  {
    TAutoDriver<MailMergeFieldName>::Bind(pintf, true);
  }

  MailMergeFieldNameDispT& operator=(MailMergeFieldName *pintf)
  {
    TAutoDriver<MailMergeFieldName>::Bind(pintf, false);
    return *this;
  }

  MailMergeFieldNameDispT& operator=(MailMergeFieldNamePtr pintf)
  {
    TAutoDriver<MailMergeFieldName>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   long            Index = {read = get_Index};
};
typedef MailMergeFieldNameDispT<MailMergeFieldName> MailMergeFieldNameDisp;

typedef TComInterface<MailMergeDataFields>  TCOMMailMergeDataFields;

// *********************************************************************//
// DispIntf:  MailMergeDataFields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091A-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class MailMergeDataFieldsDispT : public TAutoDriver<MailMergeDataFields>
{
public:
  MailMergeDataFieldsDispT(){}

  MailMergeDataFieldsDispT(MailMergeDataFields *pintf)
  {
    TAutoDriver<MailMergeDataFields>::Bind(pintf, false);
  }

  MailMergeDataFieldsDispT(MailMergeDataFieldsPtr pintf)
  {
    TAutoDriver<MailMergeDataFields>::Bind(pintf, true);
  }

  MailMergeDataFieldsDispT& operator=(MailMergeDataFields *pintf)
  {
    TAutoDriver<MailMergeDataFields>::Bind(pintf, false);
    return *this;
  }

  MailMergeDataFieldsDispT& operator=(MailMergeDataFieldsPtr pintf)
  {
    TAutoDriver<MailMergeDataFields>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::MailMergeDataField** prop/*[out,retval]*/);
  Word_xp::MailMergeDataField* __fastcall Item(VARIANT* Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef MailMergeDataFieldsDispT<MailMergeDataFields> MailMergeDataFieldsDisp;

typedef TComInterface<MailMergeDataField>  TCOMMailMergeDataField;

// *********************************************************************//
// DispIntf:  MailMergeDataField
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020919-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class MailMergeDataFieldDispT : public TAutoDriver<MailMergeDataField>
{
public:
  MailMergeDataFieldDispT(){}

  MailMergeDataFieldDispT(MailMergeDataField *pintf)
  {
    TAutoDriver<MailMergeDataField>::Bind(pintf, false);
  }

  MailMergeDataFieldDispT(MailMergeDataFieldPtr pintf)
  {
    TAutoDriver<MailMergeDataField>::Bind(pintf, true);
  }

  MailMergeDataFieldDispT& operator=(MailMergeDataField *pintf)
  {
    TAutoDriver<MailMergeDataField>::Bind(pintf, false);
    return *this;
  }

  MailMergeDataFieldDispT& operator=(MailMergeDataFieldPtr pintf)
  {
    TAutoDriver<MailMergeDataField>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Value(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Value(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Value = {read = get_Value};
  __property   BSTR            Name = {read = get_Name};
  __property   long            Index = {read = get_Index};
};
typedef MailMergeDataFieldDispT<MailMergeDataField> MailMergeDataFieldDisp;

typedef TComInterface<Envelope>  TCOMEnvelope;

// *********************************************************************//
// DispIntf:  Envelope
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020918-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class EnvelopeDispT : public TAutoDriver<Envelope>
{
public:
  EnvelopeDispT(){}

  EnvelopeDispT(Envelope *pintf)
  {
    TAutoDriver<Envelope>::Bind(pintf, false);
  }

  EnvelopeDispT(EnvelopePtr pintf)
  {
    TAutoDriver<Envelope>::Bind(pintf, true);
  }

  EnvelopeDispT& operator=(Envelope *pintf)
  {
    TAutoDriver<Envelope>::Bind(pintf, false);
    return *this;
  }

  EnvelopeDispT& operator=(EnvelopePtr pintf)
  {
    TAutoDriver<Envelope>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Address(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Address(void);
  HRESULT         __fastcall get_ReturnAddress(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_ReturnAddress(void);
  HRESULT         __fastcall get_DefaultPrintBarCode(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DefaultPrintBarCode(void);
  HRESULT         __fastcall set_DefaultPrintBarCode(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DefaultPrintFIMA(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DefaultPrintFIMA(void);
  HRESULT         __fastcall set_DefaultPrintFIMA(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DefaultHeight(float* prop/*[out,retval]*/);
  float           __fastcall get_DefaultHeight(void);
  HRESULT         __fastcall set_DefaultHeight(float prop/*[in]*/);
  HRESULT         __fastcall get_DefaultWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_DefaultWidth(void);
  HRESULT         __fastcall set_DefaultWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_DefaultSize(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DefaultSize(void);
  HRESULT         __fastcall set_DefaultSize(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_DefaultOmitReturnAddress(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DefaultOmitReturnAddress(void);
  HRESULT         __fastcall set_DefaultOmitReturnAddress(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FeedSource(Word_xp::WdPaperTray* prop/*[out,retval]*/);
  Word_xp::WdPaperTray __fastcall get_FeedSource(void);
  HRESULT         __fastcall set_FeedSource(Word_xp::WdPaperTray prop/*[in]*/);
  HRESULT         __fastcall get_AddressFromLeft(float* prop/*[out,retval]*/);
  float           __fastcall get_AddressFromLeft(void);
  HRESULT         __fastcall set_AddressFromLeft(float prop/*[in]*/);
  HRESULT         __fastcall get_AddressFromTop(float* prop/*[out,retval]*/);
  float           __fastcall get_AddressFromTop(void);
  HRESULT         __fastcall set_AddressFromTop(float prop/*[in]*/);
  HRESULT         __fastcall get_ReturnAddressFromLeft(float* prop/*[out,retval]*/);
  float           __fastcall get_ReturnAddressFromLeft(void);
  HRESULT         __fastcall set_ReturnAddressFromLeft(float prop/*[in]*/);
  HRESULT         __fastcall get_ReturnAddressFromTop(float* prop/*[out,retval]*/);
  float           __fastcall get_ReturnAddressFromTop(void);
  HRESULT         __fastcall set_ReturnAddressFromTop(float prop/*[in]*/);
  HRESULT         __fastcall get_AddressStyle(Word_xp::Style** prop/*[out,retval]*/);
  Word_xp::StylePtr __fastcall get_AddressStyle(void);
  HRESULT         __fastcall get_ReturnAddressStyle(Word_xp::Style** prop/*[out,retval]*/);
  Word_xp::StylePtr __fastcall get_ReturnAddressStyle(void);
  HRESULT         __fastcall get_DefaultOrientation(Word_xp::WdEnvelopeOrientation* prop/*[out,retval]*/);
  Word_xp::WdEnvelopeOrientation __fastcall get_DefaultOrientation(void);
  HRESULT         __fastcall set_DefaultOrientation(Word_xp::WdEnvelopeOrientation prop/*[in]*/);
  HRESULT         __fastcall get_DefaultFaceUp(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DefaultFaceUp(void);
  HRESULT         __fastcall set_DefaultFaceUp(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall Insert2000(VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                        VARIANT* AutoText/*[in,opt]*/= TNoParam(), 
                                        VARIANT* OmitReturnAddress/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ReturnAddress/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ReturnAutoText/*[in,opt]*/= TNoParam(), 
                                        VARIANT* PrintBarCode/*[in,opt]*/= TNoParam(), 
                                        VARIANT* PrintFIMA/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Size/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                        VARIANT* FeedSource/*[in,opt]*/= TNoParam(), 
                                        VARIANT* AddressFromLeft/*[in,opt]*/= TNoParam(), 
                                        VARIANT* AddressFromTop/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ReturnAddressFromLeft/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ReturnAddressFromTop/*[in,opt]*/= TNoParam(), 
                                        VARIANT* DefaultFaceUp/*[in,opt]*/= TNoParam(), 
                                        VARIANT* DefaultOrientation/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PrintOut2000(VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                          VARIANT* AutoText/*[in,opt]*/= TNoParam(), 
                                          VARIANT* OmitReturnAddress/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ReturnAddress/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ReturnAutoText/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintBarCode/*[in,opt]*/= TNoParam(), 
                                          VARIANT* PrintFIMA/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Size/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                          VARIANT* FeedSource/*[in,opt]*/= TNoParam(), 
                                          VARIANT* AddressFromLeft/*[in,opt]*/= TNoParam(), 
                                          VARIANT* AddressFromTop/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ReturnAddressFromLeft/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ReturnAddressFromTop/*[in,opt]*/= TNoParam(), 
                                          VARIANT* DefaultFaceUp/*[in,opt]*/= TNoParam(), 
                                          VARIANT* DefaultOrientation/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall UpdateDocument();
  HRESULT         __fastcall Options();
  HRESULT         __fastcall get_Vertical(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Vertical(void);
  HRESULT         __fastcall set_Vertical(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RecipientNamefromLeft(float* prop/*[out,retval]*/);
  float           __fastcall get_RecipientNamefromLeft(void);
  HRESULT         __fastcall set_RecipientNamefromLeft(float prop/*[in]*/);
  HRESULT         __fastcall get_RecipientNamefromTop(float* prop/*[out,retval]*/);
  float           __fastcall get_RecipientNamefromTop(void);
  HRESULT         __fastcall set_RecipientNamefromTop(float prop/*[in]*/);
  HRESULT         __fastcall get_RecipientPostalfromLeft(float* prop/*[out,retval]*/);
  float           __fastcall get_RecipientPostalfromLeft(void);
  HRESULT         __fastcall set_RecipientPostalfromLeft(float prop/*[in]*/);
  HRESULT         __fastcall get_RecipientPostalfromTop(float* prop/*[out,retval]*/);
  float           __fastcall get_RecipientPostalfromTop(void);
  HRESULT         __fastcall set_RecipientPostalfromTop(float prop/*[in]*/);
  HRESULT         __fastcall get_SenderNamefromLeft(float* prop/*[out,retval]*/);
  float           __fastcall get_SenderNamefromLeft(void);
  HRESULT         __fastcall set_SenderNamefromLeft(float prop/*[in]*/);
  HRESULT         __fastcall get_SenderNamefromTop(float* prop/*[out,retval]*/);
  float           __fastcall get_SenderNamefromTop(void);
  HRESULT         __fastcall set_SenderNamefromTop(float prop/*[in]*/);
  HRESULT         __fastcall get_SenderPostalfromLeft(float* prop/*[out,retval]*/);
  float           __fastcall get_SenderPostalfromLeft(void);
  HRESULT         __fastcall set_SenderPostalfromLeft(float prop/*[in]*/);
  HRESULT         __fastcall get_SenderPostalfromTop(float* prop/*[out,retval]*/);
  float           __fastcall get_SenderPostalfromTop(void);
  HRESULT         __fastcall set_SenderPostalfromTop(float prop/*[in]*/);
  HRESULT         __fastcall Insert(VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                    VARIANT* AutoText/*[in,opt]*/= TNoParam(), 
                                    VARIANT* OmitReturnAddress/*[in,opt]*/= TNoParam(), 
                                    VARIANT* ReturnAddress/*[in,opt]*/= TNoParam(), 
                                    VARIANT* ReturnAutoText/*[in,opt]*/= TNoParam(), 
                                    VARIANT* PrintBarCode/*[in,opt]*/= TNoParam(), 
                                    VARIANT* PrintFIMA/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Size/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                    VARIANT* FeedSource/*[in,opt]*/= TNoParam(), 
                                    VARIANT* AddressFromLeft/*[in,opt]*/= TNoParam(), 
                                    VARIANT* AddressFromTop/*[in,opt]*/= TNoParam(), 
                                    VARIANT* ReturnAddressFromLeft/*[in,opt]*/= TNoParam(), 
                                    VARIANT* ReturnAddressFromTop/*[in,opt]*/= TNoParam(), 
                                    VARIANT* DefaultFaceUp/*[in,opt]*/= TNoParam(), 
                                    VARIANT* DefaultOrientation/*[in,opt]*/= TNoParam(), 
                                    VARIANT* PrintEPostage/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Vertical/*[in,opt]*/= TNoParam(), 
                                    VARIANT* RecipientNamefromLeft/*[in,opt]*/= TNoParam(), 
                                    VARIANT* RecipientNamefromTop/*[in,opt]*/= TNoParam(), 
                                    VARIANT* RecipientPostalfromLeft/*[in,opt]*/= TNoParam(), 
                                    VARIANT* RecipientPostalfromTop/*[in,opt]*/= TNoParam(), 
                                    VARIANT* SenderNamefromLeft/*[in,opt]*/= TNoParam(), 
                                    VARIANT* SenderNamefromTop/*[in,opt]*/= TNoParam(), 
                                    VARIANT* SenderPostalfromLeft/*[in,opt]*/= TNoParam(), 
                                    VARIANT* SenderPostalfromTop/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PrintOut(VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                      VARIANT* AutoText/*[in,opt]*/= TNoParam(), 
                                      VARIANT* OmitReturnAddress/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ReturnAddress/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ReturnAutoText/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintBarCode/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintFIMA/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Size/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                      VARIANT* FeedSource/*[in,opt]*/= TNoParam(), 
                                      VARIANT* AddressFromLeft/*[in,opt]*/= TNoParam(), 
                                      VARIANT* AddressFromTop/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ReturnAddressFromLeft/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ReturnAddressFromTop/*[in,opt]*/= TNoParam(), 
                                      VARIANT* DefaultFaceUp/*[in,opt]*/= TNoParam(), 
                                      VARIANT* DefaultOrientation/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintEPostage/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Vertical/*[in,opt]*/= TNoParam(), 
                                      VARIANT* RecipientNamefromLeft/*[in,opt]*/= TNoParam(), 
                                      VARIANT* RecipientNamefromTop/*[in,opt]*/= TNoParam(), 
                                      VARIANT* RecipientPostalfromLeft/*[in,opt]*/= TNoParam(), 
                                      VARIANT* RecipientPostalfromTop/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SenderNamefromLeft/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SenderNamefromTop/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SenderPostalfromLeft/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SenderPostalfromTop/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Address = {read = get_Address};
  __property   Word_xp::WordRangePtr ReturnAddress = {read = get_ReturnAddress};
  __property   VARIANT_BOOL    DefaultPrintBarCode = {read = get_DefaultPrintBarCode, write = set_DefaultPrintBarCode};
  __property   VARIANT_BOOL    DefaultPrintFIMA = {read = get_DefaultPrintFIMA, write = set_DefaultPrintFIMA};
  __property   float           DefaultHeight = {read = get_DefaultHeight, write = set_DefaultHeight};
  __property   float           DefaultWidth = {read = get_DefaultWidth, write = set_DefaultWidth};
  __property   BSTR            DefaultSize = {read = get_DefaultSize, write = set_DefaultSize};
  __property   VARIANT_BOOL    DefaultOmitReturnAddress = {read = get_DefaultOmitReturnAddress, write = set_DefaultOmitReturnAddress};
  __property   Word_xp::WdPaperTray FeedSource = {read = get_FeedSource, write = set_FeedSource};
  __property   float           AddressFromLeft = {read = get_AddressFromLeft, write = set_AddressFromLeft};
  __property   float           AddressFromTop = {read = get_AddressFromTop, write = set_AddressFromTop};
  __property   float           ReturnAddressFromLeft = {read = get_ReturnAddressFromLeft, write = set_ReturnAddressFromLeft};
  __property   float           ReturnAddressFromTop = {read = get_ReturnAddressFromTop, write = set_ReturnAddressFromTop};
  __property   Word_xp::StylePtr AddressStyle = {read = get_AddressStyle};
  __property   Word_xp::StylePtr ReturnAddressStyle = {read = get_ReturnAddressStyle};
  __property   Word_xp::WdEnvelopeOrientation DefaultOrientation = {read = get_DefaultOrientation, write = set_DefaultOrientation};
  __property   VARIANT_BOOL    DefaultFaceUp = {read = get_DefaultFaceUp, write = set_DefaultFaceUp};
  __property   VARIANT_BOOL    Vertical = {read = get_Vertical, write = set_Vertical};
  __property   float           RecipientNamefromLeft = {read = get_RecipientNamefromLeft, write = set_RecipientNamefromLeft};
  __property   float           RecipientNamefromTop = {read = get_RecipientNamefromTop, write = set_RecipientNamefromTop};
  __property   float           RecipientPostalfromLeft = {read = get_RecipientPostalfromLeft, write = set_RecipientPostalfromLeft};
  __property   float           RecipientPostalfromTop = {read = get_RecipientPostalfromTop, write = set_RecipientPostalfromTop};
  __property   float           SenderNamefromLeft = {read = get_SenderNamefromLeft, write = set_SenderNamefromLeft};
  __property   float           SenderNamefromTop = {read = get_SenderNamefromTop, write = set_SenderNamefromTop};
  __property   float           SenderPostalfromLeft = {read = get_SenderPostalfromLeft, write = set_SenderPostalfromLeft};
  __property   float           SenderPostalfromTop = {read = get_SenderPostalfromTop, write = set_SenderPostalfromTop};
};
typedef EnvelopeDispT<Envelope> EnvelopeDisp;

typedef TComInterface<MailingLabel>  TCOMMailingLabel;

// *********************************************************************//
// DispIntf:  MailingLabel
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020917-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class MailingLabelDispT : public TAutoDriver<MailingLabel>
{
public:
  MailingLabelDispT(){}

  MailingLabelDispT(MailingLabel *pintf)
  {
    TAutoDriver<MailingLabel>::Bind(pintf, false);
  }

  MailingLabelDispT(MailingLabelPtr pintf)
  {
    TAutoDriver<MailingLabel>::Bind(pintf, true);
  }

  MailingLabelDispT& operator=(MailingLabel *pintf)
  {
    TAutoDriver<MailingLabel>::Bind(pintf, false);
    return *this;
  }

  MailingLabelDispT& operator=(MailingLabelPtr pintf)
  {
    TAutoDriver<MailingLabel>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_DefaultPrintBarCode(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DefaultPrintBarCode(void);
  HRESULT         __fastcall set_DefaultPrintBarCode(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DefaultLaserTray(Word_xp::WdPaperTray* prop/*[out,retval]*/);
  Word_xp::WdPaperTray __fastcall get_DefaultLaserTray(void);
  HRESULT         __fastcall set_DefaultLaserTray(Word_xp::WdPaperTray prop/*[in]*/);
  HRESULT         __fastcall get_CustomLabels(Word_xp::CustomLabels** prop/*[out,retval]*/);
  Word_xp::CustomLabelsPtr __fastcall get_CustomLabels(void);
  HRESULT         __fastcall get_DefaultLabelName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DefaultLabelName(void);
  HRESULT         __fastcall set_DefaultLabelName(BSTR prop/*[in]*/);
  HRESULT         __fastcall CreateNewDocument2000(VARIANT* Name/*[in,opt]*/, 
                                                   VARIANT* Address/*[in,opt]*/, 
                                                   VARIANT* AutoText/*[in,opt]*/, 
                                                   VARIANT* ExtractAddress/*[in,opt]*/, 
                                                   VARIANT* LaserTray/*[in,opt]*/, 
                                                   Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocument* __fastcall CreateNewDocument2000(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                                                          VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                                          VARIANT* AutoText/*[in,opt]*/= TNoParam(), 
                                                          VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                                          VARIANT* LaserTray/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PrintOut2000(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                          VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                          VARIANT* LaserTray/*[in,opt]*/= TNoParam(), 
                                          VARIANT* SingleLabel/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Row/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Column/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall LabelOptions();
  HRESULT         __fastcall CreateNewDocument(VARIANT* Name/*[in,opt]*/, 
                                               VARIANT* Address/*[in,opt]*/, 
                                               VARIANT* AutoText/*[in,opt]*/, 
                                               VARIANT* ExtractAddress/*[in,opt]*/, 
                                               VARIANT* LaserTray/*[in,opt]*/, 
                                               VARIANT* PrintEPostageLabel/*[in,opt]*/, 
                                               VARIANT* Vertical/*[in,opt]*/, 
                                               Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocument* __fastcall CreateNewDocument(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* AutoText/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* LaserTray/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* PrintEPostageLabel/*[in,opt]*/= TNoParam(), 
                                                      VARIANT* Vertical/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PrintOut(VARIANT* Name/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                      VARIANT* ExtractAddress/*[in,opt]*/= TNoParam(), 
                                      VARIANT* LaserTray/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SingleLabel/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Row/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Column/*[in,opt]*/= TNoParam(), 
                                      VARIANT* PrintEPostageLabel/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Vertical/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_Vertical(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Vertical(void);
  HRESULT         __fastcall set_Vertical(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    DefaultPrintBarCode = {read = get_DefaultPrintBarCode, write = set_DefaultPrintBarCode};
  __property   Word_xp::WdPaperTray DefaultLaserTray = {read = get_DefaultLaserTray, write = set_DefaultLaserTray};
  __property   Word_xp::CustomLabelsPtr CustomLabels = {read = get_CustomLabels};
  __property   BSTR            DefaultLabelName = {read = get_DefaultLabelName, write = set_DefaultLabelName};
  __property   VARIANT_BOOL    Vertical = {read = get_Vertical, write = set_Vertical};
};
typedef MailingLabelDispT<MailingLabel> MailingLabelDisp;

typedef TComInterface<CustomLabels>  TCOMCustomLabels;

// *********************************************************************//
// DispIntf:  CustomLabels
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020916-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class CustomLabelsDispT : public TAutoDriver<CustomLabels>
{
public:
  CustomLabelsDispT(){}

  CustomLabelsDispT(CustomLabels *pintf)
  {
    TAutoDriver<CustomLabels>::Bind(pintf, false);
  }

  CustomLabelsDispT(CustomLabelsPtr pintf)
  {
    TAutoDriver<CustomLabels>::Bind(pintf, true);
  }

  CustomLabelsDispT& operator=(CustomLabels *pintf)
  {
    TAutoDriver<CustomLabels>::Bind(pintf, false);
    return *this;
  }

  CustomLabelsDispT& operator=(CustomLabelsPtr pintf)
  {
    TAutoDriver<CustomLabels>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::CustomLabel** prop/*[out,retval]*/);
  Word_xp::CustomLabel* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, VARIANT* DotMatrix/*[in,opt]*/, 
                                 Word_xp::CustomLabel** prop/*[out,retval]*/);
  Word_xp::CustomLabel* __fastcall Add(BSTR Name/*[in]*/, VARIANT* DotMatrix/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef CustomLabelsDispT<CustomLabels> CustomLabelsDisp;

typedef TComInterface<CustomLabel>  TCOMCustomLabel;

// *********************************************************************//
// DispIntf:  CustomLabel
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020915-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class CustomLabelDispT : public TAutoDriver<CustomLabel>
{
public:
  CustomLabelDispT(){}

  CustomLabelDispT(CustomLabel *pintf)
  {
    TAutoDriver<CustomLabel>::Bind(pintf, false);
  }

  CustomLabelDispT(CustomLabelPtr pintf)
  {
    TAutoDriver<CustomLabel>::Bind(pintf, true);
  }

  CustomLabelDispT& operator=(CustomLabel *pintf)
  {
    TAutoDriver<CustomLabel>::Bind(pintf, false);
    return *this;
  }

  CustomLabelDispT& operator=(CustomLabelPtr pintf)
  {
    TAutoDriver<CustomLabel>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_TopMargin(float* prop/*[out,retval]*/);
  float           __fastcall get_TopMargin(void);
  HRESULT         __fastcall set_TopMargin(float prop/*[in]*/);
  HRESULT         __fastcall get_SideMargin(float* prop/*[out,retval]*/);
  float           __fastcall get_SideMargin(void);
  HRESULT         __fastcall set_SideMargin(float prop/*[in]*/);
  HRESULT         __fastcall get_Height(float* prop/*[out,retval]*/);
  float           __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(float prop/*[in]*/);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_VerticalPitch(float* prop/*[out,retval]*/);
  float           __fastcall get_VerticalPitch(void);
  HRESULT         __fastcall set_VerticalPitch(float prop/*[in]*/);
  HRESULT         __fastcall get_HorizontalPitch(float* prop/*[out,retval]*/);
  float           __fastcall get_HorizontalPitch(void);
  HRESULT         __fastcall set_HorizontalPitch(float prop/*[in]*/);
  HRESULT         __fastcall get_NumberAcross(long* prop/*[out,retval]*/);
  long            __fastcall get_NumberAcross(void);
  HRESULT         __fastcall set_NumberAcross(long prop/*[in]*/);
  HRESULT         __fastcall get_NumberDown(long* prop/*[out,retval]*/);
  long            __fastcall get_NumberDown(void);
  HRESULT         __fastcall set_NumberDown(long prop/*[in]*/);
  HRESULT         __fastcall get_DotMatrix(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DotMatrix(void);
  HRESULT         __fastcall get_PageSize(Word_xp::WdCustomLabelPageSize* prop/*[out,retval]*/);
  Word_xp::WdCustomLabelPageSize __fastcall get_PageSize(void);
  HRESULT         __fastcall set_PageSize(Word_xp::WdCustomLabelPageSize prop/*[in]*/);
  HRESULT         __fastcall get_Valid(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Valid(void);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   float           TopMargin = {read = get_TopMargin, write = set_TopMargin};
  __property   float           SideMargin = {read = get_SideMargin, write = set_SideMargin};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   float           VerticalPitch = {read = get_VerticalPitch, write = set_VerticalPitch};
  __property   float           HorizontalPitch = {read = get_HorizontalPitch, write = set_HorizontalPitch};
  __property   long            NumberAcross = {read = get_NumberAcross, write = set_NumberAcross};
  __property   long            NumberDown = {read = get_NumberDown, write = set_NumberDown};
  __property   VARIANT_BOOL    DotMatrix = {read = get_DotMatrix};
  __property   Word_xp::WdCustomLabelPageSize PageSize = {read = get_PageSize, write = set_PageSize};
  __property   VARIANT_BOOL    Valid = {read = get_Valid};
};
typedef CustomLabelDispT<CustomLabel> CustomLabelDisp;

typedef TComInterface<TablesOfContents>  TCOMTablesOfContents;

// *********************************************************************//
// DispIntf:  TablesOfContents
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020914-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TablesOfContentsDispT : public TAutoDriver<TablesOfContents>
{
public:
  TablesOfContentsDispT(){}

  TablesOfContentsDispT(TablesOfContents *pintf)
  {
    TAutoDriver<TablesOfContents>::Bind(pintf, false);
  }

  TablesOfContentsDispT(TablesOfContentsPtr pintf)
  {
    TAutoDriver<TablesOfContents>::Bind(pintf, true);
  }

  TablesOfContentsDispT& operator=(TablesOfContents *pintf)
  {
    TAutoDriver<TablesOfContents>::Bind(pintf, false);
    return *this;
  }

  TablesOfContentsDispT& operator=(TablesOfContentsPtr pintf)
  {
    TAutoDriver<TablesOfContents>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Format(Word_xp::WdTocFormat* prop/*[out,retval]*/);
  Word_xp::WdTocFormat __fastcall get_Format(void);
  HRESULT         __fastcall set_Format(Word_xp::WdTocFormat prop/*[in]*/);
  HRESULT         __fastcall Item(long Index/*[in]*/, 
                                  Word_xp::TableOfContents** prop/*[out,retval]*/);
  Word_xp::TableOfContents* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                    VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                    VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                    VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                    VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                    VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                    VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                    VARIANT* AddedStyles/*[in,opt]*/, 
                                    Word_xp::TableOfContents** prop/*[out,retval]*/);
  Word_xp::TableOfContents* __fastcall AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                              VARIANT* UseHeadingStyles/*[in,opt]*/= TNoParam(), 
                                              VARIANT* UpperHeadingLevel/*[in,opt]*/= TNoParam(), 
                                              VARIANT* LowerHeadingLevel/*[in,opt]*/= TNoParam(), 
                                              VARIANT* UseFields/*[in,opt]*/= TNoParam(), 
                                              VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                              VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                              VARIANT* IncludePageNumbers/*[in,opt]*/= TNoParam(), 
                                              VARIANT* AddedStyles/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MarkEntry(Word_xp::WordRange* Range/*[in]*/, VARIANT* Entry/*[in,opt]*/
                                       , VARIANT* EntryAutoText/*[in,opt]*/, 
                                       VARIANT* TableID/*[in,opt]*/, VARIANT* Level/*[in,opt]*/, 
                                       Word_xp::Field** prop/*[out,retval]*/);
  Word_xp::Field* __fastcall MarkEntry(Word_xp::WordRange* Range/*[in]*/, 
                                       VARIANT* Entry/*[in,opt]*/= TNoParam(), 
                                       VARIANT* EntryAutoText/*[in,opt]*/= TNoParam(), 
                                       VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Level/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Add2000(Word_xp::WordRange* Range/*[in]*/, 
                                     VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                     VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                     VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                     VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                     VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                     VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                     VARIANT* AddedStyles/*[in,opt]*/, 
                                     VARIANT* UseHyperlinks/*[in,opt]*/, 
                                     VARIANT* HidePageNumbersInWeb/*[in,opt]*/, 
                                     Word_xp::TableOfContents** prop/*[out,retval]*/);
  Word_xp::TableOfContents* __fastcall Add2000(Word_xp::WordRange* Range/*[in]*/, 
                                               VARIANT* UseHeadingStyles/*[in,opt]*/= TNoParam(), 
                                               VARIANT* UpperHeadingLevel/*[in,opt]*/= TNoParam(), 
                                               VARIANT* LowerHeadingLevel/*[in,opt]*/= TNoParam(), 
                                               VARIANT* UseFields/*[in,opt]*/= TNoParam(), 
                                               VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                               VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                               VARIANT* IncludePageNumbers/*[in,opt]*/= TNoParam(), 
                                               VARIANT* AddedStyles/*[in,opt]*/= TNoParam(), 
                                               VARIANT* UseHyperlinks/*[in,opt]*/= TNoParam(), 
                                               VARIANT* HidePageNumbersInWeb/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                 VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                 VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                 VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                 VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                 VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                 VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                 VARIANT* AddedStyles/*[in,opt]*/, 
                                 VARIANT* UseHyperlinks/*[in,opt]*/, 
                                 VARIANT* HidePageNumbersInWeb/*[in,opt]*/, 
                                 VARIANT* UseOutlineLevels/*[in,opt]*/, 
                                 Word_xp::TableOfContents** prop/*[out,retval]*/);
  Word_xp::TableOfContents* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                           VARIANT* UseHeadingStyles/*[in,opt]*/= TNoParam(), 
                                           VARIANT* UpperHeadingLevel/*[in,opt]*/= TNoParam(), 
                                           VARIANT* LowerHeadingLevel/*[in,opt]*/= TNoParam(), 
                                           VARIANT* UseFields/*[in,opt]*/= TNoParam(), 
                                           VARIANT* TableID/*[in,opt]*/= TNoParam(), 
                                           VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                           VARIANT* IncludePageNumbers/*[in,opt]*/= TNoParam(), 
                                           VARIANT* AddedStyles/*[in,opt]*/= TNoParam(), 
                                           VARIANT* UseHyperlinks/*[in,opt]*/= TNoParam(), 
                                           VARIANT* HidePageNumbersInWeb/*[in,opt]*/= TNoParam(), 
                                           VARIANT* UseOutlineLevels/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdTocFormat Format = {read = get_Format, write = set_Format};
};
typedef TablesOfContentsDispT<TablesOfContents> TablesOfContentsDisp;

typedef TComInterface<TableOfContents>  TCOMTableOfContents;

// *********************************************************************//
// DispIntf:  TableOfContents
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020913-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TableOfContentsDispT : public TAutoDriver<TableOfContents>
{
public:
  TableOfContentsDispT(){}

  TableOfContentsDispT(TableOfContents *pintf)
  {
    TAutoDriver<TableOfContents>::Bind(pintf, false);
  }

  TableOfContentsDispT(TableOfContentsPtr pintf)
  {
    TAutoDriver<TableOfContents>::Bind(pintf, true);
  }

  TableOfContentsDispT& operator=(TableOfContents *pintf)
  {
    TAutoDriver<TableOfContents>::Bind(pintf, false);
    return *this;
  }

  TableOfContentsDispT& operator=(TableOfContentsPtr pintf)
  {
    TAutoDriver<TableOfContents>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_UseHeadingStyles(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseHeadingStyles(void);
  HRESULT         __fastcall set_UseHeadingStyles(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_UseFields(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseFields(void);
  HRESULT         __fastcall set_UseFields(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_UpperHeadingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_UpperHeadingLevel(void);
  HRESULT         __fastcall set_UpperHeadingLevel(long prop/*[in]*/);
  HRESULT         __fastcall get_LowerHeadingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_LowerHeadingLevel(void);
  HRESULT         __fastcall set_LowerHeadingLevel(long prop/*[in]*/);
  HRESULT         __fastcall get_TableID(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_TableID(void);
  HRESULT         __fastcall set_TableID(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_HeadingStyles(Word_xp::HeadingStyles** prop/*[out,retval]*/);
  Word_xp::HeadingStylesPtr __fastcall get_HeadingStyles(void);
  HRESULT         __fastcall get_RightAlignPageNumbers(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RightAlignPageNumbers(void);
  HRESULT         __fastcall set_RightAlignPageNumbers(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_IncludePageNumbers(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IncludePageNumbers(void);
  HRESULT         __fastcall set_IncludePageNumbers(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_TabLeader(Word_xp::WdTabLeader* prop/*[out,retval]*/);
  Word_xp::WdTabLeader __fastcall get_TabLeader(void);
  HRESULT         __fastcall set_TabLeader(Word_xp::WdTabLeader prop/*[in]*/);
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall UpdatePageNumbers();
  HRESULT         __fastcall _Update();
  HRESULT         __fastcall get_UseHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseHyperlinks(void);
  HRESULT         __fastcall set_UseHyperlinks(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HidePageNumbersInWeb(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HidePageNumbersInWeb(void);
  HRESULT         __fastcall set_HidePageNumbersInWeb(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    UseHeadingStyles = {read = get_UseHeadingStyles, write = set_UseHeadingStyles};
  __property   VARIANT_BOOL    UseFields = {read = get_UseFields, write = set_UseFields};
  __property   long            UpperHeadingLevel = {read = get_UpperHeadingLevel, write = set_UpperHeadingLevel};
  __property   long            LowerHeadingLevel = {read = get_LowerHeadingLevel, write = set_LowerHeadingLevel};
  __property   BSTR            TableID = {read = get_TableID, write = set_TableID};
  __property   Word_xp::HeadingStylesPtr HeadingStyles = {read = get_HeadingStyles};
  __property   VARIANT_BOOL    RightAlignPageNumbers = {read = get_RightAlignPageNumbers, write = set_RightAlignPageNumbers};
  __property   VARIANT_BOOL    IncludePageNumbers = {read = get_IncludePageNumbers, write = set_IncludePageNumbers};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WdTabLeader TabLeader = {read = get_TabLeader, write = set_TabLeader};
  __property   VARIANT_BOOL    UseHyperlinks = {read = get_UseHyperlinks, write = set_UseHyperlinks};
  __property   VARIANT_BOOL    HidePageNumbersInWeb = {read = get_HidePageNumbersInWeb, write = set_HidePageNumbersInWeb};
};
typedef TableOfContentsDispT<TableOfContents> TableOfContentsDisp;

typedef TComInterface<TablesOfAuthorities>  TCOMTablesOfAuthorities;

// *********************************************************************//
// DispIntf:  TablesOfAuthorities
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020912-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TablesOfAuthoritiesDispT : public TAutoDriver<TablesOfAuthorities>
{
public:
  TablesOfAuthoritiesDispT(){}

  TablesOfAuthoritiesDispT(TablesOfAuthorities *pintf)
  {
    TAutoDriver<TablesOfAuthorities>::Bind(pintf, false);
  }

  TablesOfAuthoritiesDispT(TablesOfAuthoritiesPtr pintf)
  {
    TAutoDriver<TablesOfAuthorities>::Bind(pintf, true);
  }

  TablesOfAuthoritiesDispT& operator=(TablesOfAuthorities *pintf)
  {
    TAutoDriver<TablesOfAuthorities>::Bind(pintf, false);
    return *this;
  }

  TablesOfAuthoritiesDispT& operator=(TablesOfAuthoritiesPtr pintf)
  {
    TAutoDriver<TablesOfAuthorities>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Format(Word_xp::WdToaFormat* prop/*[out,retval]*/);
  Word_xp::WdToaFormat __fastcall get_Format(void);
  HRESULT         __fastcall set_Format(Word_xp::WdToaFormat prop/*[in]*/);
  HRESULT         __fastcall Item(long Index/*[in]*/, 
                                  Word_xp::TableOfAuthorities** prop/*[out,retval]*/);
  Word_xp::TableOfAuthorities* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Category/*[in,opt]*/, 
                                 VARIANT* Bookmark/*[in,opt]*/, VARIANT* Passim/*[in,opt]*/, 
                                 VARIANT* KeepEntryFormatting/*[in,opt]*/, 
                                 VARIANT* Separator/*[in,opt]*/, 
                                 VARIANT* IncludeSequenceName/*[in,opt]*/, 
                                 VARIANT* EntrySeparator/*[in,opt]*/, 
                                 VARIANT* PageRangeSeparator/*[in,opt]*/, 
                                 VARIANT* IncludeCategoryHeader/*[in,opt]*/, 
                                 VARIANT* PageNumberSeparator/*[in,opt]*/, 
                                 Word_xp::TableOfAuthorities** prop/*[out,retval]*/);
  Word_xp::TableOfAuthorities* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                              VARIANT* Category/*[in,opt]*/= TNoParam(), 
                                              VARIANT* Bookmark/*[in,opt]*/= TNoParam(), 
                                              VARIANT* Passim/*[in,opt]*/= TNoParam(), 
                                              VARIANT* KeepEntryFormatting/*[in,opt]*/= TNoParam(), 
                                              VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                              VARIANT* IncludeSequenceName/*[in,opt]*/= TNoParam(), 
                                              VARIANT* EntrySeparator/*[in,opt]*/= TNoParam(), 
                                              VARIANT* PageRangeSeparator/*[in,opt]*/= TNoParam(), 
                                              VARIANT* IncludeCategoryHeader/*[in,opt]*/= TNoParam(), 
                                              VARIANT* PageNumberSeparator/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall NextCitation(BSTR ShortCitation/*[in]*/);
  HRESULT         __fastcall MarkCitation(Word_xp::WordRange* Range/*[in]*/, 
                                          BSTR ShortCitation/*[in]*/, 
                                          VARIANT* LongCitation/*[in,opt]*/, 
                                          VARIANT* LongCitationAutoText/*[in,opt]*/, 
                                          VARIANT* Category/*[in,opt]*/, 
                                          Word_xp::Field** prop/*[out,retval]*/);
  Word_xp::Field* __fastcall MarkCitation(Word_xp::WordRange* Range/*[in]*/, 
                                          BSTR ShortCitation/*[in]*/, 
                                          VARIANT* LongCitation/*[in,opt]*/= TNoParam(), 
                                          VARIANT* LongCitationAutoText/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Category/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MarkAllCitations(BSTR ShortCitation/*[in]*/, 
                                              VARIANT* LongCitation/*[in,opt]*/= TNoParam(), 
                                              VARIANT* LongCitationAutoText/*[in,opt]*/= TNoParam()
                                              , VARIANT* Category/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdToaFormat Format = {read = get_Format, write = set_Format};
};
typedef TablesOfAuthoritiesDispT<TablesOfAuthorities> TablesOfAuthoritiesDisp;

typedef TComInterface<TableOfAuthorities>  TCOMTableOfAuthorities;

// *********************************************************************//
// DispIntf:  TableOfAuthorities
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020911-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TableOfAuthoritiesDispT : public TAutoDriver<TableOfAuthorities>
{
public:
  TableOfAuthoritiesDispT(){}

  TableOfAuthoritiesDispT(TableOfAuthorities *pintf)
  {
    TAutoDriver<TableOfAuthorities>::Bind(pintf, false);
  }

  TableOfAuthoritiesDispT(TableOfAuthoritiesPtr pintf)
  {
    TAutoDriver<TableOfAuthorities>::Bind(pintf, true);
  }

  TableOfAuthoritiesDispT& operator=(TableOfAuthorities *pintf)
  {
    TAutoDriver<TableOfAuthorities>::Bind(pintf, false);
    return *this;
  }

  TableOfAuthoritiesDispT& operator=(TableOfAuthoritiesPtr pintf)
  {
    TAutoDriver<TableOfAuthorities>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Passim(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Passim(void);
  HRESULT         __fastcall set_Passim(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_KeepEntryFormatting(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_KeepEntryFormatting(void);
  HRESULT         __fastcall set_KeepEntryFormatting(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Category(long* prop/*[out,retval]*/);
  long            __fastcall get_Category(void);
  HRESULT         __fastcall set_Category(long prop/*[in]*/);
  HRESULT         __fastcall get_Bookmark(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Bookmark(void);
  HRESULT         __fastcall set_Bookmark(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Separator(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Separator(void);
  HRESULT         __fastcall set_Separator(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_IncludeSequenceName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_IncludeSequenceName(void);
  HRESULT         __fastcall set_IncludeSequenceName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_EntrySeparator(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_EntrySeparator(void);
  HRESULT         __fastcall set_EntrySeparator(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_PageRangeSeparator(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_PageRangeSeparator(void);
  HRESULT         __fastcall set_PageRangeSeparator(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_IncludeCategoryHeader(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IncludeCategoryHeader(void);
  HRESULT         __fastcall set_IncludeCategoryHeader(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PageNumberSeparator(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_PageNumberSeparator(void);
  HRESULT         __fastcall set_PageNumberSeparator(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_TabLeader(Word_xp::WdTabLeader* prop/*[out,retval]*/);
  Word_xp::WdTabLeader __fastcall get_TabLeader(void);
  HRESULT         __fastcall set_TabLeader(Word_xp::WdTabLeader prop/*[in]*/);
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall _Update();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Passim = {read = get_Passim, write = set_Passim};
  __property   VARIANT_BOOL    KeepEntryFormatting = {read = get_KeepEntryFormatting, write = set_KeepEntryFormatting};
  __property   long            Category = {read = get_Category, write = set_Category};
  __property   BSTR            Bookmark = {read = get_Bookmark, write = set_Bookmark};
  __property   BSTR            Separator = {read = get_Separator, write = set_Separator};
  __property   BSTR            IncludeSequenceName = {read = get_IncludeSequenceName, write = set_IncludeSequenceName};
  __property   BSTR            EntrySeparator = {read = get_EntrySeparator, write = set_EntrySeparator};
  __property   BSTR            PageRangeSeparator = {read = get_PageRangeSeparator, write = set_PageRangeSeparator};
  __property   VARIANT_BOOL    IncludeCategoryHeader = {read = get_IncludeCategoryHeader, write = set_IncludeCategoryHeader};
  __property   BSTR            PageNumberSeparator = {read = get_PageNumberSeparator, write = set_PageNumberSeparator};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WdTabLeader TabLeader = {read = get_TabLeader, write = set_TabLeader};
};
typedef TableOfAuthoritiesDispT<TableOfAuthorities> TableOfAuthoritiesDisp;

typedef TComInterface<Dialogs>  TCOMDialogs;

// *********************************************************************//
// DispIntf:  Dialogs
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020910-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class DialogsDispT : public TAutoDriver<Dialogs>
{
public:
  DialogsDispT(){}

  DialogsDispT(Dialogs *pintf)
  {
    TAutoDriver<Dialogs>::Bind(pintf, false);
  }

  DialogsDispT(DialogsPtr pintf)
  {
    TAutoDriver<Dialogs>::Bind(pintf, true);
  }

  DialogsDispT& operator=(Dialogs *pintf)
  {
    TAutoDriver<Dialogs>::Bind(pintf, false);
    return *this;
  }

  DialogsDispT& operator=(DialogsPtr pintf)
  {
    TAutoDriver<Dialogs>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(Word_xp::WdWordDialog Index/*[in]*/, 
                                  Word_xp::Dialog** prop/*[out,retval]*/);
  Word_xp::Dialog* __fastcall Item(Word_xp::WdWordDialog Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef DialogsDispT<Dialogs> DialogsDisp;

typedef TComInterface<Dialog>  TCOMDialog;

// *********************************************************************//
// DispIntf:  Dialog
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {000209B8-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class DialogDispT : public TAutoDriver<Dialog>
{
public:
  DialogDispT(){}

  DialogDispT(Dialog *pintf)
  {
    TAutoDriver<Dialog>::Bind(pintf, false);
  }

  DialogDispT(DialogPtr pintf)
  {
    TAutoDriver<Dialog>::Bind(pintf, true);
  }

  DialogDispT& operator=(Dialog *pintf)
  {
    TAutoDriver<Dialog>::Bind(pintf, false);
    return *this;
  }

  DialogDispT& operator=(DialogPtr pintf)
  {
    TAutoDriver<Dialog>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_DefaultTab(Word_xp::WdWordDialogTab* prop/*[out,retval]*/);
  Word_xp::WdWordDialogTab __fastcall get_DefaultTab(void);
  HRESULT         __fastcall set_DefaultTab(Word_xp::WdWordDialogTab prop/*[in]*/);
  HRESULT         __fastcall get_Type(Word_xp::WdWordDialog* prop/*[out,retval]*/);
  Word_xp::WdWordDialog __fastcall get_Type(void);
  HRESULT         __fastcall Show(VARIANT* TimeOut/*[in,opt]*/, long* prop/*[out,retval]*/);
  long            __fastcall Show(VARIANT* TimeOut/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Display(VARIANT* TimeOut/*[in,opt]*/, long* prop/*[out,retval]*/);
  long            __fastcall Display(VARIANT* TimeOut/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Execute();
  HRESULT         __fastcall _Update();
  HRESULT         __fastcall get_CommandName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_CommandName(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdWordDialogTab DefaultTab = {read = get_DefaultTab, write = set_DefaultTab};
  __property   Word_xp::WdWordDialog Type = {read = get_Type};
  __property   BSTR            CommandName = {read = get_CommandName};
};
typedef DialogDispT<Dialog> DialogDisp;

typedef TComInterface<PageSetup>  TCOMPageSetup;

// *********************************************************************//
// DispIntf:  PageSetup
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020971-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class PageSetupDispT : public TAutoDriver<PageSetup>
{
public:
  PageSetupDispT(){}

  PageSetupDispT(PageSetup *pintf)
  {
    TAutoDriver<PageSetup>::Bind(pintf, false);
  }

  PageSetupDispT(PageSetupPtr pintf)
  {
    TAutoDriver<PageSetup>::Bind(pintf, true);
  }

  PageSetupDispT& operator=(PageSetup *pintf)
  {
    TAutoDriver<PageSetup>::Bind(pintf, false);
    return *this;
  }

  PageSetupDispT& operator=(PageSetupPtr pintf)
  {
    TAutoDriver<PageSetup>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_TopMargin(float* prop/*[out,retval]*/);
  float           __fastcall get_TopMargin(void);
  HRESULT         __fastcall set_TopMargin(float prop/*[in]*/);
  HRESULT         __fastcall get_BottomMargin(float* prop/*[out,retval]*/);
  float           __fastcall get_BottomMargin(void);
  HRESULT         __fastcall set_BottomMargin(float prop/*[in]*/);
  HRESULT         __fastcall get_LeftMargin(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftMargin(void);
  HRESULT         __fastcall set_LeftMargin(float prop/*[in]*/);
  HRESULT         __fastcall get_RightMargin(float* prop/*[out,retval]*/);
  float           __fastcall get_RightMargin(void);
  HRESULT         __fastcall set_RightMargin(float prop/*[in]*/);
  HRESULT         __fastcall get_Gutter(float* prop/*[out,retval]*/);
  float           __fastcall get_Gutter(void);
  HRESULT         __fastcall set_Gutter(float prop/*[in]*/);
  HRESULT         __fastcall get_PageWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_PageWidth(void);
  HRESULT         __fastcall set_PageWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_PageHeight(float* prop/*[out,retval]*/);
  float           __fastcall get_PageHeight(void);
  HRESULT         __fastcall set_PageHeight(float prop/*[in]*/);
  HRESULT         __fastcall get_Orientation(Word_xp::WdOrientation* prop/*[out,retval]*/);
  Word_xp::WdOrientation __fastcall get_Orientation(void);
  HRESULT         __fastcall set_Orientation(Word_xp::WdOrientation prop/*[in]*/);
  HRESULT         __fastcall get_FirstPageTray(Word_xp::WdPaperTray* prop/*[out,retval]*/);
  Word_xp::WdPaperTray __fastcall get_FirstPageTray(void);
  HRESULT         __fastcall set_FirstPageTray(Word_xp::WdPaperTray prop/*[in]*/);
  HRESULT         __fastcall get_OtherPagesTray(Word_xp::WdPaperTray* prop/*[out,retval]*/);
  Word_xp::WdPaperTray __fastcall get_OtherPagesTray(void);
  HRESULT         __fastcall set_OtherPagesTray(Word_xp::WdPaperTray prop/*[in]*/);
  HRESULT         __fastcall get_VerticalAlignment(Word_xp::WdVerticalAlignment* prop/*[out,retval]*/);
  Word_xp::WdVerticalAlignment __fastcall get_VerticalAlignment(void);
  HRESULT         __fastcall set_VerticalAlignment(Word_xp::WdVerticalAlignment prop/*[in]*/);
  HRESULT         __fastcall get_MirrorMargins(long* prop/*[out,retval]*/);
  long            __fastcall get_MirrorMargins(void);
  HRESULT         __fastcall set_MirrorMargins(long prop/*[in]*/);
  HRESULT         __fastcall get_HeaderDistance(float* prop/*[out,retval]*/);
  float           __fastcall get_HeaderDistance(void);
  HRESULT         __fastcall set_HeaderDistance(float prop/*[in]*/);
  HRESULT         __fastcall get_FooterDistance(float* prop/*[out,retval]*/);
  float           __fastcall get_FooterDistance(void);
  HRESULT         __fastcall set_FooterDistance(float prop/*[in]*/);
  HRESULT         __fastcall get_SectionStart(Word_xp::WdSectionStart* prop/*[out,retval]*/);
  Word_xp::WdSectionStart __fastcall get_SectionStart(void);
  HRESULT         __fastcall set_SectionStart(Word_xp::WdSectionStart prop/*[in]*/);
  HRESULT         __fastcall get_OddAndEvenPagesHeaderFooter(long* prop/*[out,retval]*/);
  long            __fastcall get_OddAndEvenPagesHeaderFooter(void);
  HRESULT         __fastcall set_OddAndEvenPagesHeaderFooter(long prop/*[in]*/);
  HRESULT         __fastcall get_DifferentFirstPageHeaderFooter(long* prop/*[out,retval]*/);
  long            __fastcall get_DifferentFirstPageHeaderFooter(void);
  HRESULT         __fastcall set_DifferentFirstPageHeaderFooter(long prop/*[in]*/);
  HRESULT         __fastcall get_SuppressEndnotes(long* prop/*[out,retval]*/);
  long            __fastcall get_SuppressEndnotes(void);
  HRESULT         __fastcall set_SuppressEndnotes(long prop/*[in]*/);
  HRESULT         __fastcall get_LineNumbering(Word_xp::LineNumbering** prop/*[out,retval]*/);
  Word_xp::LineNumberingPtr __fastcall get_LineNumbering(void);
  HRESULT         __fastcall set_LineNumbering(Word_xp::LineNumberingPtr prop/*[in]*/);
  HRESULT         __fastcall get_TextColumns(Word_xp::TextColumns** prop/*[out,retval]*/);
  Word_xp::TextColumnsPtr __fastcall get_TextColumns(void);
  HRESULT         __fastcall set_TextColumns(Word_xp::TextColumnsPtr prop/*[in]*/);
  HRESULT         __fastcall get_PaperSize(Word_xp::WdPaperSize* prop/*[out,retval]*/);
  Word_xp::WdPaperSize __fastcall get_PaperSize(void);
  HRESULT         __fastcall set_PaperSize(Word_xp::WdPaperSize prop/*[in]*/);
  HRESULT         __fastcall get_TwoPagesOnOne(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_TwoPagesOnOne(void);
  HRESULT         __fastcall set_TwoPagesOnOne(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_GutterOnTop(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_GutterOnTop(void);
  HRESULT         __fastcall set_GutterOnTop(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CharsLine(float* prop/*[out,retval]*/);
  float           __fastcall get_CharsLine(void);
  HRESULT         __fastcall set_CharsLine(float prop/*[in]*/);
  HRESULT         __fastcall get_LinesPage(float* prop/*[out,retval]*/);
  float           __fastcall get_LinesPage(void);
  HRESULT         __fastcall set_LinesPage(float prop/*[in]*/);
  HRESULT         __fastcall get_ShowGrid(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowGrid(void);
  HRESULT         __fastcall set_ShowGrid(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall TogglePortrait();
  HRESULT         __fastcall SetAsTemplateDefault();
  HRESULT         __fastcall get_GutterStyle(Word_xp::WdGutterStyleOld* prop/*[out,retval]*/);
  Word_xp::WdGutterStyleOld __fastcall get_GutterStyle(void);
  HRESULT         __fastcall set_GutterStyle(Word_xp::WdGutterStyleOld prop/*[in]*/);
  HRESULT         __fastcall get_SectionDirection(Word_xp::WdSectionDirection* prop/*[out,retval]*/);
  Word_xp::WdSectionDirection __fastcall get_SectionDirection(void);
  HRESULT         __fastcall set_SectionDirection(Word_xp::WdSectionDirection prop/*[in]*/);
  HRESULT         __fastcall get_LayoutMode(Word_xp::WdLayoutMode* prop/*[out,retval]*/);
  Word_xp::WdLayoutMode __fastcall get_LayoutMode(void);
  HRESULT         __fastcall set_LayoutMode(Word_xp::WdLayoutMode prop/*[in]*/);
  HRESULT         __fastcall get_GutterPos(Word_xp::WdGutterStyle* prop/*[out,retval]*/);
  Word_xp::WdGutterStyle __fastcall get_GutterPos(void);
  HRESULT         __fastcall set_GutterPos(Word_xp::WdGutterStyle prop/*[in]*/);
  HRESULT         __fastcall get_BookFoldPrinting(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_BookFoldPrinting(void);
  HRESULT         __fastcall set_BookFoldPrinting(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_BookFoldRevPrinting(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_BookFoldRevPrinting(void);
  HRESULT         __fastcall set_BookFoldRevPrinting(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_BookFoldPrintingSheets(long* prop/*[out,retval]*/);
  long            __fastcall get_BookFoldPrintingSheets(void);
  HRESULT         __fastcall set_BookFoldPrintingSheets(long prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           TopMargin = {read = get_TopMargin, write = set_TopMargin};
  __property   float           BottomMargin = {read = get_BottomMargin, write = set_BottomMargin};
  __property   float           LeftMargin = {read = get_LeftMargin, write = set_LeftMargin};
  __property   float           RightMargin = {read = get_RightMargin, write = set_RightMargin};
  __property   float           Gutter = {read = get_Gutter, write = set_Gutter};
  __property   float           PageWidth = {read = get_PageWidth, write = set_PageWidth};
  __property   float           PageHeight = {read = get_PageHeight, write = set_PageHeight};
  __property   Word_xp::WdOrientation Orientation = {read = get_Orientation, write = set_Orientation};
  __property   Word_xp::WdPaperTray FirstPageTray = {read = get_FirstPageTray, write = set_FirstPageTray};
  __property   Word_xp::WdPaperTray OtherPagesTray = {read = get_OtherPagesTray, write = set_OtherPagesTray};
  __property   Word_xp::WdVerticalAlignment VerticalAlignment = {read = get_VerticalAlignment, write = set_VerticalAlignment};
  __property   long            MirrorMargins = {read = get_MirrorMargins, write = set_MirrorMargins};
  __property   float           HeaderDistance = {read = get_HeaderDistance, write = set_HeaderDistance};
  __property   float           FooterDistance = {read = get_FooterDistance, write = set_FooterDistance};
  __property   Word_xp::WdSectionStart SectionStart = {read = get_SectionStart, write = set_SectionStart};
  __property   long            OddAndEvenPagesHeaderFooter = {read = get_OddAndEvenPagesHeaderFooter, write = set_OddAndEvenPagesHeaderFooter};
  __property   long            DifferentFirstPageHeaderFooter = {read = get_DifferentFirstPageHeaderFooter, write = set_DifferentFirstPageHeaderFooter};
  __property   long            SuppressEndnotes = {read = get_SuppressEndnotes, write = set_SuppressEndnotes};
  __property   Word_xp::LineNumberingPtr LineNumbering = {read = get_LineNumbering, write = set_LineNumbering};
  __property   Word_xp::TextColumnsPtr TextColumns = {read = get_TextColumns, write = set_TextColumns};
  __property   Word_xp::WdPaperSize PaperSize = {read = get_PaperSize, write = set_PaperSize};
  __property   VARIANT_BOOL    TwoPagesOnOne = {read = get_TwoPagesOnOne, write = set_TwoPagesOnOne};
  __property   VARIANT_BOOL    GutterOnTop = {read = get_GutterOnTop, write = set_GutterOnTop};
  __property   float           CharsLine = {read = get_CharsLine, write = set_CharsLine};
  __property   float           LinesPage = {read = get_LinesPage, write = set_LinesPage};
  __property   VARIANT_BOOL    ShowGrid = {read = get_ShowGrid, write = set_ShowGrid};
  __property   Word_xp::WdGutterStyleOld GutterStyle = {read = get_GutterStyle, write = set_GutterStyle};
  __property   Word_xp::WdSectionDirection SectionDirection = {read = get_SectionDirection, write = set_SectionDirection};
  __property   Word_xp::WdLayoutMode LayoutMode = {read = get_LayoutMode, write = set_LayoutMode};
  __property   Word_xp::WdGutterStyle GutterPos = {read = get_GutterPos, write = set_GutterPos};
  __property   VARIANT_BOOL    BookFoldPrinting = {read = get_BookFoldPrinting, write = set_BookFoldPrinting};
  __property   VARIANT_BOOL    BookFoldRevPrinting = {read = get_BookFoldRevPrinting, write = set_BookFoldRevPrinting};
  __property   long            BookFoldPrintingSheets = {read = get_BookFoldPrintingSheets, write = set_BookFoldPrintingSheets};
};
typedef PageSetupDispT<PageSetup> PageSetupDisp;

typedef TComInterface<LineNumbering>  TCOMLineNumbering;

// *********************************************************************//
// DispIntf:  LineNumbering
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020972-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class LineNumberingDispT : public TAutoDriver<LineNumbering>
{
public:
  LineNumberingDispT(){}

  LineNumberingDispT(LineNumbering *pintf)
  {
    TAutoDriver<LineNumbering>::Bind(pintf, false);
  }

  LineNumberingDispT(LineNumberingPtr pintf)
  {
    TAutoDriver<LineNumbering>::Bind(pintf, true);
  }

  LineNumberingDispT& operator=(LineNumbering *pintf)
  {
    TAutoDriver<LineNumbering>::Bind(pintf, false);
    return *this;
  }

  LineNumberingDispT& operator=(LineNumberingPtr pintf)
  {
    TAutoDriver<LineNumbering>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_RestartMode(Word_xp::WdNumberingRule* prop/*[out,retval]*/);
  Word_xp::WdNumberingRule __fastcall get_RestartMode(void);
  HRESULT         __fastcall set_RestartMode(Word_xp::WdNumberingRule prop/*[in]*/);
  HRESULT         __fastcall get_StartingNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_StartingNumber(void);
  HRESULT         __fastcall set_StartingNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_DistanceFromText(float* prop/*[out,retval]*/);
  float           __fastcall get_DistanceFromText(void);
  HRESULT         __fastcall set_DistanceFromText(float prop/*[in]*/);
  HRESULT         __fastcall get_CountBy(long* prop/*[out,retval]*/);
  long            __fastcall get_CountBy(void);
  HRESULT         __fastcall set_CountBy(long prop/*[in]*/);
  HRESULT         __fastcall get_Active(long* prop/*[out,retval]*/);
  long            __fastcall get_Active(void);
  HRESULT         __fastcall set_Active(long prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdNumberingRule RestartMode = {read = get_RestartMode, write = set_RestartMode};
  __property   long            StartingNumber = {read = get_StartingNumber, write = set_StartingNumber};
  __property   float           DistanceFromText = {read = get_DistanceFromText, write = set_DistanceFromText};
  __property   long            CountBy = {read = get_CountBy, write = set_CountBy};
  __property   long            Active = {read = get_Active, write = set_Active};
};
typedef LineNumberingDispT<LineNumbering> LineNumberingDisp;

typedef TComInterface<TextColumns>  TCOMTextColumns;

// *********************************************************************//
// DispIntf:  TextColumns
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020973-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TextColumnsDispT : public TAutoDriver<TextColumns>
{
public:
  TextColumnsDispT(){}

  TextColumnsDispT(TextColumns *pintf)
  {
    TAutoDriver<TextColumns>::Bind(pintf, false);
  }

  TextColumnsDispT(TextColumnsPtr pintf)
  {
    TAutoDriver<TextColumns>::Bind(pintf, true);
  }

  TextColumnsDispT& operator=(TextColumns *pintf)
  {
    TAutoDriver<TextColumns>::Bind(pintf, false);
    return *this;
  }

  TextColumnsDispT& operator=(TextColumnsPtr pintf)
  {
    TAutoDriver<TextColumns>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_EvenlySpaced(long* prop/*[out,retval]*/);
  long            __fastcall get_EvenlySpaced(void);
  HRESULT         __fastcall set_EvenlySpaced(long prop/*[in]*/);
  HRESULT         __fastcall get_LineBetween(long* prop/*[out,retval]*/);
  long            __fastcall get_LineBetween(void);
  HRESULT         __fastcall set_LineBetween(long prop/*[in]*/);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_Spacing(float* prop/*[out,retval]*/);
  float           __fastcall get_Spacing(void);
  HRESULT         __fastcall set_Spacing(float prop/*[in]*/);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::TextColumn** prop/*[out,retval]*/);
  Word_xp::TextColumn* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(VARIANT* Width/*[in,opt]*/, VARIANT* Spacing/*[in,opt]*/, 
                                 VARIANT* EvenlySpaced/*[in,opt]*/, 
                                 Word_xp::TextColumn** prop/*[out,retval]*/);
  Word_xp::TextColumn* __fastcall Add(VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Spacing/*[in,opt]*/= TNoParam(), 
                                      VARIANT* EvenlySpaced/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SetCount(long NumColumns/*[in]*/);
  HRESULT         __fastcall get_FlowDirection(Word_xp::WdFlowDirection* prop/*[out,retval]*/);
  Word_xp::WdFlowDirection __fastcall get_FlowDirection(void);
  HRESULT         __fastcall set_FlowDirection(Word_xp::WdFlowDirection prop/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            EvenlySpaced = {read = get_EvenlySpaced, write = set_EvenlySpaced};
  __property   long            LineBetween = {read = get_LineBetween, write = set_LineBetween};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   float           Spacing = {read = get_Spacing, write = set_Spacing};
  __property   Word_xp::WdFlowDirection FlowDirection = {read = get_FlowDirection, write = set_FlowDirection};
};
typedef TextColumnsDispT<TextColumns> TextColumnsDisp;

typedef TComInterface<TextColumn>  TCOMTextColumn;

// *********************************************************************//
// DispIntf:  TextColumn
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020974-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TextColumnDispT : public TAutoDriver<TextColumn>
{
public:
  TextColumnDispT(){}

  TextColumnDispT(TextColumn *pintf)
  {
    TAutoDriver<TextColumn>::Bind(pintf, false);
  }

  TextColumnDispT(TextColumnPtr pintf)
  {
    TAutoDriver<TextColumn>::Bind(pintf, true);
  }

  TextColumnDispT& operator=(TextColumn *pintf)
  {
    TAutoDriver<TextColumn>::Bind(pintf, false);
    return *this;
  }

  TextColumnDispT& operator=(TextColumnPtr pintf)
  {
    TAutoDriver<TextColumn>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_SpaceAfter(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceAfter(void);
  HRESULT         __fastcall set_SpaceAfter(float prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   float           SpaceAfter = {read = get_SpaceAfter, write = set_SpaceAfter};
};
typedef TextColumnDispT<TextColumn> TextColumnDisp;

typedef TComInterface<WordSelection>  TCOMWordSelection;

// *********************************************************************//
// DispIntf:  Selection
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020975-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class WordSelectionDispT : public TAutoDriver<WordSelection>
{
public:
  WordSelectionDispT(){}

  WordSelectionDispT(WordSelection *pintf)
  {
    TAutoDriver<WordSelection>::Bind(pintf, false);
  }

  WordSelectionDispT(WordSelectionPtr pintf)
  {
    TAutoDriver<WordSelection>::Bind(pintf, true);
  }

  WordSelectionDispT& operator=(WordSelection *pintf)
  {
    TAutoDriver<WordSelection>::Bind(pintf, false);
    return *this;
  }

  WordSelectionDispT& operator=(WordSelectionPtr pintf)
  {
    TAutoDriver<WordSelection>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Text(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Text(void);
  HRESULT         __fastcall set_Text(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_FormattedText(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_FormattedText(void);
  HRESULT         __fastcall set_FormattedText(Word_xp::WordRangePtr prop/*[in]*/);
  HRESULT         __fastcall get_Start(long* prop/*[out,retval]*/);
  long            __fastcall get_Start(void);
  HRESULT         __fastcall set_Start(long prop/*[in]*/);
  HRESULT         __fastcall get_End(long* prop/*[out,retval]*/);
  long            __fastcall get_End(void);
  HRESULT         __fastcall set_End(long prop/*[in]*/);
  HRESULT         __fastcall get_Font(Word_xp::WordFont** prop/*[out,retval]*/);
  Word_xp::WordFontPtr __fastcall get_Font(void);
  HRESULT         __fastcall set_Font(Word_xp::WordFontPtr prop/*[in]*/);
  HRESULT         __fastcall get_Type(Word_xp::WdSelectionType* prop/*[out,retval]*/);
  Word_xp::WdSelectionType __fastcall get_Type(void);
  HRESULT         __fastcall get_StoryType(Word_xp::WdStoryType* prop/*[out,retval]*/);
  Word_xp::WdStoryType __fastcall get_StoryType(void);
  HRESULT         __fastcall get_Style(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Style(void);
  HRESULT         __fastcall set_Style(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Tables(Word_xp::Tables** prop/*[out,retval]*/);
  Word_xp::TablesPtr __fastcall get_Tables(void);
  HRESULT         __fastcall get_Words(Word_xp::Words** prop/*[out,retval]*/);
  Word_xp::WordsPtr __fastcall get_Words(void);
  HRESULT         __fastcall get_Sentences(Word_xp::Sentences** prop/*[out,retval]*/);
  Word_xp::SentencesPtr __fastcall get_Sentences(void);
  HRESULT         __fastcall get_Characters(Word_xp::Characters** prop/*[out,retval]*/);
  Word_xp::CharactersPtr __fastcall get_Characters(void);
  HRESULT         __fastcall get_Footnotes(Word_xp::Footnotes** prop/*[out,retval]*/);
  Word_xp::FootnotesPtr __fastcall get_Footnotes(void);
  HRESULT         __fastcall get_Endnotes(Word_xp::Endnotes** prop/*[out,retval]*/);
  Word_xp::EndnotesPtr __fastcall get_Endnotes(void);
  HRESULT         __fastcall get_Comments(Word_xp::Comments** prop/*[out,retval]*/);
  Word_xp::CommentsPtr __fastcall get_Comments(void);
  HRESULT         __fastcall get_Cells(Word_xp::Cells** prop/*[out,retval]*/);
  Word_xp::CellsPtr __fastcall get_Cells(void);
  HRESULT         __fastcall get_Sections(Word_xp::Sections** prop/*[out,retval]*/);
  Word_xp::SectionsPtr __fastcall get_Sections(void);
  HRESULT         __fastcall get_Paragraphs(Word_xp::Paragraphs** prop/*[out,retval]*/);
  Word_xp::ParagraphsPtr __fastcall get_Paragraphs(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_Fields(Word_xp::Fields** prop/*[out,retval]*/);
  Word_xp::FieldsPtr __fastcall get_Fields(void);
  HRESULT         __fastcall get_FormFields(Word_xp::FormFields** prop/*[out,retval]*/);
  Word_xp::FormFieldsPtr __fastcall get_FormFields(void);
  HRESULT         __fastcall get_Frames(Word_xp::Frames** prop/*[out,retval]*/);
  Word_xp::FramesPtr __fastcall get_Frames(void);
  HRESULT         __fastcall get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/);
  Word_xp::WordParagraphFormatPtr __fastcall get_ParagraphFormat(void);
  HRESULT         __fastcall set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/);
  HRESULT         __fastcall get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/);
  Word_xp::PageSetupPtr __fastcall get_PageSetup(void);
  HRESULT         __fastcall set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/);
  HRESULT         __fastcall get_Bookmarks(Word_xp::Bookmarks** prop/*[out,retval]*/);
  Word_xp::BookmarksPtr __fastcall get_Bookmarks(void);
  HRESULT         __fastcall get_StoryLength(long* prop/*[out,retval]*/);
  long            __fastcall get_StoryLength(void);
  HRESULT         __fastcall get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageID(void);
  HRESULT         __fastcall set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageIDFarEast(void);
  HRESULT         __fastcall set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_LanguageIDOther(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageIDOther(void);
  HRESULT         __fastcall set_LanguageIDOther(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_Hyperlinks(Word_xp::Hyperlinks** prop/*[out,retval]*/);
  Word_xp::HyperlinksPtr __fastcall get_Hyperlinks(void);
  HRESULT         __fastcall get_Columns(Word_xp::Columns** prop/*[out,retval]*/);
  Word_xp::ColumnsPtr __fastcall get_Columns(void);
  HRESULT         __fastcall get_Rows(Word_xp::Rows** prop/*[out,retval]*/);
  Word_xp::RowsPtr __fastcall get_Rows(void);
  HRESULT         __fastcall get_HeaderFooter(Word_xp::HeaderFooter** prop/*[out,retval]*/);
  Word_xp::HeaderFooterPtr __fastcall get_HeaderFooter(void);
  HRESULT         __fastcall get_IsEndOfRowMark(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsEndOfRowMark(void);
  HRESULT         __fastcall get_BookmarkID(long* prop/*[out,retval]*/);
  long            __fastcall get_BookmarkID(void);
  HRESULT         __fastcall get_PreviousBookmarkID(long* prop/*[out,retval]*/);
  long            __fastcall get_PreviousBookmarkID(void);
  HRESULT         __fastcall get_Find(Word_xp::Find** prop/*[out,retval]*/);
  Word_xp::FindPtr __fastcall get_Find(void);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Information(Word_xp::WdInformation Type/*[in]*/, 
                                             VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Information(Word_xp::WdInformation Type/*[in]*/);
  HRESULT         __fastcall get_Flags(Word_xp::WdSelectionFlags* prop/*[out,retval]*/);
  Word_xp::WdSelectionFlags __fastcall get_Flags(void);
  HRESULT         __fastcall set_Flags(Word_xp::WdSelectionFlags prop/*[in]*/);
  HRESULT         __fastcall get_Active(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Active(void);
  HRESULT         __fastcall get_StartIsActive(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_StartIsActive(void);
  HRESULT         __fastcall set_StartIsActive(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_IPAtEndOfLine(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IPAtEndOfLine(void);
  HRESULT         __fastcall get_ExtendMode(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ExtendMode(void);
  HRESULT         __fastcall set_ExtendMode(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ColumnSelectMode(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ColumnSelectMode(void);
  HRESULT         __fastcall set_ColumnSelectMode(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Orientation(Word_xp::WdTextOrientation* prop/*[out,retval]*/);
  Word_xp::WdTextOrientation __fastcall get_Orientation(void);
  HRESULT         __fastcall set_Orientation(Word_xp::WdTextOrientation prop/*[in]*/);
  HRESULT         __fastcall get_InlineShapes(Word_xp::InlineShapes** prop/*[out,retval]*/);
  Word_xp::InlineShapesPtr __fastcall get_InlineShapes(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Document(Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocumentPtr __fastcall get_Document(void);
  HRESULT         __fastcall get_ShapeRange(Word_xp::ShapeRange** prop/*[out,retval]*/);
  Word_xp::ShapeRangePtr __fastcall get_ShapeRange(void);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall SetRange(long Start/*[in]*/, long End/*[in]*/);
  HRESULT         __fastcall Collapse(VARIANT* Direction/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertBefore(BSTR Text/*[in]*/);
  HRESULT         __fastcall InsertAfter(BSTR Text/*[in]*/);
  HRESULT         __fastcall Next(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                  Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall Next(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Previous(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                      Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall Previous(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall StartOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                                     long* prop/*[out,retval]*/);
  long            __fastcall StartOf(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Extend/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall EndOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                                   long* prop/*[out,retval]*/);
  long            __fastcall EndOf(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                   VARIANT* Extend/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Move(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                  long* prop/*[out,retval]*/);
  long            __fastcall Move(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                  VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveStart(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                       long* prop/*[out,retval]*/);
  long            __fastcall MoveStart(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveEnd(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                     long* prop/*[out,retval]*/);
  long            __fastcall MoveEnd(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                       long* prop/*[out,retval]*/);
  long            __fastcall MoveWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveStartWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                            long* prop/*[out,retval]*/);
  long            __fastcall MoveStartWhile(VARIANT* Cset/*[in]*/, 
                                            VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveEndWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                          long* prop/*[out,retval]*/);
  long            __fastcall MoveEndWhile(VARIANT* Cset/*[in]*/, 
                                          VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                       long* prop/*[out,retval]*/);
  long            __fastcall MoveUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveStartUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                            long* prop/*[out,retval]*/);
  long            __fastcall MoveStartUntil(VARIANT* Cset/*[in]*/, 
                                            VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveEndUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                          long* prop/*[out,retval]*/);
  long            __fastcall MoveEndUntil(VARIANT* Cset/*[in]*/, 
                                          VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Cut();
  HRESULT         __fastcall Copy();
  HRESULT         __fastcall Paste();
  HRESULT         __fastcall InsertBreak(VARIANT* Type/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertFile(BSTR FileName/*[in]*/, 
                                        VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                        VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Link/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Attachment/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InStory(Word_xp::WordRange* Range/*[in]*/, 
                                     VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall InStory(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall InRange(Word_xp::WordRange* Range/*[in]*/, 
                                     VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall InRange(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall Delete(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                    long* prop/*[out,retval]*/);
  long            __fastcall Delete(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Count/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Expand(VARIANT* Unit/*[in,opt]*/, long* prop/*[out,retval]*/);
  long            __fastcall Expand(VARIANT* Unit/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertParagraph();
  HRESULT         __fastcall InsertParagraphAfter();
  HRESULT         __fastcall ConvertToTableOld(VARIANT* Separator/*[in,opt]*/, 
                                               VARIANT* NumRows/*[in,opt]*/, 
                                               VARIANT* NumColumns/*[in,opt]*/, 
                                               VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                               VARIANT* Format/*[in,opt]*/, 
                                               VARIANT* ApplyBorders/*[in,opt]*/, 
                                               VARIANT* ApplyShading/*[in,opt]*/, 
                                               VARIANT* ApplyFont/*[in,opt]*/, 
                                               VARIANT* ApplyColor/*[in,opt]*/, 
                                               VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                               VARIANT* ApplyLastRow/*[in,opt]*/, 
                                               VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                               VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                               VARIANT* AutoFit/*[in,opt]*/, 
                                               Word_xp::Table** prop/*[out,retval]*/);
  Word_xp::Table* __fastcall ConvertToTableOld(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NumRows/*[in,opt]*/= TNoParam(), 
                                               VARIANT* NumColumns/*[in,opt]*/= TNoParam(), 
                                               VARIANT* InitialColumnWidth/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyBorders/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyShading/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyFont/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyColor/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyHeadingRows/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyLastRow/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyFirstColumn/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ApplyLastColumn/*[in,opt]*/= TNoParam(), 
                                               VARIANT* AutoFit/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertDateTimeOld(VARIANT* DateTimeFormat/*[in,opt]*/= TNoParam(), 
                                               VARIANT* InsertAsField/*[in,opt]*/= TNoParam(), 
                                               VARIANT* InsertAsFullWidth/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertSymbol(long CharacterNumber/*[in]*/, 
                                          VARIANT* Font/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Unicode/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Bias/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertCrossReference(VARIANT* ReferenceType/*[in]*/, 
                                                  Word_xp::WdReferenceKind ReferenceKind/*[in]*/, 
                                                  VARIANT* ReferenceItem/*[in]*/, 
                                                  VARIANT* InsertAsHyperlink/*[in,opt]*/= TNoParam()
                                                  , VARIANT* IncludePosition/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertCaption(VARIANT* Label/*[in]*/, 
                                           VARIANT* Title/*[in,opt]*/= TNoParam(), 
                                           VARIANT* TitleAutoText/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Position/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CopyAsPicture();
  HRESULT         __fastcall SortOld(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                     VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                     VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                     VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SortColumn/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                     VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                     VARIANT* LanguageID/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SortAscending();
  HRESULT         __fastcall SortDescending();
  HRESULT         __fastcall IsEqual(Word_xp::WordRange* Range/*[in]*/, 
                                     VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall IsEqual(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall Calculate(float* prop/*[out,retval]*/);
  float           __fastcall Calculate(void);
  HRESULT         __fastcall GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                                  VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                                  Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall GoTo(VARIANT* What/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Which/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Name/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall GoToNext(Word_xp::WdGoToItem What/*[in]*/, 
                                      Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall GoToNext(Word_xp::WdGoToItem What/*[in]*/);
  HRESULT         __fastcall GoToPrevious(Word_xp::WdGoToItem What/*[in]*/, 
                                          Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall GoToPrevious(Word_xp::WdGoToItem What/*[in]*/);
  HRESULT         __fastcall PasteSpecial(VARIANT* IconIndex/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Link/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Placement/*[in,opt]*/= TNoParam(), 
                                          VARIANT* DisplayAsIcon/*[in,opt]*/= TNoParam(), 
                                          VARIANT* DataType/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IconFileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IconLabel/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PreviousField(Word_xp::Field** prop/*[out,retval]*/);
  Word_xp::Field* __fastcall PreviousField(void);
  HRESULT         __fastcall NextField(Word_xp::Field** prop/*[out,retval]*/);
  Word_xp::Field* __fastcall NextField(void);
  HRESULT         __fastcall InsertParagraphBefore();
  HRESULT         __fastcall InsertCells(VARIANT* ShiftCells/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Extend(VARIANT* Character/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Shrink();
  HRESULT         __fastcall MoveLeft(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                      VARIANT* Extend/*[in,opt]*/, long* prop/*[out,retval]*/);
  long            __fastcall MoveLeft(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Extend/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveRight(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                       VARIANT* Extend/*[in,opt]*/, long* prop/*[out,retval]*/);
  long            __fastcall MoveRight(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Count/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Extend/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveUp(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                    VARIANT* Extend/*[in,opt]*/, long* prop/*[out,retval]*/);
  long            __fastcall MoveUp(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Count/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Extend/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MoveDown(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                      VARIANT* Extend/*[in,opt]*/, long* prop/*[out,retval]*/);
  long            __fastcall MoveDown(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Count/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Extend/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall HomeKey(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                                     long* prop/*[out,retval]*/);
  long            __fastcall HomeKey(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Extend/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall EndKey(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                                    long* prop/*[out,retval]*/);
  long            __fastcall EndKey(VARIANT* Unit/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Extend/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall EscapeKey();
  HRESULT         __fastcall TypeText(BSTR Text/*[in]*/);
  HRESULT         __fastcall CopyFormat();
  HRESULT         __fastcall PasteFormat();
  HRESULT         __fastcall TypeParagraph();
  HRESULT         __fastcall TypeBackspace();
  HRESULT         __fastcall NextSubdocument();
  HRESULT         __fastcall PreviousSubdocument();
  HRESULT         __fastcall SelectColumn();
  HRESULT         __fastcall SelectCurrentFont();
  HRESULT         __fastcall SelectCurrentAlignment();
  HRESULT         __fastcall SelectCurrentSpacing();
  HRESULT         __fastcall SelectCurrentIndent();
  HRESULT         __fastcall SelectCurrentTabs();
  HRESULT         __fastcall SelectCurrentColor();
  HRESULT         __fastcall CreateTextbox();
  HRESULT         __fastcall WholeStory();
  HRESULT         __fastcall SelectRow();
  HRESULT         __fastcall SplitTable();
  HRESULT         __fastcall InsertRows(VARIANT* NumRows/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertColumns();
  HRESULT         __fastcall InsertFormula(VARIANT* Formula/*[in,opt]*/= TNoParam(), 
                                           VARIANT* NumberFormat/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall NextRevision(VARIANT* Wrap/*[in,opt]*/, 
                                          Word_xp::Revision** prop/*[out,retval]*/);
  Word_xp::Revision* __fastcall NextRevision(VARIANT* Wrap/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PreviousRevision(VARIANT* Wrap/*[in,opt]*/, 
                                              Word_xp::Revision** prop/*[out,retval]*/);
  Word_xp::Revision* __fastcall PreviousRevision(VARIANT* Wrap/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall PasteAsNestedTable();
  HRESULT         __fastcall CreateAutoTextEntry(BSTR Name/*[in]*/, BSTR StyleName/*[in]*/, 
                                                 Word_xp::AutoTextEntry** prop/*[out,retval]*/);
  Word_xp::AutoTextEntry* __fastcall CreateAutoTextEntry(BSTR Name/*[in]*/, BSTR StyleName/*[in]*/);
  HRESULT         __fastcall DetectLanguage();
  HRESULT         __fastcall SelectCell();
  HRESULT         __fastcall InsertRowsBelow(VARIANT* NumRows/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall InsertColumnsRight();
  HRESULT         __fastcall InsertRowsAbove(VARIANT* NumRows/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall RtlRun();
  HRESULT         __fastcall LtrRun();
  HRESULT         __fastcall BoldRun();
  HRESULT         __fastcall ItalicRun();
  HRESULT         __fastcall RtlPara();
  HRESULT         __fastcall LtrPara();
  HRESULT         __fastcall InsertDateTime(VARIANT* DateTimeFormat/*[in,opt]*/= TNoParam(), 
                                            VARIANT* InsertAsField/*[in,opt]*/= TNoParam(), 
                                            VARIANT* InsertAsFullWidth/*[in,opt]*/= TNoParam(), 
                                            VARIANT* DateLanguage/*[in,opt]*/= TNoParam(), 
                                            VARIANT* CalendarType/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Sort2000(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                      VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                      VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                      VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SortColumn/*[in,opt]*/= TNoParam(), 
                                      VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                      VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                      VARIANT* BidiSort/*[in,opt]*/= TNoParam(), 
                                      VARIANT* IgnoreThe/*[in,opt]*/= TNoParam(), 
                                      VARIANT* IgnoreKashida/*[in,opt]*/= TNoParam(), 
                                      VARIANT* IgnoreDiacritics/*[in,opt]*/= TNoParam(), 
                                      VARIANT* IgnoreHe/*[in,opt]*/= TNoParam(), 
                                      VARIANT* LanguageID/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ConvertToTable(VARIANT* Separator/*[in,opt]*/, 
                                            VARIANT* NumRows/*[in,opt]*/, 
                                            VARIANT* NumColumns/*[in,opt]*/, 
                                            VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                            VARIANT* Format/*[in,opt]*/, 
                                            VARIANT* ApplyBorders/*[in,opt]*/, 
                                            VARIANT* ApplyShading/*[in,opt]*/, 
                                            VARIANT* ApplyFont/*[in,opt]*/, 
                                            VARIANT* ApplyColor/*[in,opt]*/, 
                                            VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                            VARIANT* ApplyLastRow/*[in,opt]*/, 
                                            VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                            VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                            VARIANT* AutoFit/*[in,opt]*/, 
                                            VARIANT* AutoFitBehavior/*[in,opt]*/, 
                                            VARIANT* DefaultTableBehavior/*[in,opt]*/, 
                                            Word_xp::Table** prop/*[out,retval]*/);
  Word_xp::Table* __fastcall ConvertToTable(VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                            VARIANT* NumRows/*[in,opt]*/= TNoParam(), 
                                            VARIANT* NumColumns/*[in,opt]*/= TNoParam(), 
                                            VARIANT* InitialColumnWidth/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Format/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyBorders/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyShading/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyFont/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyColor/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyHeadingRows/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyLastRow/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyFirstColumn/*[in,opt]*/= TNoParam(), 
                                            VARIANT* ApplyLastColumn/*[in,opt]*/= TNoParam(), 
                                            VARIANT* AutoFit/*[in,opt]*/= TNoParam(), 
                                            VARIANT* AutoFitBehavior/*[in,opt]*/= TNoParam(), 
                                            VARIANT* DefaultTableBehavior/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_NoProofing(long* prop/*[out,retval]*/);
  long            __fastcall get_NoProofing(void);
  HRESULT         __fastcall set_NoProofing(long prop/*[in]*/);
  HRESULT         __fastcall get_TopLevelTables(Word_xp::Tables** prop/*[out,retval]*/);
  Word_xp::TablesPtr __fastcall get_TopLevelTables(void);
  HRESULT         __fastcall get_LanguageDetected(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_LanguageDetected(void);
  HRESULT         __fastcall set_LanguageDetected(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FitTextWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_FitTextWidth(void);
  HRESULT         __fastcall set_FitTextWidth(float prop/*[in]*/);
  HRESULT         __fastcall ClearFormatting();
  HRESULT         __fastcall PasteAppendTable();
  HRESULT         __fastcall get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/);
  Word_xp::HTMLDivisionsPtr __fastcall get_HTMLDivisions(void);
  HRESULT         __fastcall get_SmartTags(Word_xp::SmartTags** prop/*[out,retval]*/);
  Word_xp::SmartTagsPtr __fastcall get_SmartTags(void);
  HRESULT         __fastcall get_ChildShapeRange(Word_xp::ShapeRange** prop/*[out,retval]*/);
  Word_xp::ShapeRangePtr __fastcall get_ChildShapeRange(void);
  HRESULT         __fastcall get_HasChildShapeRange(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HasChildShapeRange(void);
  HRESULT         __fastcall get_FootnoteOptions(Word_xp::FootnoteOptions** prop/*[out,retval]*/);
  Word_xp::FootnoteOptionsPtr __fastcall get_FootnoteOptions(void);
  HRESULT         __fastcall get_EndnoteOptions(Word_xp::EndnoteOptions** prop/*[out,retval]*/);
  Word_xp::EndnoteOptionsPtr __fastcall get_EndnoteOptions(void);
  HRESULT         __fastcall ToggleCharacterCode();
  HRESULT         __fastcall PasteAndFormat(Word_xp::WdRecoveryType Type/*[in]*/);
  HRESULT         __fastcall PasteExcelTable(VARIANT_BOOL LinkedToExcel/*[in]*/, 
                                             VARIANT_BOOL WordFormatting/*[in]*/, 
                                             VARIANT_BOOL RTF/*[in]*/);
  HRESULT         __fastcall ShrinkDiscontiguousSelection();
  HRESULT         __fastcall InsertStyleSeparator();
  HRESULT         __fastcall Sort(VARIANT* ExcludeHeader/*[in,opt]*/= TNoParam(), 
                                  VARIANT* FieldNumber/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortFieldType/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortOrder/*[in,opt]*/= TNoParam(), 
                                  VARIANT* FieldNumber2/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortFieldType2/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortOrder2/*[in,opt]*/= TNoParam(), 
                                  VARIANT* FieldNumber3/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortFieldType3/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortOrder3/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SortColumn/*[in,opt]*/= TNoParam(), 
                                  VARIANT* Separator/*[in,opt]*/= TNoParam(), 
                                  VARIANT* CaseSensitive/*[in,opt]*/= TNoParam(), 
                                  VARIANT* BidiSort/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreThe/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreKashida/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreDiacritics/*[in,opt]*/= TNoParam(), 
                                  VARIANT* IgnoreHe/*[in,opt]*/= TNoParam(), 
                                  VARIANT* LanguageID/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SubFieldNumber/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SubFieldNumber2/*[in,opt]*/= TNoParam(), 
                                  VARIANT* SubFieldNumber3/*[in,opt]*/= TNoParam());

  __property   BSTR            Text = {read = get_Text, write = set_Text};
  __property   Word_xp::WordRangePtr FormattedText = {read = get_FormattedText, write = set_FormattedText};
  __property   long            Start = {read = get_Start, write = set_Start};
  __property   long            End = {read = get_End, write = set_End};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
  __property   Word_xp::WdSelectionType Type = {read = get_Type};
  __property   Word_xp::WdStoryType StoryType = {read = get_StoryType};
  __property   Word_xp::TablesPtr Tables = {read = get_Tables};
  __property   Word_xp::WordsPtr Words = {read = get_Words};
  __property   Word_xp::SentencesPtr Sentences = {read = get_Sentences};
  __property   Word_xp::CharactersPtr Characters = {read = get_Characters};
  __property   Word_xp::FootnotesPtr Footnotes = {read = get_Footnotes};
  __property   Word_xp::EndnotesPtr Endnotes = {read = get_Endnotes};
  __property   Word_xp::CommentsPtr Comments = {read = get_Comments};
  __property   Word_xp::CellsPtr Cells = {read = get_Cells};
  __property   Word_xp::SectionsPtr Sections = {read = get_Sections};
  __property   Word_xp::ParagraphsPtr Paragraphs = {read = get_Paragraphs};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::FieldsPtr Fields = {read = get_Fields};
  __property   Word_xp::FormFieldsPtr FormFields = {read = get_FormFields};
  __property   Word_xp::FramesPtr Frames = {read = get_Frames};
  __property   Word_xp::WordParagraphFormatPtr ParagraphFormat = {read = get_ParagraphFormat, write = set_ParagraphFormat};
  __property   Word_xp::PageSetupPtr PageSetup = {read = get_PageSetup, write = set_PageSetup};
  __property   Word_xp::BookmarksPtr Bookmarks = {read = get_Bookmarks};
  __property   long            StoryLength = {read = get_StoryLength};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   Word_xp::WdLanguageID LanguageIDFarEast = {read = get_LanguageIDFarEast, write = set_LanguageIDFarEast};
  __property   Word_xp::WdLanguageID LanguageIDOther = {read = get_LanguageIDOther, write = set_LanguageIDOther};
  __property   Word_xp::HyperlinksPtr Hyperlinks = {read = get_Hyperlinks};
  __property   Word_xp::ColumnsPtr Columns = {read = get_Columns};
  __property   Word_xp::RowsPtr Rows = {read = get_Rows};
  __property   Word_xp::HeaderFooterPtr HeaderFooter = {read = get_HeaderFooter};
  __property   VARIANT_BOOL    IsEndOfRowMark = {read = get_IsEndOfRowMark};
  __property   long            BookmarkID = {read = get_BookmarkID};
  __property   long            PreviousBookmarkID = {read = get_PreviousBookmarkID};
  __property   Word_xp::FindPtr Find = {read = get_Find};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WdSelectionFlags Flags = {read = get_Flags, write = set_Flags};
  __property   VARIANT_BOOL    Active = {read = get_Active};
  __property   VARIANT_BOOL    StartIsActive = {read = get_StartIsActive, write = set_StartIsActive};
  __property   VARIANT_BOOL    IPAtEndOfLine = {read = get_IPAtEndOfLine};
  __property   VARIANT_BOOL    ExtendMode = {read = get_ExtendMode, write = set_ExtendMode};
  __property   VARIANT_BOOL    ColumnSelectMode = {read = get_ColumnSelectMode, write = set_ColumnSelectMode};
  __property   Word_xp::WdTextOrientation Orientation = {read = get_Orientation, write = set_Orientation};
  __property   Word_xp::InlineShapesPtr InlineShapes = {read = get_InlineShapes};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordDocumentPtr Document = {read = get_Document};
  __property   Word_xp::ShapeRangePtr ShapeRange = {read = get_ShapeRange};
  __property   long            NoProofing = {read = get_NoProofing, write = set_NoProofing};
  __property   Word_xp::TablesPtr TopLevelTables = {read = get_TopLevelTables};
  __property   VARIANT_BOOL    LanguageDetected = {read = get_LanguageDetected, write = set_LanguageDetected};
  __property   float           FitTextWidth = {read = get_FitTextWidth, write = set_FitTextWidth};
  __property   Word_xp::HTMLDivisionsPtr HTMLDivisions = {read = get_HTMLDivisions};
  __property   Word_xp::SmartTagsPtr SmartTags = {read = get_SmartTags};
  __property   Word_xp::ShapeRangePtr ChildShapeRange = {read = get_ChildShapeRange};
  __property   VARIANT_BOOL    HasChildShapeRange = {read = get_HasChildShapeRange};
  __property   Word_xp::FootnoteOptionsPtr FootnoteOptions = {read = get_FootnoteOptions};
  __property   Word_xp::EndnoteOptionsPtr EndnoteOptions = {read = get_EndnoteOptions};
};
typedef WordSelectionDispT<WordSelection> WordSelectionDisp;

typedef TComInterface<TablesOfAuthoritiesCategories>  TCOMTablesOfAuthoritiesCategories;

// *********************************************************************//
// DispIntf:  TablesOfAuthoritiesCategories
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020976-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TablesOfAuthoritiesCategoriesDispT : public TAutoDriver<TablesOfAuthoritiesCategories>
{
public:
  TablesOfAuthoritiesCategoriesDispT(){}

  TablesOfAuthoritiesCategoriesDispT(TablesOfAuthoritiesCategories *pintf)
  {
    TAutoDriver<TablesOfAuthoritiesCategories>::Bind(pintf, false);
  }

  TablesOfAuthoritiesCategoriesDispT(TablesOfAuthoritiesCategoriesPtr pintf)
  {
    TAutoDriver<TablesOfAuthoritiesCategories>::Bind(pintf, true);
  }

  TablesOfAuthoritiesCategoriesDispT& operator=(TablesOfAuthoritiesCategories *pintf)
  {
    TAutoDriver<TablesOfAuthoritiesCategories>::Bind(pintf, false);
    return *this;
  }

  TablesOfAuthoritiesCategoriesDispT& operator=(TablesOfAuthoritiesCategoriesPtr pintf)
  {
    TAutoDriver<TablesOfAuthoritiesCategories>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::TableOfAuthoritiesCategory** prop/*[out,retval]*/);
  Word_xp::TableOfAuthoritiesCategory* __fastcall Item(VARIANT* Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef TablesOfAuthoritiesCategoriesDispT<TablesOfAuthoritiesCategories> TablesOfAuthoritiesCategoriesDisp;

typedef TComInterface<TableOfAuthoritiesCategory>  TCOMTableOfAuthoritiesCategory;

// *********************************************************************//
// DispIntf:  TableOfAuthoritiesCategory
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020977-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TableOfAuthoritiesCategoryDispT : public TAutoDriver<TableOfAuthoritiesCategory>
{
public:
  TableOfAuthoritiesCategoryDispT(){}

  TableOfAuthoritiesCategoryDispT(TableOfAuthoritiesCategory *pintf)
  {
    TAutoDriver<TableOfAuthoritiesCategory>::Bind(pintf, false);
  }

  TableOfAuthoritiesCategoryDispT(TableOfAuthoritiesCategoryPtr pintf)
  {
    TAutoDriver<TableOfAuthoritiesCategory>::Bind(pintf, true);
  }

  TableOfAuthoritiesCategoryDispT& operator=(TableOfAuthoritiesCategory *pintf)
  {
    TAutoDriver<TableOfAuthoritiesCategory>::Bind(pintf, false);
    return *this;
  }

  TableOfAuthoritiesCategoryDispT& operator=(TableOfAuthoritiesCategoryPtr pintf)
  {
    TAutoDriver<TableOfAuthoritiesCategory>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   long            Index = {read = get_Index};
};
typedef TableOfAuthoritiesCategoryDispT<TableOfAuthoritiesCategory> TableOfAuthoritiesCategoryDisp;

typedef TComInterface<CaptionLabels>  TCOMCaptionLabels;

// *********************************************************************//
// DispIntf:  CaptionLabels
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020978-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class CaptionLabelsDispT : public TAutoDriver<CaptionLabels>
{
public:
  CaptionLabelsDispT(){}

  CaptionLabelsDispT(CaptionLabels *pintf)
  {
    TAutoDriver<CaptionLabels>::Bind(pintf, false);
  }

  CaptionLabelsDispT(CaptionLabelsPtr pintf)
  {
    TAutoDriver<CaptionLabels>::Bind(pintf, true);
  }

  CaptionLabelsDispT& operator=(CaptionLabels *pintf)
  {
    TAutoDriver<CaptionLabels>::Bind(pintf, false);
    return *this;
  }

  CaptionLabelsDispT& operator=(CaptionLabelsPtr pintf)
  {
    TAutoDriver<CaptionLabels>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::CaptionLabel** prop/*[out,retval]*/);
  Word_xp::CaptionLabel* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, Word_xp::CaptionLabel** prop/*[out,retval]*/);
  Word_xp::CaptionLabel* __fastcall Add(BSTR Name/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef CaptionLabelsDispT<CaptionLabels> CaptionLabelsDisp;

typedef TComInterface<CaptionLabel>  TCOMCaptionLabel;

// *********************************************************************//
// DispIntf:  CaptionLabel
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020979-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class CaptionLabelDispT : public TAutoDriver<CaptionLabel>
{
public:
  CaptionLabelDispT(){}

  CaptionLabelDispT(CaptionLabel *pintf)
  {
    TAutoDriver<CaptionLabel>::Bind(pintf, false);
  }

  CaptionLabelDispT(CaptionLabelPtr pintf)
  {
    TAutoDriver<CaptionLabel>::Bind(pintf, true);
  }

  CaptionLabelDispT& operator=(CaptionLabel *pintf)
  {
    TAutoDriver<CaptionLabel>::Bind(pintf, false);
    return *this;
  }

  CaptionLabelDispT& operator=(CaptionLabelPtr pintf)
  {
    TAutoDriver<CaptionLabel>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_BuiltIn(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_BuiltIn(void);
  HRESULT         __fastcall get_ID(Word_xp::WdCaptionLabelID* prop/*[out,retval]*/);
  Word_xp::WdCaptionLabelID __fastcall get_ID(void);
  HRESULT         __fastcall get_IncludeChapterNumber(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IncludeChapterNumber(void);
  HRESULT         __fastcall set_IncludeChapterNumber(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_NumberStyle(Word_xp::WdCaptionNumberStyle* prop/*[out,retval]*/);
  Word_xp::WdCaptionNumberStyle __fastcall get_NumberStyle(void);
  HRESULT         __fastcall set_NumberStyle(Word_xp::WdCaptionNumberStyle prop/*[in]*/);
  HRESULT         __fastcall get_ChapterStyleLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_ChapterStyleLevel(void);
  HRESULT         __fastcall set_ChapterStyleLevel(long prop/*[in]*/);
  HRESULT         __fastcall get_Separator(Word_xp::WdSeparatorType* prop/*[out,retval]*/);
  Word_xp::WdSeparatorType __fastcall get_Separator(void);
  HRESULT         __fastcall set_Separator(Word_xp::WdSeparatorType prop/*[in]*/);
  HRESULT         __fastcall get_Position(Word_xp::WdCaptionPosition* prop/*[out,retval]*/);
  Word_xp::WdCaptionPosition __fastcall get_Position(void);
  HRESULT         __fastcall set_Position(Word_xp::WdCaptionPosition prop/*[in]*/);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   VARIANT_BOOL    BuiltIn = {read = get_BuiltIn};
  __property   Word_xp::WdCaptionLabelID ID = {read = get_ID};
  __property   VARIANT_BOOL    IncludeChapterNumber = {read = get_IncludeChapterNumber, write = set_IncludeChapterNumber};
  __property   Word_xp::WdCaptionNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   long            ChapterStyleLevel = {read = get_ChapterStyleLevel, write = set_ChapterStyleLevel};
  __property   Word_xp::WdSeparatorType Separator = {read = get_Separator, write = set_Separator};
  __property   Word_xp::WdCaptionPosition Position = {read = get_Position, write = set_Position};
};
typedef CaptionLabelDispT<CaptionLabel> CaptionLabelDisp;

typedef TComInterface<AutoCaptions>  TCOMAutoCaptions;

// *********************************************************************//
// DispIntf:  AutoCaptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097A-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class AutoCaptionsDispT : public TAutoDriver<AutoCaptions>
{
public:
  AutoCaptionsDispT(){}

  AutoCaptionsDispT(AutoCaptions *pintf)
  {
    TAutoDriver<AutoCaptions>::Bind(pintf, false);
  }

  AutoCaptionsDispT(AutoCaptionsPtr pintf)
  {
    TAutoDriver<AutoCaptions>::Bind(pintf, true);
  }

  AutoCaptionsDispT& operator=(AutoCaptions *pintf)
  {
    TAutoDriver<AutoCaptions>::Bind(pintf, false);
    return *this;
  }

  AutoCaptionsDispT& operator=(AutoCaptionsPtr pintf)
  {
    TAutoDriver<AutoCaptions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::AutoCaption** prop/*[out,retval]*/);
  Word_xp::AutoCaption* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall CancelAutoInsert();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef AutoCaptionsDispT<AutoCaptions> AutoCaptionsDisp;

typedef TComInterface<AutoCaption>  TCOMAutoCaption;

// *********************************************************************//
// DispIntf:  AutoCaption
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097B-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class AutoCaptionDispT : public TAutoDriver<AutoCaption>
{
public:
  AutoCaptionDispT(){}

  AutoCaptionDispT(AutoCaption *pintf)
  {
    TAutoDriver<AutoCaption>::Bind(pintf, false);
  }

  AutoCaptionDispT(AutoCaptionPtr pintf)
  {
    TAutoDriver<AutoCaption>::Bind(pintf, true);
  }

  AutoCaptionDispT& operator=(AutoCaption *pintf)
  {
    TAutoDriver<AutoCaption>::Bind(pintf, false);
    return *this;
  }

  AutoCaptionDispT& operator=(AutoCaptionPtr pintf)
  {
    TAutoDriver<AutoCaption>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_AutoInsert(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoInsert(void);
  HRESULT         __fastcall set_AutoInsert(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_CaptionLabel(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_CaptionLabel(void);
  HRESULT         __fastcall set_CaptionLabel(VARIANT* prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   VARIANT_BOOL    AutoInsert = {read = get_AutoInsert, write = set_AutoInsert};
  __property   long            Index = {read = get_Index};
};
typedef AutoCaptionDispT<AutoCaption> AutoCaptionDisp;

typedef TComInterface<Indexes>  TCOMIndexes;

// *********************************************************************//
// DispIntf:  Indexes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097C-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class IndexesDispT : public TAutoDriver<Indexes>
{
public:
  IndexesDispT(){}

  IndexesDispT(Indexes *pintf)
  {
    TAutoDriver<Indexes>::Bind(pintf, false);
  }

  IndexesDispT(IndexesPtr pintf)
  {
    TAutoDriver<Indexes>::Bind(pintf, true);
  }

  IndexesDispT& operator=(Indexes *pintf)
  {
    TAutoDriver<Indexes>::Bind(pintf, false);
    return *this;
  }

  IndexesDispT& operator=(IndexesPtr pintf)
  {
    TAutoDriver<Indexes>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Format(Word_xp::WdIndexFormat* prop/*[out,retval]*/);
  Word_xp::WdIndexFormat __fastcall get_Format(void);
  HRESULT         __fastcall set_Format(Word_xp::WdIndexFormat prop/*[in]*/);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Index** prop/*[out,retval]*/);
  Word_xp::Index* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                    VARIANT* HeadingSeparator/*[in,opt]*/, 
                                    VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                    VARIANT* Type/*[in,opt]*/, VARIANT* NumberOfColumns/*[in,opt]*/
                                    , VARIANT* AccentedLetters/*[in,opt]*/, 
                                    Word_xp::Index** prop/*[out,retval]*/);
  Word_xp::Index* __fastcall AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                    VARIANT* HeadingSeparator/*[in,opt]*/= TNoParam(), 
                                    VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Type/*[in,opt]*/= TNoParam(), 
                                    VARIANT* NumberOfColumns/*[in,opt]*/= TNoParam(), 
                                    VARIANT* AccentedLetters/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MarkEntry(Word_xp::WordRange* Range/*[in]*/, VARIANT* Entry/*[in,opt]*/
                                       , VARIANT* EntryAutoText/*[in,opt]*/, 
                                       VARIANT* CrossReference/*[in,opt]*/, 
                                       VARIANT* CrossReferenceAutoText/*[in,opt]*/, 
                                       VARIANT* BookmarkName/*[in,opt]*/, VARIANT* Bold/*[in,opt]*/
                                       , VARIANT* Italic/*[in,opt]*/, VARIANT* Reading/*[in,opt]*/, 
                                       Word_xp::Field** prop/*[out,retval]*/);
  Word_xp::Field* __fastcall MarkEntry(Word_xp::WordRange* Range/*[in]*/, 
                                       VARIANT* Entry/*[in,opt]*/= TNoParam(), 
                                       VARIANT* EntryAutoText/*[in,opt]*/= TNoParam(), 
                                       VARIANT* CrossReference/*[in,opt]*/= TNoParam(), 
                                       VARIANT* CrossReferenceAutoText/*[in,opt]*/= TNoParam(), 
                                       VARIANT* BookmarkName/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Bold/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Italic/*[in,opt]*/= TNoParam(), 
                                       VARIANT* Reading/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall MarkAllEntries(Word_xp::WordRange* Range/*[in]*/, 
                                            VARIANT* Entry/*[in,opt]*/= TNoParam(), 
                                            VARIANT* EntryAutoText/*[in,opt]*/= TNoParam(), 
                                            VARIANT* CrossReference/*[in,opt]*/= TNoParam(), 
                                            VARIANT* CrossReferenceAutoText/*[in,opt]*/= TNoParam()
                                            , VARIANT* BookmarkName/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Bold/*[in,opt]*/= TNoParam(), 
                                            VARIANT* Italic/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AutoMarkEntries(BSTR ConcordanceFileName/*[in]*/);
  HRESULT         __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                 VARIANT* HeadingSeparator/*[in,opt]*/, 
                                 VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                 VARIANT* Type/*[in,opt]*/, VARIANT* NumberOfColumns/*[in,opt]*/, 
                                 VARIANT* AccentedLetters/*[in,opt]*/, VARIANT* SortBy/*[in,opt]*/, 
                                 VARIANT* IndexLanguage/*[in,opt]*/, 
                                 Word_xp::Index** prop/*[out,retval]*/);
  Word_xp::Index* __fastcall Add(Word_xp::WordRange* Range/*[in]*/, 
                                 VARIANT* HeadingSeparator/*[in,opt]*/= TNoParam(), 
                                 VARIANT* RightAlignPageNumbers/*[in,opt]*/= TNoParam(), 
                                 VARIANT* Type/*[in,opt]*/= TNoParam(), 
                                 VARIANT* NumberOfColumns/*[in,opt]*/= TNoParam(), 
                                 VARIANT* AccentedLetters/*[in,opt]*/= TNoParam(), 
                                 VARIANT* SortBy/*[in,opt]*/= TNoParam(), 
                                 VARIANT* IndexLanguage/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdIndexFormat Format = {read = get_Format, write = set_Format};
};
typedef IndexesDispT<Indexes> IndexesDisp;

typedef TComInterface<Index>  TCOMIndex;

// *********************************************************************//
// DispIntf:  Index
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097D-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class IndexDispT : public TAutoDriver<Index>
{
public:
  IndexDispT(){}

  IndexDispT(Index *pintf)
  {
    TAutoDriver<Index>::Bind(pintf, false);
  }

  IndexDispT(IndexPtr pintf)
  {
    TAutoDriver<Index>::Bind(pintf, true);
  }

  IndexDispT& operator=(Index *pintf)
  {
    TAutoDriver<Index>::Bind(pintf, false);
    return *this;
  }

  IndexDispT& operator=(IndexPtr pintf)
  {
    TAutoDriver<Index>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_HeadingSeparator(Word_xp::WdHeadingSeparator* prop/*[out,retval]*/);
  Word_xp::WdHeadingSeparator __fastcall get_HeadingSeparator(void);
  HRESULT         __fastcall set_HeadingSeparator(Word_xp::WdHeadingSeparator prop/*[in]*/);
  HRESULT         __fastcall get_RightAlignPageNumbers(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RightAlignPageNumbers(void);
  HRESULT         __fastcall set_RightAlignPageNumbers(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Type(Word_xp::WdIndexType* prop/*[out,retval]*/);
  Word_xp::WdIndexType __fastcall get_Type(void);
  HRESULT         __fastcall set_Type(Word_xp::WdIndexType prop/*[in]*/);
  HRESULT         __fastcall get_NumberOfColumns(long* prop/*[out,retval]*/);
  long            __fastcall get_NumberOfColumns(void);
  HRESULT         __fastcall set_NumberOfColumns(long prop/*[in]*/);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_TabLeader(Word_xp::WdTabLeader* prop/*[out,retval]*/);
  Word_xp::WdTabLeader __fastcall get_TabLeader(void);
  HRESULT         __fastcall set_TabLeader(Word_xp::WdTabLeader prop/*[in]*/);
  HRESULT         __fastcall get_AccentedLetters(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AccentedLetters(void);
  HRESULT         __fastcall set_AccentedLetters(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SortBy(Word_xp::WdIndexSortBy* prop/*[out,retval]*/);
  Word_xp::WdIndexSortBy __fastcall get_SortBy(void);
  HRESULT         __fastcall set_SortBy(Word_xp::WdIndexSortBy prop/*[in]*/);
  HRESULT         __fastcall get_Filter(Word_xp::WdIndexFilter* prop/*[out,retval]*/);
  Word_xp::WdIndexFilter __fastcall get_Filter(void);
  HRESULT         __fastcall set_Filter(Word_xp::WdIndexFilter prop/*[in]*/);
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall _Update();
  HRESULT         __fastcall get_IndexLanguage(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_IndexLanguage(void);
  HRESULT         __fastcall set_IndexLanguage(Word_xp::WdLanguageID prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdHeadingSeparator HeadingSeparator = {read = get_HeadingSeparator, write = set_HeadingSeparator};
  __property   VARIANT_BOOL    RightAlignPageNumbers = {read = get_RightAlignPageNumbers, write = set_RightAlignPageNumbers};
  __property   Word_xp::WdIndexType Type = {read = get_Type, write = set_Type};
  __property   long            NumberOfColumns = {read = get_NumberOfColumns, write = set_NumberOfColumns};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WdTabLeader TabLeader = {read = get_TabLeader, write = set_TabLeader};
  __property   VARIANT_BOOL    AccentedLetters = {read = get_AccentedLetters, write = set_AccentedLetters};
  __property   Word_xp::WdIndexSortBy SortBy = {read = get_SortBy, write = set_SortBy};
  __property   Word_xp::WdIndexFilter Filter = {read = get_Filter, write = set_Filter};
  __property   Word_xp::WdLanguageID IndexLanguage = {read = get_IndexLanguage, write = set_IndexLanguage};
};
typedef IndexDispT<Index> IndexDisp;

typedef TComInterface<AddIn>  TCOMAddIn;

// *********************************************************************//
// DispIntf:  AddIn
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097E-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class AddInDispT : public TAutoDriver<AddIn>
{
public:
  AddInDispT(){}

  AddInDispT(AddIn *pintf)
  {
    TAutoDriver<AddIn>::Bind(pintf, false);
  }

  AddInDispT(AddInPtr pintf)
  {
    TAutoDriver<AddIn>::Bind(pintf, true);
  }

  AddInDispT& operator=(AddIn *pintf)
  {
    TAutoDriver<AddIn>::Bind(pintf, false);
    return *this;
  }

  AddInDispT& operator=(AddInPtr pintf)
  {
    TAutoDriver<AddIn>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Path(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Path(void);
  HRESULT         __fastcall get_Installed(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Installed(void);
  HRESULT         __fastcall set_Installed(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Compiled(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Compiled(void);
  HRESULT         __fastcall get_Autoload(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Autoload(void);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Path = {read = get_Path};
  __property   VARIANT_BOOL    Installed = {read = get_Installed, write = set_Installed};
  __property   VARIANT_BOOL    Compiled = {read = get_Compiled};
  __property   VARIANT_BOOL    Autoload = {read = get_Autoload};
};
typedef AddInDispT<AddIn> AddInDisp;

typedef TComInterface<AddIns>  TCOMAddIns;

// *********************************************************************//
// DispIntf:  AddIns
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097F-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class AddInsDispT : public TAutoDriver<AddIns>
{
public:
  AddInsDispT(){}

  AddInsDispT(AddIns *pintf)
  {
    TAutoDriver<AddIns>::Bind(pintf, false);
  }

  AddInsDispT(AddInsPtr pintf)
  {
    TAutoDriver<AddIns>::Bind(pintf, true);
  }

  AddInsDispT& operator=(AddIns *pintf)
  {
    TAutoDriver<AddIns>::Bind(pintf, false);
    return *this;
  }

  AddInsDispT& operator=(AddInsPtr pintf)
  {
    TAutoDriver<AddIns>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::AddIn** prop/*[out,retval]*/);
  Word_xp::AddIn* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR FileName/*[in]*/, VARIANT* Install/*[in,opt]*/, 
                                 Word_xp::AddIn** prop/*[out,retval]*/);
  Word_xp::AddIn* __fastcall Add(BSTR FileName/*[in]*/, VARIANT* Install/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Unload(VARIANT_BOOL RemoveFromList/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef AddInsDispT<AddIns> AddInsDisp;

typedef TComInterface<Revisions>  TCOMRevisions;

// *********************************************************************//
// DispIntf:  Revisions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020980-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class RevisionsDispT : public TAutoDriver<Revisions>
{
public:
  RevisionsDispT(){}

  RevisionsDispT(Revisions *pintf)
  {
    TAutoDriver<Revisions>::Bind(pintf, false);
  }

  RevisionsDispT(RevisionsPtr pintf)
  {
    TAutoDriver<Revisions>::Bind(pintf, true);
  }

  RevisionsDispT& operator=(Revisions *pintf)
  {
    TAutoDriver<Revisions>::Bind(pintf, false);
    return *this;
  }

  RevisionsDispT& operator=(RevisionsPtr pintf)
  {
    TAutoDriver<Revisions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Revision** prop/*[out,retval]*/);
  Word_xp::Revision* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall AcceptAll();
  HRESULT         __fastcall RejectAll();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef RevisionsDispT<Revisions> RevisionsDisp;

typedef TComInterface<Revision>  TCOMRevision;

// *********************************************************************//
// DispIntf:  Revision
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020981-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class RevisionDispT : public TAutoDriver<Revision>
{
public:
  RevisionDispT(){}

  RevisionDispT(Revision *pintf)
  {
    TAutoDriver<Revision>::Bind(pintf, false);
  }

  RevisionDispT(RevisionPtr pintf)
  {
    TAutoDriver<Revision>::Bind(pintf, true);
  }

  RevisionDispT& operator=(Revision *pintf)
  {
    TAutoDriver<Revision>::Bind(pintf, false);
    return *this;
  }

  RevisionDispT& operator=(RevisionPtr pintf)
  {
    TAutoDriver<Revision>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Author(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Author(void);
  HRESULT         __fastcall get_Date(DATE* prop/*[out,retval]*/);
  DATE            __fastcall get_Date(void);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Type(Word_xp::WdRevisionType* prop/*[out,retval]*/);
  Word_xp::WdRevisionType __fastcall get_Type(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall Accept();
  HRESULT         __fastcall Reject();
  HRESULT         __fastcall get_Style(Word_xp::Style** prop/*[out,retval]*/);
  Word_xp::StylePtr __fastcall get_Style(void);
  HRESULT         __fastcall get_FormatDescription(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_FormatDescription(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Author = {read = get_Author};
  __property   DATE            Date = {read = get_Date};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WdRevisionType Type = {read = get_Type};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::StylePtr Style = {read = get_Style};
  __property   BSTR            FormatDescription = {read = get_FormatDescription};
};
typedef RevisionDispT<Revision> RevisionDisp;

typedef TComInterface<Task>  TCOMTask;

// *********************************************************************//
// DispIntf:  Task
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020982-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TaskDispT : public TAutoDriver<Task>
{
public:
  TaskDispT(){}

  TaskDispT(Task *pintf)
  {
    TAutoDriver<Task>::Bind(pintf, false);
  }

  TaskDispT(TaskPtr pintf)
  {
    TAutoDriver<Task>::Bind(pintf, true);
  }

  TaskDispT& operator=(Task *pintf)
  {
    TAutoDriver<Task>::Bind(pintf, false);
    return *this;
  }

  TaskDispT& operator=(TaskPtr pintf)
  {
    TAutoDriver<Task>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Left(long* prop/*[out,retval]*/);
  long            __fastcall get_Left(void);
  HRESULT         __fastcall set_Left(long prop/*[in]*/);
  HRESULT         __fastcall get_Top(long* prop/*[out,retval]*/);
  long            __fastcall get_Top(void);
  HRESULT         __fastcall set_Top(long prop/*[in]*/);
  HRESULT         __fastcall get_Width(long* prop/*[out,retval]*/);
  long            __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(long prop/*[in]*/);
  HRESULT         __fastcall get_Height(long* prop/*[out,retval]*/);
  long            __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(long prop/*[in]*/);
  HRESULT         __fastcall get_WindowState(Word_xp::WdWindowState* prop/*[out,retval]*/);
  Word_xp::WdWindowState __fastcall get_WindowState(void);
  HRESULT         __fastcall set_WindowState(Word_xp::WdWindowState prop/*[in]*/);
  HRESULT         __fastcall get_Visible(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall Activate(VARIANT* Wait/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Close();
  HRESULT         __fastcall Move(long Left/*[in]*/, long Top/*[in]*/);
  HRESULT         __fastcall Resize(long Width/*[in]*/, long Height/*[in]*/);
  HRESULT         __fastcall SendWindowMessage(long Message/*[in]*/, long wParam/*[in]*/, 
                                               long lParam/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   long            Left = {read = get_Left, write = set_Left};
  __property   long            Top = {read = get_Top, write = set_Top};
  __property   long            Width = {read = get_Width, write = set_Width};
  __property   long            Height = {read = get_Height, write = set_Height};
  __property   Word_xp::WdWindowState WindowState = {read = get_WindowState, write = set_WindowState};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};
};
typedef TaskDispT<Task> TaskDisp;

typedef TComInterface<Tasks>  TCOMTasks;

// *********************************************************************//
// DispIntf:  Tasks
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020983-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TasksDispT : public TAutoDriver<Tasks>
{
public:
  TasksDispT(){}

  TasksDispT(Tasks *pintf)
  {
    TAutoDriver<Tasks>::Bind(pintf, false);
  }

  TasksDispT(TasksPtr pintf)
  {
    TAutoDriver<Tasks>::Bind(pintf, true);
  }

  TasksDispT& operator=(Tasks *pintf)
  {
    TAutoDriver<Tasks>::Bind(pintf, false);
    return *this;
  }

  TasksDispT& operator=(TasksPtr pintf)
  {
    TAutoDriver<Tasks>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Task** prop/*[out,retval]*/);
  Word_xp::Task*  __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Exists(BSTR Name/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall Exists(BSTR Name/*[in]*/);
  HRESULT         __fastcall ExitWindoz();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef TasksDispT<Tasks> TasksDisp;

typedef TComInterface<HeadersFooters>  TCOMHeadersFooters;

// *********************************************************************//
// DispIntf:  HeadersFooters
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020984-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class HeadersFootersDispT : public TAutoDriver<HeadersFooters>
{
public:
  HeadersFootersDispT(){}

  HeadersFootersDispT(HeadersFooters *pintf)
  {
    TAutoDriver<HeadersFooters>::Bind(pintf, false);
  }

  HeadersFootersDispT(HeadersFootersPtr pintf)
  {
    TAutoDriver<HeadersFooters>::Bind(pintf, true);
  }

  HeadersFootersDispT& operator=(HeadersFooters *pintf)
  {
    TAutoDriver<HeadersFooters>::Bind(pintf, false);
    return *this;
  }

  HeadersFootersDispT& operator=(HeadersFootersPtr pintf)
  {
    TAutoDriver<HeadersFooters>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(Word_xp::WdHeaderFooterIndex Index/*[in]*/, 
                                  Word_xp::HeaderFooter** prop/*[out,retval]*/);
  Word_xp::HeaderFooter* __fastcall Item(Word_xp::WdHeaderFooterIndex Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef HeadersFootersDispT<HeadersFooters> HeadersFootersDisp;

typedef TComInterface<HeaderFooter>  TCOMHeaderFooter;

// *********************************************************************//
// DispIntf:  HeaderFooter
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020985-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class HeaderFooterDispT : public TAutoDriver<HeaderFooter>
{
public:
  HeaderFooterDispT(){}

  HeaderFooterDispT(HeaderFooter *pintf)
  {
    TAutoDriver<HeaderFooter>::Bind(pintf, false);
  }

  HeaderFooterDispT(HeaderFooterPtr pintf)
  {
    TAutoDriver<HeaderFooter>::Bind(pintf, true);
  }

  HeaderFooterDispT& operator=(HeaderFooter *pintf)
  {
    TAutoDriver<HeaderFooter>::Bind(pintf, false);
    return *this;
  }

  HeaderFooterDispT& operator=(HeaderFooterPtr pintf)
  {
    TAutoDriver<HeaderFooter>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Index(Word_xp::WdHeaderFooterIndex* prop/*[out,retval]*/);
  Word_xp::WdHeaderFooterIndex __fastcall get_Index(void);
  HRESULT         __fastcall get_IsHeader(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsHeader(void);
  HRESULT         __fastcall get_Exists(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Exists(void);
  HRESULT         __fastcall set_Exists(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PageNumbers(Word_xp::PageNumbers** prop/*[out,retval]*/);
  Word_xp::PageNumbersPtr __fastcall get_PageNumbers(void);
  HRESULT         __fastcall get_LinkToPrevious(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_LinkToPrevious(void);
  HRESULT         __fastcall set_LinkToPrevious(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Shapes(Word_xp::Shapes** prop/*[out,retval]*/);
  Word_xp::ShapesPtr __fastcall get_Shapes(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::WdHeaderFooterIndex Index = {read = get_Index};
  __property   VARIANT_BOOL    IsHeader = {read = get_IsHeader};
  __property   VARIANT_BOOL    Exists = {read = get_Exists, write = set_Exists};
  __property   Word_xp::PageNumbersPtr PageNumbers = {read = get_PageNumbers};
  __property   VARIANT_BOOL    LinkToPrevious = {read = get_LinkToPrevious, write = set_LinkToPrevious};
  __property   Word_xp::ShapesPtr Shapes = {read = get_Shapes};
};
typedef HeaderFooterDispT<HeaderFooter> HeaderFooterDisp;

typedef TComInterface<PageNumbers>  TCOMPageNumbers;

// *********************************************************************//
// DispIntf:  PageNumbers
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020986-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class PageNumbersDispT : public TAutoDriver<PageNumbers>
{
public:
  PageNumbersDispT(){}

  PageNumbersDispT(PageNumbers *pintf)
  {
    TAutoDriver<PageNumbers>::Bind(pintf, false);
  }

  PageNumbersDispT(PageNumbersPtr pintf)
  {
    TAutoDriver<PageNumbers>::Bind(pintf, true);
  }

  PageNumbersDispT& operator=(PageNumbers *pintf)
  {
    TAutoDriver<PageNumbers>::Bind(pintf, false);
    return *this;
  }

  PageNumbersDispT& operator=(PageNumbersPtr pintf)
  {
    TAutoDriver<PageNumbers>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_NumberStyle(Word_xp::WdPageNumberStyle* prop/*[out,retval]*/);
  Word_xp::WdPageNumberStyle __fastcall get_NumberStyle(void);
  HRESULT         __fastcall set_NumberStyle(Word_xp::WdPageNumberStyle prop/*[in]*/);
  HRESULT         __fastcall get_IncludeChapterNumber(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IncludeChapterNumber(void);
  HRESULT         __fastcall set_IncludeChapterNumber(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HeadingLevelForChapter(long* prop/*[out,retval]*/);
  long            __fastcall get_HeadingLevelForChapter(void);
  HRESULT         __fastcall set_HeadingLevelForChapter(long prop/*[in]*/);
  HRESULT         __fastcall get_ChapterPageSeparator(Word_xp::WdSeparatorType* prop/*[out,retval]*/);
  Word_xp::WdSeparatorType __fastcall get_ChapterPageSeparator(void);
  HRESULT         __fastcall set_ChapterPageSeparator(Word_xp::WdSeparatorType prop/*[in]*/);
  HRESULT         __fastcall get_RestartNumberingAtSection(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RestartNumberingAtSection(void);
  HRESULT         __fastcall set_RestartNumberingAtSection(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_StartingNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_StartingNumber(void);
  HRESULT         __fastcall set_StartingNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_ShowFirstPageNumber(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowFirstPageNumber(void);
  HRESULT         __fastcall set_ShowFirstPageNumber(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::PageNumber** prop/*[out,retval]*/);
  Word_xp::PageNumber* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(VARIANT* PageNumberAlignment/*[in,opt]*/, 
                                 VARIANT* FirstPage/*[in,opt]*/, 
                                 Word_xp::PageNumber** prop/*[out,retval]*/);
  Word_xp::PageNumber* __fastcall Add(VARIANT* PageNumberAlignment/*[in,opt]*/= TNoParam(), 
                                      VARIANT* FirstPage/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_DoubleQuote(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DoubleQuote(void);
  HRESULT         __fastcall set_DoubleQuote(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdPageNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   VARIANT_BOOL    IncludeChapterNumber = {read = get_IncludeChapterNumber, write = set_IncludeChapterNumber};
  __property   long            HeadingLevelForChapter = {read = get_HeadingLevelForChapter, write = set_HeadingLevelForChapter};
  __property   Word_xp::WdSeparatorType ChapterPageSeparator = {read = get_ChapterPageSeparator, write = set_ChapterPageSeparator};
  __property   VARIANT_BOOL    RestartNumberingAtSection = {read = get_RestartNumberingAtSection, write = set_RestartNumberingAtSection};
  __property   long            StartingNumber = {read = get_StartingNumber, write = set_StartingNumber};
  __property   VARIANT_BOOL    ShowFirstPageNumber = {read = get_ShowFirstPageNumber, write = set_ShowFirstPageNumber};
  __property   VARIANT_BOOL    DoubleQuote = {read = get_DoubleQuote, write = set_DoubleQuote};
};
typedef PageNumbersDispT<PageNumbers> PageNumbersDisp;

typedef TComInterface<PageNumber>  TCOMPageNumber;

// *********************************************************************//
// DispIntf:  PageNumber
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020987-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class PageNumberDispT : public TAutoDriver<PageNumber>
{
public:
  PageNumberDispT(){}

  PageNumberDispT(PageNumber *pintf)
  {
    TAutoDriver<PageNumber>::Bind(pintf, false);
  }

  PageNumberDispT(PageNumberPtr pintf)
  {
    TAutoDriver<PageNumber>::Bind(pintf, true);
  }

  PageNumberDispT& operator=(PageNumber *pintf)
  {
    TAutoDriver<PageNumber>::Bind(pintf, false);
    return *this;
  }

  PageNumberDispT& operator=(PageNumberPtr pintf)
  {
    TAutoDriver<PageNumber>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Alignment(Word_xp::WdPageNumberAlignment* prop/*[out,retval]*/);
  Word_xp::WdPageNumberAlignment __fastcall get_Alignment(void);
  HRESULT         __fastcall set_Alignment(Word_xp::WdPageNumberAlignment prop/*[in]*/);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Copy();
  HRESULT         __fastcall Cut();
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   Word_xp::WdPageNumberAlignment Alignment = {read = get_Alignment, write = set_Alignment};
};
typedef PageNumberDispT<PageNumber> PageNumberDisp;

typedef TComInterface<Subdocuments>  TCOMSubdocuments;

// *********************************************************************//
// DispIntf:  Subdocuments
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020988-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class SubdocumentsDispT : public TAutoDriver<Subdocuments>
{
public:
  SubdocumentsDispT(){}

  SubdocumentsDispT(Subdocuments *pintf)
  {
    TAutoDriver<Subdocuments>::Bind(pintf, false);
  }

  SubdocumentsDispT(SubdocumentsPtr pintf)
  {
    TAutoDriver<Subdocuments>::Bind(pintf, true);
  }

  SubdocumentsDispT& operator=(Subdocuments *pintf)
  {
    TAutoDriver<Subdocuments>::Bind(pintf, false);
    return *this;
  }

  SubdocumentsDispT& operator=(SubdocumentsPtr pintf)
  {
    TAutoDriver<Subdocuments>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Expanded(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Expanded(void);
  HRESULT         __fastcall set_Expanded(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Subdocument** prop/*[out,retval]*/);
  Word_xp::Subdocument* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall AddFromFile(VARIANT* Name/*[in]*/, 
                                         VARIANT* ConfirmConversions/*[in,opt]*/, 
                                         VARIANT* ReadOnly/*[in,opt]*/, 
                                         VARIANT* PasswordDocument/*[in,opt]*/, 
                                         VARIANT* PasswordTemplate/*[in,opt]*/, 
                                         VARIANT* Revert/*[in,opt]*/, 
                                         VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                         VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                         Word_xp::Subdocument** prop/*[out,retval]*/);
  Word_xp::Subdocument* __fastcall AddFromFile(VARIANT* Name/*[in]*/, 
                                               VARIANT* ConfirmConversions/*[in,opt]*/= TNoParam(), 
                                               VARIANT* ReadOnly/*[in,opt]*/= TNoParam(), 
                                               VARIANT* PasswordDocument/*[in,opt]*/= TNoParam(), 
                                               VARIANT* PasswordTemplate/*[in,opt]*/= TNoParam(), 
                                               VARIANT* Revert/*[in,opt]*/= TNoParam(), 
                                               VARIANT* WritePasswordDocument/*[in,opt]*/= TNoParam(), 
                                               VARIANT* WritePasswordTemplate/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddFromRange(Word_xp::WordRange* Range/*[in]*/, 
                                          Word_xp::Subdocument** prop/*[out,retval]*/);
  Word_xp::Subdocument* __fastcall AddFromRange(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall Merge(VARIANT* FirstSubdocument/*[in,opt]*/= TNoParam(), 
                                   VARIANT* LastSubdocument/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Select();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   VARIANT_BOOL    Expanded = {read = get_Expanded, write = set_Expanded};
};
typedef SubdocumentsDispT<Subdocuments> SubdocumentsDisp;

typedef TComInterface<Subdocument>  TCOMSubdocument;

// *********************************************************************//
// DispIntf:  Subdocument
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020989-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class SubdocumentDispT : public TAutoDriver<Subdocument>
{
public:
  SubdocumentDispT(){}

  SubdocumentDispT(Subdocument *pintf)
  {
    TAutoDriver<Subdocument>::Bind(pintf, false);
  }

  SubdocumentDispT(SubdocumentPtr pintf)
  {
    TAutoDriver<Subdocument>::Bind(pintf, true);
  }

  SubdocumentDispT& operator=(Subdocument *pintf)
  {
    TAutoDriver<Subdocument>::Bind(pintf, false);
    return *this;
  }

  SubdocumentDispT& operator=(SubdocumentPtr pintf)
  {
    TAutoDriver<Subdocument>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Locked(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Locked(void);
  HRESULT         __fastcall set_Locked(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Path(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Path(void);
  HRESULT         __fastcall get_HasFile(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HasFile(void);
  HRESULT         __fastcall get_Level(long* prop/*[out,retval]*/);
  long            __fastcall get_Level(void);
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Split(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall Open(Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocument* __fastcall Open(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Locked = {read = get_Locked, write = set_Locked};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Path = {read = get_Path};
  __property   VARIANT_BOOL    HasFile = {read = get_HasFile};
  __property   long            Level = {read = get_Level};
};
typedef SubdocumentDispT<Subdocument> SubdocumentDisp;

typedef TComInterface<HeadingStyles>  TCOMHeadingStyles;

// *********************************************************************//
// DispIntf:  HeadingStyles
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098A-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class HeadingStylesDispT : public TAutoDriver<HeadingStyles>
{
public:
  HeadingStylesDispT(){}

  HeadingStylesDispT(HeadingStyles *pintf)
  {
    TAutoDriver<HeadingStyles>::Bind(pintf, false);
  }

  HeadingStylesDispT(HeadingStylesPtr pintf)
  {
    TAutoDriver<HeadingStyles>::Bind(pintf, true);
  }

  HeadingStylesDispT& operator=(HeadingStyles *pintf)
  {
    TAutoDriver<HeadingStyles>::Bind(pintf, false);
    return *this;
  }

  HeadingStylesDispT& operator=(HeadingStylesPtr pintf)
  {
    TAutoDriver<HeadingStyles>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::HeadingStyle** prop/*[out,retval]*/);
  Word_xp::HeadingStyle* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(VARIANT* Style/*[in]*/, short Level/*[in]*/, 
                                 Word_xp::HeadingStyle** prop/*[out,retval]*/);
  Word_xp::HeadingStyle* __fastcall Add(VARIANT* Style/*[in]*/, short Level/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef HeadingStylesDispT<HeadingStyles> HeadingStylesDisp;

typedef TComInterface<HeadingStyle>  TCOMHeadingStyle;

// *********************************************************************//
// DispIntf:  HeadingStyle
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098B-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class HeadingStyleDispT : public TAutoDriver<HeadingStyle>
{
public:
  HeadingStyleDispT(){}

  HeadingStyleDispT(HeadingStyle *pintf)
  {
    TAutoDriver<HeadingStyle>::Bind(pintf, false);
  }

  HeadingStyleDispT(HeadingStylePtr pintf)
  {
    TAutoDriver<HeadingStyle>::Bind(pintf, true);
  }

  HeadingStyleDispT& operator=(HeadingStyle *pintf)
  {
    TAutoDriver<HeadingStyle>::Bind(pintf, false);
    return *this;
  }

  HeadingStyleDispT& operator=(HeadingStylePtr pintf)
  {
    TAutoDriver<HeadingStyle>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Style(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Style(void);
  HRESULT         __fastcall set_Style(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Level(short* prop/*[out,retval]*/);
  short           __fastcall get_Level(void);
  HRESULT         __fastcall set_Level(short prop/*[in]*/);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   short           Level = {read = get_Level, write = set_Level};
};
typedef HeadingStyleDispT<HeadingStyle> HeadingStyleDisp;

typedef TComInterface<StoryRanges>  TCOMStoryRanges;

// *********************************************************************//
// DispIntf:  StoryRanges
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098C-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class StoryRangesDispT : public TAutoDriver<StoryRanges>
{
public:
  StoryRangesDispT(){}

  StoryRangesDispT(StoryRanges *pintf)
  {
    TAutoDriver<StoryRanges>::Bind(pintf, false);
  }

  StoryRangesDispT(StoryRangesPtr pintf)
  {
    TAutoDriver<StoryRanges>::Bind(pintf, true);
  }

  StoryRangesDispT& operator=(StoryRanges *pintf)
  {
    TAutoDriver<StoryRanges>::Bind(pintf, false);
    return *this;
  }

  StoryRangesDispT& operator=(StoryRangesPtr pintf)
  {
    TAutoDriver<StoryRanges>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(Word_xp::WdStoryType Index/*[in]*/, 
                                  Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall Item(Word_xp::WdStoryType Index/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef StoryRangesDispT<StoryRanges> StoryRangesDisp;

typedef TComInterface<ListLevel>  TCOMListLevel;

// *********************************************************************//
// DispIntf:  ListLevel
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098D-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ListLevelDispT : public TAutoDriver<ListLevel>
{
public:
  ListLevelDispT(){}

  ListLevelDispT(ListLevel *pintf)
  {
    TAutoDriver<ListLevel>::Bind(pintf, false);
  }

  ListLevelDispT(ListLevelPtr pintf)
  {
    TAutoDriver<ListLevel>::Bind(pintf, true);
  }

  ListLevelDispT& operator=(ListLevel *pintf)
  {
    TAutoDriver<ListLevel>::Bind(pintf, false);
    return *this;
  }

  ListLevelDispT& operator=(ListLevelPtr pintf)
  {
    TAutoDriver<ListLevel>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_NumberFormat(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NumberFormat(void);
  HRESULT         __fastcall set_NumberFormat(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_TrailingCharacter(Word_xp::WdTrailingCharacter* prop/*[out,retval]*/);
  Word_xp::WdTrailingCharacter __fastcall get_TrailingCharacter(void);
  HRESULT         __fastcall set_TrailingCharacter(Word_xp::WdTrailingCharacter prop/*[in]*/);
  HRESULT         __fastcall get_NumberStyle(Word_xp::WdListNumberStyle* prop/*[out,retval]*/);
  Word_xp::WdListNumberStyle __fastcall get_NumberStyle(void);
  HRESULT         __fastcall set_NumberStyle(Word_xp::WdListNumberStyle prop/*[in]*/);
  HRESULT         __fastcall get_NumberPosition(float* prop/*[out,retval]*/);
  float           __fastcall get_NumberPosition(void);
  HRESULT         __fastcall set_NumberPosition(float prop/*[in]*/);
  HRESULT         __fastcall get_Alignment(Word_xp::WdListLevelAlignment* prop/*[out,retval]*/);
  Word_xp::WdListLevelAlignment __fastcall get_Alignment(void);
  HRESULT         __fastcall set_Alignment(Word_xp::WdListLevelAlignment prop/*[in]*/);
  HRESULT         __fastcall get_TextPosition(float* prop/*[out,retval]*/);
  float           __fastcall get_TextPosition(void);
  HRESULT         __fastcall set_TextPosition(float prop/*[in]*/);
  HRESULT         __fastcall get_TabPosition(float* prop/*[out,retval]*/);
  float           __fastcall get_TabPosition(void);
  HRESULT         __fastcall set_TabPosition(float prop/*[in]*/);
  HRESULT         __fastcall get_ResetOnHigherOld(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ResetOnHigherOld(void);
  HRESULT         __fastcall set_ResetOnHigherOld(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_StartAt(long* prop/*[out,retval]*/);
  long            __fastcall get_StartAt(void);
  HRESULT         __fastcall set_StartAt(long prop/*[in]*/);
  HRESULT         __fastcall get_LinkedStyle(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_LinkedStyle(void);
  HRESULT         __fastcall set_LinkedStyle(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Font(Word_xp::WordFont** prop/*[out,retval]*/);
  Word_xp::WordFontPtr __fastcall get_Font(void);
  HRESULT         __fastcall set_Font(Word_xp::WordFontPtr prop/*[in]*/);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_ResetOnHigher(long* prop/*[out,retval]*/);
  long            __fastcall get_ResetOnHigher(void);
  HRESULT         __fastcall set_ResetOnHigher(long prop/*[in]*/);
  HRESULT         __fastcall get_PictureBullet(Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShapePtr __fastcall get_PictureBullet(void);
  HRESULT         __fastcall ApplyPictureBullet(BSTR FileName/*[in]*/, 
                                                Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShape* __fastcall ApplyPictureBullet(BSTR FileName/*[in]*/);

  __property   long            Index = {read = get_Index};
  __property   BSTR            NumberFormat = {read = get_NumberFormat, write = set_NumberFormat};
  __property   Word_xp::WdTrailingCharacter TrailingCharacter = {read = get_TrailingCharacter, write = set_TrailingCharacter};
  __property   Word_xp::WdListNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   float           NumberPosition = {read = get_NumberPosition, write = set_NumberPosition};
  __property   Word_xp::WdListLevelAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   float           TextPosition = {read = get_TextPosition, write = set_TextPosition};
  __property   float           TabPosition = {read = get_TabPosition, write = set_TabPosition};
  __property   VARIANT_BOOL    ResetOnHigherOld = {read = get_ResetOnHigherOld, write = set_ResetOnHigherOld};
  __property   long            StartAt = {read = get_StartAt, write = set_StartAt};
  __property   BSTR            LinkedStyle = {read = get_LinkedStyle, write = set_LinkedStyle};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            ResetOnHigher = {read = get_ResetOnHigher, write = set_ResetOnHigher};
  __property   Word_xp::InlineShapePtr PictureBullet = {read = get_PictureBullet};
};
typedef ListLevelDispT<ListLevel> ListLevelDisp;

typedef TComInterface<ListLevels>  TCOMListLevels;

// *********************************************************************//
// DispIntf:  ListLevels
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098E-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ListLevelsDispT : public TAutoDriver<ListLevels>
{
public:
  ListLevelsDispT(){}

  ListLevelsDispT(ListLevels *pintf)
  {
    TAutoDriver<ListLevels>::Bind(pintf, false);
  }

  ListLevelsDispT(ListLevelsPtr pintf)
  {
    TAutoDriver<ListLevels>::Bind(pintf, true);
  }

  ListLevelsDispT& operator=(ListLevels *pintf)
  {
    TAutoDriver<ListLevels>::Bind(pintf, false);
    return *this;
  }

  ListLevelsDispT& operator=(ListLevelsPtr pintf)
  {
    TAutoDriver<ListLevels>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::ListLevel** prop/*[out,retval]*/);
  Word_xp::ListLevel* __fastcall Item(long Index/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef ListLevelsDispT<ListLevels> ListLevelsDisp;

typedef TComInterface<ListTemplate>  TCOMListTemplate;

// *********************************************************************//
// DispIntf:  ListTemplate
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098F-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ListTemplateDispT : public TAutoDriver<ListTemplate>
{
public:
  ListTemplateDispT(){}

  ListTemplateDispT(ListTemplate *pintf)
  {
    TAutoDriver<ListTemplate>::Bind(pintf, false);
  }

  ListTemplateDispT(ListTemplatePtr pintf)
  {
    TAutoDriver<ListTemplate>::Bind(pintf, true);
  }

  ListTemplateDispT& operator=(ListTemplate *pintf)
  {
    TAutoDriver<ListTemplate>::Bind(pintf, false);
    return *this;
  }

  ListTemplateDispT& operator=(ListTemplatePtr pintf)
  {
    TAutoDriver<ListTemplate>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_OutlineNumbered(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_OutlineNumbered(void);
  HRESULT         __fastcall set_OutlineNumbered(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ListLevels(Word_xp::ListLevels** prop/*[out,retval]*/);
  Word_xp::ListLevelsPtr __fastcall get_ListLevels(void);
  HRESULT         __fastcall Convert(VARIANT* Level/*[in,opt]*/, 
                                     Word_xp::ListTemplate** prop/*[out,retval]*/);
  Word_xp::ListTemplate* __fastcall Convert(VARIANT* Level/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    OutlineNumbered = {read = get_OutlineNumbered, write = set_OutlineNumbered};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   Word_xp::ListLevelsPtr ListLevels = {read = get_ListLevels};
};
typedef ListTemplateDispT<ListTemplate> ListTemplateDisp;

typedef TComInterface<ListTemplates>  TCOMListTemplates;

// *********************************************************************//
// DispIntf:  ListTemplates
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020990-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ListTemplatesDispT : public TAutoDriver<ListTemplates>
{
public:
  ListTemplatesDispT(){}

  ListTemplatesDispT(ListTemplates *pintf)
  {
    TAutoDriver<ListTemplates>::Bind(pintf, false);
  }

  ListTemplatesDispT(ListTemplatesPtr pintf)
  {
    TAutoDriver<ListTemplates>::Bind(pintf, true);
  }

  ListTemplatesDispT& operator=(ListTemplates *pintf)
  {
    TAutoDriver<ListTemplates>::Bind(pintf, false);
    return *this;
  }

  ListTemplatesDispT& operator=(ListTemplatesPtr pintf)
  {
    TAutoDriver<ListTemplates>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::ListTemplate** prop/*[out,retval]*/);
  Word_xp::ListTemplate* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(VARIANT* OutlineNumbered/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                                 Word_xp::ListTemplate** prop/*[out,retval]*/);
  Word_xp::ListTemplate* __fastcall Add(VARIANT* OutlineNumbered/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Name/*[in,opt]*/= TNoParam());

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef ListTemplatesDispT<ListTemplates> ListTemplatesDisp;

typedef TComInterface<ListParagraphs>  TCOMListParagraphs;

// *********************************************************************//
// DispIntf:  ListParagraphs
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020991-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ListParagraphsDispT : public TAutoDriver<ListParagraphs>
{
public:
  ListParagraphsDispT(){}

  ListParagraphsDispT(ListParagraphs *pintf)
  {
    TAutoDriver<ListParagraphs>::Bind(pintf, false);
  }

  ListParagraphsDispT(ListParagraphsPtr pintf)
  {
    TAutoDriver<ListParagraphs>::Bind(pintf, true);
  }

  ListParagraphsDispT& operator=(ListParagraphs *pintf)
  {
    TAutoDriver<ListParagraphs>::Bind(pintf, false);
    return *this;
  }

  ListParagraphsDispT& operator=(ListParagraphsPtr pintf)
  {
    TAutoDriver<ListParagraphs>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Paragraph** prop/*[out,retval]*/);
  Word_xp::Paragraph* __fastcall Item(long Index/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef ListParagraphsDispT<ListParagraphs> ListParagraphsDisp;

typedef TComInterface<List>  TCOMList;

// *********************************************************************//
// DispIntf:  List
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020992-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ListDispT : public TAutoDriver<List>
{
public:
  ListDispT(){}

  ListDispT(List *pintf)
  {
    TAutoDriver<List>::Bind(pintf, false);
  }

  ListDispT(ListPtr pintf)
  {
    TAutoDriver<List>::Bind(pintf, true);
  }

  ListDispT& operator=(List *pintf)
  {
    TAutoDriver<List>::Bind(pintf, false);
    return *this;
  }

  ListDispT& operator=(ListPtr pintf)
  {
    TAutoDriver<List>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_ListParagraphs(Word_xp::ListParagraphs** prop/*[out,retval]*/);
  Word_xp::ListParagraphsPtr __fastcall get_ListParagraphs(void);
  HRESULT         __fastcall get_SingleListTemplate(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SingleListTemplate(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall ConvertNumbersToText(VARIANT* NumberType/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall RemoveNumbers(VARIANT* NumberType/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, 
                                                VARIANT* Level/*[in,opt]*/, 
                                                long* prop/*[out,retval]*/);
  long            __fastcall CountNumberedItems(VARIANT* NumberType/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Level/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ApplyListTemplateOld(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                                  VARIANT* ContinuePreviousList/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall CanContinuePreviousList(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                                     Word_xp::WdContinue* prop/*[out,retval]*/);
  Word_xp::WdContinue __fastcall CanContinuePreviousList(Word_xp::ListTemplate* ListTemplate/*[in]*/);
  HRESULT         __fastcall ApplyListTemplate(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                               VARIANT* ContinuePreviousList/*[in,opt]*/= TNoParam()
                                               , 
                                               VARIANT* DefaultListBehavior/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_StyleName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_StyleName(void);

  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::ListParagraphsPtr ListParagraphs = {read = get_ListParagraphs};
  __property   VARIANT_BOOL    SingleListTemplate = {read = get_SingleListTemplate};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            StyleName = {read = get_StyleName};
};
typedef ListDispT<List> ListDisp;

typedef TComInterface<Lists>  TCOMLists;

// *********************************************************************//
// DispIntf:  Lists
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020993-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ListsDispT : public TAutoDriver<Lists>
{
public:
  ListsDispT(){}

  ListsDispT(Lists *pintf)
  {
    TAutoDriver<Lists>::Bind(pintf, false);
  }

  ListsDispT(ListsPtr pintf)
  {
    TAutoDriver<Lists>::Bind(pintf, true);
  }

  ListsDispT& operator=(Lists *pintf)
  {
    TAutoDriver<Lists>::Bind(pintf, false);
    return *this;
  }

  ListsDispT& operator=(ListsPtr pintf)
  {
    TAutoDriver<Lists>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::List** prop/*[out,retval]*/);
  Word_xp::List*  __fastcall Item(long Index/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef ListsDispT<Lists> ListsDisp;

typedef TComInterface<ListGallery>  TCOMListGallery;

// *********************************************************************//
// DispIntf:  ListGallery
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020994-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ListGalleryDispT : public TAutoDriver<ListGallery>
{
public:
  ListGalleryDispT(){}

  ListGalleryDispT(ListGallery *pintf)
  {
    TAutoDriver<ListGallery>::Bind(pintf, false);
  }

  ListGalleryDispT(ListGalleryPtr pintf)
  {
    TAutoDriver<ListGallery>::Bind(pintf, true);
  }

  ListGalleryDispT& operator=(ListGallery *pintf)
  {
    TAutoDriver<ListGallery>::Bind(pintf, false);
    return *this;
  }

  ListGalleryDispT& operator=(ListGalleryPtr pintf)
  {
    TAutoDriver<ListGallery>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_ListTemplates(Word_xp::ListTemplates** prop/*[out,retval]*/);
  Word_xp::ListTemplatesPtr __fastcall get_ListTemplates(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Modified(long Index/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Modified(long Index/*[in]*/);
  HRESULT         __fastcall Reset(long Index/*[in]*/);

  __property   Word_xp::ListTemplatesPtr ListTemplates = {read = get_ListTemplates};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef ListGalleryDispT<ListGallery> ListGalleryDisp;

typedef TComInterface<ListGalleries>  TCOMListGalleries;

// *********************************************************************//
// DispIntf:  ListGalleries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020995-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ListGalleriesDispT : public TAutoDriver<ListGalleries>
{
public:
  ListGalleriesDispT(){}

  ListGalleriesDispT(ListGalleries *pintf)
  {
    TAutoDriver<ListGalleries>::Bind(pintf, false);
  }

  ListGalleriesDispT(ListGalleriesPtr pintf)
  {
    TAutoDriver<ListGalleries>::Bind(pintf, true);
  }

  ListGalleriesDispT& operator=(ListGalleries *pintf)
  {
    TAutoDriver<ListGalleries>::Bind(pintf, false);
    return *this;
  }

  ListGalleriesDispT& operator=(ListGalleriesPtr pintf)
  {
    TAutoDriver<ListGalleries>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(Word_xp::WdListGalleryType Index/*[in]*/, 
                                  Word_xp::ListGallery** prop/*[out,retval]*/);
  Word_xp::ListGallery* __fastcall Item(Word_xp::WdListGalleryType Index/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef ListGalleriesDispT<ListGalleries> ListGalleriesDisp;

typedef TComInterface<KeyBindings>  TCOMKeyBindings;

// *********************************************************************//
// DispIntf:  KeyBindings
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020996-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class KeyBindingsDispT : public TAutoDriver<KeyBindings>
{
public:
  KeyBindingsDispT(){}

  KeyBindingsDispT(KeyBindings *pintf)
  {
    TAutoDriver<KeyBindings>::Bind(pintf, false);
  }

  KeyBindingsDispT(KeyBindingsPtr pintf)
  {
    TAutoDriver<KeyBindings>::Bind(pintf, true);
  }

  KeyBindingsDispT& operator=(KeyBindings *pintf)
  {
    TAutoDriver<KeyBindings>::Bind(pintf, false);
    return *this;
  }

  KeyBindingsDispT& operator=(KeyBindingsPtr pintf)
  {
    TAutoDriver<KeyBindings>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Context(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Context(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::KeyBinding** prop/*[out,retval]*/);
  Word_xp::KeyBinding* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Add(Word_xp::WdKeyCategory KeyCategory/*[in]*/, BSTR Command/*[in]*/, 
                                 long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                 VARIANT* CommandParameter/*[in,opt]*/, 
                                 Word_xp::KeyBinding** prop/*[out,retval]*/);
  Word_xp::KeyBinding* __fastcall Add(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                      BSTR Command/*[in]*/, long KeyCode/*[in]*/, 
                                      VARIANT* KeyCode2/*[in,opt]*/= TNoParam(), 
                                      VARIANT* CommandParameter/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ClearAll();
  HRESULT         __fastcall Key(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                 Word_xp::KeyBinding** prop/*[out,retval]*/);
  Word_xp::KeyBinding* __fastcall Key(long KeyCode/*[in]*/, 
                                      VARIANT* KeyCode2/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   LPDISPATCH      Context = {read = get_Context};
};
typedef KeyBindingsDispT<KeyBindings> KeyBindingsDisp;

typedef TComInterface<KeysBoundTo>  TCOMKeysBoundTo;

// *********************************************************************//
// DispIntf:  KeysBoundTo
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020997-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class KeysBoundToDispT : public TAutoDriver<KeysBoundTo>
{
public:
  KeysBoundToDispT(){}

  KeysBoundToDispT(KeysBoundTo *pintf)
  {
    TAutoDriver<KeysBoundTo>::Bind(pintf, false);
  }

  KeysBoundToDispT(KeysBoundToPtr pintf)
  {
    TAutoDriver<KeysBoundTo>::Bind(pintf, true);
  }

  KeysBoundToDispT& operator=(KeysBoundTo *pintf)
  {
    TAutoDriver<KeysBoundTo>::Bind(pintf, false);
    return *this;
  }

  KeysBoundToDispT& operator=(KeysBoundToPtr pintf)
  {
    TAutoDriver<KeysBoundTo>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_KeyCategory(Word_xp::WdKeyCategory* prop/*[out,retval]*/);
  Word_xp::WdKeyCategory __fastcall get_KeyCategory(void);
  HRESULT         __fastcall get_Command(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Command(void);
  HRESULT         __fastcall get_CommandParameter(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_CommandParameter(void);
  HRESULT         __fastcall get_Context(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Context(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::KeyBinding** prop/*[out,retval]*/);
  Word_xp::KeyBinding* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Key(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                 Word_xp::KeyBinding** prop/*[out,retval]*/);
  Word_xp::KeyBinding* __fastcall Key(long KeyCode/*[in]*/, 
                                      VARIANT* KeyCode2/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdKeyCategory KeyCategory = {read = get_KeyCategory};
  __property   BSTR            Command = {read = get_Command};
  __property   BSTR            CommandParameter = {read = get_CommandParameter};
  __property   LPDISPATCH      Context = {read = get_Context};
};
typedef KeysBoundToDispT<KeysBoundTo> KeysBoundToDisp;

typedef TComInterface<KeyBinding>  TCOMKeyBinding;

// *********************************************************************//
// DispIntf:  KeyBinding
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020998-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class KeyBindingDispT : public TAutoDriver<KeyBinding>
{
public:
  KeyBindingDispT(){}

  KeyBindingDispT(KeyBinding *pintf)
  {
    TAutoDriver<KeyBinding>::Bind(pintf, false);
  }

  KeyBindingDispT(KeyBindingPtr pintf)
  {
    TAutoDriver<KeyBinding>::Bind(pintf, true);
  }

  KeyBindingDispT& operator=(KeyBinding *pintf)
  {
    TAutoDriver<KeyBinding>::Bind(pintf, false);
    return *this;
  }

  KeyBindingDispT& operator=(KeyBindingPtr pintf)
  {
    TAutoDriver<KeyBinding>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Command(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Command(void);
  HRESULT         __fastcall get_KeyString(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_KeyString(void);
  HRESULT         __fastcall get_Protected(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Protected(void);
  HRESULT         __fastcall get_KeyCategory(Word_xp::WdKeyCategory* prop/*[out,retval]*/);
  Word_xp::WdKeyCategory __fastcall get_KeyCategory(void);
  HRESULT         __fastcall get_KeyCode(long* prop/*[out,retval]*/);
  long            __fastcall get_KeyCode(void);
  HRESULT         __fastcall get_KeyCode2(long* prop/*[out,retval]*/);
  long            __fastcall get_KeyCode2(void);
  HRESULT         __fastcall get_CommandParameter(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_CommandParameter(void);
  HRESULT         __fastcall get_Context(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Context(void);
  HRESULT         __fastcall Clear();
  HRESULT         __fastcall Disable();
  HRESULT         __fastcall Execute();
  HRESULT         __fastcall Rebind(Word_xp::WdKeyCategory KeyCategory/*[in]*/, BSTR Command/*[in]*/
                                    , VARIANT* CommandParameter/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Command = {read = get_Command};
  __property   BSTR            KeyString = {read = get_KeyString};
  __property   VARIANT_BOOL    Protected = {read = get_Protected};
  __property   Word_xp::WdKeyCategory KeyCategory = {read = get_KeyCategory};
  __property   long            KeyCode = {read = get_KeyCode};
  __property   long            KeyCode2 = {read = get_KeyCode2};
  __property   BSTR            CommandParameter = {read = get_CommandParameter};
  __property   LPDISPATCH      Context = {read = get_Context};
};
typedef KeyBindingDispT<KeyBinding> KeyBindingDisp;

typedef TComInterface<FileConverter>  TCOMFileConverter;

// *********************************************************************//
// DispIntf:  FileConverter
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020999-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FileConverterDispT : public TAutoDriver<FileConverter>
{
public:
  FileConverterDispT(){}

  FileConverterDispT(FileConverter *pintf)
  {
    TAutoDriver<FileConverter>::Bind(pintf, false);
  }

  FileConverterDispT(FileConverterPtr pintf)
  {
    TAutoDriver<FileConverter>::Bind(pintf, true);
  }

  FileConverterDispT& operator=(FileConverter *pintf)
  {
    TAutoDriver<FileConverter>::Bind(pintf, false);
    return *this;
  }

  FileConverterDispT& operator=(FileConverterPtr pintf)
  {
    TAutoDriver<FileConverter>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_FormatName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_FormatName(void);
  HRESULT         __fastcall get_ClassName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ClassName(void);
  HRESULT         __fastcall get_SaveFormat(long* prop/*[out,retval]*/);
  long            __fastcall get_SaveFormat(void);
  HRESULT         __fastcall get_OpenFormat(long* prop/*[out,retval]*/);
  long            __fastcall get_OpenFormat(void);
  HRESULT         __fastcall get_CanSave(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CanSave(void);
  HRESULT         __fastcall get_CanOpen(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CanOpen(void);
  HRESULT         __fastcall get_Path(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Path(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Extensions(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Extensions(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            FormatName = {read = get_FormatName};
  __property   BSTR            ClassName = {read = get_ClassName};
  __property   long            SaveFormat = {read = get_SaveFormat};
  __property   long            OpenFormat = {read = get_OpenFormat};
  __property   VARIANT_BOOL    CanSave = {read = get_CanSave};
  __property   VARIANT_BOOL    CanOpen = {read = get_CanOpen};
  __property   BSTR            Path = {read = get_Path};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Extensions = {read = get_Extensions};
};
typedef FileConverterDispT<FileConverter> FileConverterDisp;

typedef TComInterface<FileConverters>  TCOMFileConverters;

// *********************************************************************//
// DispIntf:  FileConverters
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099A-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FileConvertersDispT : public TAutoDriver<FileConverters>
{
public:
  FileConvertersDispT(){}

  FileConvertersDispT(FileConverters *pintf)
  {
    TAutoDriver<FileConverters>::Bind(pintf, false);
  }

  FileConvertersDispT(FileConvertersPtr pintf)
  {
    TAutoDriver<FileConverters>::Bind(pintf, true);
  }

  FileConvertersDispT& operator=(FileConverters *pintf)
  {
    TAutoDriver<FileConverters>::Bind(pintf, false);
    return *this;
  }

  FileConvertersDispT& operator=(FileConvertersPtr pintf)
  {
    TAutoDriver<FileConverters>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_ConvertMacWordChevrons(Word_xp::WdChevronConvertRule* prop/*[out,retval]*/);
  Word_xp::WdChevronConvertRule __fastcall get_ConvertMacWordChevrons(void);
  HRESULT         __fastcall set_ConvertMacWordChevrons(Word_xp::WdChevronConvertRule prop/*[in]*/);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::FileConverter** prop/*[out,retval]*/);
  Word_xp::FileConverter* __fastcall Item(VARIANT* Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   Word_xp::WdChevronConvertRule ConvertMacWordChevrons = {read = get_ConvertMacWordChevrons, write = set_ConvertMacWordChevrons};
};
typedef FileConvertersDispT<FileConverters> FileConvertersDisp;

typedef TComInterface<SynonymInfo>  TCOMSynonymInfo;

// *********************************************************************//
// DispIntf:  SynonymInfo
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099B-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class SynonymInfoDispT : public TAutoDriver<SynonymInfo>
{
public:
  SynonymInfoDispT(){}

  SynonymInfoDispT(SynonymInfo *pintf)
  {
    TAutoDriver<SynonymInfo>::Bind(pintf, false);
  }

  SynonymInfoDispT(SynonymInfoPtr pintf)
  {
    TAutoDriver<SynonymInfo>::Bind(pintf, true);
  }

  SynonymInfoDispT& operator=(SynonymInfo *pintf)
  {
    TAutoDriver<SynonymInfo>::Bind(pintf, false);
    return *this;
  }

  SynonymInfoDispT& operator=(SynonymInfoPtr pintf)
  {
    TAutoDriver<SynonymInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Word(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Word(void);
  HRESULT         __fastcall get_Found(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Found(void);
  HRESULT         __fastcall get_MeaningCount(long* prop/*[out,retval]*/);
  long            __fastcall get_MeaningCount(void);
  HRESULT         __fastcall get_MeaningList(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_MeaningList(void);
  HRESULT         __fastcall get_PartOfSpeechList(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_PartOfSpeechList(void);
  HRESULT         __fastcall get_SynonymList(VARIANT* Meaning/*[in]*/, VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_SynonymList(VARIANT* Meaning/*[in]*/);
  HRESULT         __fastcall get_AntonymList(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_AntonymList(void);
  HRESULT         __fastcall get_RelatedExpressionList(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_RelatedExpressionList(void);
  HRESULT         __fastcall get_RelatedWordList(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_RelatedWordList(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Word = {read = get_Word};
  __property   VARIANT_BOOL    Found = {read = get_Found};
  __property   long            MeaningCount = {read = get_MeaningCount};
};
typedef SynonymInfoDispT<SynonymInfo> SynonymInfoDisp;

typedef TComInterface<Hyperlinks>  TCOMHyperlinks;

// *********************************************************************//
// DispIntf:  Hyperlinks
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099C-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class HyperlinksDispT : public TAutoDriver<Hyperlinks>
{
public:
  HyperlinksDispT(){}

  HyperlinksDispT(Hyperlinks *pintf)
  {
    TAutoDriver<Hyperlinks>::Bind(pintf, false);
  }

  HyperlinksDispT(HyperlinksPtr pintf)
  {
    TAutoDriver<Hyperlinks>::Bind(pintf, true);
  }

  HyperlinksDispT& operator=(Hyperlinks *pintf)
  {
    TAutoDriver<Hyperlinks>::Bind(pintf, false);
    return *this;
  }

  HyperlinksDispT& operator=(HyperlinksPtr pintf)
  {
    TAutoDriver<Hyperlinks>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Hyperlink** prop/*[out,retval]*/);
  Word_xp::Hyperlink* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall _Add(LPDISPATCH Anchor/*[in]*/, VARIANT* Address/*[in,opt]*/, 
                                  VARIANT* SubAddress/*[in,opt]*/, 
                                  Word_xp::Hyperlink** prop/*[out,retval]*/);
  Word_xp::Hyperlink* __fastcall _Add(LPDISPATCH Anchor/*[in]*/, 
                                      VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                      VARIANT* SubAddress/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Add(LPDISPATCH Anchor/*[in]*/, VARIANT* Address/*[in,opt]*/, 
                                 VARIANT* SubAddress/*[in,opt]*/, VARIANT* ScreenTip/*[in,opt]*/, 
                                 VARIANT* TextToDisplay/*[in,opt]*/, VARIANT* Target/*[in,opt]*/, 
                                 Word_xp::Hyperlink** prop/*[out,retval]*/);
  Word_xp::Hyperlink* __fastcall Add(LPDISPATCH Anchor/*[in]*/, 
                                     VARIANT* Address/*[in,opt]*/= TNoParam(), 
                                     VARIANT* SubAddress/*[in,opt]*/= TNoParam(), 
                                     VARIANT* ScreenTip/*[in,opt]*/= TNoParam(), 
                                     VARIANT* TextToDisplay/*[in,opt]*/= TNoParam(), 
                                     VARIANT* Target/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
};
typedef HyperlinksDispT<Hyperlinks> HyperlinksDisp;

typedef TComInterface<Hyperlink>  TCOMHyperlink;

// *********************************************************************//
// DispIntf:  Hyperlink
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099D-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class HyperlinkDispT : public TAutoDriver<Hyperlink>
{
public:
  HyperlinkDispT(){}

  HyperlinkDispT(Hyperlink *pintf)
  {
    TAutoDriver<Hyperlink>::Bind(pintf, false);
  }

  HyperlinkDispT(HyperlinkPtr pintf)
  {
    TAutoDriver<Hyperlink>::Bind(pintf, true);
  }

  HyperlinkDispT& operator=(Hyperlink *pintf)
  {
    TAutoDriver<Hyperlink>::Bind(pintf, false);
    return *this;
  }

  HyperlinkDispT& operator=(HyperlinkPtr pintf)
  {
    TAutoDriver<Hyperlink>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_AddressOld(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_AddressOld(void);
  HRESULT         __fastcall get_Type(Office_xp::MsoHyperlinkType* prop/*[out,retval]*/);
  Office_xp::MsoHyperlinkType __fastcall get_Type(void);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Shape(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::ShapePtr __fastcall get_Shape(void);
  HRESULT         __fastcall get_SubAddressOld(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SubAddressOld(void);
  HRESULT         __fastcall get_ExtraInfoRequired(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ExtraInfoRequired(void);
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Follow(VARIANT* NewWindow/*[in,opt]*/= TNoParam(), 
                                    VARIANT* AddHistory/*[in,opt]*/= TNoParam(), 
                                    VARIANT* ExtraInfo/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Method/*[in,opt]*/= TNoParam(), 
                                    VARIANT* HeaderInfo/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddToFavorites();
  HRESULT         __fastcall CreateNewDocument(BSTR FileName/*[in]*/, VARIANT_BOOL EditNow/*[in]*/, 
                                               VARIANT_BOOL Overwrite/*[in]*/);
  HRESULT         __fastcall get_Address(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Address(void);
  HRESULT         __fastcall set_Address(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SubAddress(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SubAddress(void);
  HRESULT         __fastcall set_SubAddress(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_EmailSubject(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_EmailSubject(void);
  HRESULT         __fastcall set_EmailSubject(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ScreenTip(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ScreenTip(void);
  HRESULT         __fastcall set_ScreenTip(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_TextToDisplay(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_TextToDisplay(void);
  HRESULT         __fastcall set_TextToDisplay(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Target(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Target(void);
  HRESULT         __fastcall set_Target(BSTR prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            AddressOld = {read = get_AddressOld};
  __property   Office_xp::MsoHyperlinkType Type = {read = get_Type};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::ShapePtr Shape = {read = get_Shape};
  __property   BSTR            SubAddressOld = {read = get_SubAddressOld};
  __property   VARIANT_BOOL    ExtraInfoRequired = {read = get_ExtraInfoRequired};
  __property   BSTR            Address = {read = get_Address, write = set_Address};
  __property   BSTR            SubAddress = {read = get_SubAddress, write = set_SubAddress};
  __property   BSTR            EmailSubject = {read = get_EmailSubject, write = set_EmailSubject};
  __property   BSTR            ScreenTip = {read = get_ScreenTip, write = set_ScreenTip};
  __property   BSTR            TextToDisplay = {read = get_TextToDisplay, write = set_TextToDisplay};
  __property   BSTR            Target = {read = get_Target, write = set_Target};
};
typedef HyperlinkDispT<Hyperlink> HyperlinkDisp;

typedef TComInterface<Shapes>  TCOMShapes;

// *********************************************************************//
// DispIntf:  Shapes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099F-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ShapesDispT : public TAutoDriver<Shapes>
{
public:
  ShapesDispT(){}

  ShapesDispT(Shapes *pintf)
  {
    TAutoDriver<Shapes>::Bind(pintf, false);
  }

  ShapesDispT(ShapesPtr pintf)
  {
    TAutoDriver<Shapes>::Bind(pintf, true);
  }

  ShapesDispT& operator=(Shapes *pintf)
  {
    TAutoDriver<Shapes>::Bind(pintf, false);
    return *this;
  }

  ShapesDispT& operator=(ShapesPtr pintf)
  {
    TAutoDriver<Shapes>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall AddCallout(Office_xp::MsoCalloutType Type/*[in]*/, float Left/*[in]*/, 
                                        float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/
                                        , VARIANT* Anchor/*[in,opt]*/, 
                                        Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddCallout(Office_xp::MsoCalloutType Type/*[in]*/, float Left/*[in]*/, 
                                        float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                                        VARIANT* Anchor/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddConnector(Office_xp::MsoConnectorType Type/*[in]*/, 
                                          float BeginX/*[in]*/, float BeginY/*[in]*/, 
                                          float EndX/*[in]*/, float EndY/*[in]*/, 
                                          Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddConnector(Office_xp::MsoConnectorType Type/*[in]*/, 
                                          float BeginX/*[in]*/, float BeginY/*[in]*/, 
                                          float EndX/*[in]*/, float EndY/*[in]*/);
  HRESULT         __fastcall AddCurve(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                      VARIANT* Anchor/*[in,opt]*/, 
                                      Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddCurve(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                      VARIANT* Anchor/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddLabel(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                      float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                      float Height/*[in]*/, VARIANT* Anchor/*[in,opt]*/, 
                                      Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddLabel(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                      float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                      float Height/*[in]*/, VARIANT* Anchor/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddLine(float BeginX/*[in]*/, float BeginY/*[in]*/, float EndX/*[in]*/
                                     , float EndY/*[in]*/, VARIANT* Anchor/*[in,opt]*/, 
                                     Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddLine(float BeginX/*[in]*/, float BeginY/*[in]*/, float EndX/*[in]*/, 
                                     float EndY/*[in]*/, VARIANT* Anchor/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddPicture(BSTR FileName/*[in]*/, VARIANT* LinkToFile/*[in,opt]*/, 
                                        VARIANT* SaveWithDocument/*[in,opt]*/, 
                                        VARIANT* Left/*[in,opt]*/, VARIANT* Top/*[in,opt]*/, 
                                        VARIANT* Width/*[in,opt]*/, VARIANT* Height/*[in,opt]*/, 
                                        VARIANT* Anchor/*[in,opt]*/, 
                                        Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddPicture(BSTR FileName/*[in]*/, 
                                        VARIANT* LinkToFile/*[in,opt]*/= TNoParam(), 
                                        VARIANT* SaveWithDocument/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Left/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Top/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Anchor/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddPolyline(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                         VARIANT* Anchor/*[in,opt]*/, 
                                         Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddPolyline(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                         VARIANT* Anchor/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddShape(long Type/*[in]*/, float Left/*[in]*/, float Top/*[in]*/, 
                                      float Width/*[in]*/, float Height/*[in]*/, 
                                      VARIANT* Anchor/*[in,opt]*/, 
                                      Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddShape(long Type/*[in]*/, float Left/*[in]*/, float Top/*[in]*/, 
                                      float Width/*[in]*/, float Height/*[in]*/, 
                                      VARIANT* Anchor/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddTextEffect(Office_xp::MsoPresetTextEffect PresetTextEffect/*[in]*/, 
                                           BSTR Text/*[in]*/, BSTR FontName/*[in]*/, 
                                           float FontSize/*[in]*/, 
                                           Office_xp::MsoTriState FontBold/*[in]*/, 
                                           Office_xp::MsoTriState FontItalic/*[in]*/, 
                                           float Left/*[in]*/, float Top/*[in]*/, 
                                           VARIANT* Anchor/*[in,opt]*/, 
                                           Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddTextEffect(Office_xp::MsoPresetTextEffect PresetTextEffect/*[in]*/, 
                                           BSTR Text/*[in]*/, BSTR FontName/*[in]*/, 
                                           float FontSize/*[in]*/, 
                                           Office_xp::MsoTriState FontBold/*[in]*/, 
                                           Office_xp::MsoTriState FontItalic/*[in]*/, 
                                           float Left/*[in]*/, float Top/*[in]*/, 
                                           VARIANT* Anchor/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddTextbox(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                        float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                        float Height/*[in]*/, VARIANT* Anchor/*[in,opt]*/, 
                                        Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddTextbox(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                        float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                        float Height/*[in]*/, 
                                        VARIANT* Anchor/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall BuildFreeform(Office_xp::MsoEditingType EditingType/*[in]*/, 
                                           float X1/*[in]*/, float Y1/*[in]*/, 
                                           Word_xp::FreeformBuilder** prop/*[out,retval]*/);
  Word_xp::FreeformBuilder* __fastcall BuildFreeform(Office_xp::MsoEditingType EditingType/*[in]*/, 
                                                     float X1/*[in]*/, float Y1/*[in]*/);
  HRESULT         __fastcall Range(VARIANT* Index/*[in]*/, 
                                   Word_xp::ShapeRange** prop/*[out,retval]*/);
  Word_xp::ShapeRange* __fastcall Range(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall SelectAll();
  HRESULT         __fastcall AddOLEObject(VARIANT* ClassType/*[in,opt]*/, 
                                          VARIANT* FileName/*[in,opt]*/, 
                                          VARIANT* LinkToFile/*[in,opt]*/, 
                                          VARIANT* DisplayAsIcon/*[in,opt]*/, 
                                          VARIANT* IconFileName/*[in,opt]*/, 
                                          VARIANT* IconIndex/*[in,opt]*/, 
                                          VARIANT* IconLabel/*[in,opt]*/, VARIANT* Left/*[in,opt]*/
                                          , VARIANT* Top/*[in,opt]*/, VARIANT* Width/*[in,opt]*/, 
                                          VARIANT* Height/*[in,opt]*/, VARIANT* Anchor/*[in,opt]*/, 
                                          Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddOLEObject(VARIANT* ClassType/*[in,opt]*/= TNoParam(), 
                                          VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* LinkToFile/*[in,opt]*/= TNoParam(), 
                                          VARIANT* DisplayAsIcon/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IconFileName/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IconIndex/*[in,opt]*/= TNoParam(), 
                                          VARIANT* IconLabel/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Left/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Top/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                          VARIANT* Anchor/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddOLEControl(VARIANT* ClassType/*[in,opt]*/, VARIANT* Left/*[in,opt]*/
                                           , VARIANT* Top/*[in,opt]*/, VARIANT* Width/*[in,opt]*/, 
                                           VARIANT* Height/*[in,opt]*/, VARIANT* Anchor/*[in,opt]*/
                                           , Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddOLEControl(VARIANT* ClassType/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Left/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Top/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Height/*[in,opt]*/= TNoParam(), 
                                           VARIANT* Anchor/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddDiagram(Office_xp::MsoDiagramType Type/*[in]*/, float Left/*[in]*/, 
                                        float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/
                                        , VARIANT* Anchor/*[in,opt]*/, 
                                        Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddDiagram(Office_xp::MsoDiagramType Type/*[in]*/, float Left/*[in]*/, 
                                        float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                                        VARIANT* Anchor/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddCanvas(float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                       float Height/*[in]*/, VARIANT* Anchor/*[in,opt]*/, 
                                       Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddCanvas(float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                       float Height/*[in]*/, VARIANT* Anchor/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
};
typedef ShapesDispT<Shapes> ShapesDisp;

typedef TComInterface<ShapeRange>  TCOMShapeRange;

// *********************************************************************//
// DispIntf:  ShapeRange
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B5-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ShapeRangeDispT : public TAutoDriver<ShapeRange>
{
public:
  ShapeRangeDispT(){}

  ShapeRangeDispT(ShapeRange *pintf)
  {
    TAutoDriver<ShapeRange>::Bind(pintf, false);
  }

  ShapeRangeDispT(ShapeRangePtr pintf)
  {
    TAutoDriver<ShapeRange>::Bind(pintf, true);
  }

  ShapeRangeDispT& operator=(ShapeRange *pintf)
  {
    TAutoDriver<ShapeRange>::Bind(pintf, false);
    return *this;
  }

  ShapeRangeDispT& operator=(ShapeRangePtr pintf)
  {
    TAutoDriver<ShapeRange>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Adjustments(Word_xp::Adjustments** prop/*[out,retval]*/);
  Word_xp::AdjustmentsPtr __fastcall get_Adjustments(void);
  HRESULT         __fastcall get_AutoShapeType(Office_xp::MsoAutoShapeType* prop/*[out,retval]*/);
  Office_xp::MsoAutoShapeType __fastcall get_AutoShapeType(void);
  HRESULT         __fastcall set_AutoShapeType(Office_xp::MsoAutoShapeType prop/*[in]*/);
  HRESULT         __fastcall get_Callout(Word_xp::CalloutFormat** prop/*[out,retval]*/);
  Word_xp::CalloutFormatPtr __fastcall get_Callout(void);
  HRESULT         __fastcall get_ConnectionSiteCount(long* prop/*[out,retval]*/);
  long            __fastcall get_ConnectionSiteCount(void);
  HRESULT         __fastcall get_Connector(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Connector(void);
  HRESULT         __fastcall get_ConnectorFormat(Word_xp::ConnectorFormat** prop/*[out,retval]*/);
  Word_xp::ConnectorFormatPtr __fastcall get_ConnectorFormat(void);
  HRESULT         __fastcall get_Fill(Word_xp::FillFormat** prop/*[out,retval]*/);
  Word_xp::FillFormatPtr __fastcall get_Fill(void);
  HRESULT         __fastcall get_GroupItems(Word_xp::GroupShapes** prop/*[out,retval]*/);
  Word_xp::GroupShapesPtr __fastcall get_GroupItems(void);
  HRESULT         __fastcall get_Height(float* prop/*[out,retval]*/);
  float           __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(float prop/*[in]*/);
  HRESULT         __fastcall get_HorizontalFlip(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_HorizontalFlip(void);
  HRESULT         __fastcall get_Left(float* prop/*[out,retval]*/);
  float           __fastcall get_Left(void);
  HRESULT         __fastcall set_Left(float prop/*[in]*/);
  HRESULT         __fastcall get_Line(Word_xp::LineFormat** prop/*[out,retval]*/);
  Word_xp::LineFormatPtr __fastcall get_Line(void);
  HRESULT         __fastcall get_LockAspectRatio(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_LockAspectRatio(void);
  HRESULT         __fastcall set_LockAspectRatio(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Nodes(Word_xp::ShapeNodes** prop/*[out,retval]*/);
  Word_xp::ShapeNodesPtr __fastcall get_Nodes(void);
  HRESULT         __fastcall get_Rotation(float* prop/*[out,retval]*/);
  float           __fastcall get_Rotation(void);
  HRESULT         __fastcall set_Rotation(float prop/*[in]*/);
  HRESULT         __fastcall get_PictureFormat(Word_xp::PictureFormat** prop/*[out,retval]*/);
  Word_xp::PictureFormatPtr __fastcall get_PictureFormat(void);
  HRESULT         __fastcall get_Shadow(Word_xp::ShadowFormat** prop/*[out,retval]*/);
  Word_xp::ShadowFormatPtr __fastcall get_Shadow(void);
  HRESULT         __fastcall get_TextEffect(Word_xp::TextEffectFormat** prop/*[out,retval]*/);
  Word_xp::TextEffectFormatPtr __fastcall get_TextEffect(void);
  HRESULT         __fastcall get_TextFrame(Word_xp::TextFrame** prop/*[out,retval]*/);
  Word_xp::TextFramePtr __fastcall get_TextFrame(void);
  HRESULT         __fastcall get_ThreeD(Word_xp::ThreeDFormat** prop/*[out,retval]*/);
  Word_xp::ThreeDFormatPtr __fastcall get_ThreeD(void);
  HRESULT         __fastcall get_Top(float* prop/*[out,retval]*/);
  float           __fastcall get_Top(void);
  HRESULT         __fastcall set_Top(float prop/*[in]*/);
  HRESULT         __fastcall get_Type(Office_xp::MsoShapeType* prop/*[out,retval]*/);
  Office_xp::MsoShapeType __fastcall get_Type(void);
  HRESULT         __fastcall get_VerticalFlip(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_VerticalFlip(void);
  HRESULT         __fastcall get_Vertices(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Vertices(void);
  HRESULT         __fastcall get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_ZOrderPosition(long* prop/*[out,retval]*/);
  long            __fastcall get_ZOrderPosition(void);
  HRESULT         __fastcall get_Hyperlink(Word_xp::Hyperlink** prop/*[out,retval]*/);
  Word_xp::HyperlinkPtr __fastcall get_Hyperlink(void);
  HRESULT         __fastcall get_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition* prop/*[out,retval]*/);
  Word_xp::WdRelativeHorizontalPosition __fastcall get_RelativeHorizontalPosition(void);
  HRESULT         __fastcall set_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition prop/*[in]*/);
  HRESULT         __fastcall get_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition* prop/*[out,retval]*/);
  Word_xp::WdRelativeVerticalPosition __fastcall get_RelativeVerticalPosition(void);
  HRESULT         __fastcall set_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition prop/*[in]*/);
  HRESULT         __fastcall get_LockAnchor(long* prop/*[out,retval]*/);
  long            __fastcall get_LockAnchor(void);
  HRESULT         __fastcall set_LockAnchor(long prop/*[in]*/);
  HRESULT         __fastcall get_WrapFormat(Word_xp::WrapFormat** prop/*[out,retval]*/);
  Word_xp::WrapFormatPtr __fastcall get_WrapFormat(void);
  HRESULT         __fastcall get_Anchor(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Anchor(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Align(Office_xp::MsoAlignCmd Align/*[in]*/, long RelativeTo/*[in]*/);
  HRESULT         __fastcall Apply();
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Distribute(Office_xp::MsoDistributeCmd Distribute/*[in]*/, 
                                        long RelativeTo/*[in]*/);
  HRESULT         __fastcall Duplicate(Word_xp::ShapeRange** prop/*[out,retval]*/);
  Word_xp::ShapeRange* __fastcall Duplicate(void);
  HRESULT         __fastcall Flip(Office_xp::MsoFlipCmd FlipCmd/*[in]*/);
  HRESULT         __fastcall IncrementLeft(float Increment/*[in]*/);
  HRESULT         __fastcall IncrementRotation(float Increment/*[in]*/);
  HRESULT         __fastcall IncrementTop(float Increment/*[in]*/);
  HRESULT         __fastcall Group(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall Group(void);
  HRESULT         __fastcall PickUp();
  HRESULT         __fastcall Regroup(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall Regroup(void);
  HRESULT         __fastcall RerouteConnections();
  HRESULT         __fastcall ScaleHeight(float Factor/*[in]*/, 
                                         Office_xp::MsoTriState RelativeToOriginalSize/*[in]*/, 
                                         Office_xp::MsoScaleFrom Scale/*[in,def,opt]*/);
  HRESULT         __fastcall ScaleWidth(float Factor/*[in]*/, 
                                        Office_xp::MsoTriState RelativeToOriginalSize/*[in]*/, 
                                        Office_xp::MsoScaleFrom Scale/*[in,def,opt]*/);
  HRESULT         __fastcall Select(VARIANT* Replace/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SetShapesDefaultProperties();
  HRESULT         __fastcall Ungroup(Word_xp::ShapeRange** prop/*[out,retval]*/);
  Word_xp::ShapeRange* __fastcall Ungroup(void);
  HRESULT         __fastcall ZOrder(Office_xp::MsoZOrderCmd ZOrderCmd/*[in]*/);
  HRESULT         __fastcall ConvertToFrame(Word_xp::Frame** prop/*[out,retval]*/);
  Word_xp::Frame* __fastcall ConvertToFrame(void);
  HRESULT         __fastcall ConvertToInlineShape(Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShape* __fastcall ConvertToInlineShape(void);
  HRESULT         __fastcall Activate();
  HRESULT         __fastcall get_AlternativeText(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_AlternativeText(void);
  HRESULT         __fastcall set_AlternativeText(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_HasDiagram(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_HasDiagram(void);
  HRESULT         __fastcall get_Diagram(Office_xp::IMsoDiagram** prop/*[out,retval]*/);
  Office_xp::IMsoDiagramPtr __fastcall get_Diagram(void);
  HRESULT         __fastcall get_HasDiagramNode(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_HasDiagramNode(void);
  HRESULT         __fastcall get_DiagramNode(Word_xp::DiagramNode** prop/*[out,retval]*/);
  Word_xp::DiagramNodePtr __fastcall get_DiagramNode(void);
  HRESULT         __fastcall get_Child(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Child(void);
  HRESULT         __fastcall get_ParentGroup(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::ShapePtr __fastcall get_ParentGroup(void);
  HRESULT         __fastcall get_CanvasItems(Word_xp::CanvasShapes** prop/*[out,retval]*/);
  Word_xp::CanvasShapesPtr __fastcall get_CanvasItems(void);
  HRESULT         __fastcall get_ID(long* prop/*[out,retval]*/);
  long            __fastcall get_ID(void);
  HRESULT         __fastcall CanvasCropLeft(float Increment/*[in]*/);
  HRESULT         __fastcall CanvasCropTop(float Increment/*[in]*/);
  HRESULT         __fastcall CanvasCropRight(float Increment/*[in]*/);
  HRESULT         __fastcall CanvasCropBottom(float Increment/*[in]*/);
  HRESULT         __fastcall set_RTF(BSTR Param1/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   Word_xp::AdjustmentsPtr Adjustments = {read = get_Adjustments};
  __property   Office_xp::MsoAutoShapeType AutoShapeType = {read = get_AutoShapeType, write = set_AutoShapeType};
  __property   Word_xp::CalloutFormatPtr Callout = {read = get_Callout};
  __property   long            ConnectionSiteCount = {read = get_ConnectionSiteCount};
  __property   Office_xp::MsoTriState Connector = {read = get_Connector};
  __property   Word_xp::ConnectorFormatPtr ConnectorFormat = {read = get_ConnectorFormat};
  __property   Word_xp::FillFormatPtr Fill = {read = get_Fill};
  __property   Word_xp::GroupShapesPtr GroupItems = {read = get_GroupItems};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   Office_xp::MsoTriState HorizontalFlip = {read = get_HorizontalFlip};
  __property   float           Left = {read = get_Left, write = set_Left};
  __property   Word_xp::LineFormatPtr Line = {read = get_Line};
  __property   Office_xp::MsoTriState LockAspectRatio = {read = get_LockAspectRatio, write = set_LockAspectRatio};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   Word_xp::ShapeNodesPtr Nodes = {read = get_Nodes};
  __property   float           Rotation = {read = get_Rotation, write = set_Rotation};
  __property   Word_xp::PictureFormatPtr PictureFormat = {read = get_PictureFormat};
  __property   Word_xp::ShadowFormatPtr Shadow = {read = get_Shadow};
  __property   Word_xp::TextEffectFormatPtr TextEffect = {read = get_TextEffect};
  __property   Word_xp::TextFramePtr TextFrame = {read = get_TextFrame};
  __property   Word_xp::ThreeDFormatPtr ThreeD = {read = get_ThreeD};
  __property   float           Top = {read = get_Top, write = set_Top};
  __property   Office_xp::MsoShapeType Type = {read = get_Type};
  __property   Office_xp::MsoTriState VerticalFlip = {read = get_VerticalFlip};
  __property   Office_xp::MsoTriState Visible = {read = get_Visible, write = set_Visible};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   long            ZOrderPosition = {read = get_ZOrderPosition};
  __property   Word_xp::HyperlinkPtr Hyperlink = {read = get_Hyperlink};
  __property   Word_xp::WdRelativeHorizontalPosition RelativeHorizontalPosition = {read = get_RelativeHorizontalPosition, write = set_RelativeHorizontalPosition};
  __property   Word_xp::WdRelativeVerticalPosition RelativeVerticalPosition = {read = get_RelativeVerticalPosition, write = set_RelativeVerticalPosition};
  __property   long            LockAnchor = {read = get_LockAnchor, write = set_LockAnchor};
  __property   Word_xp::WrapFormatPtr WrapFormat = {read = get_WrapFormat};
  __property   Word_xp::WordRangePtr Anchor = {read = get_Anchor};
  __property   BSTR            AlternativeText = {read = get_AlternativeText, write = set_AlternativeText};
  __property   Office_xp::MsoTriState HasDiagram = {read = get_HasDiagram};
  __property   Office_xp::IMsoDiagramPtr Diagram = {read = get_Diagram};
  __property   Office_xp::MsoTriState HasDiagramNode = {read = get_HasDiagramNode};
  __property   Word_xp::DiagramNodePtr DiagramNode = {read = get_DiagramNode};
  __property   Office_xp::MsoTriState Child = {read = get_Child};
  __property   Word_xp::ShapePtr ParentGroup = {read = get_ParentGroup};
  __property   Word_xp::CanvasShapesPtr CanvasItems = {read = get_CanvasItems};
  __property   long            ID = {read = get_ID};
  __property   BSTR            RTF = {write = set_RTF};
};
typedef ShapeRangeDispT<ShapeRange> ShapeRangeDisp;

typedef TComInterface<GroupShapes>  TCOMGroupShapes;

// *********************************************************************//
// DispIntf:  GroupShapes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B6-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class GroupShapesDispT : public TAutoDriver<GroupShapes>
{
public:
  GroupShapesDispT(){}

  GroupShapesDispT(GroupShapes *pintf)
  {
    TAutoDriver<GroupShapes>::Bind(pintf, false);
  }

  GroupShapesDispT(GroupShapesPtr pintf)
  {
    TAutoDriver<GroupShapes>::Bind(pintf, true);
  }

  GroupShapesDispT& operator=(GroupShapes *pintf)
  {
    TAutoDriver<GroupShapes>::Bind(pintf, false);
    return *this;
  }

  GroupShapesDispT& operator=(GroupShapesPtr pintf)
  {
    TAutoDriver<GroupShapes>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Range(VARIANT* Index/*[in]*/, 
                                   Word_xp::ShapeRange** prop/*[out,retval]*/);
  Word_xp::ShapeRange* __fastcall Range(VARIANT* Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
};
typedef GroupShapesDispT<GroupShapes> GroupShapesDisp;

typedef TComInterface<Shape>  TCOMShape;

// *********************************************************************//
// DispIntf:  Shape
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A0-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ShapeDispT : public TAutoDriver<Shape>
{
public:
  ShapeDispT(){}

  ShapeDispT(Shape *pintf)
  {
    TAutoDriver<Shape>::Bind(pintf, false);
  }

  ShapeDispT(ShapePtr pintf)
  {
    TAutoDriver<Shape>::Bind(pintf, true);
  }

  ShapeDispT& operator=(Shape *pintf)
  {
    TAutoDriver<Shape>::Bind(pintf, false);
    return *this;
  }

  ShapeDispT& operator=(ShapePtr pintf)
  {
    TAutoDriver<Shape>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Adjustments(Word_xp::Adjustments** prop/*[out,retval]*/);
  Word_xp::AdjustmentsPtr __fastcall get_Adjustments(void);
  HRESULT         __fastcall get_AutoShapeType(Office_xp::MsoAutoShapeType* prop/*[out,retval]*/);
  Office_xp::MsoAutoShapeType __fastcall get_AutoShapeType(void);
  HRESULT         __fastcall set_AutoShapeType(Office_xp::MsoAutoShapeType prop/*[in]*/);
  HRESULT         __fastcall get_Callout(Word_xp::CalloutFormat** prop/*[out,retval]*/);
  Word_xp::CalloutFormatPtr __fastcall get_Callout(void);
  HRESULT         __fastcall get_ConnectionSiteCount(long* prop/*[out,retval]*/);
  long            __fastcall get_ConnectionSiteCount(void);
  HRESULT         __fastcall get_Connector(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Connector(void);
  HRESULT         __fastcall get_ConnectorFormat(Word_xp::ConnectorFormat** prop/*[out,retval]*/);
  Word_xp::ConnectorFormatPtr __fastcall get_ConnectorFormat(void);
  HRESULT         __fastcall get_Fill(Word_xp::FillFormat** prop/*[out,retval]*/);
  Word_xp::FillFormatPtr __fastcall get_Fill(void);
  HRESULT         __fastcall get_GroupItems(Word_xp::GroupShapes** prop/*[out,retval]*/);
  Word_xp::GroupShapesPtr __fastcall get_GroupItems(void);
  HRESULT         __fastcall get_Height(float* prop/*[out,retval]*/);
  float           __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(float prop/*[in]*/);
  HRESULT         __fastcall get_HorizontalFlip(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_HorizontalFlip(void);
  HRESULT         __fastcall get_Left(float* prop/*[out,retval]*/);
  float           __fastcall get_Left(void);
  HRESULT         __fastcall set_Left(float prop/*[in]*/);
  HRESULT         __fastcall get_Line(Word_xp::LineFormat** prop/*[out,retval]*/);
  Word_xp::LineFormatPtr __fastcall get_Line(void);
  HRESULT         __fastcall get_LockAspectRatio(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_LockAspectRatio(void);
  HRESULT         __fastcall set_LockAspectRatio(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Nodes(Word_xp::ShapeNodes** prop/*[out,retval]*/);
  Word_xp::ShapeNodesPtr __fastcall get_Nodes(void);
  HRESULT         __fastcall get_Rotation(float* prop/*[out,retval]*/);
  float           __fastcall get_Rotation(void);
  HRESULT         __fastcall set_Rotation(float prop/*[in]*/);
  HRESULT         __fastcall get_PictureFormat(Word_xp::PictureFormat** prop/*[out,retval]*/);
  Word_xp::PictureFormatPtr __fastcall get_PictureFormat(void);
  HRESULT         __fastcall get_Shadow(Word_xp::ShadowFormat** prop/*[out,retval]*/);
  Word_xp::ShadowFormatPtr __fastcall get_Shadow(void);
  HRESULT         __fastcall get_TextEffect(Word_xp::TextEffectFormat** prop/*[out,retval]*/);
  Word_xp::TextEffectFormatPtr __fastcall get_TextEffect(void);
  HRESULT         __fastcall get_TextFrame(Word_xp::TextFrame** prop/*[out,retval]*/);
  Word_xp::TextFramePtr __fastcall get_TextFrame(void);
  HRESULT         __fastcall get_ThreeD(Word_xp::ThreeDFormat** prop/*[out,retval]*/);
  Word_xp::ThreeDFormatPtr __fastcall get_ThreeD(void);
  HRESULT         __fastcall get_Top(float* prop/*[out,retval]*/);
  float           __fastcall get_Top(void);
  HRESULT         __fastcall set_Top(float prop/*[in]*/);
  HRESULT         __fastcall get_Type(Office_xp::MsoShapeType* prop/*[out,retval]*/);
  Office_xp::MsoShapeType __fastcall get_Type(void);
  HRESULT         __fastcall get_VerticalFlip(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_VerticalFlip(void);
  HRESULT         __fastcall get_Vertices(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Vertices(void);
  HRESULT         __fastcall get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_ZOrderPosition(long* prop/*[out,retval]*/);
  long            __fastcall get_ZOrderPosition(void);
  HRESULT         __fastcall get_Hyperlink(Word_xp::Hyperlink** prop/*[out,retval]*/);
  Word_xp::HyperlinkPtr __fastcall get_Hyperlink(void);
  HRESULT         __fastcall get_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition* prop/*[out,retval]*/);
  Word_xp::WdRelativeHorizontalPosition __fastcall get_RelativeHorizontalPosition(void);
  HRESULT         __fastcall set_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition prop/*[in]*/);
  HRESULT         __fastcall get_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition* prop/*[out,retval]*/);
  Word_xp::WdRelativeVerticalPosition __fastcall get_RelativeVerticalPosition(void);
  HRESULT         __fastcall set_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition prop/*[in]*/);
  HRESULT         __fastcall get_LockAnchor(long* prop/*[out,retval]*/);
  long            __fastcall get_LockAnchor(void);
  HRESULT         __fastcall set_LockAnchor(long prop/*[in]*/);
  HRESULT         __fastcall get_WrapFormat(Word_xp::WrapFormat** prop/*[out,retval]*/);
  Word_xp::WrapFormatPtr __fastcall get_WrapFormat(void);
  HRESULT         __fastcall get_OLEFormat(Word_xp::OLEFormat** prop/*[out,retval]*/);
  Word_xp::OLEFormatPtr __fastcall get_OLEFormat(void);
  HRESULT         __fastcall get_Anchor(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Anchor(void);
  HRESULT         __fastcall get_LinkFormat(Word_xp::LinkFormat** prop/*[out,retval]*/);
  Word_xp::LinkFormatPtr __fastcall get_LinkFormat(void);
  HRESULT         __fastcall Apply();
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Duplicate(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall Duplicate(void);
  HRESULT         __fastcall Flip(Office_xp::MsoFlipCmd FlipCmd/*[in]*/);
  HRESULT         __fastcall IncrementLeft(float Increment/*[in]*/);
  HRESULT         __fastcall IncrementRotation(float Increment/*[in]*/);
  HRESULT         __fastcall IncrementTop(float Increment/*[in]*/);
  HRESULT         __fastcall PickUp();
  HRESULT         __fastcall RerouteConnections();
  HRESULT         __fastcall ScaleHeight(float Factor/*[in]*/, 
                                         Office_xp::MsoTriState RelativeToOriginalSize/*[in]*/, 
                                         Office_xp::MsoScaleFrom Scale/*[in,def,opt]*/);
  HRESULT         __fastcall ScaleWidth(float Factor/*[in]*/, 
                                        Office_xp::MsoTriState RelativeToOriginalSize/*[in]*/, 
                                        Office_xp::MsoScaleFrom Scale/*[in,def,opt]*/);
  HRESULT         __fastcall Select(VARIANT* Replace/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall SetShapesDefaultProperties();
  HRESULT         __fastcall Ungroup(Word_xp::ShapeRange** prop/*[out,retval]*/);
  Word_xp::ShapeRange* __fastcall Ungroup(void);
  HRESULT         __fastcall ZOrder(Office_xp::MsoZOrderCmd ZOrderCmd/*[in]*/);
  HRESULT         __fastcall ConvertToInlineShape(Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShape* __fastcall ConvertToInlineShape(void);
  HRESULT         __fastcall ConvertToFrame(Word_xp::Frame** prop/*[out,retval]*/);
  Word_xp::Frame* __fastcall ConvertToFrame(void);
  HRESULT         __fastcall Activate();
  HRESULT         __fastcall get_AlternativeText(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_AlternativeText(void);
  HRESULT         __fastcall set_AlternativeText(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Script(Office_xp::Script** prop/*[out,retval]*/);
  Office_xp::ScriptPtr __fastcall get_Script(void);
  HRESULT         __fastcall get_HasDiagram(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_HasDiagram(void);
  HRESULT         __fastcall get_Diagram(Office_xp::IMsoDiagram** prop/*[out,retval]*/);
  Office_xp::IMsoDiagramPtr __fastcall get_Diagram(void);
  HRESULT         __fastcall get_HasDiagramNode(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_HasDiagramNode(void);
  HRESULT         __fastcall get_DiagramNode(Word_xp::DiagramNode** prop/*[out,retval]*/);
  Word_xp::DiagramNodePtr __fastcall get_DiagramNode(void);
  HRESULT         __fastcall get_Child(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Child(void);
  HRESULT         __fastcall get_ParentGroup(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::ShapePtr __fastcall get_ParentGroup(void);
  HRESULT         __fastcall get_CanvasItems(Word_xp::CanvasShapes** prop/*[out,retval]*/);
  Word_xp::CanvasShapesPtr __fastcall get_CanvasItems(void);
  HRESULT         __fastcall get_ID(long* prop/*[out,retval]*/);
  long            __fastcall get_ID(void);
  HRESULT         __fastcall CanvasCropLeft(float Increment/*[in]*/);
  HRESULT         __fastcall CanvasCropTop(float Increment/*[in]*/);
  HRESULT         __fastcall CanvasCropRight(float Increment/*[in]*/);
  HRESULT         __fastcall CanvasCropBottom(float Increment/*[in]*/);
  HRESULT         __fastcall set_RTF(BSTR Param1/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::AdjustmentsPtr Adjustments = {read = get_Adjustments};
  __property   Office_xp::MsoAutoShapeType AutoShapeType = {read = get_AutoShapeType, write = set_AutoShapeType};
  __property   Word_xp::CalloutFormatPtr Callout = {read = get_Callout};
  __property   long            ConnectionSiteCount = {read = get_ConnectionSiteCount};
  __property   Office_xp::MsoTriState Connector = {read = get_Connector};
  __property   Word_xp::ConnectorFormatPtr ConnectorFormat = {read = get_ConnectorFormat};
  __property   Word_xp::FillFormatPtr Fill = {read = get_Fill};
  __property   Word_xp::GroupShapesPtr GroupItems = {read = get_GroupItems};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   Office_xp::MsoTriState HorizontalFlip = {read = get_HorizontalFlip};
  __property   float           Left = {read = get_Left, write = set_Left};
  __property   Word_xp::LineFormatPtr Line = {read = get_Line};
  __property   Office_xp::MsoTriState LockAspectRatio = {read = get_LockAspectRatio, write = set_LockAspectRatio};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   Word_xp::ShapeNodesPtr Nodes = {read = get_Nodes};
  __property   float           Rotation = {read = get_Rotation, write = set_Rotation};
  __property   Word_xp::PictureFormatPtr PictureFormat = {read = get_PictureFormat};
  __property   Word_xp::ShadowFormatPtr Shadow = {read = get_Shadow};
  __property   Word_xp::TextEffectFormatPtr TextEffect = {read = get_TextEffect};
  __property   Word_xp::TextFramePtr TextFrame = {read = get_TextFrame};
  __property   Word_xp::ThreeDFormatPtr ThreeD = {read = get_ThreeD};
  __property   float           Top = {read = get_Top, write = set_Top};
  __property   Office_xp::MsoShapeType Type = {read = get_Type};
  __property   Office_xp::MsoTriState VerticalFlip = {read = get_VerticalFlip};
  __property   Office_xp::MsoTriState Visible = {read = get_Visible, write = set_Visible};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   long            ZOrderPosition = {read = get_ZOrderPosition};
  __property   Word_xp::HyperlinkPtr Hyperlink = {read = get_Hyperlink};
  __property   Word_xp::WdRelativeHorizontalPosition RelativeHorizontalPosition = {read = get_RelativeHorizontalPosition, write = set_RelativeHorizontalPosition};
  __property   Word_xp::WdRelativeVerticalPosition RelativeVerticalPosition = {read = get_RelativeVerticalPosition, write = set_RelativeVerticalPosition};
  __property   long            LockAnchor = {read = get_LockAnchor, write = set_LockAnchor};
  __property   Word_xp::WrapFormatPtr WrapFormat = {read = get_WrapFormat};
  __property   Word_xp::OLEFormatPtr OLEFormat = {read = get_OLEFormat};
  __property   Word_xp::WordRangePtr Anchor = {read = get_Anchor};
  __property   Word_xp::LinkFormatPtr LinkFormat = {read = get_LinkFormat};
  __property   BSTR            AlternativeText = {read = get_AlternativeText, write = set_AlternativeText};
  __property   Office_xp::ScriptPtr Script = {read = get_Script};
  __property   Office_xp::MsoTriState HasDiagram = {read = get_HasDiagram};
  __property   Office_xp::IMsoDiagramPtr Diagram = {read = get_Diagram};
  __property   Office_xp::MsoTriState HasDiagramNode = {read = get_HasDiagramNode};
  __property   Word_xp::DiagramNodePtr DiagramNode = {read = get_DiagramNode};
  __property   Office_xp::MsoTriState Child = {read = get_Child};
  __property   Word_xp::ShapePtr ParentGroup = {read = get_ParentGroup};
  __property   Word_xp::CanvasShapesPtr CanvasItems = {read = get_CanvasItems};
  __property   long            ID = {read = get_ID};
  __property   BSTR            RTF = {write = set_RTF};
};
typedef ShapeDispT<Shape> ShapeDisp;

typedef TComInterface<TextFrame>  TCOMTextFrame;

// *********************************************************************//
// DispIntf:  TextFrame
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B2-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TextFrameDispT : public TAutoDriver<TextFrame>
{
public:
  TextFrameDispT(){}

  TextFrameDispT(TextFrame *pintf)
  {
    TAutoDriver<TextFrame>::Bind(pintf, false);
  }

  TextFrameDispT(TextFramePtr pintf)
  {
    TAutoDriver<TextFrame>::Bind(pintf, true);
  }

  TextFrameDispT& operator=(TextFrame *pintf)
  {
    TAutoDriver<TextFrame>::Bind(pintf, false);
    return *this;
  }

  TextFrameDispT& operator=(TextFramePtr pintf)
  {
    TAutoDriver<TextFrame>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::ShapePtr __fastcall get_Parent(void);
  HRESULT         __fastcall get_MarginBottom(float* prop/*[out,retval]*/);
  float           __fastcall get_MarginBottom(void);
  HRESULT         __fastcall set_MarginBottom(float prop/*[in]*/);
  HRESULT         __fastcall get_MarginLeft(float* prop/*[out,retval]*/);
  float           __fastcall get_MarginLeft(void);
  HRESULT         __fastcall set_MarginLeft(float prop/*[in]*/);
  HRESULT         __fastcall get_MarginRight(float* prop/*[out,retval]*/);
  float           __fastcall get_MarginRight(void);
  HRESULT         __fastcall set_MarginRight(float prop/*[in]*/);
  HRESULT         __fastcall get_MarginTop(float* prop/*[out,retval]*/);
  float           __fastcall get_MarginTop(void);
  HRESULT         __fastcall set_MarginTop(float prop/*[in]*/);
  HRESULT         __fastcall get_Orientation(Office_xp::MsoTextOrientation* prop/*[out,retval]*/);
  Office_xp::MsoTextOrientation __fastcall get_Orientation(void);
  HRESULT         __fastcall set_Orientation(Office_xp::MsoTextOrientation prop/*[in]*/);
  HRESULT         __fastcall get_TextRange(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_TextRange(void);
  HRESULT         __fastcall get_ContainingRange(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_ContainingRange(void);
  HRESULT         __fastcall get_Next(Word_xp::TextFrame** prop/*[out,retval]*/);
  Word_xp::TextFramePtr __fastcall get_Next(void);
  HRESULT         __fastcall set_Next(Word_xp::TextFramePtr prop/*[in]*/);
  HRESULT         __fastcall get_Previous(Word_xp::TextFrame** prop/*[out,retval]*/);
  Word_xp::TextFramePtr __fastcall get_Previous(void);
  HRESULT         __fastcall set_Previous(Word_xp::TextFramePtr prop/*[in]*/);
  HRESULT         __fastcall get_Overflowing(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Overflowing(void);
  HRESULT         __fastcall get_HasText(long* prop/*[out,retval]*/);
  long            __fastcall get_HasText(void);
  HRESULT         __fastcall BreakForwardLink();
  HRESULT         __fastcall ValidLinkTarget(Word_xp::TextFrame* TargetTextFrame/*[in]*/, 
                                             VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall ValidLinkTarget(Word_xp::TextFrame* TargetTextFrame/*[in]*/);
  HRESULT         __fastcall get_AutoSize(long* prop/*[out,retval]*/);
  long            __fastcall get_AutoSize(void);
  HRESULT         __fastcall set_AutoSize(long prop/*[in]*/);
  HRESULT         __fastcall get_WordWrap(long* prop/*[out,retval]*/);
  long            __fastcall get_WordWrap(void);
  HRESULT         __fastcall set_WordWrap(long prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   Word_xp::ShapePtr Parent = {read = get_Parent};
  __property   float           MarginBottom = {read = get_MarginBottom, write = set_MarginBottom};
  __property   float           MarginLeft = {read = get_MarginLeft, write = set_MarginLeft};
  __property   float           MarginRight = {read = get_MarginRight, write = set_MarginRight};
  __property   float           MarginTop = {read = get_MarginTop, write = set_MarginTop};
  __property   Office_xp::MsoTextOrientation Orientation = {read = get_Orientation, write = set_Orientation};
  __property   Word_xp::WordRangePtr TextRange = {read = get_TextRange};
  __property   Word_xp::WordRangePtr ContainingRange = {read = get_ContainingRange};
  __property   Word_xp::TextFramePtr Next = {read = get_Next, write = set_Next};
  __property   Word_xp::TextFramePtr Previous = {read = get_Previous, write = set_Previous};
  __property   VARIANT_BOOL    Overflowing = {read = get_Overflowing};
  __property   long            HasText = {read = get_HasText};
  __property   long            AutoSize = {read = get_AutoSize, write = set_AutoSize};
  __property   long            WordWrap = {read = get_WordWrap, write = set_WordWrap};
};
typedef TextFrameDispT<TextFrame> TextFrameDisp;

// *********************************************************************//
// SmartIntf: TCOM_LetterContent
// Interface: _LetterContent
// *********************************************************************//
template <class T /* _LetterContent */ >
class TCOM_LetterContentT : public TComInterface<_LetterContent>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_LetterContentT() {}
  TCOM_LetterContentT(_LetterContent *intf, bool addRef = false) : TComInterface<_LetterContent>(intf, addRef) {}
  TCOM_LetterContentT(const TCOM_LetterContentT& src) : TComInterface<_LetterContent>(src) {}
  TCOM_LetterContentT& operator=(const TCOM_LetterContentT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Duplicate(Word_xp::WordLetterContent** prop/*[out,retval]*/);
  Word_xp::WordLetterContentPtr __fastcall get_Duplicate(void);
  HRESULT         __fastcall get_DateFormat(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DateFormat(void);
  HRESULT         __fastcall set_DateFormat(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_IncludeHeaderFooter(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IncludeHeaderFooter(void);
  HRESULT         __fastcall set_IncludeHeaderFooter(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PageDesign(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_PageDesign(void);
  HRESULT         __fastcall set_PageDesign(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_LetterStyle(Word_xp::WdLetterStyle* prop/*[out,retval]*/);
  Word_xp::WdLetterStyle __fastcall get_LetterStyle(void);
  HRESULT         __fastcall set_LetterStyle(Word_xp::WdLetterStyle prop/*[in]*/);
  HRESULT         __fastcall get_Letterhead(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Letterhead(void);
  HRESULT         __fastcall set_Letterhead(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_LetterheadLocation(Word_xp::WdLetterheadLocation* prop/*[out,retval]*/);
  Word_xp::WdLetterheadLocation __fastcall get_LetterheadLocation(void);
  HRESULT         __fastcall set_LetterheadLocation(Word_xp::WdLetterheadLocation prop/*[in]*/);
  HRESULT         __fastcall get_LetterheadSize(float* prop/*[out,retval]*/);
  float           __fastcall get_LetterheadSize(void);
  HRESULT         __fastcall set_LetterheadSize(float prop/*[in]*/);
  HRESULT         __fastcall get_RecipientName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_RecipientName(void);
  HRESULT         __fastcall set_RecipientName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_RecipientAddress(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_RecipientAddress(void);
  HRESULT         __fastcall set_RecipientAddress(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Salutation(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Salutation(void);
  HRESULT         __fastcall set_Salutation(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SalutationType(Word_xp::WdSalutationType* prop/*[out,retval]*/);
  Word_xp::WdSalutationType __fastcall get_SalutationType(void);
  HRESULT         __fastcall set_SalutationType(Word_xp::WdSalutationType prop/*[in]*/);
  HRESULT         __fastcall get_RecipientReference(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_RecipientReference(void);
  HRESULT         __fastcall set_RecipientReference(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_MailingInstructions(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_MailingInstructions(void);
  HRESULT         __fastcall set_MailingInstructions(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_AttentionLine(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_AttentionLine(void);
  HRESULT         __fastcall set_AttentionLine(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Subject(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Subject(void);
  HRESULT         __fastcall set_Subject(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_EnclosureNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_EnclosureNumber(void);
  HRESULT         __fastcall set_EnclosureNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_CCList(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_CCList(void);
  HRESULT         __fastcall set_CCList(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ReturnAddress(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ReturnAddress(void);
  HRESULT         __fastcall set_ReturnAddress(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderName(void);
  HRESULT         __fastcall set_SenderName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Closing(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Closing(void);
  HRESULT         __fastcall set_Closing(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderCompany(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderCompany(void);
  HRESULT         __fastcall set_SenderCompany(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderJobTitle(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderJobTitle(void);
  HRESULT         __fastcall set_SenderJobTitle(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderInitials(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderInitials(void);
  HRESULT         __fastcall set_SenderInitials(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_InfoBlock(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_InfoBlock(void);
  HRESULT         __fastcall set_InfoBlock(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RecipientCode(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_RecipientCode(void);
  HRESULT         __fastcall set_RecipientCode(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_RecipientGender(Word_xp::WdSalutationGender* prop/*[out,retval]*/);
  Word_xp::WdSalutationGender __fastcall get_RecipientGender(void);
  HRESULT         __fastcall set_RecipientGender(Word_xp::WdSalutationGender prop/*[in]*/);
  HRESULT         __fastcall get_ReturnAddressShortForm(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ReturnAddressShortForm(void);
  HRESULT         __fastcall set_ReturnAddressShortForm(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderCity(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderCity(void);
  HRESULT         __fastcall set_SenderCity(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderCode(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderCode(void);
  HRESULT         __fastcall set_SenderCode(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderGender(Word_xp::WdSalutationGender* prop/*[out,retval]*/);
  Word_xp::WdSalutationGender __fastcall get_SenderGender(void);
  HRESULT         __fastcall set_SenderGender(Word_xp::WdSalutationGender prop/*[in]*/);
  HRESULT         __fastcall get_SenderReference(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderReference(void);
  HRESULT         __fastcall set_SenderReference(BSTR prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordLetterContentPtr Duplicate = {read = get_Duplicate};
  __property   BSTR            DateFormat = {read = get_DateFormat, write = set_DateFormat};
  __property   VARIANT_BOOL    IncludeHeaderFooter = {read = get_IncludeHeaderFooter, write = set_IncludeHeaderFooter};
  __property   BSTR            PageDesign = {read = get_PageDesign, write = set_PageDesign};
  __property   Word_xp::WdLetterStyle LetterStyle = {read = get_LetterStyle, write = set_LetterStyle};
  __property   VARIANT_BOOL    Letterhead = {read = get_Letterhead, write = set_Letterhead};
  __property   Word_xp::WdLetterheadLocation LetterheadLocation = {read = get_LetterheadLocation, write = set_LetterheadLocation};
  __property   float           LetterheadSize = {read = get_LetterheadSize, write = set_LetterheadSize};
  __property   BSTR            RecipientName = {read = get_RecipientName, write = set_RecipientName};
  __property   BSTR            RecipientAddress = {read = get_RecipientAddress, write = set_RecipientAddress};
  __property   BSTR            Salutation = {read = get_Salutation, write = set_Salutation};
  __property   Word_xp::WdSalutationType SalutationType = {read = get_SalutationType, write = set_SalutationType};
  __property   BSTR            RecipientReference = {read = get_RecipientReference, write = set_RecipientReference};
  __property   BSTR            MailingInstructions = {read = get_MailingInstructions, write = set_MailingInstructions};
  __property   BSTR            AttentionLine = {read = get_AttentionLine, write = set_AttentionLine};
  __property   BSTR            Subject = {read = get_Subject, write = set_Subject};
  __property   long            EnclosureNumber = {read = get_EnclosureNumber, write = set_EnclosureNumber};
  __property   BSTR            CCList = {read = get_CCList, write = set_CCList};
  __property   BSTR            ReturnAddress = {read = get_ReturnAddress, write = set_ReturnAddress};
  __property   BSTR            SenderName = {read = get_SenderName, write = set_SenderName};
  __property   BSTR            Closing = {read = get_Closing, write = set_Closing};
  __property   BSTR            SenderCompany = {read = get_SenderCompany, write = set_SenderCompany};
  __property   BSTR            SenderJobTitle = {read = get_SenderJobTitle, write = set_SenderJobTitle};
  __property   BSTR            SenderInitials = {read = get_SenderInitials, write = set_SenderInitials};
  __property   VARIANT_BOOL    InfoBlock = {read = get_InfoBlock, write = set_InfoBlock};
  __property   BSTR            RecipientCode = {read = get_RecipientCode, write = set_RecipientCode};
  __property   Word_xp::WdSalutationGender RecipientGender = {read = get_RecipientGender, write = set_RecipientGender};
  __property   BSTR            ReturnAddressShortForm = {read = get_ReturnAddressShortForm, write = set_ReturnAddressShortForm};
  __property   BSTR            SenderCity = {read = get_SenderCity, write = set_SenderCity};
  __property   BSTR            SenderCode = {read = get_SenderCode, write = set_SenderCode};
  __property   Word_xp::WdSalutationGender SenderGender = {read = get_SenderGender, write = set_SenderGender};
  __property   BSTR            SenderReference = {read = get_SenderReference, write = set_SenderReference};
};
typedef TCOM_LetterContentT<_LetterContent> TCOM_LetterContent;

// *********************************************************************//
// DispIntf:  _LetterContent
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A1-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class _LetterContentDispT : public TAutoDriver<_LetterContent>
{
public:
  _LetterContentDispT(){}

  _LetterContentDispT(_LetterContent *pintf)
  {
    TAutoDriver<_LetterContent>::Bind(pintf, false);
  }

  _LetterContentDispT(_LetterContentPtr pintf)
  {
    TAutoDriver<_LetterContent>::Bind(pintf, true);
  }

  _LetterContentDispT& operator=(_LetterContent *pintf)
  {
    TAutoDriver<_LetterContent>::Bind(pintf, false);
    return *this;
  }

  _LetterContentDispT& operator=(_LetterContentPtr pintf)
  {
    TAutoDriver<_LetterContent>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WordLetterContent));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WordLetterContent);
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Duplicate(Word_xp::WordLetterContent** prop/*[out,retval]*/);
  Word_xp::WordLetterContentPtr __fastcall get_Duplicate(void);
  HRESULT         __fastcall get_DateFormat(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DateFormat(void);
  HRESULT         __fastcall set_DateFormat(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_IncludeHeaderFooter(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IncludeHeaderFooter(void);
  HRESULT         __fastcall set_IncludeHeaderFooter(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PageDesign(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_PageDesign(void);
  HRESULT         __fastcall set_PageDesign(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_LetterStyle(Word_xp::WdLetterStyle* prop/*[out,retval]*/);
  Word_xp::WdLetterStyle __fastcall get_LetterStyle(void);
  HRESULT         __fastcall set_LetterStyle(Word_xp::WdLetterStyle prop/*[in]*/);
  HRESULT         __fastcall get_Letterhead(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Letterhead(void);
  HRESULT         __fastcall set_Letterhead(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_LetterheadLocation(Word_xp::WdLetterheadLocation* prop/*[out,retval]*/);
  Word_xp::WdLetterheadLocation __fastcall get_LetterheadLocation(void);
  HRESULT         __fastcall set_LetterheadLocation(Word_xp::WdLetterheadLocation prop/*[in]*/);
  HRESULT         __fastcall get_LetterheadSize(float* prop/*[out,retval]*/);
  float           __fastcall get_LetterheadSize(void);
  HRESULT         __fastcall set_LetterheadSize(float prop/*[in]*/);
  HRESULT         __fastcall get_RecipientName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_RecipientName(void);
  HRESULT         __fastcall set_RecipientName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_RecipientAddress(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_RecipientAddress(void);
  HRESULT         __fastcall set_RecipientAddress(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Salutation(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Salutation(void);
  HRESULT         __fastcall set_Salutation(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SalutationType(Word_xp::WdSalutationType* prop/*[out,retval]*/);
  Word_xp::WdSalutationType __fastcall get_SalutationType(void);
  HRESULT         __fastcall set_SalutationType(Word_xp::WdSalutationType prop/*[in]*/);
  HRESULT         __fastcall get_RecipientReference(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_RecipientReference(void);
  HRESULT         __fastcall set_RecipientReference(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_MailingInstructions(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_MailingInstructions(void);
  HRESULT         __fastcall set_MailingInstructions(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_AttentionLine(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_AttentionLine(void);
  HRESULT         __fastcall set_AttentionLine(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Subject(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Subject(void);
  HRESULT         __fastcall set_Subject(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_EnclosureNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_EnclosureNumber(void);
  HRESULT         __fastcall set_EnclosureNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_CCList(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_CCList(void);
  HRESULT         __fastcall set_CCList(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ReturnAddress(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ReturnAddress(void);
  HRESULT         __fastcall set_ReturnAddress(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderName(void);
  HRESULT         __fastcall set_SenderName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Closing(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Closing(void);
  HRESULT         __fastcall set_Closing(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderCompany(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderCompany(void);
  HRESULT         __fastcall set_SenderCompany(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderJobTitle(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderJobTitle(void);
  HRESULT         __fastcall set_SenderJobTitle(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderInitials(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderInitials(void);
  HRESULT         __fastcall set_SenderInitials(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_InfoBlock(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_InfoBlock(void);
  HRESULT         __fastcall set_InfoBlock(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RecipientCode(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_RecipientCode(void);
  HRESULT         __fastcall set_RecipientCode(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_RecipientGender(Word_xp::WdSalutationGender* prop/*[out,retval]*/);
  Word_xp::WdSalutationGender __fastcall get_RecipientGender(void);
  HRESULT         __fastcall set_RecipientGender(Word_xp::WdSalutationGender prop/*[in]*/);
  HRESULT         __fastcall get_ReturnAddressShortForm(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ReturnAddressShortForm(void);
  HRESULT         __fastcall set_ReturnAddressShortForm(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderCity(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderCity(void);
  HRESULT         __fastcall set_SenderCity(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderCode(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderCode(void);
  HRESULT         __fastcall set_SenderCode(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_SenderGender(Word_xp::WdSalutationGender* prop/*[out,retval]*/);
  Word_xp::WdSalutationGender __fastcall get_SenderGender(void);
  HRESULT         __fastcall set_SenderGender(Word_xp::WdSalutationGender prop/*[in]*/);
  HRESULT         __fastcall get_SenderReference(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SenderReference(void);
  HRESULT         __fastcall set_SenderReference(BSTR prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordLetterContentPtr Duplicate = {read = get_Duplicate};
  __property   BSTR            DateFormat = {read = get_DateFormat, write = set_DateFormat};
  __property   VARIANT_BOOL    IncludeHeaderFooter = {read = get_IncludeHeaderFooter, write = set_IncludeHeaderFooter};
  __property   BSTR            PageDesign = {read = get_PageDesign, write = set_PageDesign};
  __property   Word_xp::WdLetterStyle LetterStyle = {read = get_LetterStyle, write = set_LetterStyle};
  __property   VARIANT_BOOL    Letterhead = {read = get_Letterhead, write = set_Letterhead};
  __property   Word_xp::WdLetterheadLocation LetterheadLocation = {read = get_LetterheadLocation, write = set_LetterheadLocation};
  __property   float           LetterheadSize = {read = get_LetterheadSize, write = set_LetterheadSize};
  __property   BSTR            RecipientName = {read = get_RecipientName, write = set_RecipientName};
  __property   BSTR            RecipientAddress = {read = get_RecipientAddress, write = set_RecipientAddress};
  __property   BSTR            Salutation = {read = get_Salutation, write = set_Salutation};
  __property   Word_xp::WdSalutationType SalutationType = {read = get_SalutationType, write = set_SalutationType};
  __property   BSTR            RecipientReference = {read = get_RecipientReference, write = set_RecipientReference};
  __property   BSTR            MailingInstructions = {read = get_MailingInstructions, write = set_MailingInstructions};
  __property   BSTR            AttentionLine = {read = get_AttentionLine, write = set_AttentionLine};
  __property   BSTR            Subject = {read = get_Subject, write = set_Subject};
  __property   long            EnclosureNumber = {read = get_EnclosureNumber, write = set_EnclosureNumber};
  __property   BSTR            CCList = {read = get_CCList, write = set_CCList};
  __property   BSTR            ReturnAddress = {read = get_ReturnAddress, write = set_ReturnAddress};
  __property   BSTR            SenderName = {read = get_SenderName, write = set_SenderName};
  __property   BSTR            Closing = {read = get_Closing, write = set_Closing};
  __property   BSTR            SenderCompany = {read = get_SenderCompany, write = set_SenderCompany};
  __property   BSTR            SenderJobTitle = {read = get_SenderJobTitle, write = set_SenderJobTitle};
  __property   BSTR            SenderInitials = {read = get_SenderInitials, write = set_SenderInitials};
  __property   VARIANT_BOOL    InfoBlock = {read = get_InfoBlock, write = set_InfoBlock};
  __property   BSTR            RecipientCode = {read = get_RecipientCode, write = set_RecipientCode};
  __property   Word_xp::WdSalutationGender RecipientGender = {read = get_RecipientGender, write = set_RecipientGender};
  __property   BSTR            ReturnAddressShortForm = {read = get_ReturnAddressShortForm, write = set_ReturnAddressShortForm};
  __property   BSTR            SenderCity = {read = get_SenderCity, write = set_SenderCity};
  __property   BSTR            SenderCode = {read = get_SenderCode, write = set_SenderCode};
  __property   Word_xp::WdSalutationGender SenderGender = {read = get_SenderGender, write = set_SenderGender};
  __property   BSTR            SenderReference = {read = get_SenderReference, write = set_SenderReference};
};
typedef _LetterContentDispT<_LetterContent> _LetterContentDisp;

typedef TComInterface<View>  TCOMView;

// *********************************************************************//
// DispIntf:  View
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A5-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ViewDispT : public TAutoDriver<View>
{
public:
  ViewDispT(){}

  ViewDispT(View *pintf)
  {
    TAutoDriver<View>::Bind(pintf, false);
  }

  ViewDispT(ViewPtr pintf)
  {
    TAutoDriver<View>::Bind(pintf, true);
  }

  ViewDispT& operator=(View *pintf)
  {
    TAutoDriver<View>::Bind(pintf, false);
    return *this;
  }

  ViewDispT& operator=(ViewPtr pintf)
  {
    TAutoDriver<View>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Type(Word_xp::WdViewType* prop/*[out,retval]*/);
  Word_xp::WdViewType __fastcall get_Type(void);
  HRESULT         __fastcall set_Type(Word_xp::WdViewType prop/*[in]*/);
  HRESULT         __fastcall get_FullScreen(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FullScreen(void);
  HRESULT         __fastcall set_FullScreen(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Draft(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Draft(void);
  HRESULT         __fastcall set_Draft(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowAll(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowAll(void);
  HRESULT         __fastcall set_ShowAll(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowFieldCodes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowFieldCodes(void);
  HRESULT         __fastcall set_ShowFieldCodes(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MailMergeDataView(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MailMergeDataView(void);
  HRESULT         __fastcall set_MailMergeDataView(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Magnifier(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Magnifier(void);
  HRESULT         __fastcall set_Magnifier(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowFirstLineOnly(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowFirstLineOnly(void);
  HRESULT         __fastcall set_ShowFirstLineOnly(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowFormat(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowFormat(void);
  HRESULT         __fastcall set_ShowFormat(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Zoom(Word_xp::Zoom** prop/*[out,retval]*/);
  Word_xp::ZoomPtr __fastcall get_Zoom(void);
  HRESULT         __fastcall get_ShowObjectAnchors(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowObjectAnchors(void);
  HRESULT         __fastcall set_ShowObjectAnchors(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowTextBoundaries(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowTextBoundaries(void);
  HRESULT         __fastcall set_ShowTextBoundaries(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowHighlight(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowHighlight(void);
  HRESULT         __fastcall set_ShowHighlight(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowDrawings(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowDrawings(void);
  HRESULT         __fastcall set_ShowDrawings(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowTabs(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowTabs(void);
  HRESULT         __fastcall set_ShowTabs(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowSpaces(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowSpaces(void);
  HRESULT         __fastcall set_ShowSpaces(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowParagraphs(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowParagraphs(void);
  HRESULT         __fastcall set_ShowParagraphs(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowHyphens(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowHyphens(void);
  HRESULT         __fastcall set_ShowHyphens(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowHiddenText(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowHiddenText(void);
  HRESULT         __fastcall set_ShowHiddenText(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_WrapToWindow(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_WrapToWindow(void);
  HRESULT         __fastcall set_WrapToWindow(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowPicturePlaceHolders(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowPicturePlaceHolders(void);
  HRESULT         __fastcall set_ShowPicturePlaceHolders(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowBookmarks(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowBookmarks(void);
  HRESULT         __fastcall set_ShowBookmarks(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FieldShading(Word_xp::WdFieldShading* prop/*[out,retval]*/);
  Word_xp::WdFieldShading __fastcall get_FieldShading(void);
  HRESULT         __fastcall set_FieldShading(Word_xp::WdFieldShading prop/*[in]*/);
  HRESULT         __fastcall get_ShowAnimation(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowAnimation(void);
  HRESULT         __fastcall set_ShowAnimation(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_TableGridlines(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_TableGridlines(void);
  HRESULT         __fastcall set_TableGridlines(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_EnlargeFontsLessThan(long* prop/*[out,retval]*/);
  long            __fastcall get_EnlargeFontsLessThan(void);
  HRESULT         __fastcall set_EnlargeFontsLessThan(long prop/*[in]*/);
  HRESULT         __fastcall get_ShowMainTextLayer(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowMainTextLayer(void);
  HRESULT         __fastcall set_ShowMainTextLayer(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SeekView(Word_xp::WdSeekView* prop/*[out,retval]*/);
  Word_xp::WdSeekView __fastcall get_SeekView(void);
  HRESULT         __fastcall set_SeekView(Word_xp::WdSeekView prop/*[in]*/);
  HRESULT         __fastcall get_SplitSpecial(Word_xp::WdSpecialPane* prop/*[out,retval]*/);
  Word_xp::WdSpecialPane __fastcall get_SplitSpecial(void);
  HRESULT         __fastcall set_SplitSpecial(Word_xp::WdSpecialPane prop/*[in]*/);
  HRESULT         __fastcall get_BrowseToWindow(long* prop/*[out,retval]*/);
  long            __fastcall get_BrowseToWindow(void);
  HRESULT         __fastcall set_BrowseToWindow(long prop/*[in]*/);
  HRESULT         __fastcall get_ShowOptionalBreaks(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowOptionalBreaks(void);
  HRESULT         __fastcall set_ShowOptionalBreaks(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall CollapseOutline(VARIANT* Range/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ExpandOutline(VARIANT* Range/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall ShowAllHeadings();
  HRESULT         __fastcall ShowHeading(long Level/*[in]*/);
  HRESULT         __fastcall PreviousHeaderFooter();
  HRESULT         __fastcall NextHeaderFooter();
  HRESULT         __fastcall get_DisplayPageBoundaries(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayPageBoundaries(void);
  HRESULT         __fastcall set_DisplayPageBoundaries(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DisplaySmartTags(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplaySmartTags(void);
  HRESULT         __fastcall set_DisplaySmartTags(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowRevisionsAndComments(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowRevisionsAndComments(void);
  HRESULT         __fastcall set_ShowRevisionsAndComments(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowComments(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowComments(void);
  HRESULT         __fastcall set_ShowComments(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowInsertionsAndDeletions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowInsertionsAndDeletions(void);
  HRESULT         __fastcall set_ShowInsertionsAndDeletions(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowFormatChanges(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowFormatChanges(void);
  HRESULT         __fastcall set_ShowFormatChanges(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RevisionsView(Word_xp::WdRevisionsView* prop/*[out,retval]*/);
  Word_xp::WdRevisionsView __fastcall get_RevisionsView(void);
  HRESULT         __fastcall set_RevisionsView(Word_xp::WdRevisionsView prop/*[in]*/);
  HRESULT         __fastcall get_RevisionsMode(Word_xp::WdRevisionsMode* prop/*[out,retval]*/);
  Word_xp::WdRevisionsMode __fastcall get_RevisionsMode(void);
  HRESULT         __fastcall set_RevisionsMode(Word_xp::WdRevisionsMode prop/*[in]*/);
  HRESULT         __fastcall get_RevisionsBalloonWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_RevisionsBalloonWidth(void);
  HRESULT         __fastcall set_RevisionsBalloonWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_RevisionsBalloonWidthType(Word_xp::WdRevisionsBalloonWidthType* prop/*[out,retval]*/);
  Word_xp::WdRevisionsBalloonWidthType __fastcall get_RevisionsBalloonWidthType(void);
  HRESULT         __fastcall set_RevisionsBalloonWidthType(Word_xp::WdRevisionsBalloonWidthType prop/*[in]*/);
  HRESULT         __fastcall get_RevisionsBalloonSide(Word_xp::WdRevisionsBalloonMargin* prop/*[out,retval]*/);
  Word_xp::WdRevisionsBalloonMargin __fastcall get_RevisionsBalloonSide(void);
  HRESULT         __fastcall set_RevisionsBalloonSide(Word_xp::WdRevisionsBalloonMargin prop/*[in]*/);
  HRESULT         __fastcall get_Reviewers(Word_xp::Reviewers** prop/*[out,retval]*/);
  Word_xp::ReviewersPtr __fastcall get_Reviewers(void);
  HRESULT         __fastcall get_RevisionsBalloonShowConnectingLines(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RevisionsBalloonShowConnectingLines(void);
  HRESULT         __fastcall set_RevisionsBalloonShowConnectingLines(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdViewType Type = {read = get_Type, write = set_Type};
  __property   VARIANT_BOOL    FullScreen = {read = get_FullScreen, write = set_FullScreen};
  __property   VARIANT_BOOL    Draft = {read = get_Draft, write = set_Draft};
  __property   VARIANT_BOOL    ShowAll = {read = get_ShowAll, write = set_ShowAll};
  __property   VARIANT_BOOL    ShowFieldCodes = {read = get_ShowFieldCodes, write = set_ShowFieldCodes};
  __property   VARIANT_BOOL    MailMergeDataView = {read = get_MailMergeDataView, write = set_MailMergeDataView};
  __property   VARIANT_BOOL    Magnifier = {read = get_Magnifier, write = set_Magnifier};
  __property   VARIANT_BOOL    ShowFirstLineOnly = {read = get_ShowFirstLineOnly, write = set_ShowFirstLineOnly};
  __property   VARIANT_BOOL    ShowFormat = {read = get_ShowFormat, write = set_ShowFormat};
  __property   Word_xp::ZoomPtr Zoom = {read = get_Zoom};
  __property   VARIANT_BOOL    ShowObjectAnchors = {read = get_ShowObjectAnchors, write = set_ShowObjectAnchors};
  __property   VARIANT_BOOL    ShowTextBoundaries = {read = get_ShowTextBoundaries, write = set_ShowTextBoundaries};
  __property   VARIANT_BOOL    ShowHighlight = {read = get_ShowHighlight, write = set_ShowHighlight};
  __property   VARIANT_BOOL    ShowDrawings = {read = get_ShowDrawings, write = set_ShowDrawings};
  __property   VARIANT_BOOL    ShowTabs = {read = get_ShowTabs, write = set_ShowTabs};
  __property   VARIANT_BOOL    ShowSpaces = {read = get_ShowSpaces, write = set_ShowSpaces};
  __property   VARIANT_BOOL    ShowParagraphs = {read = get_ShowParagraphs, write = set_ShowParagraphs};
  __property   VARIANT_BOOL    ShowHyphens = {read = get_ShowHyphens, write = set_ShowHyphens};
  __property   VARIANT_BOOL    ShowHiddenText = {read = get_ShowHiddenText, write = set_ShowHiddenText};
  __property   VARIANT_BOOL    WrapToWindow = {read = get_WrapToWindow, write = set_WrapToWindow};
  __property   VARIANT_BOOL    ShowPicturePlaceHolders = {read = get_ShowPicturePlaceHolders, write = set_ShowPicturePlaceHolders};
  __property   VARIANT_BOOL    ShowBookmarks = {read = get_ShowBookmarks, write = set_ShowBookmarks};
  __property   Word_xp::WdFieldShading FieldShading = {read = get_FieldShading, write = set_FieldShading};
  __property   VARIANT_BOOL    ShowAnimation = {read = get_ShowAnimation, write = set_ShowAnimation};
  __property   VARIANT_BOOL    TableGridlines = {read = get_TableGridlines, write = set_TableGridlines};
  __property   long            EnlargeFontsLessThan = {read = get_EnlargeFontsLessThan, write = set_EnlargeFontsLessThan};
  __property   VARIANT_BOOL    ShowMainTextLayer = {read = get_ShowMainTextLayer, write = set_ShowMainTextLayer};
  __property   Word_xp::WdSeekView SeekView = {read = get_SeekView, write = set_SeekView};
  __property   Word_xp::WdSpecialPane SplitSpecial = {read = get_SplitSpecial, write = set_SplitSpecial};
  __property   long            BrowseToWindow = {read = get_BrowseToWindow, write = set_BrowseToWindow};
  __property   VARIANT_BOOL    ShowOptionalBreaks = {read = get_ShowOptionalBreaks, write = set_ShowOptionalBreaks};
  __property   VARIANT_BOOL    DisplayPageBoundaries = {read = get_DisplayPageBoundaries, write = set_DisplayPageBoundaries};
  __property   VARIANT_BOOL    DisplaySmartTags = {read = get_DisplaySmartTags, write = set_DisplaySmartTags};
  __property   VARIANT_BOOL    ShowRevisionsAndComments = {read = get_ShowRevisionsAndComments, write = set_ShowRevisionsAndComments};
  __property   VARIANT_BOOL    ShowComments = {read = get_ShowComments, write = set_ShowComments};
  __property   VARIANT_BOOL    ShowInsertionsAndDeletions = {read = get_ShowInsertionsAndDeletions, write = set_ShowInsertionsAndDeletions};
  __property   VARIANT_BOOL    ShowFormatChanges = {read = get_ShowFormatChanges, write = set_ShowFormatChanges};
  __property   Word_xp::WdRevisionsView RevisionsView = {read = get_RevisionsView, write = set_RevisionsView};
  __property   Word_xp::WdRevisionsMode RevisionsMode = {read = get_RevisionsMode, write = set_RevisionsMode};
  __property   float           RevisionsBalloonWidth = {read = get_RevisionsBalloonWidth, write = set_RevisionsBalloonWidth};
  __property   Word_xp::WdRevisionsBalloonWidthType RevisionsBalloonWidthType = {read = get_RevisionsBalloonWidthType, write = set_RevisionsBalloonWidthType};
  __property   Word_xp::WdRevisionsBalloonMargin RevisionsBalloonSide = {read = get_RevisionsBalloonSide, write = set_RevisionsBalloonSide};
  __property   Word_xp::ReviewersPtr Reviewers = {read = get_Reviewers};
  __property   VARIANT_BOOL    RevisionsBalloonShowConnectingLines = {read = get_RevisionsBalloonShowConnectingLines, write = set_RevisionsBalloonShowConnectingLines};
};
typedef ViewDispT<View> ViewDisp;

typedef TComInterface<Zoom>  TCOMZoom;

// *********************************************************************//
// DispIntf:  Zoom
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A6-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ZoomDispT : public TAutoDriver<Zoom>
{
public:
  ZoomDispT(){}

  ZoomDispT(Zoom *pintf)
  {
    TAutoDriver<Zoom>::Bind(pintf, false);
  }

  ZoomDispT(ZoomPtr pintf)
  {
    TAutoDriver<Zoom>::Bind(pintf, true);
  }

  ZoomDispT& operator=(Zoom *pintf)
  {
    TAutoDriver<Zoom>::Bind(pintf, false);
    return *this;
  }

  ZoomDispT& operator=(ZoomPtr pintf)
  {
    TAutoDriver<Zoom>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Percentage(long* prop/*[out,retval]*/);
  long            __fastcall get_Percentage(void);
  HRESULT         __fastcall set_Percentage(long prop/*[in]*/);
  HRESULT         __fastcall get_PageFit(Word_xp::WdPageFit* prop/*[out,retval]*/);
  Word_xp::WdPageFit __fastcall get_PageFit(void);
  HRESULT         __fastcall set_PageFit(Word_xp::WdPageFit prop/*[in]*/);
  HRESULT         __fastcall get_PageRows(long* prop/*[out,retval]*/);
  long            __fastcall get_PageRows(void);
  HRESULT         __fastcall set_PageRows(long prop/*[in]*/);
  HRESULT         __fastcall get_PageColumns(long* prop/*[out,retval]*/);
  long            __fastcall get_PageColumns(void);
  HRESULT         __fastcall set_PageColumns(long prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Percentage = {read = get_Percentage, write = set_Percentage};
  __property   Word_xp::WdPageFit PageFit = {read = get_PageFit, write = set_PageFit};
  __property   long            PageRows = {read = get_PageRows, write = set_PageRows};
  __property   long            PageColumns = {read = get_PageColumns, write = set_PageColumns};
};
typedef ZoomDispT<Zoom> ZoomDisp;

typedef TComInterface<Zooms>  TCOMZooms;

// *********************************************************************//
// DispIntf:  Zooms
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A7-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ZoomsDispT : public TAutoDriver<Zooms>
{
public:
  ZoomsDispT(){}

  ZoomsDispT(Zooms *pintf)
  {
    TAutoDriver<Zooms>::Bind(pintf, false);
  }

  ZoomsDispT(ZoomsPtr pintf)
  {
    TAutoDriver<Zooms>::Bind(pintf, true);
  }

  ZoomsDispT& operator=(Zooms *pintf)
  {
    TAutoDriver<Zooms>::Bind(pintf, false);
    return *this;
  }

  ZoomsDispT& operator=(ZoomsPtr pintf)
  {
    TAutoDriver<Zooms>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(Word_xp::WdViewType Index/*[in]*/, 
                                  Word_xp::Zoom** prop/*[out,retval]*/);
  Word_xp::Zoom*  __fastcall Item(Word_xp::WdViewType Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef ZoomsDispT<Zooms> ZoomsDisp;

typedef TComInterface<InlineShape>  TCOMInlineShape;

// *********************************************************************//
// DispIntf:  InlineShape
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A8-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class InlineShapeDispT : public TAutoDriver<InlineShape>
{
public:
  InlineShapeDispT(){}

  InlineShapeDispT(InlineShape *pintf)
  {
    TAutoDriver<InlineShape>::Bind(pintf, false);
  }

  InlineShapeDispT(InlineShapePtr pintf)
  {
    TAutoDriver<InlineShape>::Bind(pintf, true);
  }

  InlineShapeDispT& operator=(InlineShape *pintf)
  {
    TAutoDriver<InlineShape>::Bind(pintf, false);
    return *this;
  }

  InlineShapeDispT& operator=(InlineShapePtr pintf)
  {
    TAutoDriver<InlineShape>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_LinkFormat(Word_xp::LinkFormat** prop/*[out,retval]*/);
  Word_xp::LinkFormatPtr __fastcall get_LinkFormat(void);
  HRESULT         __fastcall get_Field(Word_xp::Field** prop/*[out,retval]*/);
  Word_xp::FieldPtr __fastcall get_Field(void);
  HRESULT         __fastcall get_OLEFormat(Word_xp::OLEFormat** prop/*[out,retval]*/);
  Word_xp::OLEFormatPtr __fastcall get_OLEFormat(void);
  HRESULT         __fastcall get_Type(Word_xp::WdInlineShapeType* prop/*[out,retval]*/);
  Word_xp::WdInlineShapeType __fastcall get_Type(void);
  HRESULT         __fastcall get_Hyperlink(Word_xp::Hyperlink** prop/*[out,retval]*/);
  Word_xp::HyperlinkPtr __fastcall get_Hyperlink(void);
  HRESULT         __fastcall get_Height(float* prop/*[out,retval]*/);
  float           __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(float prop/*[in]*/);
  HRESULT         __fastcall get_Width(float* prop/*[out,retval]*/);
  float           __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(float prop/*[in]*/);
  HRESULT         __fastcall get_ScaleHeight(float* prop/*[out,retval]*/);
  float           __fastcall get_ScaleHeight(void);
  HRESULT         __fastcall set_ScaleHeight(float prop/*[in]*/);
  HRESULT         __fastcall get_ScaleWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_ScaleWidth(void);
  HRESULT         __fastcall set_ScaleWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_LockAspectRatio(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_LockAspectRatio(void);
  HRESULT         __fastcall set_LockAspectRatio(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_Line(Word_xp::LineFormat** prop/*[out,retval]*/);
  Word_xp::LineFormatPtr __fastcall get_Line(void);
  HRESULT         __fastcall get_Fill(Word_xp::FillFormat** prop/*[out,retval]*/);
  Word_xp::FillFormatPtr __fastcall get_Fill(void);
  HRESULT         __fastcall get_PictureFormat(Word_xp::PictureFormat** prop/*[out,retval]*/);
  Word_xp::PictureFormatPtr __fastcall get_PictureFormat(void);
  HRESULT         __fastcall set_PictureFormat(Word_xp::PictureFormatPtr prop/*[in]*/);
  HRESULT         __fastcall Activate();
  HRESULT         __fastcall Reset();
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Select();
  HRESULT         __fastcall ConvertToShape(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall ConvertToShape(void);
  HRESULT         __fastcall get_HorizontalLineFormat(Word_xp::HorizontalLineFormat** prop/*[out,retval]*/);
  Word_xp::HorizontalLineFormatPtr __fastcall get_HorizontalLineFormat(void);
  HRESULT         __fastcall get_Script(Office_xp::Script** prop/*[out,retval]*/);
  Office_xp::ScriptPtr __fastcall get_Script(void);
  HRESULT         __fastcall get_OWSAnchor(long* prop/*[out,retval]*/);
  long            __fastcall get_OWSAnchor(void);
  HRESULT         __fastcall get_TextEffect(Word_xp::TextEffectFormat** prop/*[out,retval]*/);
  Word_xp::TextEffectFormatPtr __fastcall get_TextEffect(void);
  HRESULT         __fastcall set_TextEffect(Word_xp::TextEffectFormatPtr prop/*[in]*/);
  HRESULT         __fastcall get_AlternativeText(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_AlternativeText(void);
  HRESULT         __fastcall set_AlternativeText(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_IsPictureBullet(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IsPictureBullet(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::LinkFormatPtr LinkFormat = {read = get_LinkFormat};
  __property   Word_xp::FieldPtr Field = {read = get_Field};
  __property   Word_xp::OLEFormatPtr OLEFormat = {read = get_OLEFormat};
  __property   Word_xp::WdInlineShapeType Type = {read = get_Type};
  __property   Word_xp::HyperlinkPtr Hyperlink = {read = get_Hyperlink};
  __property   float           Height = {read = get_Height, write = set_Height};
  __property   float           Width = {read = get_Width, write = set_Width};
  __property   float           ScaleHeight = {read = get_ScaleHeight, write = set_ScaleHeight};
  __property   float           ScaleWidth = {read = get_ScaleWidth, write = set_ScaleWidth};
  __property   Office_xp::MsoTriState LockAspectRatio = {read = get_LockAspectRatio, write = set_LockAspectRatio};
  __property   Word_xp::LineFormatPtr Line = {read = get_Line};
  __property   Word_xp::FillFormatPtr Fill = {read = get_Fill};
  __property   Word_xp::PictureFormatPtr PictureFormat = {read = get_PictureFormat, write = set_PictureFormat};
  __property   Word_xp::HorizontalLineFormatPtr HorizontalLineFormat = {read = get_HorizontalLineFormat};
  __property   Office_xp::ScriptPtr Script = {read = get_Script};
  __property   long            OWSAnchor = {read = get_OWSAnchor};
  __property   Word_xp::TextEffectFormatPtr TextEffect = {read = get_TextEffect, write = set_TextEffect};
  __property   BSTR            AlternativeText = {read = get_AlternativeText, write = set_AlternativeText};
  __property   VARIANT_BOOL    IsPictureBullet = {read = get_IsPictureBullet};
};
typedef InlineShapeDispT<InlineShape> InlineShapeDisp;

typedef TComInterface<InlineShapes>  TCOMInlineShapes;

// *********************************************************************//
// DispIntf:  InlineShapes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A9-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class InlineShapesDispT : public TAutoDriver<InlineShapes>
{
public:
  InlineShapesDispT(){}

  InlineShapesDispT(InlineShapes *pintf)
  {
    TAutoDriver<InlineShapes>::Bind(pintf, false);
  }

  InlineShapesDispT(InlineShapesPtr pintf)
  {
    TAutoDriver<InlineShapes>::Bind(pintf, true);
  }

  InlineShapesDispT& operator=(InlineShapes *pintf)
  {
    TAutoDriver<InlineShapes>::Bind(pintf, false);
    return *this;
  }

  InlineShapesDispT& operator=(InlineShapesPtr pintf)
  {
    TAutoDriver<InlineShapes>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShape* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall AddPicture(BSTR FileName/*[in]*/, VARIANT* LinkToFile/*[in,opt]*/, 
                                        VARIANT* SaveWithDocument/*[in,opt]*/, 
                                        VARIANT* Range/*[in,opt]*/, 
                                        Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShape* __fastcall AddPicture(BSTR FileName/*[in]*/, 
                                              VARIANT* LinkToFile/*[in,opt]*/= TNoParam(), 
                                              VARIANT* SaveWithDocument/*[in,opt]*/= TNoParam(), 
                                              VARIANT* Range/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddOLEObject(VARIANT* ClassType/*[in,opt]*/, 
                                          VARIANT* FileName/*[in,opt]*/, 
                                          VARIANT* LinkToFile/*[in,opt]*/, 
                                          VARIANT* DisplayAsIcon/*[in,opt]*/, 
                                          VARIANT* IconFileName/*[in,opt]*/, 
                                          VARIANT* IconIndex/*[in,opt]*/, 
                                          VARIANT* IconLabel/*[in,opt]*/, VARIANT* Range/*[in,opt]*/
                                          , Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShape* __fastcall AddOLEObject(VARIANT* ClassType/*[in,opt]*/= TNoParam(), 
                                                VARIANT* FileName/*[in,opt]*/= TNoParam(), 
                                                VARIANT* LinkToFile/*[in,opt]*/= TNoParam(), 
                                                VARIANT* DisplayAsIcon/*[in,opt]*/= TNoParam(), 
                                                VARIANT* IconFileName/*[in,opt]*/= TNoParam(), 
                                                VARIANT* IconIndex/*[in,opt]*/= TNoParam(), 
                                                VARIANT* IconLabel/*[in,opt]*/= TNoParam(), 
                                                VARIANT* Range/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddOLEControl(VARIANT* ClassType/*[in,opt]*/, 
                                           VARIANT* Range/*[in,opt]*/, 
                                           Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShape* __fastcall AddOLEControl(VARIANT* ClassType/*[in,opt]*/= TNoParam(), 
                                                 VARIANT* Range/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall New(Word_xp::WordRange* Range/*[in]*/, 
                                 Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShape* __fastcall New(Word_xp::WordRange* Range/*[in]*/);
  HRESULT         __fastcall AddHorizontalLine(BSTR FileName/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                                               Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShape* __fastcall AddHorizontalLine(BSTR FileName/*[in]*/, 
                                                     VARIANT* Range/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddHorizontalLineStandard(VARIANT* Range/*[in,opt]*/, 
                                                       Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShape* __fastcall AddHorizontalLineStandard(VARIANT* Range/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddPictureBullet(BSTR FileName/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                                              Word_xp::InlineShape** prop/*[out,retval]*/);
  Word_xp::InlineShape* __fastcall AddPictureBullet(BSTR FileName/*[in]*/, 
                                                    VARIANT* Range/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
};
typedef InlineShapesDispT<InlineShapes> InlineShapesDisp;

typedef TComInterface<SpellingSuggestions>  TCOMSpellingSuggestions;

// *********************************************************************//
// DispIntf:  SpellingSuggestions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AA-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class SpellingSuggestionsDispT : public TAutoDriver<SpellingSuggestions>
{
public:
  SpellingSuggestionsDispT(){}

  SpellingSuggestionsDispT(SpellingSuggestions *pintf)
  {
    TAutoDriver<SpellingSuggestions>::Bind(pintf, false);
  }

  SpellingSuggestionsDispT(SpellingSuggestionsPtr pintf)
  {
    TAutoDriver<SpellingSuggestions>::Bind(pintf, true);
  }

  SpellingSuggestionsDispT& operator=(SpellingSuggestions *pintf)
  {
    TAutoDriver<SpellingSuggestions>::Bind(pintf, false);
    return *this;
  }

  SpellingSuggestionsDispT& operator=(SpellingSuggestionsPtr pintf)
  {
    TAutoDriver<SpellingSuggestions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_SpellingErrorType(Word_xp::WdSpellingErrorType* prop/*[out,retval]*/);
  Word_xp::WdSpellingErrorType __fastcall get_SpellingErrorType(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, 
                                  Word_xp::SpellingSuggestion** prop/*[out,retval]*/);
  Word_xp::SpellingSuggestion* __fastcall Item(long Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdSpellingErrorType SpellingErrorType = {read = get_SpellingErrorType};
};
typedef SpellingSuggestionsDispT<SpellingSuggestions> SpellingSuggestionsDisp;

typedef TComInterface<SpellingSuggestion>  TCOMSpellingSuggestion;

// *********************************************************************//
// DispIntf:  SpellingSuggestion
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AB-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class SpellingSuggestionDispT : public TAutoDriver<SpellingSuggestion>
{
public:
  SpellingSuggestionDispT(){}

  SpellingSuggestionDispT(SpellingSuggestion *pintf)
  {
    TAutoDriver<SpellingSuggestion>::Bind(pintf, false);
  }

  SpellingSuggestionDispT(SpellingSuggestionPtr pintf)
  {
    TAutoDriver<SpellingSuggestion>::Bind(pintf, true);
  }

  SpellingSuggestionDispT& operator=(SpellingSuggestion *pintf)
  {
    TAutoDriver<SpellingSuggestion>::Bind(pintf, false);
    return *this;
  }

  SpellingSuggestionDispT& operator=(SpellingSuggestionPtr pintf)
  {
    TAutoDriver<SpellingSuggestion>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
};
typedef SpellingSuggestionDispT<SpellingSuggestion> SpellingSuggestionDisp;

typedef TComInterface<Dictionaries>  TCOMDictionaries;

// *********************************************************************//
// DispIntf:  Dictionaries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AC-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class DictionariesDispT : public TAutoDriver<Dictionaries>
{
public:
  DictionariesDispT(){}

  DictionariesDispT(Dictionaries *pintf)
  {
    TAutoDriver<Dictionaries>::Bind(pintf, false);
  }

  DictionariesDispT(DictionariesPtr pintf)
  {
    TAutoDriver<Dictionaries>::Bind(pintf, true);
  }

  DictionariesDispT& operator=(Dictionaries *pintf)
  {
    TAutoDriver<Dictionaries>::Bind(pintf, false);
    return *this;
  }

  DictionariesDispT& operator=(DictionariesPtr pintf)
  {
    TAutoDriver<Dictionaries>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Maximum(long* prop/*[out,retval]*/);
  long            __fastcall get_Maximum(void);
  HRESULT         __fastcall get_ActiveCustomDictionary(Word_xp::Dictionary** prop/*[out,retval]*/);
  Word_xp::DictionaryPtr __fastcall get_ActiveCustomDictionary(void);
  HRESULT         __fastcall set_ActiveCustomDictionary(Word_xp::DictionaryPtr prop/*[in]*/);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Dictionary** prop/*[out,retval]*/);
  Word_xp::Dictionary* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR FileName/*[in]*/, Word_xp::Dictionary** prop/*[out,retval]*/);
  Word_xp::Dictionary* __fastcall Add(BSTR FileName/*[in]*/);
  HRESULT         __fastcall ClearAll();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   long            Maximum = {read = get_Maximum};
  __property   Word_xp::DictionaryPtr ActiveCustomDictionary = {read = get_ActiveCustomDictionary, write = set_ActiveCustomDictionary};
};
typedef DictionariesDispT<Dictionaries> DictionariesDisp;

typedef TComInterface<HangulHanjaConversionDictionaries>  TCOMHangulHanjaConversionDictionaries;

// *********************************************************************//
// DispIntf:  HangulHanjaConversionDictionaries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E0-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class HangulHanjaConversionDictionariesDispT : public TAutoDriver<HangulHanjaConversionDictionaries>
{
public:
  HangulHanjaConversionDictionariesDispT(){}

  HangulHanjaConversionDictionariesDispT(HangulHanjaConversionDictionaries *pintf)
  {
    TAutoDriver<HangulHanjaConversionDictionaries>::Bind(pintf, false);
  }

  HangulHanjaConversionDictionariesDispT(HangulHanjaConversionDictionariesPtr pintf)
  {
    TAutoDriver<HangulHanjaConversionDictionaries>::Bind(pintf, true);
  }

  HangulHanjaConversionDictionariesDispT& operator=(HangulHanjaConversionDictionaries *pintf)
  {
    TAutoDriver<HangulHanjaConversionDictionaries>::Bind(pintf, false);
    return *this;
  }

  HangulHanjaConversionDictionariesDispT& operator=(HangulHanjaConversionDictionariesPtr pintf)
  {
    TAutoDriver<HangulHanjaConversionDictionaries>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Maximum(long* prop/*[out,retval]*/);
  long            __fastcall get_Maximum(void);
  HRESULT         __fastcall get_ActiveCustomDictionary(Word_xp::Dictionary** prop/*[out,retval]*/);
  Word_xp::DictionaryPtr __fastcall get_ActiveCustomDictionary(void);
  HRESULT         __fastcall set_ActiveCustomDictionary(Word_xp::DictionaryPtr prop/*[in]*/);
  HRESULT         __fastcall get_BuiltinDictionary(Word_xp::Dictionary** prop/*[out,retval]*/);
  Word_xp::DictionaryPtr __fastcall get_BuiltinDictionary(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Dictionary** prop/*[out,retval]*/);
  Word_xp::Dictionary* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR FileName/*[in]*/, Word_xp::Dictionary** prop/*[out,retval]*/);
  Word_xp::Dictionary* __fastcall Add(BSTR FileName/*[in]*/);
  HRESULT         __fastcall ClearAll();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   long            Maximum = {read = get_Maximum};
  __property   Word_xp::DictionaryPtr ActiveCustomDictionary = {read = get_ActiveCustomDictionary, write = set_ActiveCustomDictionary};
  __property   Word_xp::DictionaryPtr BuiltinDictionary = {read = get_BuiltinDictionary};
};
typedef HangulHanjaConversionDictionariesDispT<HangulHanjaConversionDictionaries> HangulHanjaConversionDictionariesDisp;

typedef TComInterface<Dictionary>  TCOMDictionary;

// *********************************************************************//
// DispIntf:  Dictionary
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AD-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class DictionaryDispT : public TAutoDriver<Dictionary>
{
public:
  DictionaryDispT(){}

  DictionaryDispT(Dictionary *pintf)
  {
    TAutoDriver<Dictionary>::Bind(pintf, false);
  }

  DictionaryDispT(DictionaryPtr pintf)
  {
    TAutoDriver<Dictionary>::Bind(pintf, true);
  }

  DictionaryDispT& operator=(Dictionary *pintf)
  {
    TAutoDriver<Dictionary>::Bind(pintf, false);
    return *this;
  }

  DictionaryDispT& operator=(DictionaryPtr pintf)
  {
    TAutoDriver<Dictionary>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Path(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Path(void);
  HRESULT         __fastcall get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/);
  Word_xp::WdLanguageID __fastcall get_LanguageID(void);
  HRESULT         __fastcall set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/);
  HRESULT         __fastcall get_ReadOnly(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ReadOnly(void);
  HRESULT         __fastcall get_Type(Word_xp::WdDictionaryType* prop/*[out,retval]*/);
  Word_xp::WdDictionaryType __fastcall get_Type(void);
  HRESULT         __fastcall get_LanguageSpecific(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_LanguageSpecific(void);
  HRESULT         __fastcall set_LanguageSpecific(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Path = {read = get_Path};
  __property   Word_xp::WdLanguageID LanguageID = {read = get_LanguageID, write = set_LanguageID};
  __property   VARIANT_BOOL    ReadOnly = {read = get_ReadOnly};
  __property   Word_xp::WdDictionaryType Type = {read = get_Type};
  __property   VARIANT_BOOL    LanguageSpecific = {read = get_LanguageSpecific, write = set_LanguageSpecific};
};
typedef DictionaryDispT<Dictionary> DictionaryDisp;

typedef TComInterface<ReadabilityStatistics>  TCOMReadabilityStatistics;

// *********************************************************************//
// DispIntf:  ReadabilityStatistics
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AE-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ReadabilityStatisticsDispT : public TAutoDriver<ReadabilityStatistics>
{
public:
  ReadabilityStatisticsDispT(){}

  ReadabilityStatisticsDispT(ReadabilityStatistics *pintf)
  {
    TAutoDriver<ReadabilityStatistics>::Bind(pintf, false);
  }

  ReadabilityStatisticsDispT(ReadabilityStatisticsPtr pintf)
  {
    TAutoDriver<ReadabilityStatistics>::Bind(pintf, true);
  }

  ReadabilityStatisticsDispT& operator=(ReadabilityStatistics *pintf)
  {
    TAutoDriver<ReadabilityStatistics>::Bind(pintf, false);
    return *this;
  }

  ReadabilityStatisticsDispT& operator=(ReadabilityStatisticsPtr pintf)
  {
    TAutoDriver<ReadabilityStatistics>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::ReadabilityStatistic** prop/*[out,retval]*/);
  Word_xp::ReadabilityStatistic* __fastcall Item(VARIANT* Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef ReadabilityStatisticsDispT<ReadabilityStatistics> ReadabilityStatisticsDisp;

typedef TComInterface<ReadabilityStatistic>  TCOMReadabilityStatistic;

// *********************************************************************//
// DispIntf:  ReadabilityStatistic
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AF-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ReadabilityStatisticDispT : public TAutoDriver<ReadabilityStatistic>
{
public:
  ReadabilityStatisticDispT(){}

  ReadabilityStatisticDispT(ReadabilityStatistic *pintf)
  {
    TAutoDriver<ReadabilityStatistic>::Bind(pintf, false);
  }

  ReadabilityStatisticDispT(ReadabilityStatisticPtr pintf)
  {
    TAutoDriver<ReadabilityStatistic>::Bind(pintf, true);
  }

  ReadabilityStatisticDispT& operator=(ReadabilityStatistic *pintf)
  {
    TAutoDriver<ReadabilityStatistic>::Bind(pintf, false);
    return *this;
  }

  ReadabilityStatisticDispT& operator=(ReadabilityStatisticPtr pintf)
  {
    TAutoDriver<ReadabilityStatistic>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Value(float* prop/*[out,retval]*/);
  float           __fastcall get_Value(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Name = {read = get_Name};
  __property   float           Value = {read = get_Value};
};
typedef ReadabilityStatisticDispT<ReadabilityStatistic> ReadabilityStatisticDisp;

typedef TComInterface<Versions>  TCOMVersions;

// *********************************************************************//
// DispIntf:  Versions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B3-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class VersionsDispT : public TAutoDriver<Versions>
{
public:
  VersionsDispT(){}

  VersionsDispT(Versions *pintf)
  {
    TAutoDriver<Versions>::Bind(pintf, false);
  }

  VersionsDispT(VersionsPtr pintf)
  {
    TAutoDriver<Versions>::Bind(pintf, true);
  }

  VersionsDispT& operator=(Versions *pintf)
  {
    TAutoDriver<Versions>::Bind(pintf, false);
    return *this;
  }

  VersionsDispT& operator=(VersionsPtr pintf)
  {
    TAutoDriver<Versions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_AutoVersion(Word_xp::WdAutoVersions* prop/*[out,retval]*/);
  Word_xp::WdAutoVersions __fastcall get_AutoVersion(void);
  HRESULT         __fastcall set_AutoVersion(Word_xp::WdAutoVersions prop/*[in]*/);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::Version** prop/*[out,retval]*/);
  Word_xp::Version* __fastcall Item(long Index/*[in]*/);
  HRESULT         __fastcall Save(VARIANT* Comment/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdAutoVersions AutoVersion = {read = get_AutoVersion, write = set_AutoVersion};
};
typedef VersionsDispT<Versions> VersionsDisp;

typedef TComInterface<Version>  TCOMVersion;

// *********************************************************************//
// DispIntf:  Version
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B4-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class VersionDispT : public TAutoDriver<Version>
{
public:
  VersionDispT(){}

  VersionDispT(Version *pintf)
  {
    TAutoDriver<Version>::Bind(pintf, false);
  }

  VersionDispT(VersionPtr pintf)
  {
    TAutoDriver<Version>::Bind(pintf, true);
  }

  VersionDispT& operator=(Version *pintf)
  {
    TAutoDriver<Version>::Bind(pintf, false);
    return *this;
  }

  VersionDispT& operator=(VersionPtr pintf)
  {
    TAutoDriver<Version>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_SavedBy(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_SavedBy(void);
  HRESULT         __fastcall get_Comment(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Comment(void);
  HRESULT         __fastcall get_Date(DATE* prop/*[out,retval]*/);
  DATE            __fastcall get_Date(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall OpenOld();
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall Open(Word_xp::WordDocument** prop/*[out,retval]*/);
  Word_xp::WordDocument* __fastcall Open(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            SavedBy = {read = get_SavedBy};
  __property   BSTR            Comment = {read = get_Comment};
  __property   DATE            Date = {read = get_Date};
  __property   long            Index = {read = get_Index};
};
typedef VersionDispT<Version> VersionDisp;

typedef TComInterface<Options>  TCOMOptions;

// *********************************************************************//
// DispIntf:  Options
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B7-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class OptionsDispT : public TAutoDriver<Options>
{
public:
  OptionsDispT(){}

  OptionsDispT(Options *pintf)
  {
    TAutoDriver<Options>::Bind(pintf, false);
  }

  OptionsDispT(OptionsPtr pintf)
  {
    TAutoDriver<Options>::Bind(pintf, true);
  }

  OptionsDispT& operator=(Options *pintf)
  {
    TAutoDriver<Options>::Bind(pintf, false);
    return *this;
  }

  OptionsDispT& operator=(OptionsPtr pintf)
  {
    TAutoDriver<Options>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_AllowAccentedUppercase(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AllowAccentedUppercase(void);
  HRESULT         __fastcall set_AllowAccentedUppercase(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_WPHelp(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_WPHelp(void);
  HRESULT         __fastcall set_WPHelp(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_WPDocNavKeys(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_WPDocNavKeys(void);
  HRESULT         __fastcall set_WPDocNavKeys(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Pagination(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Pagination(void);
  HRESULT         __fastcall set_Pagination(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_BlueScreen(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_BlueScreen(void);
  HRESULT         __fastcall set_BlueScreen(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_EnableSound(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EnableSound(void);
  HRESULT         __fastcall set_EnableSound(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ConfirmConversions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ConfirmConversions(void);
  HRESULT         __fastcall set_ConfirmConversions(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_UpdateLinksAtOpen(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UpdateLinksAtOpen(void);
  HRESULT         __fastcall set_UpdateLinksAtOpen(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SendMailAttach(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SendMailAttach(void);
  HRESULT         __fastcall set_SendMailAttach(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MeasurementUnit(Word_xp::WdMeasurementUnits* prop/*[out,retval]*/);
  Word_xp::WdMeasurementUnits __fastcall get_MeasurementUnit(void);
  HRESULT         __fastcall set_MeasurementUnit(Word_xp::WdMeasurementUnits prop/*[in]*/);
  HRESULT         __fastcall get_ButtonFieldClicks(long* prop/*[out,retval]*/);
  long            __fastcall get_ButtonFieldClicks(void);
  HRESULT         __fastcall set_ButtonFieldClicks(long prop/*[in]*/);
  HRESULT         __fastcall get_ShortMenuNames(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShortMenuNames(void);
  HRESULT         __fastcall set_ShortMenuNames(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RTFInClipboard(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RTFInClipboard(void);
  HRESULT         __fastcall set_RTFInClipboard(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_UpdateFieldsAtPrint(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UpdateFieldsAtPrint(void);
  HRESULT         __fastcall set_UpdateFieldsAtPrint(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintProperties(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintProperties(void);
  HRESULT         __fastcall set_PrintProperties(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintFieldCodes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintFieldCodes(void);
  HRESULT         __fastcall set_PrintFieldCodes(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintComments(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintComments(void);
  HRESULT         __fastcall set_PrintComments(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintHiddenText(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintHiddenText(void);
  HRESULT         __fastcall set_PrintHiddenText(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_EnvelopeFeederInstalled(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EnvelopeFeederInstalled(void);
  HRESULT         __fastcall get_UpdateLinksAtPrint(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UpdateLinksAtPrint(void);
  HRESULT         __fastcall set_UpdateLinksAtPrint(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintBackground(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintBackground(void);
  HRESULT         __fastcall set_PrintBackground(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintDrawingObjects(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintDrawingObjects(void);
  HRESULT         __fastcall set_PrintDrawingObjects(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DefaultTray(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DefaultTray(void);
  HRESULT         __fastcall set_DefaultTray(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_DefaultTrayID(long* prop/*[out,retval]*/);
  long            __fastcall get_DefaultTrayID(void);
  HRESULT         __fastcall set_DefaultTrayID(long prop/*[in]*/);
  HRESULT         __fastcall get_CreateBackup(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CreateBackup(void);
  HRESULT         __fastcall set_CreateBackup(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AllowFastSave(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AllowFastSave(void);
  HRESULT         __fastcall set_AllowFastSave(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SavePropertiesPrompt(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SavePropertiesPrompt(void);
  HRESULT         __fastcall set_SavePropertiesPrompt(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SaveNormalPrompt(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SaveNormalPrompt(void);
  HRESULT         __fastcall set_SaveNormalPrompt(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SaveInterval(long* prop/*[out,retval]*/);
  long            __fastcall get_SaveInterval(void);
  HRESULT         __fastcall set_SaveInterval(long prop/*[in]*/);
  HRESULT         __fastcall get_BackgroundSave(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_BackgroundSave(void);
  HRESULT         __fastcall set_BackgroundSave(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_InsertedTextMark(Word_xp::WdInsertedTextMark* prop/*[out,retval]*/);
  Word_xp::WdInsertedTextMark __fastcall get_InsertedTextMark(void);
  HRESULT         __fastcall set_InsertedTextMark(Word_xp::WdInsertedTextMark prop/*[in]*/);
  HRESULT         __fastcall get_DeletedTextMark(Word_xp::WdDeletedTextMark* prop/*[out,retval]*/);
  Word_xp::WdDeletedTextMark __fastcall get_DeletedTextMark(void);
  HRESULT         __fastcall set_DeletedTextMark(Word_xp::WdDeletedTextMark prop/*[in]*/);
  HRESULT         __fastcall get_RevisedLinesMark(Word_xp::WdRevisedLinesMark* prop/*[out,retval]*/);
  Word_xp::WdRevisedLinesMark __fastcall get_RevisedLinesMark(void);
  HRESULT         __fastcall set_RevisedLinesMark(Word_xp::WdRevisedLinesMark prop/*[in]*/);
  HRESULT         __fastcall get_InsertedTextColor(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_InsertedTextColor(void);
  HRESULT         __fastcall set_InsertedTextColor(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_DeletedTextColor(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_DeletedTextColor(void);
  HRESULT         __fastcall set_DeletedTextColor(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_RevisedLinesColor(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_RevisedLinesColor(void);
  HRESULT         __fastcall set_RevisedLinesColor(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_DefaultFilePath(Word_xp::WdDefaultFilePath Path/*[in]*/, 
                                                 BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DefaultFilePath(Word_xp::WdDefaultFilePath Path/*[in]*/);
  HRESULT         __fastcall set_DefaultFilePath(Word_xp::WdDefaultFilePath Path/*[in]*/, 
                                                 BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Overtype(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Overtype(void);
  HRESULT         __fastcall set_Overtype(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ReplaceSelection(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ReplaceSelection(void);
  HRESULT         __fastcall set_ReplaceSelection(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AllowDragAndDrop(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AllowDragAndDrop(void);
  HRESULT         __fastcall set_AllowDragAndDrop(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoWordSelection(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoWordSelection(void);
  HRESULT         __fastcall set_AutoWordSelection(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_INSKeyForPaste(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_INSKeyForPaste(void);
  HRESULT         __fastcall set_INSKeyForPaste(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SmartCutPaste(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SmartCutPaste(void);
  HRESULT         __fastcall set_SmartCutPaste(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_TabIndentKey(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_TabIndentKey(void);
  HRESULT         __fastcall set_TabIndentKey(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PictureEditor(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_PictureEditor(void);
  HRESULT         __fastcall set_PictureEditor(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_AnimateScreenMovements(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AnimateScreenMovements(void);
  HRESULT         __fastcall set_AnimateScreenMovements(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_VirusProtection(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_VirusProtection(void);
  HRESULT         __fastcall set_VirusProtection(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RevisedPropertiesMark(Word_xp::WdRevisedPropertiesMark* prop/*[out,retval]*/);
  Word_xp::WdRevisedPropertiesMark __fastcall get_RevisedPropertiesMark(void);
  HRESULT         __fastcall set_RevisedPropertiesMark(Word_xp::WdRevisedPropertiesMark prop/*[in]*/);
  HRESULT         __fastcall get_RevisedPropertiesColor(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_RevisedPropertiesColor(void);
  HRESULT         __fastcall set_RevisedPropertiesColor(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_SnapToGrid(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SnapToGrid(void);
  HRESULT         __fastcall set_SnapToGrid(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SnapToShapes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SnapToShapes(void);
  HRESULT         __fastcall set_SnapToShapes(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_GridDistanceHorizontal(float* prop/*[out,retval]*/);
  float           __fastcall get_GridDistanceHorizontal(void);
  HRESULT         __fastcall set_GridDistanceHorizontal(float prop/*[in]*/);
  HRESULT         __fastcall get_GridDistanceVertical(float* prop/*[out,retval]*/);
  float           __fastcall get_GridDistanceVertical(void);
  HRESULT         __fastcall set_GridDistanceVertical(float prop/*[in]*/);
  HRESULT         __fastcall get_GridOriginHorizontal(float* prop/*[out,retval]*/);
  float           __fastcall get_GridOriginHorizontal(void);
  HRESULT         __fastcall set_GridOriginHorizontal(float prop/*[in]*/);
  HRESULT         __fastcall get_GridOriginVertical(float* prop/*[out,retval]*/);
  float           __fastcall get_GridOriginVertical(void);
  HRESULT         __fastcall set_GridOriginVertical(float prop/*[in]*/);
  HRESULT         __fastcall get_InlineConversion(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_InlineConversion(void);
  HRESULT         __fastcall set_InlineConversion(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_IMEAutomaticControl(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IMEAutomaticControl(void);
  HRESULT         __fastcall set_IMEAutomaticControl(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatApplyHeadings(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatApplyHeadings(void);
  HRESULT         __fastcall set_AutoFormatApplyHeadings(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatApplyLists(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatApplyLists(void);
  HRESULT         __fastcall set_AutoFormatApplyLists(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatApplyBulletedLists(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatApplyBulletedLists(void);
  HRESULT         __fastcall set_AutoFormatApplyBulletedLists(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatApplyOtherParas(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatApplyOtherParas(void);
  HRESULT         __fastcall set_AutoFormatApplyOtherParas(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatReplaceQuotes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatReplaceQuotes(void);
  HRESULT         __fastcall set_AutoFormatReplaceQuotes(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatReplaceSymbols(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatReplaceSymbols(void);
  HRESULT         __fastcall set_AutoFormatReplaceSymbols(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatReplaceOrdinals(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatReplaceOrdinals(void);
  HRESULT         __fastcall set_AutoFormatReplaceOrdinals(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatReplaceFractions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatReplaceFractions(void);
  HRESULT         __fastcall set_AutoFormatReplaceFractions(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatReplacePlainTextEmphasis(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatReplacePlainTextEmphasis(void);
  HRESULT         __fastcall set_AutoFormatReplacePlainTextEmphasis(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatPreserveStyles(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatPreserveStyles(void);
  HRESULT         __fastcall set_AutoFormatPreserveStyles(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyHeadings(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyHeadings(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyHeadings(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyBorders(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyBorders(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyBorders(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyBulletedLists(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyBulletedLists(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyBulletedLists(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyNumberedLists(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyNumberedLists(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyNumberedLists(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplaceQuotes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplaceQuotes(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplaceQuotes(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplaceSymbols(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplaceSymbols(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplaceSymbols(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplaceOrdinals(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplaceOrdinals(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplaceOrdinals(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplaceFractions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplaceFractions(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplaceFractions(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplacePlainTextEmphasis(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplacePlainTextEmphasis(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplacePlainTextEmphasis(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeFormatListItemBeginning(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeFormatListItemBeginning(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeFormatListItemBeginning(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeDefineStyles(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeDefineStyles(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeDefineStyles(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatPlainTextWordMail(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatPlainTextWordMail(void);
  HRESULT         __fastcall set_AutoFormatPlainTextWordMail(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplaceHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplaceHyperlinks(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplaceHyperlinks(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatReplaceHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatReplaceHyperlinks(void);
  HRESULT         __fastcall set_AutoFormatReplaceHyperlinks(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DefaultHighlightColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_DefaultHighlightColorIndex(void);
  HRESULT         __fastcall set_DefaultHighlightColorIndex(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_DefaultBorderLineStyle(Word_xp::WdLineStyle* prop/*[out,retval]*/);
  Word_xp::WdLineStyle __fastcall get_DefaultBorderLineStyle(void);
  HRESULT         __fastcall set_DefaultBorderLineStyle(Word_xp::WdLineStyle prop/*[in]*/);
  HRESULT         __fastcall get_CheckSpellingAsYouType(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CheckSpellingAsYouType(void);
  HRESULT         __fastcall set_CheckSpellingAsYouType(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CheckGrammarAsYouType(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CheckGrammarAsYouType(void);
  HRESULT         __fastcall set_CheckGrammarAsYouType(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_IgnoreInternetAndFileAddresses(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IgnoreInternetAndFileAddresses(void);
  HRESULT         __fastcall set_IgnoreInternetAndFileAddresses(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowReadabilityStatistics(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowReadabilityStatistics(void);
  HRESULT         __fastcall set_ShowReadabilityStatistics(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_IgnoreUppercase(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IgnoreUppercase(void);
  HRESULT         __fastcall set_IgnoreUppercase(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_IgnoreMixedDigits(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_IgnoreMixedDigits(void);
  HRESULT         __fastcall set_IgnoreMixedDigits(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SuggestFromMainDictionaryOnly(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SuggestFromMainDictionaryOnly(void);
  HRESULT         __fastcall set_SuggestFromMainDictionaryOnly(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SuggestSpellingCorrections(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SuggestSpellingCorrections(void);
  HRESULT         __fastcall set_SuggestSpellingCorrections(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DefaultBorderLineWidth(Word_xp::WdLineWidth* prop/*[out,retval]*/);
  Word_xp::WdLineWidth __fastcall get_DefaultBorderLineWidth(void);
  HRESULT         __fastcall set_DefaultBorderLineWidth(Word_xp::WdLineWidth prop/*[in]*/);
  HRESULT         __fastcall get_CheckGrammarWithSpelling(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CheckGrammarWithSpelling(void);
  HRESULT         __fastcall set_CheckGrammarWithSpelling(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DefaultOpenFormat(Word_xp::WdOpenFormat* prop/*[out,retval]*/);
  Word_xp::WdOpenFormat __fastcall get_DefaultOpenFormat(void);
  HRESULT         __fastcall set_DefaultOpenFormat(Word_xp::WdOpenFormat prop/*[in]*/);
  HRESULT         __fastcall get_PrintDraft(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintDraft(void);
  HRESULT         __fastcall set_PrintDraft(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintReverse(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintReverse(void);
  HRESULT         __fastcall set_PrintReverse(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MapPaperSize(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MapPaperSize(void);
  HRESULT         __fastcall set_MapPaperSize(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyTables(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyTables(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyTables(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatApplyFirstIndents(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatApplyFirstIndents(void);
  HRESULT         __fastcall set_AutoFormatApplyFirstIndents(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatMatchParentheses(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatMatchParentheses(void);
  HRESULT         __fastcall set_AutoFormatMatchParentheses(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatReplaceFarEastDashes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatReplaceFarEastDashes(void);
  HRESULT         __fastcall set_AutoFormatReplaceFarEastDashes(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatDeleteAutoSpaces(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatDeleteAutoSpaces(void);
  HRESULT         __fastcall set_AutoFormatDeleteAutoSpaces(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyFirstIndents(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyFirstIndents(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyFirstIndents(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyDates(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyDates(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyDates(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyClosings(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyClosings(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyClosings(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeMatchParentheses(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeMatchParentheses(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeMatchParentheses(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplaceFarEastDashes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplaceFarEastDashes(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplaceFarEastDashes(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeDeleteAutoSpaces(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeDeleteAutoSpaces(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeDeleteAutoSpaces(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeInsertClosings(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeInsertClosings(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeInsertClosings(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeAutoLetterWizard(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeAutoLetterWizard(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeAutoLetterWizard(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeInsertOvers(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeInsertOvers(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeInsertOvers(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DisplayGridLines(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayGridLines(void);
  HRESULT         __fastcall set_DisplayGridLines(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyCase(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyCase(void);
  HRESULT         __fastcall set_MatchFuzzyCase(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyByte(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyByte(void);
  HRESULT         __fastcall set_MatchFuzzyByte(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyHiragana(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyHiragana(void);
  HRESULT         __fastcall set_MatchFuzzyHiragana(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzySmallKana(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzySmallKana(void);
  HRESULT         __fastcall set_MatchFuzzySmallKana(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyDash(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyDash(void);
  HRESULT         __fastcall set_MatchFuzzyDash(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyIterationMark(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyIterationMark(void);
  HRESULT         __fastcall set_MatchFuzzyIterationMark(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyKanji(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyKanji(void);
  HRESULT         __fastcall set_MatchFuzzyKanji(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyOldKana(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyOldKana(void);
  HRESULT         __fastcall set_MatchFuzzyOldKana(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyProlongedSoundMark(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyProlongedSoundMark(void);
  HRESULT         __fastcall set_MatchFuzzyProlongedSoundMark(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyDZ(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyDZ(void);
  HRESULT         __fastcall set_MatchFuzzyDZ(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyBV(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyBV(void);
  HRESULT         __fastcall set_MatchFuzzyBV(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyTC(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyTC(void);
  HRESULT         __fastcall set_MatchFuzzyTC(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyHF(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyHF(void);
  HRESULT         __fastcall set_MatchFuzzyHF(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyZJ(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyZJ(void);
  HRESULT         __fastcall set_MatchFuzzyZJ(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyAY(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyAY(void);
  HRESULT         __fastcall set_MatchFuzzyAY(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyKiKu(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyKiKu(void);
  HRESULT         __fastcall set_MatchFuzzyKiKu(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzyPunctuation(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzyPunctuation(void);
  HRESULT         __fastcall set_MatchFuzzyPunctuation(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MatchFuzzySpace(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MatchFuzzySpace(void);
  HRESULT         __fastcall set_MatchFuzzySpace(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ApplyFarEastFontsToAscii(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ApplyFarEastFontsToAscii(void);
  HRESULT         __fastcall set_ApplyFarEastFontsToAscii(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ConvertHighAnsiToFarEast(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ConvertHighAnsiToFarEast(void);
  HRESULT         __fastcall set_ConvertHighAnsiToFarEast(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintOddPagesInAscendingOrder(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintOddPagesInAscendingOrder(void);
  HRESULT         __fastcall set_PrintOddPagesInAscendingOrder(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PrintEvenPagesInAscendingOrder(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PrintEvenPagesInAscendingOrder(void);
  HRESULT         __fastcall set_PrintEvenPagesInAscendingOrder(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DefaultBorderColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_DefaultBorderColorIndex(void);
  HRESULT         __fastcall set_DefaultBorderColorIndex(Word_xp::WdColorIndex prop/*[in]*/);
  HRESULT         __fastcall get_EnableMisusedWordsDictionary(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EnableMisusedWordsDictionary(void);
  HRESULT         __fastcall set_EnableMisusedWordsDictionary(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AllowCombinedAuxiliaryForms(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AllowCombinedAuxiliaryForms(void);
  HRESULT         __fastcall set_AllowCombinedAuxiliaryForms(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HangulHanjaFastConversion(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_HangulHanjaFastConversion(void);
  HRESULT         __fastcall set_HangulHanjaFastConversion(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CheckHangulEndings(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CheckHangulEndings(void);
  HRESULT         __fastcall set_CheckHangulEndings(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_EnableHangulHanjaRecentOrdering(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EnableHangulHanjaRecentOrdering(void);
  HRESULT         __fastcall set_EnableHangulHanjaRecentOrdering(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MultipleWordConversionsMode(Word_xp::WdMultipleWordConversionsMode* prop/*[out,retval]*/);
  Word_xp::WdMultipleWordConversionsMode __fastcall get_MultipleWordConversionsMode(void);
  HRESULT         __fastcall set_MultipleWordConversionsMode(Word_xp::WdMultipleWordConversionsMode prop/*[in]*/);
  HRESULT         __fastcall SetWPHelpOptions(VARIANT* CommandKeyHelp/*[in,opt]*/= TNoParam(), 
                                              VARIANT* DocNavigationKeys/*[in,opt]*/= TNoParam(), 
                                              VARIANT* MouseSimulation/*[in,opt]*/= TNoParam(), 
                                              VARIANT* DemoGuidance/*[in,opt]*/= TNoParam(), 
                                              VARIANT* DemoSpeed/*[in,opt]*/= TNoParam(), 
                                              VARIANT* HelpType/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall get_DefaultBorderColor(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_DefaultBorderColor(void);
  HRESULT         __fastcall set_DefaultBorderColor(Word_xp::WdColor prop/*[in]*/);
  HRESULT         __fastcall get_AllowPixelUnits(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AllowPixelUnits(void);
  HRESULT         __fastcall set_AllowPixelUnits(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_UseCharacterUnit(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseCharacterUnit(void);
  HRESULT         __fastcall set_UseCharacterUnit(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AllowCompoundNounProcessing(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AllowCompoundNounProcessing(void);
  HRESULT         __fastcall set_AllowCompoundNounProcessing(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoKeyboardSwitching(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoKeyboardSwitching(void);
  HRESULT         __fastcall set_AutoKeyboardSwitching(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DocumentViewDirection(Word_xp::WdDocumentViewDirection* prop/*[out,retval]*/);
  Word_xp::WdDocumentViewDirection __fastcall get_DocumentViewDirection(void);
  HRESULT         __fastcall set_DocumentViewDirection(Word_xp::WdDocumentViewDirection prop/*[in]*/);
  HRESULT         __fastcall get_ArabicNumeral(Word_xp::WdArabicNumeral* prop/*[out,retval]*/);
  Word_xp::WdArabicNumeral __fastcall get_ArabicNumeral(void);
  HRESULT         __fastcall set_ArabicNumeral(Word_xp::WdArabicNumeral prop/*[in]*/);
  HRESULT         __fastcall get_MonthNames(Word_xp::WdMonthNames* prop/*[out,retval]*/);
  Word_xp::WdMonthNames __fastcall get_MonthNames(void);
  HRESULT         __fastcall set_MonthNames(Word_xp::WdMonthNames prop/*[in]*/);
  HRESULT         __fastcall get_CursorMovement(Word_xp::WdCursorMovement* prop/*[out,retval]*/);
  Word_xp::WdCursorMovement __fastcall get_CursorMovement(void);
  HRESULT         __fastcall set_CursorMovement(Word_xp::WdCursorMovement prop/*[in]*/);
  HRESULT         __fastcall get_VisualSelection(Word_xp::WdVisualSelection* prop/*[out,retval]*/);
  Word_xp::WdVisualSelection __fastcall get_VisualSelection(void);
  HRESULT         __fastcall set_VisualSelection(Word_xp::WdVisualSelection prop/*[in]*/);
  HRESULT         __fastcall get_ShowDiacritics(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowDiacritics(void);
  HRESULT         __fastcall set_ShowDiacritics(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowControlCharacters(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowControlCharacters(void);
  HRESULT         __fastcall set_ShowControlCharacters(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AddControlCharacters(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AddControlCharacters(void);
  HRESULT         __fastcall set_AddControlCharacters(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AddBiDirectionalMarksWhenSavingTextFile(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AddBiDirectionalMarksWhenSavingTextFile(void);
  HRESULT         __fastcall set_AddBiDirectionalMarksWhenSavingTextFile(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_StrictInitialAlefHamza(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_StrictInitialAlefHamza(void);
  HRESULT         __fastcall set_StrictInitialAlefHamza(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_StrictFinalYaa(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_StrictFinalYaa(void);
  HRESULT         __fastcall set_StrictFinalYaa(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HebrewMode(Word_xp::WdHebSpellStart* prop/*[out,retval]*/);
  Word_xp::WdHebSpellStart __fastcall get_HebrewMode(void);
  HRESULT         __fastcall set_HebrewMode(Word_xp::WdHebSpellStart prop/*[in]*/);
  HRESULT         __fastcall get_ArabicMode(Word_xp::WdAraSpeller* prop/*[out,retval]*/);
  Word_xp::WdAraSpeller __fastcall get_ArabicMode(void);
  HRESULT         __fastcall set_ArabicMode(Word_xp::WdAraSpeller prop/*[in]*/);
  HRESULT         __fastcall get_AllowClickAndTypeMouse(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AllowClickAndTypeMouse(void);
  HRESULT         __fastcall set_AllowClickAndTypeMouse(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_UseGermanSpellingReform(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseGermanSpellingReform(void);
  HRESULT         __fastcall set_UseGermanSpellingReform(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_InterpretHighAnsi(Word_xp::WdHighAnsiText* prop/*[out,retval]*/);
  Word_xp::WdHighAnsiText __fastcall get_InterpretHighAnsi(void);
  HRESULT         __fastcall set_InterpretHighAnsi(Word_xp::WdHighAnsiText prop/*[in]*/);
  HRESULT         __fastcall get_AddHebDoubleQuote(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AddHebDoubleQuote(void);
  HRESULT         __fastcall set_AddHebDoubleQuote(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_UseDiffDiacColor(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseDiffDiacColor(void);
  HRESULT         __fastcall set_UseDiffDiacColor(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DiacriticColorVal(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_DiacriticColorVal(void);
  HRESULT         __fastcall set_DiacriticColorVal(Word_xp::WdColor prop/*[in]*/);
  HRESULT         __fastcall get_OptimizeForWord97byDefault(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_OptimizeForWord97byDefault(void);
  HRESULT         __fastcall set_OptimizeForWord97byDefault(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_LocalNetworkFile(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_LocalNetworkFile(void);
  HRESULT         __fastcall set_LocalNetworkFile(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_TypeNReplace(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_TypeNReplace(void);
  HRESULT         __fastcall set_TypeNReplace(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SequenceCheck(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SequenceCheck(void);
  HRESULT         __fastcall set_SequenceCheck(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_BackgroundOpen(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_BackgroundOpen(void);
  HRESULT         __fastcall set_BackgroundOpen(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DisableFeaturesbyDefault(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisableFeaturesbyDefault(void);
  HRESULT         __fastcall set_DisableFeaturesbyDefault(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PasteAdjustWordSpacing(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PasteAdjustWordSpacing(void);
  HRESULT         __fastcall set_PasteAdjustWordSpacing(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PasteAdjustParagraphSpacing(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PasteAdjustParagraphSpacing(void);
  HRESULT         __fastcall set_PasteAdjustParagraphSpacing(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PasteAdjustTableFormatting(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PasteAdjustTableFormatting(void);
  HRESULT         __fastcall set_PasteAdjustTableFormatting(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PasteSmartStyleBehavior(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PasteSmartStyleBehavior(void);
  HRESULT         __fastcall set_PasteSmartStyleBehavior(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PasteMergeFromPPT(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PasteMergeFromPPT(void);
  HRESULT         __fastcall set_PasteMergeFromPPT(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PasteMergeFromXL(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PasteMergeFromXL(void);
  HRESULT         __fastcall set_PasteMergeFromXL(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CtrlClickHyperlinkToOpen(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CtrlClickHyperlinkToOpen(void);
  HRESULT         __fastcall set_CtrlClickHyperlinkToOpen(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PictureWrapType(Word_xp::WdWrapTypeMerged* prop/*[out,retval]*/);
  Word_xp::WdWrapTypeMerged __fastcall get_PictureWrapType(void);
  HRESULT         __fastcall set_PictureWrapType(Word_xp::WdWrapTypeMerged prop/*[in]*/);
  HRESULT         __fastcall get_DisableFeaturesIntroducedAfterbyDefault(Word_xp::WdDisableFeaturesIntroducedAfter* prop/*[out,retval]*/);
  Word_xp::WdDisableFeaturesIntroducedAfter __fastcall get_DisableFeaturesIntroducedAfterbyDefault(void);
  HRESULT         __fastcall set_DisableFeaturesIntroducedAfterbyDefault(Word_xp::WdDisableFeaturesIntroducedAfter prop/*[in]*/);
  HRESULT         __fastcall get_PasteSmartCutPaste(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PasteSmartCutPaste(void);
  HRESULT         __fastcall set_PasteSmartCutPaste(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DisplayPasteOptions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplayPasteOptions(void);
  HRESULT         __fastcall set_DisplayPasteOptions(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PromptUpdateStyle(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PromptUpdateStyle(void);
  HRESULT         __fastcall set_PromptUpdateStyle(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DefaultEPostageApp(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DefaultEPostageApp(void);
  HRESULT         __fastcall set_DefaultEPostageApp(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_DefaultTextEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/);
  Office_xp::MsoEncoding __fastcall get_DefaultTextEncoding(void);
  HRESULT         __fastcall set_DefaultTextEncoding(Office_xp::MsoEncoding prop/*[in]*/);
  HRESULT         __fastcall get_LabelSmartTags(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_LabelSmartTags(void);
  HRESULT         __fastcall set_LabelSmartTags(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_DisplaySmartTagButtons(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_DisplaySmartTagButtons(void);
  HRESULT         __fastcall set_DisplaySmartTagButtons(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_WarnBeforeSavingPrintingSendingMarkup(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_WarnBeforeSavingPrintingSendingMarkup(void);
  HRESULT         __fastcall set_WarnBeforeSavingPrintingSendingMarkup(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_StoreRSIDOnSave(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_StoreRSIDOnSave(void);
  HRESULT         __fastcall set_StoreRSIDOnSave(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ShowFormatError(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_ShowFormatError(void);
  HRESULT         __fastcall set_ShowFormatError(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FormatScanning(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FormatScanning(void);
  HRESULT         __fastcall set_FormatScanning(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PasteMergeLists(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_PasteMergeLists(void);
  HRESULT         __fastcall set_PasteMergeLists(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoCreateNewDrawings(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoCreateNewDrawings(void);
  HRESULT         __fastcall set_AutoCreateNewDrawings(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_SmartParaSelection(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SmartParaSelection(void);
  HRESULT         __fastcall set_SmartParaSelection(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RevisionsBalloonPrintOrientation(Word_xp::WdRevisionsBalloonPrintOrientation* prop/*[out,retval]*/);
  Word_xp::WdRevisionsBalloonPrintOrientation __fastcall get_RevisionsBalloonPrintOrientation(void);
  HRESULT         __fastcall set_RevisionsBalloonPrintOrientation(Word_xp::WdRevisionsBalloonPrintOrientation prop/*[in]*/);
  HRESULT         __fastcall get_CommentsColor(Word_xp::WdColorIndex* prop/*[out,retval]*/);
  Word_xp::WdColorIndex __fastcall get_CommentsColor(void);
  HRESULT         __fastcall set_CommentsColor(Word_xp::WdColorIndex prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    AllowAccentedUppercase = {read = get_AllowAccentedUppercase, write = set_AllowAccentedUppercase};
  __property   VARIANT_BOOL    WPHelp = {read = get_WPHelp, write = set_WPHelp};
  __property   VARIANT_BOOL    WPDocNavKeys = {read = get_WPDocNavKeys, write = set_WPDocNavKeys};
  __property   VARIANT_BOOL    Pagination = {read = get_Pagination, write = set_Pagination};
  __property   VARIANT_BOOL    BlueScreen = {read = get_BlueScreen, write = set_BlueScreen};
  __property   VARIANT_BOOL    EnableSound = {read = get_EnableSound, write = set_EnableSound};
  __property   VARIANT_BOOL    ConfirmConversions = {read = get_ConfirmConversions, write = set_ConfirmConversions};
  __property   VARIANT_BOOL    UpdateLinksAtOpen = {read = get_UpdateLinksAtOpen, write = set_UpdateLinksAtOpen};
  __property   VARIANT_BOOL    SendMailAttach = {read = get_SendMailAttach, write = set_SendMailAttach};
  __property   Word_xp::WdMeasurementUnits MeasurementUnit = {read = get_MeasurementUnit, write = set_MeasurementUnit};
  __property   long            ButtonFieldClicks = {read = get_ButtonFieldClicks, write = set_ButtonFieldClicks};
  __property   VARIANT_BOOL    ShortMenuNames = {read = get_ShortMenuNames, write = set_ShortMenuNames};
  __property   VARIANT_BOOL    RTFInClipboard = {read = get_RTFInClipboard, write = set_RTFInClipboard};
  __property   VARIANT_BOOL    UpdateFieldsAtPrint = {read = get_UpdateFieldsAtPrint, write = set_UpdateFieldsAtPrint};
  __property   VARIANT_BOOL    PrintProperties = {read = get_PrintProperties, write = set_PrintProperties};
  __property   VARIANT_BOOL    PrintFieldCodes = {read = get_PrintFieldCodes, write = set_PrintFieldCodes};
  __property   VARIANT_BOOL    PrintComments = {read = get_PrintComments, write = set_PrintComments};
  __property   VARIANT_BOOL    PrintHiddenText = {read = get_PrintHiddenText, write = set_PrintHiddenText};
  __property   VARIANT_BOOL    EnvelopeFeederInstalled = {read = get_EnvelopeFeederInstalled};
  __property   VARIANT_BOOL    UpdateLinksAtPrint = {read = get_UpdateLinksAtPrint, write = set_UpdateLinksAtPrint};
  __property   VARIANT_BOOL    PrintBackground = {read = get_PrintBackground, write = set_PrintBackground};
  __property   VARIANT_BOOL    PrintDrawingObjects = {read = get_PrintDrawingObjects, write = set_PrintDrawingObjects};
  __property   BSTR            DefaultTray = {read = get_DefaultTray, write = set_DefaultTray};
  __property   long            DefaultTrayID = {read = get_DefaultTrayID, write = set_DefaultTrayID};
  __property   VARIANT_BOOL    CreateBackup = {read = get_CreateBackup, write = set_CreateBackup};
  __property   VARIANT_BOOL    AllowFastSave = {read = get_AllowFastSave, write = set_AllowFastSave};
  __property   VARIANT_BOOL    SavePropertiesPrompt = {read = get_SavePropertiesPrompt, write = set_SavePropertiesPrompt};
  __property   VARIANT_BOOL    SaveNormalPrompt = {read = get_SaveNormalPrompt, write = set_SaveNormalPrompt};
  __property   long            SaveInterval = {read = get_SaveInterval, write = set_SaveInterval};
  __property   VARIANT_BOOL    BackgroundSave = {read = get_BackgroundSave, write = set_BackgroundSave};
  __property   Word_xp::WdInsertedTextMark InsertedTextMark = {read = get_InsertedTextMark, write = set_InsertedTextMark};
  __property   Word_xp::WdDeletedTextMark DeletedTextMark = {read = get_DeletedTextMark, write = set_DeletedTextMark};
  __property   Word_xp::WdRevisedLinesMark RevisedLinesMark = {read = get_RevisedLinesMark, write = set_RevisedLinesMark};
  __property   Word_xp::WdColorIndex InsertedTextColor = {read = get_InsertedTextColor, write = set_InsertedTextColor};
  __property   Word_xp::WdColorIndex DeletedTextColor = {read = get_DeletedTextColor, write = set_DeletedTextColor};
  __property   Word_xp::WdColorIndex RevisedLinesColor = {read = get_RevisedLinesColor, write = set_RevisedLinesColor};
  __property   VARIANT_BOOL    Overtype = {read = get_Overtype, write = set_Overtype};
  __property   VARIANT_BOOL    ReplaceSelection = {read = get_ReplaceSelection, write = set_ReplaceSelection};
  __property   VARIANT_BOOL    AllowDragAndDrop = {read = get_AllowDragAndDrop, write = set_AllowDragAndDrop};
  __property   VARIANT_BOOL    AutoWordSelection = {read = get_AutoWordSelection, write = set_AutoWordSelection};
  __property   VARIANT_BOOL    INSKeyForPaste = {read = get_INSKeyForPaste, write = set_INSKeyForPaste};
  __property   VARIANT_BOOL    SmartCutPaste = {read = get_SmartCutPaste, write = set_SmartCutPaste};
  __property   VARIANT_BOOL    TabIndentKey = {read = get_TabIndentKey, write = set_TabIndentKey};
  __property   BSTR            PictureEditor = {read = get_PictureEditor, write = set_PictureEditor};
  __property   VARIANT_BOOL    AnimateScreenMovements = {read = get_AnimateScreenMovements, write = set_AnimateScreenMovements};
  __property   VARIANT_BOOL    VirusProtection = {read = get_VirusProtection, write = set_VirusProtection};
  __property   Word_xp::WdRevisedPropertiesMark RevisedPropertiesMark = {read = get_RevisedPropertiesMark, write = set_RevisedPropertiesMark};
  __property   Word_xp::WdColorIndex RevisedPropertiesColor = {read = get_RevisedPropertiesColor, write = set_RevisedPropertiesColor};
  __property   VARIANT_BOOL    SnapToGrid = {read = get_SnapToGrid, write = set_SnapToGrid};
  __property   VARIANT_BOOL    SnapToShapes = {read = get_SnapToShapes, write = set_SnapToShapes};
  __property   float           GridDistanceHorizontal = {read = get_GridDistanceHorizontal, write = set_GridDistanceHorizontal};
  __property   float           GridDistanceVertical = {read = get_GridDistanceVertical, write = set_GridDistanceVertical};
  __property   float           GridOriginHorizontal = {read = get_GridOriginHorizontal, write = set_GridOriginHorizontal};
  __property   float           GridOriginVertical = {read = get_GridOriginVertical, write = set_GridOriginVertical};
  __property   VARIANT_BOOL    InlineConversion = {read = get_InlineConversion, write = set_InlineConversion};
  __property   VARIANT_BOOL    IMEAutomaticControl = {read = get_IMEAutomaticControl, write = set_IMEAutomaticControl};
  __property   VARIANT_BOOL    AutoFormatApplyHeadings = {read = get_AutoFormatApplyHeadings, write = set_AutoFormatApplyHeadings};
  __property   VARIANT_BOOL    AutoFormatApplyLists = {read = get_AutoFormatApplyLists, write = set_AutoFormatApplyLists};
  __property   VARIANT_BOOL    AutoFormatApplyBulletedLists = {read = get_AutoFormatApplyBulletedLists, write = set_AutoFormatApplyBulletedLists};
  __property   VARIANT_BOOL    AutoFormatApplyOtherParas = {read = get_AutoFormatApplyOtherParas, write = set_AutoFormatApplyOtherParas};
  __property   VARIANT_BOOL    AutoFormatReplaceQuotes = {read = get_AutoFormatReplaceQuotes, write = set_AutoFormatReplaceQuotes};
  __property   VARIANT_BOOL    AutoFormatReplaceSymbols = {read = get_AutoFormatReplaceSymbols, write = set_AutoFormatReplaceSymbols};
  __property   VARIANT_BOOL    AutoFormatReplaceOrdinals = {read = get_AutoFormatReplaceOrdinals, write = set_AutoFormatReplaceOrdinals};
  __property   VARIANT_BOOL    AutoFormatReplaceFractions = {read = get_AutoFormatReplaceFractions, write = set_AutoFormatReplaceFractions};
  __property   VARIANT_BOOL    AutoFormatReplacePlainTextEmphasis = {read = get_AutoFormatReplacePlainTextEmphasis, write = set_AutoFormatReplacePlainTextEmphasis};
  __property   VARIANT_BOOL    AutoFormatPreserveStyles = {read = get_AutoFormatPreserveStyles, write = set_AutoFormatPreserveStyles};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyHeadings = {read = get_AutoFormatAsYouTypeApplyHeadings, write = set_AutoFormatAsYouTypeApplyHeadings};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyBorders = {read = get_AutoFormatAsYouTypeApplyBorders, write = set_AutoFormatAsYouTypeApplyBorders};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyBulletedLists = {read = get_AutoFormatAsYouTypeApplyBulletedLists, write = set_AutoFormatAsYouTypeApplyBulletedLists};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyNumberedLists = {read = get_AutoFormatAsYouTypeApplyNumberedLists, write = set_AutoFormatAsYouTypeApplyNumberedLists};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceQuotes = {read = get_AutoFormatAsYouTypeReplaceQuotes, write = set_AutoFormatAsYouTypeReplaceQuotes};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceSymbols = {read = get_AutoFormatAsYouTypeReplaceSymbols, write = set_AutoFormatAsYouTypeReplaceSymbols};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceOrdinals = {read = get_AutoFormatAsYouTypeReplaceOrdinals, write = set_AutoFormatAsYouTypeReplaceOrdinals};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceFractions = {read = get_AutoFormatAsYouTypeReplaceFractions, write = set_AutoFormatAsYouTypeReplaceFractions};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplacePlainTextEmphasis = {read = get_AutoFormatAsYouTypeReplacePlainTextEmphasis, write = set_AutoFormatAsYouTypeReplacePlainTextEmphasis};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeFormatListItemBeginning = {read = get_AutoFormatAsYouTypeFormatListItemBeginning, write = set_AutoFormatAsYouTypeFormatListItemBeginning};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeDefineStyles = {read = get_AutoFormatAsYouTypeDefineStyles, write = set_AutoFormatAsYouTypeDefineStyles};
  __property   VARIANT_BOOL    AutoFormatPlainTextWordMail = {read = get_AutoFormatPlainTextWordMail, write = set_AutoFormatPlainTextWordMail};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceHyperlinks = {read = get_AutoFormatAsYouTypeReplaceHyperlinks, write = set_AutoFormatAsYouTypeReplaceHyperlinks};
  __property   VARIANT_BOOL    AutoFormatReplaceHyperlinks = {read = get_AutoFormatReplaceHyperlinks, write = set_AutoFormatReplaceHyperlinks};
  __property   Word_xp::WdColorIndex DefaultHighlightColorIndex = {read = get_DefaultHighlightColorIndex, write = set_DefaultHighlightColorIndex};
  __property   Word_xp::WdLineStyle DefaultBorderLineStyle = {read = get_DefaultBorderLineStyle, write = set_DefaultBorderLineStyle};
  __property   VARIANT_BOOL    CheckSpellingAsYouType = {read = get_CheckSpellingAsYouType, write = set_CheckSpellingAsYouType};
  __property   VARIANT_BOOL    CheckGrammarAsYouType = {read = get_CheckGrammarAsYouType, write = set_CheckGrammarAsYouType};
  __property   VARIANT_BOOL    IgnoreInternetAndFileAddresses = {read = get_IgnoreInternetAndFileAddresses, write = set_IgnoreInternetAndFileAddresses};
  __property   VARIANT_BOOL    ShowReadabilityStatistics = {read = get_ShowReadabilityStatistics, write = set_ShowReadabilityStatistics};
  __property   VARIANT_BOOL    IgnoreUppercase = {read = get_IgnoreUppercase, write = set_IgnoreUppercase};
  __property   VARIANT_BOOL    IgnoreMixedDigits = {read = get_IgnoreMixedDigits, write = set_IgnoreMixedDigits};
  __property   VARIANT_BOOL    SuggestFromMainDictionaryOnly = {read = get_SuggestFromMainDictionaryOnly, write = set_SuggestFromMainDictionaryOnly};
  __property   VARIANT_BOOL    SuggestSpellingCorrections = {read = get_SuggestSpellingCorrections, write = set_SuggestSpellingCorrections};
  __property   Word_xp::WdLineWidth DefaultBorderLineWidth = {read = get_DefaultBorderLineWidth, write = set_DefaultBorderLineWidth};
  __property   VARIANT_BOOL    CheckGrammarWithSpelling = {read = get_CheckGrammarWithSpelling, write = set_CheckGrammarWithSpelling};
  __property   Word_xp::WdOpenFormat DefaultOpenFormat = {read = get_DefaultOpenFormat, write = set_DefaultOpenFormat};
  __property   VARIANT_BOOL    PrintDraft = {read = get_PrintDraft, write = set_PrintDraft};
  __property   VARIANT_BOOL    PrintReverse = {read = get_PrintReverse, write = set_PrintReverse};
  __property   VARIANT_BOOL    MapPaperSize = {read = get_MapPaperSize, write = set_MapPaperSize};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyTables = {read = get_AutoFormatAsYouTypeApplyTables, write = set_AutoFormatAsYouTypeApplyTables};
  __property   VARIANT_BOOL    AutoFormatApplyFirstIndents = {read = get_AutoFormatApplyFirstIndents, write = set_AutoFormatApplyFirstIndents};
  __property   VARIANT_BOOL    AutoFormatMatchParentheses = {read = get_AutoFormatMatchParentheses, write = set_AutoFormatMatchParentheses};
  __property   VARIANT_BOOL    AutoFormatReplaceFarEastDashes = {read = get_AutoFormatReplaceFarEastDashes, write = set_AutoFormatReplaceFarEastDashes};
  __property   VARIANT_BOOL    AutoFormatDeleteAutoSpaces = {read = get_AutoFormatDeleteAutoSpaces, write = set_AutoFormatDeleteAutoSpaces};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyFirstIndents = {read = get_AutoFormatAsYouTypeApplyFirstIndents, write = set_AutoFormatAsYouTypeApplyFirstIndents};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyDates = {read = get_AutoFormatAsYouTypeApplyDates, write = set_AutoFormatAsYouTypeApplyDates};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyClosings = {read = get_AutoFormatAsYouTypeApplyClosings, write = set_AutoFormatAsYouTypeApplyClosings};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeMatchParentheses = {read = get_AutoFormatAsYouTypeMatchParentheses, write = set_AutoFormatAsYouTypeMatchParentheses};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceFarEastDashes = {read = get_AutoFormatAsYouTypeReplaceFarEastDashes, write = set_AutoFormatAsYouTypeReplaceFarEastDashes};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeDeleteAutoSpaces = {read = get_AutoFormatAsYouTypeDeleteAutoSpaces, write = set_AutoFormatAsYouTypeDeleteAutoSpaces};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeInsertClosings = {read = get_AutoFormatAsYouTypeInsertClosings, write = set_AutoFormatAsYouTypeInsertClosings};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeAutoLetterWizard = {read = get_AutoFormatAsYouTypeAutoLetterWizard, write = set_AutoFormatAsYouTypeAutoLetterWizard};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeInsertOvers = {read = get_AutoFormatAsYouTypeInsertOvers, write = set_AutoFormatAsYouTypeInsertOvers};
  __property   VARIANT_BOOL    DisplayGridLines = {read = get_DisplayGridLines, write = set_DisplayGridLines};
  __property   VARIANT_BOOL    MatchFuzzyCase = {read = get_MatchFuzzyCase, write = set_MatchFuzzyCase};
  __property   VARIANT_BOOL    MatchFuzzyByte = {read = get_MatchFuzzyByte, write = set_MatchFuzzyByte};
  __property   VARIANT_BOOL    MatchFuzzyHiragana = {read = get_MatchFuzzyHiragana, write = set_MatchFuzzyHiragana};
  __property   VARIANT_BOOL    MatchFuzzySmallKana = {read = get_MatchFuzzySmallKana, write = set_MatchFuzzySmallKana};
  __property   VARIANT_BOOL    MatchFuzzyDash = {read = get_MatchFuzzyDash, write = set_MatchFuzzyDash};
  __property   VARIANT_BOOL    MatchFuzzyIterationMark = {read = get_MatchFuzzyIterationMark, write = set_MatchFuzzyIterationMark};
  __property   VARIANT_BOOL    MatchFuzzyKanji = {read = get_MatchFuzzyKanji, write = set_MatchFuzzyKanji};
  __property   VARIANT_BOOL    MatchFuzzyOldKana = {read = get_MatchFuzzyOldKana, write = set_MatchFuzzyOldKana};
  __property   VARIANT_BOOL    MatchFuzzyProlongedSoundMark = {read = get_MatchFuzzyProlongedSoundMark, write = set_MatchFuzzyProlongedSoundMark};
  __property   VARIANT_BOOL    MatchFuzzyDZ = {read = get_MatchFuzzyDZ, write = set_MatchFuzzyDZ};
  __property   VARIANT_BOOL    MatchFuzzyBV = {read = get_MatchFuzzyBV, write = set_MatchFuzzyBV};
  __property   VARIANT_BOOL    MatchFuzzyTC = {read = get_MatchFuzzyTC, write = set_MatchFuzzyTC};
  __property   VARIANT_BOOL    MatchFuzzyHF = {read = get_MatchFuzzyHF, write = set_MatchFuzzyHF};
  __property   VARIANT_BOOL    MatchFuzzyZJ = {read = get_MatchFuzzyZJ, write = set_MatchFuzzyZJ};
  __property   VARIANT_BOOL    MatchFuzzyAY = {read = get_MatchFuzzyAY, write = set_MatchFuzzyAY};
  __property   VARIANT_BOOL    MatchFuzzyKiKu = {read = get_MatchFuzzyKiKu, write = set_MatchFuzzyKiKu};
  __property   VARIANT_BOOL    MatchFuzzyPunctuation = {read = get_MatchFuzzyPunctuation, write = set_MatchFuzzyPunctuation};
  __property   VARIANT_BOOL    MatchFuzzySpace = {read = get_MatchFuzzySpace, write = set_MatchFuzzySpace};
  __property   VARIANT_BOOL    ApplyFarEastFontsToAscii = {read = get_ApplyFarEastFontsToAscii, write = set_ApplyFarEastFontsToAscii};
  __property   VARIANT_BOOL    ConvertHighAnsiToFarEast = {read = get_ConvertHighAnsiToFarEast, write = set_ConvertHighAnsiToFarEast};
  __property   VARIANT_BOOL    PrintOddPagesInAscendingOrder = {read = get_PrintOddPagesInAscendingOrder, write = set_PrintOddPagesInAscendingOrder};
  __property   VARIANT_BOOL    PrintEvenPagesInAscendingOrder = {read = get_PrintEvenPagesInAscendingOrder, write = set_PrintEvenPagesInAscendingOrder};
  __property   Word_xp::WdColorIndex DefaultBorderColorIndex = {read = get_DefaultBorderColorIndex, write = set_DefaultBorderColorIndex};
  __property   VARIANT_BOOL    EnableMisusedWordsDictionary = {read = get_EnableMisusedWordsDictionary, write = set_EnableMisusedWordsDictionary};
  __property   VARIANT_BOOL    AllowCombinedAuxiliaryForms = {read = get_AllowCombinedAuxiliaryForms, write = set_AllowCombinedAuxiliaryForms};
  __property   VARIANT_BOOL    HangulHanjaFastConversion = {read = get_HangulHanjaFastConversion, write = set_HangulHanjaFastConversion};
  __property   VARIANT_BOOL    CheckHangulEndings = {read = get_CheckHangulEndings, write = set_CheckHangulEndings};
  __property   VARIANT_BOOL    EnableHangulHanjaRecentOrdering = {read = get_EnableHangulHanjaRecentOrdering, write = set_EnableHangulHanjaRecentOrdering};
  __property   Word_xp::WdMultipleWordConversionsMode MultipleWordConversionsMode = {read = get_MultipleWordConversionsMode, write = set_MultipleWordConversionsMode};
  __property   Word_xp::WdColor DefaultBorderColor = {read = get_DefaultBorderColor, write = set_DefaultBorderColor};
  __property   VARIANT_BOOL    AllowPixelUnits = {read = get_AllowPixelUnits, write = set_AllowPixelUnits};
  __property   VARIANT_BOOL    UseCharacterUnit = {read = get_UseCharacterUnit, write = set_UseCharacterUnit};
  __property   VARIANT_BOOL    AllowCompoundNounProcessing = {read = get_AllowCompoundNounProcessing, write = set_AllowCompoundNounProcessing};
  __property   VARIANT_BOOL    AutoKeyboardSwitching = {read = get_AutoKeyboardSwitching, write = set_AutoKeyboardSwitching};
  __property   Word_xp::WdDocumentViewDirection DocumentViewDirection = {read = get_DocumentViewDirection, write = set_DocumentViewDirection};
  __property   Word_xp::WdArabicNumeral ArabicNumeral = {read = get_ArabicNumeral, write = set_ArabicNumeral};
  __property   Word_xp::WdMonthNames MonthNames = {read = get_MonthNames, write = set_MonthNames};
  __property   Word_xp::WdCursorMovement CursorMovement = {read = get_CursorMovement, write = set_CursorMovement};
  __property   Word_xp::WdVisualSelection VisualSelection = {read = get_VisualSelection, write = set_VisualSelection};
  __property   VARIANT_BOOL    ShowDiacritics = {read = get_ShowDiacritics, write = set_ShowDiacritics};
  __property   VARIANT_BOOL    ShowControlCharacters = {read = get_ShowControlCharacters, write = set_ShowControlCharacters};
  __property   VARIANT_BOOL    AddControlCharacters = {read = get_AddControlCharacters, write = set_AddControlCharacters};
  __property   VARIANT_BOOL    AddBiDirectionalMarksWhenSavingTextFile = {read = get_AddBiDirectionalMarksWhenSavingTextFile, write = set_AddBiDirectionalMarksWhenSavingTextFile};
  __property   VARIANT_BOOL    StrictInitialAlefHamza = {read = get_StrictInitialAlefHamza, write = set_StrictInitialAlefHamza};
  __property   VARIANT_BOOL    StrictFinalYaa = {read = get_StrictFinalYaa, write = set_StrictFinalYaa};
  __property   Word_xp::WdHebSpellStart HebrewMode = {read = get_HebrewMode, write = set_HebrewMode};
  __property   Word_xp::WdAraSpeller ArabicMode = {read = get_ArabicMode, write = set_ArabicMode};
  __property   VARIANT_BOOL    AllowClickAndTypeMouse = {read = get_AllowClickAndTypeMouse, write = set_AllowClickAndTypeMouse};
  __property   VARIANT_BOOL    UseGermanSpellingReform = {read = get_UseGermanSpellingReform, write = set_UseGermanSpellingReform};
  __property   Word_xp::WdHighAnsiText InterpretHighAnsi = {read = get_InterpretHighAnsi, write = set_InterpretHighAnsi};
  __property   VARIANT_BOOL    AddHebDoubleQuote = {read = get_AddHebDoubleQuote, write = set_AddHebDoubleQuote};
  __property   VARIANT_BOOL    UseDiffDiacColor = {read = get_UseDiffDiacColor, write = set_UseDiffDiacColor};
  __property   Word_xp::WdColor DiacriticColorVal = {read = get_DiacriticColorVal, write = set_DiacriticColorVal};
  __property   VARIANT_BOOL    OptimizeForWord97byDefault = {read = get_OptimizeForWord97byDefault, write = set_OptimizeForWord97byDefault};
  __property   VARIANT_BOOL    LocalNetworkFile = {read = get_LocalNetworkFile, write = set_LocalNetworkFile};
  __property   VARIANT_BOOL    TypeNReplace = {read = get_TypeNReplace, write = set_TypeNReplace};
  __property   VARIANT_BOOL    SequenceCheck = {read = get_SequenceCheck, write = set_SequenceCheck};
  __property   VARIANT_BOOL    BackgroundOpen = {read = get_BackgroundOpen, write = set_BackgroundOpen};
  __property   VARIANT_BOOL    DisableFeaturesbyDefault = {read = get_DisableFeaturesbyDefault, write = set_DisableFeaturesbyDefault};
  __property   VARIANT_BOOL    PasteAdjustWordSpacing = {read = get_PasteAdjustWordSpacing, write = set_PasteAdjustWordSpacing};
  __property   VARIANT_BOOL    PasteAdjustParagraphSpacing = {read = get_PasteAdjustParagraphSpacing, write = set_PasteAdjustParagraphSpacing};
  __property   VARIANT_BOOL    PasteAdjustTableFormatting = {read = get_PasteAdjustTableFormatting, write = set_PasteAdjustTableFormatting};
  __property   VARIANT_BOOL    PasteSmartStyleBehavior = {read = get_PasteSmartStyleBehavior, write = set_PasteSmartStyleBehavior};
  __property   VARIANT_BOOL    PasteMergeFromPPT = {read = get_PasteMergeFromPPT, write = set_PasteMergeFromPPT};
  __property   VARIANT_BOOL    PasteMergeFromXL = {read = get_PasteMergeFromXL, write = set_PasteMergeFromXL};
  __property   VARIANT_BOOL    CtrlClickHyperlinkToOpen = {read = get_CtrlClickHyperlinkToOpen, write = set_CtrlClickHyperlinkToOpen};
  __property   Word_xp::WdWrapTypeMerged PictureWrapType = {read = get_PictureWrapType, write = set_PictureWrapType};
  __property   Word_xp::WdDisableFeaturesIntroducedAfter DisableFeaturesIntroducedAfterbyDefault = {read = get_DisableFeaturesIntroducedAfterbyDefault, write = set_DisableFeaturesIntroducedAfterbyDefault};
  __property   VARIANT_BOOL    PasteSmartCutPaste = {read = get_PasteSmartCutPaste, write = set_PasteSmartCutPaste};
  __property   VARIANT_BOOL    DisplayPasteOptions = {read = get_DisplayPasteOptions, write = set_DisplayPasteOptions};
  __property   VARIANT_BOOL    PromptUpdateStyle = {read = get_PromptUpdateStyle, write = set_PromptUpdateStyle};
  __property   BSTR            DefaultEPostageApp = {read = get_DefaultEPostageApp, write = set_DefaultEPostageApp};
  __property   Office_xp::MsoEncoding DefaultTextEncoding = {read = get_DefaultTextEncoding, write = set_DefaultTextEncoding};
  __property   VARIANT_BOOL    LabelSmartTags = {read = get_LabelSmartTags, write = set_LabelSmartTags};
  __property   VARIANT_BOOL    DisplaySmartTagButtons = {read = get_DisplaySmartTagButtons, write = set_DisplaySmartTagButtons};
  __property   VARIANT_BOOL    WarnBeforeSavingPrintingSendingMarkup = {read = get_WarnBeforeSavingPrintingSendingMarkup, write = set_WarnBeforeSavingPrintingSendingMarkup};
  __property   VARIANT_BOOL    StoreRSIDOnSave = {read = get_StoreRSIDOnSave, write = set_StoreRSIDOnSave};
  __property   VARIANT_BOOL    ShowFormatError = {read = get_ShowFormatError, write = set_ShowFormatError};
  __property   VARIANT_BOOL    FormatScanning = {read = get_FormatScanning, write = set_FormatScanning};
  __property   VARIANT_BOOL    PasteMergeLists = {read = get_PasteMergeLists, write = set_PasteMergeLists};
  __property   VARIANT_BOOL    AutoCreateNewDrawings = {read = get_AutoCreateNewDrawings, write = set_AutoCreateNewDrawings};
  __property   VARIANT_BOOL    SmartParaSelection = {read = get_SmartParaSelection, write = set_SmartParaSelection};
  __property   Word_xp::WdRevisionsBalloonPrintOrientation RevisionsBalloonPrintOrientation = {read = get_RevisionsBalloonPrintOrientation, write = set_RevisionsBalloonPrintOrientation};
  __property   Word_xp::WdColorIndex CommentsColor = {read = get_CommentsColor, write = set_CommentsColor};
};
typedef OptionsDispT<Options> OptionsDisp;

typedef TComInterface<MailMessage>  TCOMMailMessage;

// *********************************************************************//
// DispIntf:  MailMessage
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209BA-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class MailMessageDispT : public TAutoDriver<MailMessage>
{
public:
  MailMessageDispT(){}

  MailMessageDispT(MailMessage *pintf)
  {
    TAutoDriver<MailMessage>::Bind(pintf, false);
  }

  MailMessageDispT(MailMessagePtr pintf)
  {
    TAutoDriver<MailMessage>::Bind(pintf, true);
  }

  MailMessageDispT& operator=(MailMessage *pintf)
  {
    TAutoDriver<MailMessage>::Bind(pintf, false);
    return *this;
  }

  MailMessageDispT& operator=(MailMessagePtr pintf)
  {
    TAutoDriver<MailMessage>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall CheckName();
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall DisplayMoveDialog();
  HRESULT         __fastcall DisplayProperties();
  HRESULT         __fastcall DisplaySelectNamesDialog();
  HRESULT         __fastcall Forward();
  HRESULT         __fastcall GoToNext();
  HRESULT         __fastcall GoToPrevious();
  HRESULT         __fastcall Reply();
  HRESULT         __fastcall ReplyAll();
  HRESULT         __fastcall ToggleHeader();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef MailMessageDispT<MailMessage> MailMessageDisp;

typedef TComInterface<ProofreadingErrors>  TCOMProofreadingErrors;

// *********************************************************************//
// DispIntf:  ProofreadingErrors
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209BB-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ProofreadingErrorsDispT : public TAutoDriver<ProofreadingErrors>
{
public:
  ProofreadingErrorsDispT(){}

  ProofreadingErrorsDispT(ProofreadingErrors *pintf)
  {
    TAutoDriver<ProofreadingErrors>::Bind(pintf, false);
  }

  ProofreadingErrorsDispT(ProofreadingErrorsPtr pintf)
  {
    TAutoDriver<ProofreadingErrors>::Bind(pintf, true);
  }

  ProofreadingErrorsDispT& operator=(ProofreadingErrors *pintf)
  {
    TAutoDriver<ProofreadingErrors>::Bind(pintf, false);
    return *this;
  }

  ProofreadingErrorsDispT& operator=(ProofreadingErrorsPtr pintf)
  {
    TAutoDriver<ProofreadingErrors>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Type(Word_xp::WdProofreadingErrorType* prop/*[out,retval]*/);
  Word_xp::WdProofreadingErrorType __fastcall get_Type(void);
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRange* __fastcall Item(long Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WdProofreadingErrorType Type = {read = get_Type};
};
typedef ProofreadingErrorsDispT<ProofreadingErrors> ProofreadingErrorsDisp;

typedef TComInterface<Mailer>  TCOMMailer;

// *********************************************************************//
// DispIntf:  Mailer
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209BD-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class MailerDispT : public TAutoDriver<Mailer>
{
public:
  MailerDispT(){}

  MailerDispT(Mailer *pintf)
  {
    TAutoDriver<Mailer>::Bind(pintf, false);
  }

  MailerDispT(MailerPtr pintf)
  {
    TAutoDriver<Mailer>::Bind(pintf, true);
  }

  MailerDispT& operator=(Mailer *pintf)
  {
    TAutoDriver<Mailer>::Bind(pintf, false);
    return *this;
  }

  MailerDispT& operator=(MailerPtr pintf)
  {
    TAutoDriver<Mailer>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_BCCRecipients(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_BCCRecipients(void);
  HRESULT         __fastcall set_BCCRecipients(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_CCRecipients(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_CCRecipients(void);
  HRESULT         __fastcall set_CCRecipients(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Recipients(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Recipients(void);
  HRESULT         __fastcall set_Recipients(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Enclosures(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Enclosures(void);
  HRESULT         __fastcall set_Enclosures(VARIANT* prop/*[in]*/);
  HRESULT         __fastcall get_Sender(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Sender(void);
  HRESULT         __fastcall get_SendDateTime(DATE* prop/*[out,retval]*/);
  DATE            __fastcall get_SendDateTime(void);
  HRESULT         __fastcall get_Received(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Received(void);
  HRESULT         __fastcall get_Subject(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Subject(void);
  HRESULT         __fastcall set_Subject(BSTR prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            Sender = {read = get_Sender};
  __property   DATE            SendDateTime = {read = get_SendDateTime};
  __property   VARIANT_BOOL    Received = {read = get_Received};
  __property   BSTR            Subject = {read = get_Subject, write = set_Subject};
};
typedef MailerDispT<Mailer> MailerDisp;

typedef TComInterface<WrapFormat>  TCOMWrapFormat;

// *********************************************************************//
// DispIntf:  WrapFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C3-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class WrapFormatDispT : public TAutoDriver<WrapFormat>
{
public:
  WrapFormatDispT(){}

  WrapFormatDispT(WrapFormat *pintf)
  {
    TAutoDriver<WrapFormat>::Bind(pintf, false);
  }

  WrapFormatDispT(WrapFormatPtr pintf)
  {
    TAutoDriver<WrapFormat>::Bind(pintf, true);
  }

  WrapFormatDispT& operator=(WrapFormat *pintf)
  {
    TAutoDriver<WrapFormat>::Bind(pintf, false);
    return *this;
  }

  WrapFormatDispT& operator=(WrapFormatPtr pintf)
  {
    TAutoDriver<WrapFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Type(Word_xp::WdWrapType* prop/*[out,retval]*/);
  Word_xp::WdWrapType __fastcall get_Type(void);
  HRESULT         __fastcall set_Type(Word_xp::WdWrapType prop/*[in]*/);
  HRESULT         __fastcall get_Side(Word_xp::WdWrapSideType* prop/*[out,retval]*/);
  Word_xp::WdWrapSideType __fastcall get_Side(void);
  HRESULT         __fastcall set_Side(Word_xp::WdWrapSideType prop/*[in]*/);
  HRESULT         __fastcall get_DistanceTop(float* prop/*[out,retval]*/);
  float           __fastcall get_DistanceTop(void);
  HRESULT         __fastcall set_DistanceTop(float prop/*[in]*/);
  HRESULT         __fastcall get_DistanceBottom(float* prop/*[out,retval]*/);
  float           __fastcall get_DistanceBottom(void);
  HRESULT         __fastcall set_DistanceBottom(float prop/*[in]*/);
  HRESULT         __fastcall get_DistanceLeft(float* prop/*[out,retval]*/);
  float           __fastcall get_DistanceLeft(void);
  HRESULT         __fastcall set_DistanceLeft(float prop/*[in]*/);
  HRESULT         __fastcall get_DistanceRight(float* prop/*[out,retval]*/);
  float           __fastcall get_DistanceRight(void);
  HRESULT         __fastcall set_DistanceRight(float prop/*[in]*/);
  HRESULT         __fastcall get_AllowOverlap(long* prop/*[out,retval]*/);
  long            __fastcall get_AllowOverlap(void);
  HRESULT         __fastcall set_AllowOverlap(long prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdWrapType Type = {read = get_Type, write = set_Type};
  __property   Word_xp::WdWrapSideType Side = {read = get_Side, write = set_Side};
  __property   float           DistanceTop = {read = get_DistanceTop, write = set_DistanceTop};
  __property   float           DistanceBottom = {read = get_DistanceBottom, write = set_DistanceBottom};
  __property   float           DistanceLeft = {read = get_DistanceLeft, write = set_DistanceLeft};
  __property   float           DistanceRight = {read = get_DistanceRight, write = set_DistanceRight};
  __property   long            AllowOverlap = {read = get_AllowOverlap, write = set_AllowOverlap};
};
typedef WrapFormatDispT<WrapFormat> WrapFormatDisp;

typedef TComInterface<HangulAndAlphabetExceptions>  TCOMHangulAndAlphabetExceptions;

// *********************************************************************//
// DispIntf:  HangulAndAlphabetExceptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209D1-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class HangulAndAlphabetExceptionsDispT : public TAutoDriver<HangulAndAlphabetExceptions>
{
public:
  HangulAndAlphabetExceptionsDispT(){}

  HangulAndAlphabetExceptionsDispT(HangulAndAlphabetExceptions *pintf)
  {
    TAutoDriver<HangulAndAlphabetExceptions>::Bind(pintf, false);
  }

  HangulAndAlphabetExceptionsDispT(HangulAndAlphabetExceptionsPtr pintf)
  {
    TAutoDriver<HangulAndAlphabetExceptions>::Bind(pintf, true);
  }

  HangulAndAlphabetExceptionsDispT& operator=(HangulAndAlphabetExceptions *pintf)
  {
    TAutoDriver<HangulAndAlphabetExceptions>::Bind(pintf, false);
    return *this;
  }

  HangulAndAlphabetExceptionsDispT& operator=(HangulAndAlphabetExceptionsPtr pintf)
  {
    TAutoDriver<HangulAndAlphabetExceptions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::HangulAndAlphabetException** prop/*[out,retval]*/);
  Word_xp::HangulAndAlphabetException* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, 
                                 Word_xp::HangulAndAlphabetException** prop/*[out,retval]*/);
  Word_xp::HangulAndAlphabetException* __fastcall Add(BSTR Name/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef HangulAndAlphabetExceptionsDispT<HangulAndAlphabetExceptions> HangulAndAlphabetExceptionsDisp;

typedef TComInterface<HangulAndAlphabetException>  TCOMHangulAndAlphabetException;

// *********************************************************************//
// DispIntf:  HangulAndAlphabetException
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209D2-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class HangulAndAlphabetExceptionDispT : public TAutoDriver<HangulAndAlphabetException>
{
public:
  HangulAndAlphabetExceptionDispT(){}

  HangulAndAlphabetExceptionDispT(HangulAndAlphabetException *pintf)
  {
    TAutoDriver<HangulAndAlphabetException>::Bind(pintf, false);
  }

  HangulAndAlphabetExceptionDispT(HangulAndAlphabetExceptionPtr pintf)
  {
    TAutoDriver<HangulAndAlphabetException>::Bind(pintf, true);
  }

  HangulAndAlphabetExceptionDispT& operator=(HangulAndAlphabetException *pintf)
  {
    TAutoDriver<HangulAndAlphabetException>::Bind(pintf, false);
    return *this;
  }

  HangulAndAlphabetExceptionDispT& operator=(HangulAndAlphabetExceptionPtr pintf)
  {
    TAutoDriver<HangulAndAlphabetException>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name};
};
typedef HangulAndAlphabetExceptionDispT<HangulAndAlphabetException> HangulAndAlphabetExceptionDisp;

typedef TComInterface<Adjustments>  TCOMAdjustments;

// *********************************************************************//
// DispIntf:  Adjustments
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C4-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class AdjustmentsDispT : public TAutoDriver<Adjustments>
{
public:
  AdjustmentsDispT(){}

  AdjustmentsDispT(Adjustments *pintf)
  {
    TAutoDriver<Adjustments>::Bind(pintf, false);
  }

  AdjustmentsDispT(AdjustmentsPtr pintf)
  {
    TAutoDriver<Adjustments>::Bind(pintf, true);
  }

  AdjustmentsDispT& operator=(Adjustments *pintf)
  {
    TAutoDriver<Adjustments>::Bind(pintf, false);
    return *this;
  }

  AdjustmentsDispT& operator=(AdjustmentsPtr pintf)
  {
    TAutoDriver<Adjustments>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Item(long Index/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall get_Item(long Index/*[in]*/);
  HRESULT         __fastcall set_Item(long Index/*[in]*/, float prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
};
typedef AdjustmentsDispT<Adjustments> AdjustmentsDisp;

typedef TComInterface<CalloutFormat>  TCOMCalloutFormat;

// *********************************************************************//
// DispIntf:  CalloutFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C5-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class CalloutFormatDispT : public TAutoDriver<CalloutFormat>
{
public:
  CalloutFormatDispT(){}

  CalloutFormatDispT(CalloutFormat *pintf)
  {
    TAutoDriver<CalloutFormat>::Bind(pintf, false);
  }

  CalloutFormatDispT(CalloutFormatPtr pintf)
  {
    TAutoDriver<CalloutFormat>::Bind(pintf, true);
  }

  CalloutFormatDispT& operator=(CalloutFormat *pintf)
  {
    TAutoDriver<CalloutFormat>::Bind(pintf, false);
    return *this;
  }

  CalloutFormatDispT& operator=(CalloutFormatPtr pintf)
  {
    TAutoDriver<CalloutFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Accent(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Accent(void);
  HRESULT         __fastcall set_Accent(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_Angle(Office_xp::MsoCalloutAngleType* prop/*[out,retval]*/);
  Office_xp::MsoCalloutAngleType __fastcall get_Angle(void);
  HRESULT         __fastcall set_Angle(Office_xp::MsoCalloutAngleType prop/*[in]*/);
  HRESULT         __fastcall get_AutoAttach(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_AutoAttach(void);
  HRESULT         __fastcall set_AutoAttach(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_AutoLength(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_AutoLength(void);
  HRESULT         __fastcall get_Border(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Border(void);
  HRESULT         __fastcall set_Border(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_Drop(float* prop/*[out,retval]*/);
  float           __fastcall get_Drop(void);
  HRESULT         __fastcall get_DropType(Office_xp::MsoCalloutDropType* prop/*[out,retval]*/);
  Office_xp::MsoCalloutDropType __fastcall get_DropType(void);
  HRESULT         __fastcall get_Gap(float* prop/*[out,retval]*/);
  float           __fastcall get_Gap(void);
  HRESULT         __fastcall set_Gap(float prop/*[in]*/);
  HRESULT         __fastcall get_Length(float* prop/*[out,retval]*/);
  float           __fastcall get_Length(void);
  HRESULT         __fastcall get_Type(Office_xp::MsoCalloutType* prop/*[out,retval]*/);
  Office_xp::MsoCalloutType __fastcall get_Type(void);
  HRESULT         __fastcall set_Type(Office_xp::MsoCalloutType prop/*[in]*/);
  HRESULT         __fastcall AutomaticLength();
  HRESULT         __fastcall CustomDrop(float Drop/*[in]*/);
  HRESULT         __fastcall CustomLength(float Length/*[in]*/);
  HRESULT         __fastcall PresetDrop(Office_xp::MsoCalloutDropType DropType/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Office_xp::MsoTriState Accent = {read = get_Accent, write = set_Accent};
  __property   Office_xp::MsoCalloutAngleType Angle = {read = get_Angle, write = set_Angle};
  __property   Office_xp::MsoTriState AutoAttach = {read = get_AutoAttach, write = set_AutoAttach};
  __property   Office_xp::MsoTriState AutoLength = {read = get_AutoLength};
  __property   Office_xp::MsoTriState Border = {read = get_Border, write = set_Border};
  __property   float           Drop = {read = get_Drop};
  __property   Office_xp::MsoCalloutDropType DropType = {read = get_DropType};
  __property   float           Gap = {read = get_Gap, write = set_Gap};
  __property   float           Length = {read = get_Length};
  __property   Office_xp::MsoCalloutType Type = {read = get_Type, write = set_Type};
};
typedef CalloutFormatDispT<CalloutFormat> CalloutFormatDisp;

typedef TComInterface<ColorFormat>  TCOMColorFormat;

// *********************************************************************//
// DispIntf:  ColorFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C6-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ColorFormatDispT : public TAutoDriver<ColorFormat>
{
public:
  ColorFormatDispT(){}

  ColorFormatDispT(ColorFormat *pintf)
  {
    TAutoDriver<ColorFormat>::Bind(pintf, false);
  }

  ColorFormatDispT(ColorFormatPtr pintf)
  {
    TAutoDriver<ColorFormat>::Bind(pintf, true);
  }

  ColorFormatDispT& operator=(ColorFormat *pintf)
  {
    TAutoDriver<ColorFormat>::Bind(pintf, false);
    return *this;
  }

  ColorFormatDispT& operator=(ColorFormatPtr pintf)
  {
    TAutoDriver<ColorFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_rgb(long* prop/*[out,retval]*/);
  long            __fastcall get_rgb(void);
  HRESULT         __fastcall set_rgb(long prop/*[in]*/);
  HRESULT         __fastcall get_SchemeColor(long* prop/*[out,retval]*/);
  long            __fastcall get_SchemeColor(void);
  HRESULT         __fastcall set_SchemeColor(long prop/*[in]*/);
  HRESULT         __fastcall get_Type(Office_xp::MsoColorType* prop/*[out,retval]*/);
  Office_xp::MsoColorType __fastcall get_Type(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_TintAndShade(float* prop/*[out,retval]*/);
  float           __fastcall get_TintAndShade(void);
  HRESULT         __fastcall set_TintAndShade(float prop/*[in]*/);
  HRESULT         __fastcall get_OverPrint(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_OverPrint(void);
  HRESULT         __fastcall set_OverPrint(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_Ink(long Index/*[in]*/, float* prop/*[out,retval]*/);
  float           __fastcall get_Ink(long Index/*[in]*/);
  HRESULT         __fastcall set_Ink(long Index/*[in]*/, float prop/*[in]*/);
  HRESULT         __fastcall get_Cyan(long* prop/*[out,retval]*/);
  long            __fastcall get_Cyan(void);
  HRESULT         __fastcall set_Cyan(long prop/*[in]*/);
  HRESULT         __fastcall get_Magenta(long* prop/*[out,retval]*/);
  long            __fastcall get_Magenta(void);
  HRESULT         __fastcall set_Magenta(long prop/*[in]*/);
  HRESULT         __fastcall get_Yellow(long* prop/*[out,retval]*/);
  long            __fastcall get_Yellow(void);
  HRESULT         __fastcall set_Yellow(long prop/*[in]*/);
  HRESULT         __fastcall get_Black(long* prop/*[out,retval]*/);
  long            __fastcall get_Black(void);
  HRESULT         __fastcall set_Black(long prop/*[in]*/);
  HRESULT         __fastcall SetCMYK(long Cyan/*[in]*/, long Magenta/*[in]*/, long Yellow/*[in]*/, 
                                     long Black/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            rgb = {read = get_rgb, write = set_rgb};
  __property   long            SchemeColor = {read = get_SchemeColor, write = set_SchemeColor};
  __property   Office_xp::MsoColorType Type = {read = get_Type};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
  __property   float           TintAndShade = {read = get_TintAndShade, write = set_TintAndShade};
  __property   Office_xp::MsoTriState OverPrint = {read = get_OverPrint, write = set_OverPrint};
  __property   long            Cyan = {read = get_Cyan, write = set_Cyan};
  __property   long            Magenta = {read = get_Magenta, write = set_Magenta};
  __property   long            Yellow = {read = get_Yellow, write = set_Yellow};
  __property   long            Black = {read = get_Black, write = set_Black};
};
typedef ColorFormatDispT<ColorFormat> ColorFormatDisp;

typedef TComInterface<ConnectorFormat>  TCOMConnectorFormat;

// *********************************************************************//
// DispIntf:  ConnectorFormat
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C7-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ConnectorFormatDispT : public TAutoDriver<ConnectorFormat>
{
public:
  ConnectorFormatDispT(){}

  ConnectorFormatDispT(ConnectorFormat *pintf)
  {
    TAutoDriver<ConnectorFormat>::Bind(pintf, false);
  }

  ConnectorFormatDispT(ConnectorFormatPtr pintf)
  {
    TAutoDriver<ConnectorFormat>::Bind(pintf, true);
  }

  ConnectorFormatDispT& operator=(ConnectorFormat *pintf)
  {
    TAutoDriver<ConnectorFormat>::Bind(pintf, false);
    return *this;
  }

  ConnectorFormatDispT& operator=(ConnectorFormatPtr pintf)
  {
    TAutoDriver<ConnectorFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_BeginConnected(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_BeginConnected(void);
  HRESULT         __fastcall get_BeginConnectedShape(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::ShapePtr __fastcall get_BeginConnectedShape(void);
  HRESULT         __fastcall get_BeginConnectionSite(long* prop/*[out,retval]*/);
  long            __fastcall get_BeginConnectionSite(void);
  HRESULT         __fastcall get_EndConnected(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_EndConnected(void);
  HRESULT         __fastcall get_EndConnectedShape(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::ShapePtr __fastcall get_EndConnectedShape(void);
  HRESULT         __fastcall get_EndConnectionSite(long* prop/*[out,retval]*/);
  long            __fastcall get_EndConnectionSite(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Type(Office_xp::MsoConnectorType* prop/*[out,retval]*/);
  Office_xp::MsoConnectorType __fastcall get_Type(void);
  HRESULT         __fastcall set_Type(Office_xp::MsoConnectorType prop/*[in]*/);
  HRESULT         __fastcall BeginConnect(Word_xp::Shape** ConnectedShape/*[out]*/, 
                                          long ConnectionSite/*[in]*/);
  HRESULT         __fastcall BeginDisconnect();
  HRESULT         __fastcall EndConnect(Word_xp::Shape** ConnectedShape/*[out]*/, 
                                        long ConnectionSite/*[in]*/);
  HRESULT         __fastcall EndDisconnect();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   Office_xp::MsoTriState BeginConnected = {read = get_BeginConnected};
  __property   Word_xp::ShapePtr BeginConnectedShape = {read = get_BeginConnectedShape};
  __property   long            BeginConnectionSite = {read = get_BeginConnectionSite};
  __property   Office_xp::MsoTriState EndConnected = {read = get_EndConnected};
  __property   Word_xp::ShapePtr EndConnectedShape = {read = get_EndConnectedShape};
  __property   long            EndConnectionSite = {read = get_EndConnectionSite};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Office_xp::MsoConnectorType Type = {read = get_Type, write = set_Type};
};
typedef ConnectorFormatDispT<ConnectorFormat> ConnectorFormatDisp;

typedef TComInterface<FillFormat>  TCOMFillFormat;

// *********************************************************************//
// DispIntf:  FillFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C8-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FillFormatDispT : public TAutoDriver<FillFormat>
{
public:
  FillFormatDispT(){}

  FillFormatDispT(FillFormat *pintf)
  {
    TAutoDriver<FillFormat>::Bind(pintf, false);
  }

  FillFormatDispT(FillFormatPtr pintf)
  {
    TAutoDriver<FillFormat>::Bind(pintf, true);
  }

  FillFormatDispT& operator=(FillFormat *pintf)
  {
    TAutoDriver<FillFormat>::Bind(pintf, false);
    return *this;
  }

  FillFormatDispT& operator=(FillFormatPtr pintf)
  {
    TAutoDriver<FillFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_BackColor(Word_xp::ColorFormat** prop/*[out,retval]*/);
  Word_xp::ColorFormatPtr __fastcall get_BackColor(void);
  HRESULT         __fastcall get_ForeColor(Word_xp::ColorFormat** prop/*[out,retval]*/);
  Word_xp::ColorFormatPtr __fastcall get_ForeColor(void);
  HRESULT         __fastcall get_GradientColorType(Office_xp::MsoGradientColorType* prop/*[out,retval]*/);
  Office_xp::MsoGradientColorType __fastcall get_GradientColorType(void);
  HRESULT         __fastcall get_GradientDegree(float* prop/*[out,retval]*/);
  float           __fastcall get_GradientDegree(void);
  HRESULT         __fastcall get_GradientStyle(Office_xp::MsoGradientStyle* prop/*[out,retval]*/);
  Office_xp::MsoGradientStyle __fastcall get_GradientStyle(void);
  HRESULT         __fastcall get_GradientVariant(long* prop/*[out,retval]*/);
  long            __fastcall get_GradientVariant(void);
  HRESULT         __fastcall get_Pattern(Office_xp::MsoPatternType* prop/*[out,retval]*/);
  Office_xp::MsoPatternType __fastcall get_Pattern(void);
  HRESULT         __fastcall get_PresetGradientType(Office_xp::MsoPresetGradientType* prop/*[out,retval]*/);
  Office_xp::MsoPresetGradientType __fastcall get_PresetGradientType(void);
  HRESULT         __fastcall get_PresetTexture(Office_xp::MsoPresetTexture* prop/*[out,retval]*/);
  Office_xp::MsoPresetTexture __fastcall get_PresetTexture(void);
  HRESULT         __fastcall get_TextureName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_TextureName(void);
  HRESULT         __fastcall get_TextureType(Office_xp::MsoTextureType* prop/*[out,retval]*/);
  Office_xp::MsoTextureType __fastcall get_TextureType(void);
  HRESULT         __fastcall get_Transparency(float* prop/*[out,retval]*/);
  float           __fastcall get_Transparency(void);
  HRESULT         __fastcall set_Transparency(float prop/*[in]*/);
  HRESULT         __fastcall get_Type(Office_xp::MsoFillType* prop/*[out,retval]*/);
  Office_xp::MsoFillType __fastcall get_Type(void);
  HRESULT         __fastcall get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall Background();
  HRESULT         __fastcall OneColorGradient(Office_xp::MsoGradientStyle Style/*[in]*/, 
                                              long Variant/*[in]*/, float Degree/*[in]*/);
  HRESULT         __fastcall Patterned(Office_xp::MsoPatternType Pattern/*[in]*/);
  HRESULT         __fastcall PresetGradient(Office_xp::MsoGradientStyle Style/*[in]*/, 
                                            long Variant/*[in]*/, 
                                            Office_xp::MsoPresetGradientType PresetGradientType/*[in]*/);
  HRESULT         __fastcall PresetTextured(Office_xp::MsoPresetTexture PresetTexture/*[in]*/);
  HRESULT         __fastcall Solid();
  HRESULT         __fastcall TwoColorGradient(Office_xp::MsoGradientStyle Style/*[in]*/, 
                                              long Variant/*[in]*/);
  HRESULT         __fastcall UserPicture(BSTR PictureFile/*[in]*/);
  HRESULT         __fastcall UserTextured(BSTR TextureFile/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::ColorFormatPtr BackColor = {read = get_BackColor};
  __property   Word_xp::ColorFormatPtr ForeColor = {read = get_ForeColor};
  __property   Office_xp::MsoGradientColorType GradientColorType = {read = get_GradientColorType};
  __property   float           GradientDegree = {read = get_GradientDegree};
  __property   Office_xp::MsoGradientStyle GradientStyle = {read = get_GradientStyle};
  __property   long            GradientVariant = {read = get_GradientVariant};
  __property   Office_xp::MsoPatternType Pattern = {read = get_Pattern};
  __property   Office_xp::MsoPresetGradientType PresetGradientType = {read = get_PresetGradientType};
  __property   Office_xp::MsoPresetTexture PresetTexture = {read = get_PresetTexture};
  __property   BSTR            TextureName = {read = get_TextureName};
  __property   Office_xp::MsoTextureType TextureType = {read = get_TextureType};
  __property   float           Transparency = {read = get_Transparency, write = set_Transparency};
  __property   Office_xp::MsoFillType Type = {read = get_Type};
  __property   Office_xp::MsoTriState Visible = {read = get_Visible, write = set_Visible};
};
typedef FillFormatDispT<FillFormat> FillFormatDisp;

typedef TComInterface<FreeformBuilder>  TCOMFreeformBuilder;

// *********************************************************************//
// DispIntf:  FreeformBuilder
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C9-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FreeformBuilderDispT : public TAutoDriver<FreeformBuilder>
{
public:
  FreeformBuilderDispT(){}

  FreeformBuilderDispT(FreeformBuilder *pintf)
  {
    TAutoDriver<FreeformBuilder>::Bind(pintf, false);
  }

  FreeformBuilderDispT(FreeformBuilderPtr pintf)
  {
    TAutoDriver<FreeformBuilder>::Bind(pintf, true);
  }

  FreeformBuilderDispT& operator=(FreeformBuilder *pintf)
  {
    TAutoDriver<FreeformBuilder>::Bind(pintf, false);
    return *this;
  }

  FreeformBuilderDispT& operator=(FreeformBuilderPtr pintf)
  {
    TAutoDriver<FreeformBuilder>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall AddNodes(Office_xp::MsoSegmentType SegmentType/*[in]*/, 
                                      Office_xp::MsoEditingType EditingType/*[in]*/, 
                                      float X1/*[in]*/, float Y1/*[in]*/, float X2/*[in,def,opt]*/, 
                                      float Y2/*[in,def,opt]*/, float X3/*[in,def,opt]*/, 
                                      float Y3/*[in,def,opt]*/);
  HRESULT         __fastcall ConvertToShape(VARIANT* Anchor/*[in,opt]*/, 
                                            Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall ConvertToShape(VARIANT* Anchor/*[in,opt]*/= TNoParam());

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef FreeformBuilderDispT<FreeformBuilder> FreeformBuilderDisp;

typedef TComInterface<LineFormat>  TCOMLineFormat;

// *********************************************************************//
// DispIntf:  LineFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CA-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class LineFormatDispT : public TAutoDriver<LineFormat>
{
public:
  LineFormatDispT(){}

  LineFormatDispT(LineFormat *pintf)
  {
    TAutoDriver<LineFormat>::Bind(pintf, false);
  }

  LineFormatDispT(LineFormatPtr pintf)
  {
    TAutoDriver<LineFormat>::Bind(pintf, true);
  }

  LineFormatDispT& operator=(LineFormat *pintf)
  {
    TAutoDriver<LineFormat>::Bind(pintf, false);
    return *this;
  }

  LineFormatDispT& operator=(LineFormatPtr pintf)
  {
    TAutoDriver<LineFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_BackColor(Word_xp::ColorFormat** prop/*[out,retval]*/);
  Word_xp::ColorFormatPtr __fastcall get_BackColor(void);
  HRESULT         __fastcall get_BeginArrowheadLength(Office_xp::MsoArrowheadLength* prop/*[out,retval]*/);
  Office_xp::MsoArrowheadLength __fastcall get_BeginArrowheadLength(void);
  HRESULT         __fastcall set_BeginArrowheadLength(Office_xp::MsoArrowheadLength prop/*[in]*/);
  HRESULT         __fastcall get_BeginArrowheadStyle(Office_xp::MsoArrowheadStyle* prop/*[out,retval]*/);
  Office_xp::MsoArrowheadStyle __fastcall get_BeginArrowheadStyle(void);
  HRESULT         __fastcall set_BeginArrowheadStyle(Office_xp::MsoArrowheadStyle prop/*[in]*/);
  HRESULT         __fastcall get_BeginArrowheadWidth(Office_xp::MsoArrowheadWidth* prop/*[out,retval]*/);
  Office_xp::MsoArrowheadWidth __fastcall get_BeginArrowheadWidth(void);
  HRESULT         __fastcall set_BeginArrowheadWidth(Office_xp::MsoArrowheadWidth prop/*[in]*/);
  HRESULT         __fastcall get_DashStyle(Office_xp::MsoLineDashStyle* prop/*[out,retval]*/);
  Office_xp::MsoLineDashStyle __fastcall get_DashStyle(void);
  HRESULT         __fastcall set_DashStyle(Office_xp::MsoLineDashStyle prop/*[in]*/);
  HRESULT         __fastcall get_EndArrowheadLength(Office_xp::MsoArrowheadLength* prop/*[out,retval]*/);
  Office_xp::MsoArrowheadLength __fastcall get_EndArrowheadLength(void);
  HRESULT         __fastcall set_EndArrowheadLength(Office_xp::MsoArrowheadLength prop/*[in]*/);
  HRESULT         __fastcall get_EndArrowheadStyle(Office_xp::MsoArrowheadStyle* prop/*[out,retval]*/);
  Office_xp::MsoArrowheadStyle __fastcall get_EndArrowheadStyle(void);
  HRESULT         __fastcall set_EndArrowheadStyle(Office_xp::MsoArrowheadStyle prop/*[in]*/);
  HRESULT         __fastcall get_EndArrowheadWidth(Office_xp::MsoArrowheadWidth* prop/*[out,retval]*/);
  Office_xp::MsoArrowheadWidth __fastcall get_EndArrowheadWidth(void);
  HRESULT         __fastcall set_EndArrowheadWidth(Office_xp::MsoArrowheadWidth prop/*[in]*/);
  HRESULT         __fastcall get_ForeColor(Word_xp::ColorFormat** prop/*[out,retval]*/);
  Word_xp::ColorFormatPtr __fastcall get_ForeColor(void);
  HRESULT         __fastcall get_Pattern(Office_xp::MsoPatternType* prop/*[out,retval]*/);
  Office_xp::MsoPatternType __fastcall get_Pattern(void);
  HRESULT         __fastcall set_Pattern(Office_xp::MsoPatternType prop/*[in]*/);
  HRESULT         __fastcall get_Style(Office_xp::MsoLineStyle* prop/*[out,retval]*/);
  Office_xp::MsoLineStyle __fastcall get_Style(void);
  HRESULT         __fastcall set_Style(Office_xp::MsoLineStyle prop/*[in]*/);
  HRESULT         __fastcall get_Transparency(float* prop/*[out,retval]*/);
  float           __fastcall get_Transparency(void);
  HRESULT         __fastcall set_Transparency(float prop/*[in]*/);
  HRESULT         __fastcall get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_Weight(float* prop/*[out,retval]*/);
  float           __fastcall get_Weight(void);
  HRESULT         __fastcall set_Weight(float prop/*[in]*/);
  HRESULT         __fastcall get_InsetPen(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_InsetPen(void);
  HRESULT         __fastcall set_InsetPen(Office_xp::MsoTriState prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::ColorFormatPtr BackColor = {read = get_BackColor};
  __property   Office_xp::MsoArrowheadLength BeginArrowheadLength = {read = get_BeginArrowheadLength, write = set_BeginArrowheadLength};
  __property   Office_xp::MsoArrowheadStyle BeginArrowheadStyle = {read = get_BeginArrowheadStyle, write = set_BeginArrowheadStyle};
  __property   Office_xp::MsoArrowheadWidth BeginArrowheadWidth = {read = get_BeginArrowheadWidth, write = set_BeginArrowheadWidth};
  __property   Office_xp::MsoLineDashStyle DashStyle = {read = get_DashStyle, write = set_DashStyle};
  __property   Office_xp::MsoArrowheadLength EndArrowheadLength = {read = get_EndArrowheadLength, write = set_EndArrowheadLength};
  __property   Office_xp::MsoArrowheadStyle EndArrowheadStyle = {read = get_EndArrowheadStyle, write = set_EndArrowheadStyle};
  __property   Office_xp::MsoArrowheadWidth EndArrowheadWidth = {read = get_EndArrowheadWidth, write = set_EndArrowheadWidth};
  __property   Word_xp::ColorFormatPtr ForeColor = {read = get_ForeColor};
  __property   Office_xp::MsoPatternType Pattern = {read = get_Pattern, write = set_Pattern};
  __property   Office_xp::MsoLineStyle Style = {read = get_Style, write = set_Style};
  __property   float           Transparency = {read = get_Transparency, write = set_Transparency};
  __property   Office_xp::MsoTriState Visible = {read = get_Visible, write = set_Visible};
  __property   float           Weight = {read = get_Weight, write = set_Weight};
  __property   Office_xp::MsoTriState InsetPen = {read = get_InsetPen, write = set_InsetPen};
};
typedef LineFormatDispT<LineFormat> LineFormatDisp;

typedef TComInterface<PictureFormat>  TCOMPictureFormat;

// *********************************************************************//
// DispIntf:  PictureFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CB-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class PictureFormatDispT : public TAutoDriver<PictureFormat>
{
public:
  PictureFormatDispT(){}

  PictureFormatDispT(PictureFormat *pintf)
  {
    TAutoDriver<PictureFormat>::Bind(pintf, false);
  }

  PictureFormatDispT(PictureFormatPtr pintf)
  {
    TAutoDriver<PictureFormat>::Bind(pintf, true);
  }

  PictureFormatDispT& operator=(PictureFormat *pintf)
  {
    TAutoDriver<PictureFormat>::Bind(pintf, false);
    return *this;
  }

  PictureFormatDispT& operator=(PictureFormatPtr pintf)
  {
    TAutoDriver<PictureFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Brightness(float* prop/*[out,retval]*/);
  float           __fastcall get_Brightness(void);
  HRESULT         __fastcall set_Brightness(float prop/*[in]*/);
  HRESULT         __fastcall get_ColorType(Office_xp::MsoPictureColorType* prop/*[out,retval]*/);
  Office_xp::MsoPictureColorType __fastcall get_ColorType(void);
  HRESULT         __fastcall set_ColorType(Office_xp::MsoPictureColorType prop/*[in]*/);
  HRESULT         __fastcall get_Contrast(float* prop/*[out,retval]*/);
  float           __fastcall get_Contrast(void);
  HRESULT         __fastcall set_Contrast(float prop/*[in]*/);
  HRESULT         __fastcall get_CropBottom(float* prop/*[out,retval]*/);
  float           __fastcall get_CropBottom(void);
  HRESULT         __fastcall set_CropBottom(float prop/*[in]*/);
  HRESULT         __fastcall get_CropLeft(float* prop/*[out,retval]*/);
  float           __fastcall get_CropLeft(void);
  HRESULT         __fastcall set_CropLeft(float prop/*[in]*/);
  HRESULT         __fastcall get_CropRight(float* prop/*[out,retval]*/);
  float           __fastcall get_CropRight(void);
  HRESULT         __fastcall set_CropRight(float prop/*[in]*/);
  HRESULT         __fastcall get_CropTop(float* prop/*[out,retval]*/);
  float           __fastcall get_CropTop(void);
  HRESULT         __fastcall set_CropTop(float prop/*[in]*/);
  HRESULT         __fastcall get_TransparencyColor(long* prop/*[out,retval]*/);
  long            __fastcall get_TransparencyColor(void);
  HRESULT         __fastcall set_TransparencyColor(long prop/*[in]*/);
  HRESULT         __fastcall get_TransparentBackground(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_TransparentBackground(void);
  HRESULT         __fastcall set_TransparentBackground(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall IncrementBrightness(float Increment/*[in]*/);
  HRESULT         __fastcall IncrementContrast(float Increment/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           Brightness = {read = get_Brightness, write = set_Brightness};
  __property   Office_xp::MsoPictureColorType ColorType = {read = get_ColorType, write = set_ColorType};
  __property   float           Contrast = {read = get_Contrast, write = set_Contrast};
  __property   float           CropBottom = {read = get_CropBottom, write = set_CropBottom};
  __property   float           CropLeft = {read = get_CropLeft, write = set_CropLeft};
  __property   float           CropRight = {read = get_CropRight, write = set_CropRight};
  __property   float           CropTop = {read = get_CropTop, write = set_CropTop};
  __property   long            TransparencyColor = {read = get_TransparencyColor, write = set_TransparencyColor};
  __property   Office_xp::MsoTriState TransparentBackground = {read = get_TransparentBackground, write = set_TransparentBackground};
};
typedef PictureFormatDispT<PictureFormat> PictureFormatDisp;

typedef TComInterface<ShadowFormat>  TCOMShadowFormat;

// *********************************************************************//
// DispIntf:  ShadowFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CC-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ShadowFormatDispT : public TAutoDriver<ShadowFormat>
{
public:
  ShadowFormatDispT(){}

  ShadowFormatDispT(ShadowFormat *pintf)
  {
    TAutoDriver<ShadowFormat>::Bind(pintf, false);
  }

  ShadowFormatDispT(ShadowFormatPtr pintf)
  {
    TAutoDriver<ShadowFormat>::Bind(pintf, true);
  }

  ShadowFormatDispT& operator=(ShadowFormat *pintf)
  {
    TAutoDriver<ShadowFormat>::Bind(pintf, false);
    return *this;
  }

  ShadowFormatDispT& operator=(ShadowFormatPtr pintf)
  {
    TAutoDriver<ShadowFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_ForeColor(Word_xp::ColorFormat** prop/*[out,retval]*/);
  Word_xp::ColorFormatPtr __fastcall get_ForeColor(void);
  HRESULT         __fastcall get_Obscured(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Obscured(void);
  HRESULT         __fastcall set_Obscured(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_OffsetX(float* prop/*[out,retval]*/);
  float           __fastcall get_OffsetX(void);
  HRESULT         __fastcall set_OffsetX(float prop/*[in]*/);
  HRESULT         __fastcall get_OffsetY(float* prop/*[out,retval]*/);
  float           __fastcall get_OffsetY(void);
  HRESULT         __fastcall set_OffsetY(float prop/*[in]*/);
  HRESULT         __fastcall get_Transparency(float* prop/*[out,retval]*/);
  float           __fastcall get_Transparency(void);
  HRESULT         __fastcall set_Transparency(float prop/*[in]*/);
  HRESULT         __fastcall get_Type(Office_xp::MsoShadowType* prop/*[out,retval]*/);
  Office_xp::MsoShadowType __fastcall get_Type(void);
  HRESULT         __fastcall set_Type(Office_xp::MsoShadowType prop/*[in]*/);
  HRESULT         __fastcall get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall IncrementOffsetX(float Increment/*[in]*/);
  HRESULT         __fastcall IncrementOffsetY(float Increment/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::ColorFormatPtr ForeColor = {read = get_ForeColor};
  __property   Office_xp::MsoTriState Obscured = {read = get_Obscured, write = set_Obscured};
  __property   float           OffsetX = {read = get_OffsetX, write = set_OffsetX};
  __property   float           OffsetY = {read = get_OffsetY, write = set_OffsetY};
  __property   float           Transparency = {read = get_Transparency, write = set_Transparency};
  __property   Office_xp::MsoShadowType Type = {read = get_Type, write = set_Type};
  __property   Office_xp::MsoTriState Visible = {read = get_Visible, write = set_Visible};
};
typedef ShadowFormatDispT<ShadowFormat> ShadowFormatDisp;

typedef TComInterface<ShapeNode>  TCOMShapeNode;

// *********************************************************************//
// DispIntf:  ShapeNode
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CD-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ShapeNodeDispT : public TAutoDriver<ShapeNode>
{
public:
  ShapeNodeDispT(){}

  ShapeNodeDispT(ShapeNode *pintf)
  {
    TAutoDriver<ShapeNode>::Bind(pintf, false);
  }

  ShapeNodeDispT(ShapeNodePtr pintf)
  {
    TAutoDriver<ShapeNode>::Bind(pintf, true);
  }

  ShapeNodeDispT& operator=(ShapeNode *pintf)
  {
    TAutoDriver<ShapeNode>::Bind(pintf, false);
    return *this;
  }

  ShapeNodeDispT& operator=(ShapeNodePtr pintf)
  {
    TAutoDriver<ShapeNode>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_EditingType(Office_xp::MsoEditingType* prop/*[out,retval]*/);
  Office_xp::MsoEditingType __fastcall get_EditingType(void);
  HRESULT         __fastcall get_Points(VARIANT* prop/*[out,retval]*/);
  VARIANT         __fastcall get_Points(void);
  HRESULT         __fastcall get_SegmentType(Office_xp::MsoSegmentType* prop/*[out,retval]*/);
  Office_xp::MsoSegmentType __fastcall get_SegmentType(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Office_xp::MsoEditingType EditingType = {read = get_EditingType};
  __property   Office_xp::MsoSegmentType SegmentType = {read = get_SegmentType};
};
typedef ShapeNodeDispT<ShapeNode> ShapeNodeDisp;

typedef TComInterface<ShapeNodes>  TCOMShapeNodes;

// *********************************************************************//
// DispIntf:  ShapeNodes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CE-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ShapeNodesDispT : public TAutoDriver<ShapeNodes>
{
public:
  ShapeNodesDispT(){}

  ShapeNodesDispT(ShapeNodes *pintf)
  {
    TAutoDriver<ShapeNodes>::Bind(pintf, false);
  }

  ShapeNodesDispT(ShapeNodesPtr pintf)
  {
    TAutoDriver<ShapeNodes>::Bind(pintf, true);
  }

  ShapeNodesDispT& operator=(ShapeNodes *pintf)
  {
    TAutoDriver<ShapeNodes>::Bind(pintf, false);
    return *this;
  }

  ShapeNodesDispT& operator=(ShapeNodesPtr pintf)
  {
    TAutoDriver<ShapeNodes>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall Delete(long Index/*[in]*/);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::ShapeNode** prop/*[out,retval]*/);
  Word_xp::ShapeNode* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall SetEditingType(long Index/*[in]*/, 
                                            Office_xp::MsoEditingType EditingType/*[in]*/);
  HRESULT         __fastcall SetPosition(long Index/*[in]*/, float X1/*[in]*/, float Y1/*[in]*/);
  HRESULT         __fastcall SetSegmentType(long Index/*[in]*/, 
                                            Office_xp::MsoSegmentType SegmentType/*[in]*/);
  HRESULT         __fastcall Insert(long Index/*[in]*/, 
                                    Office_xp::MsoSegmentType SegmentType/*[in]*/, 
                                    Office_xp::MsoEditingType EditingType/*[in]*/, float X1/*[in]*/
                                    , float Y1/*[in]*/, float X2/*[in,def,opt]*/, 
                                    float Y2/*[in,def,opt]*/, float X3/*[in,def,opt]*/, 
                                    float Y3/*[in,def,opt]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
};
typedef ShapeNodesDispT<ShapeNodes> ShapeNodesDisp;

typedef TComInterface<TextEffectFormat>  TCOMTextEffectFormat;

// *********************************************************************//
// DispIntf:  TextEffectFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CF-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class TextEffectFormatDispT : public TAutoDriver<TextEffectFormat>
{
public:
  TextEffectFormatDispT(){}

  TextEffectFormatDispT(TextEffectFormat *pintf)
  {
    TAutoDriver<TextEffectFormat>::Bind(pintf, false);
  }

  TextEffectFormatDispT(TextEffectFormatPtr pintf)
  {
    TAutoDriver<TextEffectFormat>::Bind(pintf, true);
  }

  TextEffectFormatDispT& operator=(TextEffectFormat *pintf)
  {
    TAutoDriver<TextEffectFormat>::Bind(pintf, false);
    return *this;
  }

  TextEffectFormatDispT& operator=(TextEffectFormatPtr pintf)
  {
    TAutoDriver<TextEffectFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Alignment(Office_xp::MsoTextEffectAlignment* prop/*[out,retval]*/);
  Office_xp::MsoTextEffectAlignment __fastcall get_Alignment(void);
  HRESULT         __fastcall set_Alignment(Office_xp::MsoTextEffectAlignment prop/*[in]*/);
  HRESULT         __fastcall get_FontBold(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_FontBold(void);
  HRESULT         __fastcall set_FontBold(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_FontItalic(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_FontItalic(void);
  HRESULT         __fastcall set_FontItalic(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_FontName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_FontName(void);
  HRESULT         __fastcall set_FontName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_FontSize(float* prop/*[out,retval]*/);
  float           __fastcall get_FontSize(void);
  HRESULT         __fastcall set_FontSize(float prop/*[in]*/);
  HRESULT         __fastcall get_KernedPairs(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_KernedPairs(void);
  HRESULT         __fastcall set_KernedPairs(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_NormalizedHeight(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_NormalizedHeight(void);
  HRESULT         __fastcall set_NormalizedHeight(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_PresetShape(Office_xp::MsoPresetTextEffectShape* prop/*[out,retval]*/);
  Office_xp::MsoPresetTextEffectShape __fastcall get_PresetShape(void);
  HRESULT         __fastcall set_PresetShape(Office_xp::MsoPresetTextEffectShape prop/*[in]*/);
  HRESULT         __fastcall get_PresetTextEffect(Office_xp::MsoPresetTextEffect* prop/*[out,retval]*/);
  Office_xp::MsoPresetTextEffect __fastcall get_PresetTextEffect(void);
  HRESULT         __fastcall set_PresetTextEffect(Office_xp::MsoPresetTextEffect prop/*[in]*/);
  HRESULT         __fastcall get_RotatedChars(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_RotatedChars(void);
  HRESULT         __fastcall set_RotatedChars(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_Text(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Text(void);
  HRESULT         __fastcall set_Text(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Tracking(float* prop/*[out,retval]*/);
  float           __fastcall get_Tracking(void);
  HRESULT         __fastcall set_Tracking(float prop/*[in]*/);
  HRESULT         __fastcall ToggleVerticalText();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Office_xp::MsoTextEffectAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   Office_xp::MsoTriState FontBold = {read = get_FontBold, write = set_FontBold};
  __property   Office_xp::MsoTriState FontItalic = {read = get_FontItalic, write = set_FontItalic};
  __property   BSTR            FontName = {read = get_FontName, write = set_FontName};
  __property   float           FontSize = {read = get_FontSize, write = set_FontSize};
  __property   Office_xp::MsoTriState KernedPairs = {read = get_KernedPairs, write = set_KernedPairs};
  __property   Office_xp::MsoTriState NormalizedHeight = {read = get_NormalizedHeight, write = set_NormalizedHeight};
  __property   Office_xp::MsoPresetTextEffectShape PresetShape = {read = get_PresetShape, write = set_PresetShape};
  __property   Office_xp::MsoPresetTextEffect PresetTextEffect = {read = get_PresetTextEffect, write = set_PresetTextEffect};
  __property   Office_xp::MsoTriState RotatedChars = {read = get_RotatedChars, write = set_RotatedChars};
  __property   BSTR            Text = {read = get_Text, write = set_Text};
  __property   float           Tracking = {read = get_Tracking, write = set_Tracking};
};
typedef TextEffectFormatDispT<TextEffectFormat> TextEffectFormatDisp;

typedef TComInterface<ThreeDFormat>  TCOMThreeDFormat;

// *********************************************************************//
// DispIntf:  ThreeDFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209D0-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ThreeDFormatDispT : public TAutoDriver<ThreeDFormat>
{
public:
  ThreeDFormatDispT(){}

  ThreeDFormatDispT(ThreeDFormat *pintf)
  {
    TAutoDriver<ThreeDFormat>::Bind(pintf, false);
  }

  ThreeDFormatDispT(ThreeDFormatPtr pintf)
  {
    TAutoDriver<ThreeDFormat>::Bind(pintf, true);
  }

  ThreeDFormatDispT& operator=(ThreeDFormat *pintf)
  {
    TAutoDriver<ThreeDFormat>::Bind(pintf, false);
    return *this;
  }

  ThreeDFormatDispT& operator=(ThreeDFormatPtr pintf)
  {
    TAutoDriver<ThreeDFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Depth(float* prop/*[out,retval]*/);
  float           __fastcall get_Depth(void);
  HRESULT         __fastcall set_Depth(float prop/*[in]*/);
  HRESULT         __fastcall get_ExtrusionColor(Word_xp::ColorFormat** prop/*[out,retval]*/);
  Word_xp::ColorFormatPtr __fastcall get_ExtrusionColor(void);
  HRESULT         __fastcall get_ExtrusionColorType(Office_xp::MsoExtrusionColorType* prop/*[out,retval]*/);
  Office_xp::MsoExtrusionColorType __fastcall get_ExtrusionColorType(void);
  HRESULT         __fastcall set_ExtrusionColorType(Office_xp::MsoExtrusionColorType prop/*[in]*/);
  HRESULT         __fastcall get_Perspective(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Perspective(void);
  HRESULT         __fastcall set_Perspective(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_PresetExtrusionDirection(Office_xp::MsoPresetExtrusionDirection* prop/*[out,retval]*/);
  Office_xp::MsoPresetExtrusionDirection __fastcall get_PresetExtrusionDirection(void);
  HRESULT         __fastcall get_PresetLightingDirection(Office_xp::MsoPresetLightingDirection* prop/*[out,retval]*/);
  Office_xp::MsoPresetLightingDirection __fastcall get_PresetLightingDirection(void);
  HRESULT         __fastcall set_PresetLightingDirection(Office_xp::MsoPresetLightingDirection prop/*[in]*/);
  HRESULT         __fastcall get_PresetLightingSoftness(Office_xp::MsoPresetLightingSoftness* prop/*[out,retval]*/);
  Office_xp::MsoPresetLightingSoftness __fastcall get_PresetLightingSoftness(void);
  HRESULT         __fastcall set_PresetLightingSoftness(Office_xp::MsoPresetLightingSoftness prop/*[in]*/);
  HRESULT         __fastcall get_PresetMaterial(Office_xp::MsoPresetMaterial* prop/*[out,retval]*/);
  Office_xp::MsoPresetMaterial __fastcall get_PresetMaterial(void);
  HRESULT         __fastcall set_PresetMaterial(Office_xp::MsoPresetMaterial prop/*[in]*/);
  HRESULT         __fastcall get_PresetThreeDFormat(Office_xp::MsoPresetThreeDFormat* prop/*[out,retval]*/);
  Office_xp::MsoPresetThreeDFormat __fastcall get_PresetThreeDFormat(void);
  HRESULT         __fastcall get_RotationX(float* prop/*[out,retval]*/);
  float           __fastcall get_RotationX(void);
  HRESULT         __fastcall set_RotationX(float prop/*[in]*/);
  HRESULT         __fastcall get_RotationY(float* prop/*[out,retval]*/);
  float           __fastcall get_RotationY(void);
  HRESULT         __fastcall set_RotationY(float prop/*[in]*/);
  HRESULT         __fastcall get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall IncrementRotationX(float Increment/*[in]*/);
  HRESULT         __fastcall IncrementRotationY(float Increment/*[in]*/);
  HRESULT         __fastcall ResetRotation();
  HRESULT         __fastcall SetExtrusionDirection(Office_xp::MsoPresetExtrusionDirection PresetExtrusionDirection/*[in]*/);
  HRESULT         __fastcall SetThreeDFormat(Office_xp::MsoPresetThreeDFormat PresetThreeDFormat/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           Depth = {read = get_Depth, write = set_Depth};
  __property   Word_xp::ColorFormatPtr ExtrusionColor = {read = get_ExtrusionColor};
  __property   Office_xp::MsoExtrusionColorType ExtrusionColorType = {read = get_ExtrusionColorType, write = set_ExtrusionColorType};
  __property   Office_xp::MsoTriState Perspective = {read = get_Perspective, write = set_Perspective};
  __property   Office_xp::MsoPresetExtrusionDirection PresetExtrusionDirection = {read = get_PresetExtrusionDirection};
  __property   Office_xp::MsoPresetLightingDirection PresetLightingDirection = {read = get_PresetLightingDirection, write = set_PresetLightingDirection};
  __property   Office_xp::MsoPresetLightingSoftness PresetLightingSoftness = {read = get_PresetLightingSoftness, write = set_PresetLightingSoftness};
  __property   Office_xp::MsoPresetMaterial PresetMaterial = {read = get_PresetMaterial, write = set_PresetMaterial};
  __property   Office_xp::MsoPresetThreeDFormat PresetThreeDFormat = {read = get_PresetThreeDFormat};
  __property   float           RotationX = {read = get_RotationX, write = set_RotationX};
  __property   float           RotationY = {read = get_RotationY, write = set_RotationY};
  __property   Office_xp::MsoTriState Visible = {read = get_Visible, write = set_Visible};
};
typedef ThreeDFormatDispT<ThreeDFormat> ThreeDFormatDisp;

// *********************************************************************//
// DispIntf:  ApplicationEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {000209F7-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ApplicationEventsDispT : public TAutoDriver<ApplicationEvents>
{
public:
  ApplicationEventsDispT(){}

  ApplicationEventsDispT(ApplicationEvents *pintf)
  {
    TAutoDriver<ApplicationEvents>::Bind(pintf, false);
  }

  ApplicationEventsDispT(ApplicationEventsPtr pintf)
  {
    TAutoDriver<ApplicationEvents>::Bind(pintf, true);
  }

  ApplicationEventsDispT& operator=(ApplicationEvents *pintf)
  {
    TAutoDriver<ApplicationEvents>::Bind(pintf, false);
    return *this;
  }

  ApplicationEventsDispT& operator=(ApplicationEventsPtr pintf)
  {
    TAutoDriver<ApplicationEvents>::Bind(pintf, true);
    return *this;
  }


};
typedef ApplicationEventsDispT<ApplicationEvents> ApplicationEventsDisp;

// *********************************************************************//
// DispIntf:  ApplicationEvents2
// Flags:     (4112) Hidden Dispatchable
// GUID:      {000209FE-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class ApplicationEvents2DispT : public TAutoDriver<ApplicationEvents2>
{
public:
  ApplicationEvents2DispT(){}

  ApplicationEvents2DispT(ApplicationEvents2 *pintf)
  {
    TAutoDriver<ApplicationEvents2>::Bind(pintf, false);
  }

  ApplicationEvents2DispT(ApplicationEvents2Ptr pintf)
  {
    TAutoDriver<ApplicationEvents2>::Bind(pintf, true);
  }

  ApplicationEvents2DispT& operator=(ApplicationEvents2 *pintf)
  {
    TAutoDriver<ApplicationEvents2>::Bind(pintf, false);
    return *this;
  }

  ApplicationEvents2DispT& operator=(ApplicationEvents2Ptr pintf)
  {
    TAutoDriver<ApplicationEvents2>::Bind(pintf, true);
    return *this;
  }

  void            __fastcall Startup();
  void            __fastcall Quit();
  void            __fastcall DocumentChange();
  void            __fastcall DocumentOpen(Word_xp::WordDocument* Doc/*[in]*/);
  void            __fastcall DocumentBeforeClose(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/);
  void            __fastcall DocumentBeforePrint(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/);
  void            __fastcall DocumentBeforeSave(Word_xp::WordDocument* Doc/*[in]*/, 
                                                VARIANT_BOOL* SaveAsUI/*[in]*/, 
                                                VARIANT_BOOL* Cancel/*[in]*/);
  void            __fastcall NewDocument(Word_xp::WordDocument* Doc/*[in]*/);
  void            __fastcall WindowActivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                            Word_xp::WINDOW* Wn/*[in]*/);
  void            __fastcall WindowDeactivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                              Word_xp::WINDOW* Wn/*[in]*/);
  void            __fastcall WindowSelectionChange(Word_xp::WordSelection* Sel/*[in]*/);
  void            __fastcall WindowBeforeRightClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                    VARIANT_BOOL* Cancel/*[in]*/);
  void            __fastcall WindowBeforeDoubleClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                     VARIANT_BOOL* Cancel/*[in]*/);

};
typedef ApplicationEvents2DispT<ApplicationEvents2> ApplicationEvents2Disp;

// *********************************************************************//
// DispIntf:  DocumentEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {000209F6-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T>
class DocumentEventsDispT : public TAutoDriver<DocumentEvents>
{
public:
  DocumentEventsDispT(){}

  void Attach(LPUNKNOWN punk)
  { m_Dispatch = static_cast<T*>(punk); }

  void            __fastcall New();
  void            __fastcall Open();
  void            __fastcall Close();

};
typedef DocumentEventsDispT<DocumentEvents> DocumentEventsDisp;

// *********************************************************************//
// DispIntf:  OCXEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {000209F3-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T>
class OCXEventsDispT : public TAutoDriver<OCXEvents>
{
public:
  OCXEventsDispT(){}

  void Attach(LPUNKNOWN punk)
  { m_Dispatch = static_cast<T*>(punk); }

  void            __fastcall GotFocus();
  void            __fastcall LostFocus();

};
typedef OCXEventsDispT<OCXEvents> OCXEventsDisp;

typedef TComInterface<IApplicationEvents>  TCOMIApplicationEvents;

// *********************************************************************//
// DispIntf:  IApplicationEvents
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209F7-0001-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class IApplicationEventsDispT : public TAutoDriver<IApplicationEvents>
{
public:
  IApplicationEventsDispT(){}

  IApplicationEventsDispT(IApplicationEvents *pintf)
  {
    TAutoDriver<IApplicationEvents>::Bind(pintf, false);
  }

  IApplicationEventsDispT(IApplicationEventsPtr pintf)
  {
    TAutoDriver<IApplicationEvents>::Bind(pintf, true);
  }

  IApplicationEventsDispT& operator=(IApplicationEvents *pintf)
  {
    TAutoDriver<IApplicationEvents>::Bind(pintf, false);
    return *this;
  }

  IApplicationEventsDispT& operator=(IApplicationEventsPtr pintf)
  {
    TAutoDriver<IApplicationEvents>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Startup();
  HRESULT         __fastcall Quit();
  HRESULT         __fastcall DocumentChange();

};
typedef IApplicationEventsDispT<IApplicationEvents> IApplicationEventsDisp;

typedef TComInterface<IApplicationEvents2>  TCOMIApplicationEvents2;

// *********************************************************************//
// DispIntf:  IApplicationEvents2
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209FE-0001-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class IApplicationEvents2DispT : public TAutoDriver<IApplicationEvents2>
{
public:
  IApplicationEvents2DispT(){}

  IApplicationEvents2DispT(IApplicationEvents2 *pintf)
  {
    TAutoDriver<IApplicationEvents2>::Bind(pintf, false);
  }

  IApplicationEvents2DispT(IApplicationEvents2Ptr pintf)
  {
    TAutoDriver<IApplicationEvents2>::Bind(pintf, true);
  }

  IApplicationEvents2DispT& operator=(IApplicationEvents2 *pintf)
  {
    TAutoDriver<IApplicationEvents2>::Bind(pintf, false);
    return *this;
  }

  IApplicationEvents2DispT& operator=(IApplicationEvents2Ptr pintf)
  {
    TAutoDriver<IApplicationEvents2>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Startup();
  HRESULT         __fastcall Quit();
  HRESULT         __fastcall DocumentChange();
  HRESULT         __fastcall DocumentOpen(Word_xp::WordDocument* Doc/*[in]*/);
  HRESULT         __fastcall DocumentBeforeClose(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/);
  HRESULT         __fastcall DocumentBeforePrint(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/);
  HRESULT         __fastcall DocumentBeforeSave(Word_xp::WordDocument* Doc/*[in]*/, 
                                                VARIANT_BOOL* SaveAsUI/*[in]*/, 
                                                VARIANT_BOOL* Cancel/*[in]*/);
  HRESULT         __fastcall NewDocument(Word_xp::WordDocument* Doc/*[in]*/);
  HRESULT         __fastcall WindowActivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                            Word_xp::WINDOW* Wn/*[in]*/);
  HRESULT         __fastcall WindowDeactivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                              Word_xp::WINDOW* Wn/*[in]*/);
  HRESULT         __fastcall WindowSelectionChange(Word_xp::WordSelection* Sel/*[in]*/);
  HRESULT         __fastcall WindowBeforeRightClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                    VARIANT_BOOL* Cancel/*[in]*/);
  HRESULT         __fastcall WindowBeforeDoubleClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                     VARIANT_BOOL* Cancel/*[in]*/);

};
typedef IApplicationEvents2DispT<IApplicationEvents2> IApplicationEvents2Disp;

// *********************************************************************//
// DispIntf:  ApplicationEvents3
// Flags:     (4112) Hidden Dispatchable
// GUID:      {00020A00-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T>
class ApplicationEvents3DispT : public TAutoDriver<ApplicationEvents3>
{
public:
  ApplicationEvents3DispT(){}

  void Attach(LPUNKNOWN punk)
  { m_Dispatch = static_cast<T*>(punk); }

  void            __fastcall Startup();
  void            __fastcall Quit();
  void            __fastcall DocumentChange();
  void            __fastcall DocumentOpen(Word_xp::WordDocument* Doc/*[in]*/);
  void            __fastcall DocumentBeforeClose(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/);
  void            __fastcall DocumentBeforePrint(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/);
  void            __fastcall DocumentBeforeSave(Word_xp::WordDocument* Doc/*[in]*/, 
                                                VARIANT_BOOL* SaveAsUI/*[in]*/, 
                                                VARIANT_BOOL* Cancel/*[in]*/);
  void            __fastcall NewDocument(Word_xp::WordDocument* Doc/*[in]*/);
  void            __fastcall WindowActivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                            Word_xp::WINDOW* Wn/*[in]*/);
  void            __fastcall WindowDeactivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                              Word_xp::WINDOW* Wn/*[in]*/);
  void            __fastcall WindowSelectionChange(Word_xp::WordSelection* Sel/*[in]*/);
  void            __fastcall WindowBeforeRightClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                    VARIANT_BOOL* Cancel/*[in]*/);
  void            __fastcall WindowBeforeDoubleClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                     VARIANT_BOOL* Cancel/*[in]*/);
  void            __fastcall EPostagePropertyDialog(Word_xp::WordDocument* Doc/*[in]*/);
  void            __fastcall EPostageInsert(Word_xp::WordDocument* Doc/*[in]*/);
  void            __fastcall MailMergeAfterMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 Word_xp::WordDocument* DocResult/*[in]*/);
  void            __fastcall MailMergeAfterRecordMerge(Word_xp::WordDocument* Doc/*[in]*/);
  void            __fastcall MailMergeBeforeMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                  long StartRecord/*[in]*/, long EndRecord/*[in]*/, 
                                                  VARIANT_BOOL* Cancel/*[in]*/);
  void            __fastcall MailMergeBeforeRecordMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                        VARIANT_BOOL* Cancel/*[in]*/);
  void            __fastcall MailMergeDataSourceLoad(Word_xp::WordDocument* Doc/*[in]*/);
  void            __fastcall MailMergeDataSourceValidate(Word_xp::WordDocument* Doc/*[in]*/, 
                                                         VARIANT_BOOL* Handled/*[in]*/);
  void            __fastcall MailMergeWizardSendToCustom(Word_xp::WordDocument* Doc/*[in]*/);
  void            __fastcall MailMergeWizardStateChange(Word_xp::WordDocument* Doc/*[in]*/, 
                                                        int* FromState/*[in]*/, int* ToState/*[in]*/
                                                        , VARIANT_BOOL* Handled/*[in]*/);
  void            __fastcall WindowSize(Word_xp::WordDocument* Doc/*[in]*/, 
                                        Word_xp::WINDOW* Wn/*[in]*/);

};
typedef ApplicationEvents3DispT<ApplicationEvents3> ApplicationEvents3Disp;

typedef TComInterface<EmailAuthor>  TCOMEmailAuthor;

// *********************************************************************//
// DispIntf:  EmailAuthor
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209D7-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class EmailAuthorDispT : public TAutoDriver<EmailAuthor>
{
public:
  EmailAuthorDispT(){}

  EmailAuthorDispT(EmailAuthor *pintf)
  {
    TAutoDriver<EmailAuthor>::Bind(pintf, false);
  }

  EmailAuthorDispT(EmailAuthorPtr pintf)
  {
    TAutoDriver<EmailAuthor>::Bind(pintf, true);
  }

  EmailAuthorDispT& operator=(EmailAuthor *pintf)
  {
    TAutoDriver<EmailAuthor>::Bind(pintf, false);
    return *this;
  }

  EmailAuthorDispT& operator=(EmailAuthorPtr pintf)
  {
    TAutoDriver<EmailAuthor>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Style(Word_xp::Style** prop/*[out,retval]*/);
  Word_xp::StylePtr __fastcall get_Style(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::StylePtr Style = {read = get_Style};
};
typedef EmailAuthorDispT<EmailAuthor> EmailAuthorDisp;

typedef TComInterface<EmailOptions>  TCOMEmailOptions;

// *********************************************************************//
// DispIntf:  EmailOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DB-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class EmailOptionsDispT : public TAutoDriver<EmailOptions>
{
public:
  EmailOptionsDispT(){}

  EmailOptionsDispT(EmailOptions *pintf)
  {
    TAutoDriver<EmailOptions>::Bind(pintf, false);
  }

  EmailOptionsDispT(EmailOptionsPtr pintf)
  {
    TAutoDriver<EmailOptions>::Bind(pintf, true);
  }

  EmailOptionsDispT& operator=(EmailOptions *pintf)
  {
    TAutoDriver<EmailOptions>::Bind(pintf, false);
    return *this;
  }

  EmailOptionsDispT& operator=(EmailOptionsPtr pintf)
  {
    TAutoDriver<EmailOptions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_UseThemeStyle(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseThemeStyle(void);
  HRESULT         __fastcall set_UseThemeStyle(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_MarkCommentsWith(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_MarkCommentsWith(void);
  HRESULT         __fastcall set_MarkCommentsWith(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_MarkComments(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_MarkComments(void);
  HRESULT         __fastcall set_MarkComments(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_EmailSignature(Word_xp::EmailSignature** prop/*[out,retval]*/);
  Word_xp::EmailSignaturePtr __fastcall get_EmailSignature(void);
  HRESULT         __fastcall get_ComposeStyle(Word_xp::Style** prop/*[out,retval]*/);
  Word_xp::StylePtr __fastcall get_ComposeStyle(void);
  HRESULT         __fastcall get_ReplyStyle(Word_xp::Style** prop/*[out,retval]*/);
  Word_xp::StylePtr __fastcall get_ReplyStyle(void);
  HRESULT         __fastcall get_ThemeName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ThemeName(void);
  HRESULT         __fastcall set_ThemeName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Dummy1(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Dummy1(void);
  HRESULT         __fastcall get_Dummy2(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Dummy2(void);
  HRESULT         __fastcall Dummy3();
  HRESULT         __fastcall get_NewColorOnReply(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_NewColorOnReply(void);
  HRESULT         __fastcall set_NewColorOnReply(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_PlainTextStyle(Word_xp::Style** prop/*[out,retval]*/);
  Word_xp::StylePtr __fastcall get_PlainTextStyle(void);
  HRESULT         __fastcall get_UseThemeStyleOnReply(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseThemeStyleOnReply(void);
  HRESULT         __fastcall set_UseThemeStyleOnReply(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyHeadings(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyHeadings(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyHeadings(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyBorders(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyBorders(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyBorders(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyBulletedLists(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyBulletedLists(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyBulletedLists(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyNumberedLists(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyNumberedLists(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyNumberedLists(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplaceQuotes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplaceQuotes(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplaceQuotes(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplaceSymbols(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplaceSymbols(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplaceSymbols(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplaceOrdinals(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplaceOrdinals(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplaceOrdinals(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplaceFractions(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplaceFractions(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplaceFractions(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplacePlainTextEmphasis(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplacePlainTextEmphasis(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplacePlainTextEmphasis(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeFormatListItemBeginning(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeFormatListItemBeginning(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeFormatListItemBeginning(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeDefineStyles(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeDefineStyles(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeDefineStyles(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplaceHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplaceHyperlinks(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplaceHyperlinks(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyTables(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyTables(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyTables(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyFirstIndents(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyFirstIndents(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyFirstIndents(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyDates(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyDates(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyDates(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeApplyClosings(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeApplyClosings(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeApplyClosings(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeMatchParentheses(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeMatchParentheses(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeMatchParentheses(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeReplaceFarEastDashes(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeReplaceFarEastDashes(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeReplaceFarEastDashes(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeDeleteAutoSpaces(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeDeleteAutoSpaces(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeDeleteAutoSpaces(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeInsertClosings(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeInsertClosings(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeInsertClosings(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeAutoLetterWizard(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeAutoLetterWizard(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeAutoLetterWizard(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormatAsYouTypeInsertOvers(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AutoFormatAsYouTypeInsertOvers(void);
  HRESULT         __fastcall set_AutoFormatAsYouTypeInsertOvers(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RelyOnCSS(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RelyOnCSS(void);
  HRESULT         __fastcall set_RelyOnCSS(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_HTMLFidelity(Word_xp::WdEmailHTMLFidelity* prop/*[out,retval]*/);
  Word_xp::WdEmailHTMLFidelity __fastcall get_HTMLFidelity(void);
  HRESULT         __fastcall set_HTMLFidelity(Word_xp::WdEmailHTMLFidelity prop/*[in]*/);
  HRESULT         __fastcall get_EmbedSmartTag(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_EmbedSmartTag(void);
  HRESULT         __fastcall set_EmbedSmartTag(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_TabIndentKey(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_TabIndentKey(void);
  HRESULT         __fastcall set_TabIndentKey(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    UseThemeStyle = {read = get_UseThemeStyle, write = set_UseThemeStyle};
  __property   BSTR            MarkCommentsWith = {read = get_MarkCommentsWith, write = set_MarkCommentsWith};
  __property   VARIANT_BOOL    MarkComments = {read = get_MarkComments, write = set_MarkComments};
  __property   Word_xp::EmailSignaturePtr EmailSignature = {read = get_EmailSignature};
  __property   Word_xp::StylePtr ComposeStyle = {read = get_ComposeStyle};
  __property   Word_xp::StylePtr ReplyStyle = {read = get_ReplyStyle};
  __property   BSTR            ThemeName = {read = get_ThemeName, write = set_ThemeName};
  __property   VARIANT_BOOL    Dummy1 = {read = get_Dummy1};
  __property   VARIANT_BOOL    Dummy2 = {read = get_Dummy2};
  __property   VARIANT_BOOL    NewColorOnReply = {read = get_NewColorOnReply, write = set_NewColorOnReply};
  __property   Word_xp::StylePtr PlainTextStyle = {read = get_PlainTextStyle};
  __property   VARIANT_BOOL    UseThemeStyleOnReply = {read = get_UseThemeStyleOnReply, write = set_UseThemeStyleOnReply};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyHeadings = {read = get_AutoFormatAsYouTypeApplyHeadings, write = set_AutoFormatAsYouTypeApplyHeadings};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyBorders = {read = get_AutoFormatAsYouTypeApplyBorders, write = set_AutoFormatAsYouTypeApplyBorders};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyBulletedLists = {read = get_AutoFormatAsYouTypeApplyBulletedLists, write = set_AutoFormatAsYouTypeApplyBulletedLists};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyNumberedLists = {read = get_AutoFormatAsYouTypeApplyNumberedLists, write = set_AutoFormatAsYouTypeApplyNumberedLists};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceQuotes = {read = get_AutoFormatAsYouTypeReplaceQuotes, write = set_AutoFormatAsYouTypeReplaceQuotes};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceSymbols = {read = get_AutoFormatAsYouTypeReplaceSymbols, write = set_AutoFormatAsYouTypeReplaceSymbols};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceOrdinals = {read = get_AutoFormatAsYouTypeReplaceOrdinals, write = set_AutoFormatAsYouTypeReplaceOrdinals};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceFractions = {read = get_AutoFormatAsYouTypeReplaceFractions, write = set_AutoFormatAsYouTypeReplaceFractions};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplacePlainTextEmphasis = {read = get_AutoFormatAsYouTypeReplacePlainTextEmphasis, write = set_AutoFormatAsYouTypeReplacePlainTextEmphasis};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeFormatListItemBeginning = {read = get_AutoFormatAsYouTypeFormatListItemBeginning, write = set_AutoFormatAsYouTypeFormatListItemBeginning};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeDefineStyles = {read = get_AutoFormatAsYouTypeDefineStyles, write = set_AutoFormatAsYouTypeDefineStyles};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceHyperlinks = {read = get_AutoFormatAsYouTypeReplaceHyperlinks, write = set_AutoFormatAsYouTypeReplaceHyperlinks};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyTables = {read = get_AutoFormatAsYouTypeApplyTables, write = set_AutoFormatAsYouTypeApplyTables};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyFirstIndents = {read = get_AutoFormatAsYouTypeApplyFirstIndents, write = set_AutoFormatAsYouTypeApplyFirstIndents};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyDates = {read = get_AutoFormatAsYouTypeApplyDates, write = set_AutoFormatAsYouTypeApplyDates};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeApplyClosings = {read = get_AutoFormatAsYouTypeApplyClosings, write = set_AutoFormatAsYouTypeApplyClosings};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeMatchParentheses = {read = get_AutoFormatAsYouTypeMatchParentheses, write = set_AutoFormatAsYouTypeMatchParentheses};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeReplaceFarEastDashes = {read = get_AutoFormatAsYouTypeReplaceFarEastDashes, write = set_AutoFormatAsYouTypeReplaceFarEastDashes};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeDeleteAutoSpaces = {read = get_AutoFormatAsYouTypeDeleteAutoSpaces, write = set_AutoFormatAsYouTypeDeleteAutoSpaces};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeInsertClosings = {read = get_AutoFormatAsYouTypeInsertClosings, write = set_AutoFormatAsYouTypeInsertClosings};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeAutoLetterWizard = {read = get_AutoFormatAsYouTypeAutoLetterWizard, write = set_AutoFormatAsYouTypeAutoLetterWizard};
  __property   VARIANT_BOOL    AutoFormatAsYouTypeInsertOvers = {read = get_AutoFormatAsYouTypeInsertOvers, write = set_AutoFormatAsYouTypeInsertOvers};
  __property   VARIANT_BOOL    RelyOnCSS = {read = get_RelyOnCSS, write = set_RelyOnCSS};
  __property   Word_xp::WdEmailHTMLFidelity HTMLFidelity = {read = get_HTMLFidelity, write = set_HTMLFidelity};
  __property   VARIANT_BOOL    EmbedSmartTag = {read = get_EmbedSmartTag, write = set_EmbedSmartTag};
  __property   VARIANT_BOOL    TabIndentKey = {read = get_TabIndentKey, write = set_TabIndentKey};
};
typedef EmailOptionsDispT<EmailOptions> EmailOptionsDisp;

typedef TComInterface<EmailSignature>  TCOMEmailSignature;

// *********************************************************************//
// DispIntf:  EmailSignature
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DC-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class EmailSignatureDispT : public TAutoDriver<EmailSignature>
{
public:
  EmailSignatureDispT(){}

  EmailSignatureDispT(EmailSignature *pintf)
  {
    TAutoDriver<EmailSignature>::Bind(pintf, false);
  }

  EmailSignatureDispT(EmailSignaturePtr pintf)
  {
    TAutoDriver<EmailSignature>::Bind(pintf, true);
  }

  EmailSignatureDispT& operator=(EmailSignature *pintf)
  {
    TAutoDriver<EmailSignature>::Bind(pintf, false);
    return *this;
  }

  EmailSignatureDispT& operator=(EmailSignaturePtr pintf)
  {
    TAutoDriver<EmailSignature>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_NewMessageSignature(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_NewMessageSignature(void);
  HRESULT         __fastcall set_NewMessageSignature(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_ReplyMessageSignature(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_ReplyMessageSignature(void);
  HRESULT         __fastcall set_ReplyMessageSignature(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_EmailSignatureEntries(Word_xp::EmailSignatureEntries** prop/*[out,retval]*/);
  Word_xp::EmailSignatureEntriesPtr __fastcall get_EmailSignatureEntries(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            NewMessageSignature = {read = get_NewMessageSignature, write = set_NewMessageSignature};
  __property   BSTR            ReplyMessageSignature = {read = get_ReplyMessageSignature, write = set_ReplyMessageSignature};
  __property   Word_xp::EmailSignatureEntriesPtr EmailSignatureEntries = {read = get_EmailSignatureEntries};
};
typedef EmailSignatureDispT<EmailSignature> EmailSignatureDisp;

typedef TComInterface<Email>  TCOMEmail;

// *********************************************************************//
// DispIntf:  Email
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DD-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class EmailDispT : public TAutoDriver<Email>
{
public:
  EmailDispT(){}

  EmailDispT(Email *pintf)
  {
    TAutoDriver<Email>::Bind(pintf, false);
  }

  EmailDispT(EmailPtr pintf)
  {
    TAutoDriver<Email>::Bind(pintf, true);
  }

  EmailDispT& operator=(Email *pintf)
  {
    TAutoDriver<Email>::Bind(pintf, false);
    return *this;
  }

  EmailDispT& operator=(EmailPtr pintf)
  {
    TAutoDriver<Email>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_CurrentEmailAuthor(Word_xp::EmailAuthor** prop/*[out,retval]*/);
  Word_xp::EmailAuthorPtr __fastcall get_CurrentEmailAuthor(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::EmailAuthorPtr CurrentEmailAuthor = {read = get_CurrentEmailAuthor};
};
typedef EmailDispT<Email> EmailDisp;

typedef TComInterface<HorizontalLineFormat>  TCOMHorizontalLineFormat;

// *********************************************************************//
// DispIntf:  HorizontalLineFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DE-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class HorizontalLineFormatDispT : public TAutoDriver<HorizontalLineFormat>
{
public:
  HorizontalLineFormatDispT(){}

  HorizontalLineFormatDispT(HorizontalLineFormat *pintf)
  {
    TAutoDriver<HorizontalLineFormat>::Bind(pintf, false);
  }

  HorizontalLineFormatDispT(HorizontalLineFormatPtr pintf)
  {
    TAutoDriver<HorizontalLineFormat>::Bind(pintf, true);
  }

  HorizontalLineFormatDispT& operator=(HorizontalLineFormat *pintf)
  {
    TAutoDriver<HorizontalLineFormat>::Bind(pintf, false);
    return *this;
  }

  HorizontalLineFormatDispT& operator=(HorizontalLineFormatPtr pintf)
  {
    TAutoDriver<HorizontalLineFormat>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_PercentWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_PercentWidth(void);
  HRESULT         __fastcall set_PercentWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_NoShade(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_NoShade(void);
  HRESULT         __fastcall set_NoShade(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Alignment(Word_xp::WdHorizontalLineAlignment* prop/*[out,retval]*/);
  Word_xp::WdHorizontalLineAlignment __fastcall get_Alignment(void);
  HRESULT         __fastcall set_Alignment(Word_xp::WdHorizontalLineAlignment prop/*[in]*/);
  HRESULT         __fastcall get_WidthType(Word_xp::WdHorizontalLineWidthType* prop/*[out,retval]*/);
  Word_xp::WdHorizontalLineWidthType __fastcall get_WidthType(void);
  HRESULT         __fastcall set_WidthType(Word_xp::WdHorizontalLineWidthType prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   float           PercentWidth = {read = get_PercentWidth, write = set_PercentWidth};
  __property   VARIANT_BOOL    NoShade = {read = get_NoShade, write = set_NoShade};
  __property   Word_xp::WdHorizontalLineAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   Word_xp::WdHorizontalLineWidthType WidthType = {read = get_WidthType, write = set_WidthType};
};
typedef HorizontalLineFormatDispT<HorizontalLineFormat> HorizontalLineFormatDisp;

typedef TComInterface<Frameset>  TCOMFrameset;

// *********************************************************************//
// DispIntf:  Frameset
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E2-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class FramesetDispT : public TAutoDriver<Frameset>
{
public:
  FramesetDispT(){}

  FramesetDispT(Frameset *pintf)
  {
    TAutoDriver<Frameset>::Bind(pintf, false);
  }

  FramesetDispT(FramesetPtr pintf)
  {
    TAutoDriver<Frameset>::Bind(pintf, true);
  }

  FramesetDispT& operator=(Frameset *pintf)
  {
    TAutoDriver<Frameset>::Bind(pintf, false);
    return *this;
  }

  FramesetDispT& operator=(FramesetPtr pintf)
  {
    TAutoDriver<Frameset>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_ParentFrameset(Word_xp::Frameset** prop/*[out,retval]*/);
  Word_xp::FramesetPtr __fastcall get_ParentFrameset(void);
  HRESULT         __fastcall get_Type(Word_xp::WdFramesetType* prop/*[out,retval]*/);
  Word_xp::WdFramesetType __fastcall get_Type(void);
  HRESULT         __fastcall get_WidthType(Word_xp::WdFramesetSizeType* prop/*[out,retval]*/);
  Word_xp::WdFramesetSizeType __fastcall get_WidthType(void);
  HRESULT         __fastcall set_WidthType(Word_xp::WdFramesetSizeType prop/*[in]*/);
  HRESULT         __fastcall get_HeightType(Word_xp::WdFramesetSizeType* prop/*[out,retval]*/);
  Word_xp::WdFramesetSizeType __fastcall get_HeightType(void);
  HRESULT         __fastcall set_HeightType(Word_xp::WdFramesetSizeType prop/*[in]*/);
  HRESULT         __fastcall get_Width(long* prop/*[out,retval]*/);
  long            __fastcall get_Width(void);
  HRESULT         __fastcall set_Width(long prop/*[in]*/);
  HRESULT         __fastcall get_Height(long* prop/*[out,retval]*/);
  long            __fastcall get_Height(void);
  HRESULT         __fastcall set_Height(long prop/*[in]*/);
  HRESULT         __fastcall get_ChildFramesetCount(long* prop/*[out,retval]*/);
  long            __fastcall get_ChildFramesetCount(void);
  HRESULT         __fastcall get_ChildFramesetItem(long Index/*[in]*/, 
                                                   Word_xp::Frameset** prop/*[out,retval]*/);
  Word_xp::Frameset* __fastcall get_ChildFramesetItem(long Index/*[in]*/);
  HRESULT         __fastcall get_FramesetBorderWidth(float* prop/*[out,retval]*/);
  float           __fastcall get_FramesetBorderWidth(void);
  HRESULT         __fastcall set_FramesetBorderWidth(float prop/*[in]*/);
  HRESULT         __fastcall get_FramesetBorderColor(Word_xp::WdColor* prop/*[out,retval]*/);
  Word_xp::WdColor __fastcall get_FramesetBorderColor(void);
  HRESULT         __fastcall set_FramesetBorderColor(Word_xp::WdColor prop/*[in]*/);
  HRESULT         __fastcall get_FrameScrollbarType(Word_xp::WdScrollbarType* prop/*[out,retval]*/);
  Word_xp::WdScrollbarType __fastcall get_FrameScrollbarType(void);
  HRESULT         __fastcall set_FrameScrollbarType(Word_xp::WdScrollbarType prop/*[in]*/);
  HRESULT         __fastcall get_FrameResizable(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FrameResizable(void);
  HRESULT         __fastcall set_FrameResizable(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FrameName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_FrameName(void);
  HRESULT         __fastcall set_FrameName(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_FrameDisplayBorders(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FrameDisplayBorders(void);
  HRESULT         __fastcall set_FrameDisplayBorders(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_FrameDefaultURL(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_FrameDefaultURL(void);
  HRESULT         __fastcall set_FrameDefaultURL(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_FrameLinkToFile(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_FrameLinkToFile(void);
  HRESULT         __fastcall set_FrameLinkToFile(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall AddNewFrame(Word_xp::WdFramesetNewFrameLocation Where/*[in]*/, 
                                         Word_xp::Frameset** prop/*[out,retval]*/);
  Word_xp::Frameset* __fastcall AddNewFrame(Word_xp::WdFramesetNewFrameLocation Where/*[in]*/);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   Word_xp::FramesetPtr ParentFrameset = {read = get_ParentFrameset};
  __property   Word_xp::WdFramesetType Type = {read = get_Type};
  __property   Word_xp::WdFramesetSizeType WidthType = {read = get_WidthType, write = set_WidthType};
  __property   Word_xp::WdFramesetSizeType HeightType = {read = get_HeightType, write = set_HeightType};
  __property   long            Width = {read = get_Width, write = set_Width};
  __property   long            Height = {read = get_Height, write = set_Height};
  __property   long            ChildFramesetCount = {read = get_ChildFramesetCount};
  __property   float           FramesetBorderWidth = {read = get_FramesetBorderWidth, write = set_FramesetBorderWidth};
  __property   Word_xp::WdColor FramesetBorderColor = {read = get_FramesetBorderColor, write = set_FramesetBorderColor};
  __property   Word_xp::WdScrollbarType FrameScrollbarType = {read = get_FrameScrollbarType, write = set_FrameScrollbarType};
  __property   VARIANT_BOOL    FrameResizable = {read = get_FrameResizable, write = set_FrameResizable};
  __property   BSTR            FrameName = {read = get_FrameName, write = set_FrameName};
  __property   VARIANT_BOOL    FrameDisplayBorders = {read = get_FrameDisplayBorders, write = set_FrameDisplayBorders};
  __property   BSTR            FrameDefaultURL = {read = get_FrameDefaultURL, write = set_FrameDefaultURL};
  __property   VARIANT_BOOL    FrameLinkToFile = {read = get_FrameLinkToFile, write = set_FrameLinkToFile};
};
typedef FramesetDispT<Frameset> FramesetDisp;

typedef TComInterface<DefaultWebOptions>  TCOMDefaultWebOptions;

// *********************************************************************//
// DispIntf:  DefaultWebOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E3-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class DefaultWebOptionsDispT : public TAutoDriver<DefaultWebOptions>
{
public:
  DefaultWebOptionsDispT(){}

  DefaultWebOptionsDispT(DefaultWebOptions *pintf)
  {
    TAutoDriver<DefaultWebOptions>::Bind(pintf, false);
  }

  DefaultWebOptionsDispT(DefaultWebOptionsPtr pintf)
  {
    TAutoDriver<DefaultWebOptions>::Bind(pintf, true);
  }

  DefaultWebOptionsDispT& operator=(DefaultWebOptions *pintf)
  {
    TAutoDriver<DefaultWebOptions>::Bind(pintf, false);
    return *this;
  }

  DefaultWebOptionsDispT& operator=(DefaultWebOptionsPtr pintf)
  {
    TAutoDriver<DefaultWebOptions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_OptimizeForBrowser(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_OptimizeForBrowser(void);
  HRESULT         __fastcall set_OptimizeForBrowser(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_BrowserLevel(Word_xp::WdBrowserLevel* prop/*[out,retval]*/);
  Word_xp::WdBrowserLevel __fastcall get_BrowserLevel(void);
  HRESULT         __fastcall set_BrowserLevel(Word_xp::WdBrowserLevel prop/*[in]*/);
  HRESULT         __fastcall get_RelyOnCSS(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RelyOnCSS(void);
  HRESULT         __fastcall set_RelyOnCSS(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_OrganizeInFolder(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_OrganizeInFolder(void);
  HRESULT         __fastcall set_OrganizeInFolder(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_UpdateLinksOnSave(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UpdateLinksOnSave(void);
  HRESULT         __fastcall set_UpdateLinksOnSave(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_UseLongFileNames(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseLongFileNames(void);
  HRESULT         __fastcall set_UseLongFileNames(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CheckIfOfficeIsHTMLEditor(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CheckIfOfficeIsHTMLEditor(void);
  HRESULT         __fastcall set_CheckIfOfficeIsHTMLEditor(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_CheckIfWordIsDefaultHTMLEditor(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_CheckIfWordIsDefaultHTMLEditor(void);
  HRESULT         __fastcall set_CheckIfWordIsDefaultHTMLEditor(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RelyOnVML(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RelyOnVML(void);
  HRESULT         __fastcall set_RelyOnVML(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AllowPNG(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AllowPNG(void);
  HRESULT         __fastcall set_AllowPNG(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ScreenSize(Office_xp::MsoScreenSize* prop/*[out,retval]*/);
  Office_xp::MsoScreenSize __fastcall get_ScreenSize(void);
  HRESULT         __fastcall set_ScreenSize(Office_xp::MsoScreenSize prop/*[in]*/);
  HRESULT         __fastcall get_PixelsPerInch(long* prop/*[out,retval]*/);
  long            __fastcall get_PixelsPerInch(void);
  HRESULT         __fastcall set_PixelsPerInch(long prop/*[in]*/);
  HRESULT         __fastcall get_Encoding(Office_xp::MsoEncoding* prop/*[out,retval]*/);
  Office_xp::MsoEncoding __fastcall get_Encoding(void);
  HRESULT         __fastcall set_Encoding(Office_xp::MsoEncoding prop/*[in]*/);
  HRESULT         __fastcall get_AlwaysSaveInDefaultEncoding(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AlwaysSaveInDefaultEncoding(void);
  HRESULT         __fastcall set_AlwaysSaveInDefaultEncoding(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Fonts(Office_xp::WebPageFonts** prop/*[out,retval]*/);
  Office_xp::WebPageFontsPtr __fastcall get_Fonts(void);
  HRESULT         __fastcall get_FolderSuffix(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_FolderSuffix(void);
  HRESULT         __fastcall get_TargetBrowser(Office_xp::MsoTargetBrowser* prop/*[out,retval]*/);
  Office_xp::MsoTargetBrowser __fastcall get_TargetBrowser(void);
  HRESULT         __fastcall set_TargetBrowser(Office_xp::MsoTargetBrowser prop/*[in]*/);
  HRESULT         __fastcall get_SaveNewWebPagesAsWebArchives(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_SaveNewWebPagesAsWebArchives(void);
  HRESULT         __fastcall set_SaveNewWebPagesAsWebArchives(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    OptimizeForBrowser = {read = get_OptimizeForBrowser, write = set_OptimizeForBrowser};
  __property   Word_xp::WdBrowserLevel BrowserLevel = {read = get_BrowserLevel, write = set_BrowserLevel};
  __property   VARIANT_BOOL    RelyOnCSS = {read = get_RelyOnCSS, write = set_RelyOnCSS};
  __property   VARIANT_BOOL    OrganizeInFolder = {read = get_OrganizeInFolder, write = set_OrganizeInFolder};
  __property   VARIANT_BOOL    UpdateLinksOnSave = {read = get_UpdateLinksOnSave, write = set_UpdateLinksOnSave};
  __property   VARIANT_BOOL    UseLongFileNames = {read = get_UseLongFileNames, write = set_UseLongFileNames};
  __property   VARIANT_BOOL    CheckIfOfficeIsHTMLEditor = {read = get_CheckIfOfficeIsHTMLEditor, write = set_CheckIfOfficeIsHTMLEditor};
  __property   VARIANT_BOOL    CheckIfWordIsDefaultHTMLEditor = {read = get_CheckIfWordIsDefaultHTMLEditor, write = set_CheckIfWordIsDefaultHTMLEditor};
  __property   VARIANT_BOOL    RelyOnVML = {read = get_RelyOnVML, write = set_RelyOnVML};
  __property   VARIANT_BOOL    AllowPNG = {read = get_AllowPNG, write = set_AllowPNG};
  __property   Office_xp::MsoScreenSize ScreenSize = {read = get_ScreenSize, write = set_ScreenSize};
  __property   long            PixelsPerInch = {read = get_PixelsPerInch, write = set_PixelsPerInch};
  __property   Office_xp::MsoEncoding Encoding = {read = get_Encoding, write = set_Encoding};
  __property   VARIANT_BOOL    AlwaysSaveInDefaultEncoding = {read = get_AlwaysSaveInDefaultEncoding, write = set_AlwaysSaveInDefaultEncoding};
  __property   Office_xp::WebPageFontsPtr Fonts = {read = get_Fonts};
  __property   BSTR            FolderSuffix = {read = get_FolderSuffix};
  __property   Office_xp::MsoTargetBrowser TargetBrowser = {read = get_TargetBrowser, write = set_TargetBrowser};
  __property   VARIANT_BOOL    SaveNewWebPagesAsWebArchives = {read = get_SaveNewWebPagesAsWebArchives, write = set_SaveNewWebPagesAsWebArchives};
};
typedef DefaultWebOptionsDispT<DefaultWebOptions> DefaultWebOptionsDisp;

typedef TComInterface<WebOptions>  TCOMWebOptions;

// *********************************************************************//
// DispIntf:  WebOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E4-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class WebOptionsDispT : public TAutoDriver<WebOptions>
{
public:
  WebOptionsDispT(){}

  WebOptionsDispT(WebOptions *pintf)
  {
    TAutoDriver<WebOptions>::Bind(pintf, false);
  }

  WebOptionsDispT(WebOptionsPtr pintf)
  {
    TAutoDriver<WebOptions>::Bind(pintf, true);
  }

  WebOptionsDispT& operator=(WebOptions *pintf)
  {
    TAutoDriver<WebOptions>::Bind(pintf, false);
    return *this;
  }

  WebOptionsDispT& operator=(WebOptionsPtr pintf)
  {
    TAutoDriver<WebOptions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_OptimizeForBrowser(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_OptimizeForBrowser(void);
  HRESULT         __fastcall set_OptimizeForBrowser(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_BrowserLevel(Word_xp::WdBrowserLevel* prop/*[out,retval]*/);
  Word_xp::WdBrowserLevel __fastcall get_BrowserLevel(void);
  HRESULT         __fastcall set_BrowserLevel(Word_xp::WdBrowserLevel prop/*[in]*/);
  HRESULT         __fastcall get_RelyOnCSS(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RelyOnCSS(void);
  HRESULT         __fastcall set_RelyOnCSS(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_OrganizeInFolder(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_OrganizeInFolder(void);
  HRESULT         __fastcall set_OrganizeInFolder(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_UseLongFileNames(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_UseLongFileNames(void);
  HRESULT         __fastcall set_UseLongFileNames(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_RelyOnVML(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_RelyOnVML(void);
  HRESULT         __fastcall set_RelyOnVML(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_AllowPNG(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AllowPNG(void);
  HRESULT         __fastcall set_AllowPNG(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_ScreenSize(Office_xp::MsoScreenSize* prop/*[out,retval]*/);
  Office_xp::MsoScreenSize __fastcall get_ScreenSize(void);
  HRESULT         __fastcall set_ScreenSize(Office_xp::MsoScreenSize prop/*[in]*/);
  HRESULT         __fastcall get_PixelsPerInch(long* prop/*[out,retval]*/);
  long            __fastcall get_PixelsPerInch(void);
  HRESULT         __fastcall set_PixelsPerInch(long prop/*[in]*/);
  HRESULT         __fastcall get_Encoding(Office_xp::MsoEncoding* prop/*[out,retval]*/);
  Office_xp::MsoEncoding __fastcall get_Encoding(void);
  HRESULT         __fastcall set_Encoding(Office_xp::MsoEncoding prop/*[in]*/);
  HRESULT         __fastcall get_FolderSuffix(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_FolderSuffix(void);
  HRESULT         __fastcall UseDefaultFolderSuffix();
  HRESULT         __fastcall get_TargetBrowser(Office_xp::MsoTargetBrowser* prop/*[out,retval]*/);
  Office_xp::MsoTargetBrowser __fastcall get_TargetBrowser(void);
  HRESULT         __fastcall set_TargetBrowser(Office_xp::MsoTargetBrowser prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    OptimizeForBrowser = {read = get_OptimizeForBrowser, write = set_OptimizeForBrowser};
  __property   Word_xp::WdBrowserLevel BrowserLevel = {read = get_BrowserLevel, write = set_BrowserLevel};
  __property   VARIANT_BOOL    RelyOnCSS = {read = get_RelyOnCSS, write = set_RelyOnCSS};
  __property   VARIANT_BOOL    OrganizeInFolder = {read = get_OrganizeInFolder, write = set_OrganizeInFolder};
  __property   VARIANT_BOOL    UseLongFileNames = {read = get_UseLongFileNames, write = set_UseLongFileNames};
  __property   VARIANT_BOOL    RelyOnVML = {read = get_RelyOnVML, write = set_RelyOnVML};
  __property   VARIANT_BOOL    AllowPNG = {read = get_AllowPNG, write = set_AllowPNG};
  __property   Office_xp::MsoScreenSize ScreenSize = {read = get_ScreenSize, write = set_ScreenSize};
  __property   long            PixelsPerInch = {read = get_PixelsPerInch, write = set_PixelsPerInch};
  __property   Office_xp::MsoEncoding Encoding = {read = get_Encoding, write = set_Encoding};
  __property   BSTR            FolderSuffix = {read = get_FolderSuffix};
  __property   Office_xp::MsoTargetBrowser TargetBrowser = {read = get_TargetBrowser, write = set_TargetBrowser};
};
typedef WebOptionsDispT<WebOptions> WebOptionsDisp;

typedef TComInterface<OtherCorrectionsExceptions>  TCOMOtherCorrectionsExceptions;

// *********************************************************************//
// DispIntf:  OtherCorrectionsExceptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DF-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class OtherCorrectionsExceptionsDispT : public TAutoDriver<OtherCorrectionsExceptions>
{
public:
  OtherCorrectionsExceptionsDispT(){}

  OtherCorrectionsExceptionsDispT(OtherCorrectionsExceptions *pintf)
  {
    TAutoDriver<OtherCorrectionsExceptions>::Bind(pintf, false);
  }

  OtherCorrectionsExceptionsDispT(OtherCorrectionsExceptionsPtr pintf)
  {
    TAutoDriver<OtherCorrectionsExceptions>::Bind(pintf, true);
  }

  OtherCorrectionsExceptionsDispT& operator=(OtherCorrectionsExceptions *pintf)
  {
    TAutoDriver<OtherCorrectionsExceptions>::Bind(pintf, false);
    return *this;
  }

  OtherCorrectionsExceptionsDispT& operator=(OtherCorrectionsExceptionsPtr pintf)
  {
    TAutoDriver<OtherCorrectionsExceptions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::OtherCorrectionsException** prop/*[out,retval]*/);
  Word_xp::OtherCorrectionsException* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, 
                                 Word_xp::OtherCorrectionsException** prop/*[out,retval]*/);
  Word_xp::OtherCorrectionsException* __fastcall Add(BSTR Name/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef OtherCorrectionsExceptionsDispT<OtherCorrectionsExceptions> OtherCorrectionsExceptionsDisp;

typedef TComInterface<OtherCorrectionsException>  TCOMOtherCorrectionsException;

// *********************************************************************//
// DispIntf:  OtherCorrectionsException
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E1-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class OtherCorrectionsExceptionDispT : public TAutoDriver<OtherCorrectionsException>
{
public:
  OtherCorrectionsExceptionDispT(){}

  OtherCorrectionsExceptionDispT(OtherCorrectionsException *pintf)
  {
    TAutoDriver<OtherCorrectionsException>::Bind(pintf, false);
  }

  OtherCorrectionsExceptionDispT(OtherCorrectionsExceptionPtr pintf)
  {
    TAutoDriver<OtherCorrectionsException>::Bind(pintf, true);
  }

  OtherCorrectionsExceptionDispT& operator=(OtherCorrectionsException *pintf)
  {
    TAutoDriver<OtherCorrectionsException>::Bind(pintf, false);
    return *this;
  }

  OtherCorrectionsExceptionDispT& operator=(OtherCorrectionsExceptionPtr pintf)
  {
    TAutoDriver<OtherCorrectionsException>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name};
};
typedef OtherCorrectionsExceptionDispT<OtherCorrectionsException> OtherCorrectionsExceptionDisp;

typedef TComInterface<EmailSignatureEntries>  TCOMEmailSignatureEntries;

// *********************************************************************//
// DispIntf:  EmailSignatureEntries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E5-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class EmailSignatureEntriesDispT : public TAutoDriver<EmailSignatureEntries>
{
public:
  EmailSignatureEntriesDispT(){}

  EmailSignatureEntriesDispT(EmailSignatureEntries *pintf)
  {
    TAutoDriver<EmailSignatureEntries>::Bind(pintf, false);
  }

  EmailSignatureEntriesDispT(EmailSignatureEntriesPtr pintf)
  {
    TAutoDriver<EmailSignatureEntries>::Bind(pintf, true);
  }

  EmailSignatureEntriesDispT& operator=(EmailSignatureEntries *pintf)
  {
    TAutoDriver<EmailSignatureEntries>::Bind(pintf, false);
    return *this;
  }

  EmailSignatureEntriesDispT& operator=(EmailSignatureEntriesPtr pintf)
  {
    TAutoDriver<EmailSignatureEntries>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::EmailSignatureEntry** prop/*[out,retval]*/);
  Word_xp::EmailSignatureEntry* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/, 
                                 Word_xp::EmailSignatureEntry** prop/*[out,retval]*/);
  Word_xp::EmailSignatureEntry* __fastcall Add(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef EmailSignatureEntriesDispT<EmailSignatureEntries> EmailSignatureEntriesDisp;

typedef TComInterface<EmailSignatureEntry>  TCOMEmailSignatureEntry;

// *********************************************************************//
// DispIntf:  EmailSignatureEntry
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E6-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class EmailSignatureEntryDispT : public TAutoDriver<EmailSignatureEntry>
{
public:
  EmailSignatureEntryDispT(){}

  EmailSignatureEntryDispT(EmailSignatureEntry *pintf)
  {
    TAutoDriver<EmailSignatureEntry>::Bind(pintf, false);
  }

  EmailSignatureEntryDispT(EmailSignatureEntryPtr pintf)
  {
    TAutoDriver<EmailSignatureEntry>::Bind(pintf, true);
  }

  EmailSignatureEntryDispT& operator=(EmailSignatureEntry *pintf)
  {
    TAutoDriver<EmailSignatureEntry>::Bind(pintf, false);
    return *this;
  }

  EmailSignatureEntryDispT& operator=(EmailSignatureEntryPtr pintf)
  {
    TAutoDriver<EmailSignatureEntry>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall set_Name(BSTR prop/*[in]*/);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name, write = set_Name};
};
typedef EmailSignatureEntryDispT<EmailSignatureEntry> EmailSignatureEntryDisp;

typedef TComInterface<HTMLDivision>  TCOMHTMLDivision;

// *********************************************************************//
// DispIntf:  HTMLDivision
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E7-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class HTMLDivisionDispT : public TAutoDriver<HTMLDivision>
{
public:
  HTMLDivisionDispT(){}

  HTMLDivisionDispT(HTMLDivision *pintf)
  {
    TAutoDriver<HTMLDivision>::Bind(pintf, false);
  }

  HTMLDivisionDispT(HTMLDivisionPtr pintf)
  {
    TAutoDriver<HTMLDivision>::Bind(pintf, true);
  }

  HTMLDivisionDispT& operator=(HTMLDivision *pintf)
  {
    TAutoDriver<HTMLDivision>::Bind(pintf, false);
    return *this;
  }

  HTMLDivisionDispT& operator=(HTMLDivisionPtr pintf)
  {
    TAutoDriver<HTMLDivision>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall get_LeftIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftIndent(void);
  HRESULT         __fastcall set_LeftIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_RightIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_RightIndent(void);
  HRESULT         __fastcall set_RightIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_SpaceBefore(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceBefore(void);
  HRESULT         __fastcall set_SpaceBefore(float prop/*[in]*/);
  HRESULT         __fastcall get_SpaceAfter(float* prop/*[out,retval]*/);
  float           __fastcall get_SpaceAfter(void);
  HRESULT         __fastcall set_SpaceAfter(float prop/*[in]*/);
  HRESULT         __fastcall get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/);
  Word_xp::HTMLDivisionsPtr __fastcall get_HTMLDivisions(void);
  HRESULT         __fastcall HTMLDivisionParent(VARIANT* LevelsUp/*[in,opt]*/, 
                                                Word_xp::HTMLDivision** prop/*[out,retval]*/);
  Word_xp::HTMLDivision* __fastcall HTMLDivisionParent(VARIANT* LevelsUp/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   float           RightIndent = {read = get_RightIndent, write = set_RightIndent};
  __property   float           SpaceBefore = {read = get_SpaceBefore, write = set_SpaceBefore};
  __property   float           SpaceAfter = {read = get_SpaceAfter, write = set_SpaceAfter};
  __property   Word_xp::HTMLDivisionsPtr HTMLDivisions = {read = get_HTMLDivisions};
};
typedef HTMLDivisionDispT<HTMLDivision> HTMLDivisionDisp;

typedef TComInterface<HTMLDivisions>  TCOMHTMLDivisions;

// *********************************************************************//
// DispIntf:  HTMLDivisions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E8-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class HTMLDivisionsDispT : public TAutoDriver<HTMLDivisions>
{
public:
  HTMLDivisionsDispT(){}

  HTMLDivisionsDispT(HTMLDivisions *pintf)
  {
    TAutoDriver<HTMLDivisions>::Bind(pintf, false);
  }

  HTMLDivisionsDispT(HTMLDivisionsPtr pintf)
  {
    TAutoDriver<HTMLDivisions>::Bind(pintf, true);
  }

  HTMLDivisionsDispT& operator=(HTMLDivisions *pintf)
  {
    TAutoDriver<HTMLDivisions>::Bind(pintf, false);
    return *this;
  }

  HTMLDivisionsDispT& operator=(HTMLDivisionsPtr pintf)
  {
    TAutoDriver<HTMLDivisions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_NestingLevel(long* prop/*[out,retval]*/);
  long            __fastcall get_NestingLevel(void);
  HRESULT         __fastcall Add(VARIANT* Range/*[in,opt]*/, 
                                 Word_xp::HTMLDivision** prop/*[out,retval]*/);
  Word_xp::HTMLDivision* __fastcall Add(VARIANT* Range/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall Item(long Index/*[in]*/, Word_xp::HTMLDivision** prop/*[out,retval]*/);
  Word_xp::HTMLDivision* __fastcall Item(long Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   long            NestingLevel = {read = get_NestingLevel};
};
typedef HTMLDivisionsDispT<HTMLDivisions> HTMLDivisionsDisp;

typedef TComInterface<DiagramNode>  TCOMDiagramNode;

// *********************************************************************//
// DispIntf:  DiagramNode
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E9-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class DiagramNodeDispT : public TAutoDriver<DiagramNode>
{
public:
  DiagramNodeDispT(){}

  DiagramNodeDispT(DiagramNode *pintf)
  {
    TAutoDriver<DiagramNode>::Bind(pintf, false);
  }

  DiagramNodeDispT(DiagramNodePtr pintf)
  {
    TAutoDriver<DiagramNode>::Bind(pintf, true);
  }

  DiagramNodeDispT& operator=(DiagramNode *pintf)
  {
    TAutoDriver<DiagramNode>::Bind(pintf, false);
    return *this;
  }

  DiagramNodeDispT& operator=(DiagramNodePtr pintf)
  {
    TAutoDriver<DiagramNode>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Children(Word_xp::DiagramNodeChildren** prop/*[out,retval]*/);
  Word_xp::DiagramNodeChildrenPtr __fastcall get_Children(void);
  HRESULT         __fastcall get_Shape(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::ShapePtr __fastcall get_Shape(void);
  HRESULT         __fastcall get_Root(Word_xp::DiagramNode** prop/*[out,retval]*/);
  Word_xp::DiagramNodePtr __fastcall get_Root(void);
  HRESULT         __fastcall get_Diagram(Word_xp::Diagram** prop/*[out,retval]*/);
  Word_xp::DiagramPtr __fastcall get_Diagram(void);
  HRESULT         __fastcall get_Layout(Office_xp::MsoOrgChartLayoutType* prop/*[out,retval]*/);
  Office_xp::MsoOrgChartLayoutType __fastcall get_Layout(void);
  HRESULT         __fastcall set_Layout(Office_xp::MsoOrgChartLayoutType prop/*[in]*/);
  HRESULT         __fastcall get_TextShape(Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::ShapePtr __fastcall get_TextShape(void);
  HRESULT         __fastcall AddNode(Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/, 
                                     Office_xp::MsoDiagramNodeType NodeType/*[in,def,opt]*/, 
                                     Word_xp::DiagramNode** prop/*[out,retval]*/);
  Word_xp::DiagramNode* __fastcall AddNode(Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/, 
                                           Office_xp::MsoDiagramNodeType NodeType/*[in,def,opt]*/);
  HRESULT         __fastcall Delete();
  HRESULT         __fastcall MoveNode(Word_xp::DiagramNode** TargetNode/*[out]*/, 
                                      Office_xp::MsoRelativeNodePosition Pos/*[in]*/);
  HRESULT         __fastcall ReplaceNode(Word_xp::DiagramNode** TargetNode/*[out]*/);
  HRESULT         __fastcall SwapNode(Word_xp::DiagramNode** TargetNode/*[out]*/, 
                                      Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/);
  HRESULT         __fastcall CloneNode(VARIANT_BOOL copyChildren/*[in]*/, 
                                       Word_xp::DiagramNode** TargetNode/*[out,def,opt]*/, 
                                       Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/, 
                                       Word_xp::DiagramNode** prop/*[out,retval]*/);
  Word_xp::DiagramNode* __fastcall CloneNode(VARIANT_BOOL copyChildren/*[in]*/, 
                                             Word_xp::DiagramNode** TargetNode/*[out,def,opt]*/, 
                                             Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/);
  HRESULT         __fastcall TransferChildren(Word_xp::DiagramNode** ReceivingNode/*[out]*/);
  HRESULT         __fastcall NextNode(Word_xp::DiagramNode** prop/*[out,retval]*/);
  Word_xp::DiagramNode* __fastcall NextNode(void);
  HRESULT         __fastcall PrevNode(Word_xp::DiagramNode** prop/*[out,retval]*/);
  Word_xp::DiagramNode* __fastcall PrevNode(void);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::DiagramNodeChildrenPtr Children = {read = get_Children};
  __property   Word_xp::ShapePtr Shape = {read = get_Shape};
  __property   Word_xp::DiagramNodePtr Root = {read = get_Root};
  __property   Word_xp::DiagramPtr Diagram = {read = get_Diagram};
  __property   Office_xp::MsoOrgChartLayoutType Layout = {read = get_Layout, write = set_Layout};
  __property   Word_xp::ShapePtr TextShape = {read = get_TextShape};
};
typedef DiagramNodeDispT<DiagramNode> DiagramNodeDisp;

typedef TComInterface<DiagramNodeChildren>  TCOMDiagramNodeChildren;

// *********************************************************************//
// DispIntf:  DiagramNodeChildren
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EA-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class DiagramNodeChildrenDispT : public TAutoDriver<DiagramNodeChildren>
{
public:
  DiagramNodeChildrenDispT(){}

  DiagramNodeChildrenDispT(DiagramNodeChildren *pintf)
  {
    TAutoDriver<DiagramNodeChildren>::Bind(pintf, false);
  }

  DiagramNodeChildrenDispT(DiagramNodeChildrenPtr pintf)
  {
    TAutoDriver<DiagramNodeChildren>::Bind(pintf, true);
  }

  DiagramNodeChildrenDispT& operator=(DiagramNodeChildren *pintf)
  {
    TAutoDriver<DiagramNodeChildren>::Bind(pintf, false);
    return *this;
  }

  DiagramNodeChildrenDispT& operator=(DiagramNodeChildrenPtr pintf)
  {
    TAutoDriver<DiagramNodeChildren>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_FirstChild(Word_xp::DiagramNode** prop/*[out,retval]*/);
  Word_xp::DiagramNodePtr __fastcall get_FirstChild(void);
  HRESULT         __fastcall get_LastChild(Word_xp::DiagramNode** prop/*[out,retval]*/);
  Word_xp::DiagramNodePtr __fastcall get_LastChild(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::DiagramNode** prop/*[out,retval]*/);
  Word_xp::DiagramNode* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall AddNode(VARIANT* Index/*[in,def,opt]*/, 
                                     Office_xp::MsoDiagramNodeType NodeType/*[in,def,opt]*/, 
                                     Word_xp::DiagramNode** prop/*[out,retval]*/);
  Word_xp::DiagramNode* __fastcall AddNode(VARIANT* Index/*[in,def,opt]*/, 
                                           Office_xp::MsoDiagramNodeType NodeType/*[in,def,opt]*/);
  HRESULT         __fastcall SelectAll();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::DiagramNodePtr FirstChild = {read = get_FirstChild};
  __property   Word_xp::DiagramNodePtr LastChild = {read = get_LastChild};
};
typedef DiagramNodeChildrenDispT<DiagramNodeChildren> DiagramNodeChildrenDisp;

typedef TComInterface<DiagramNodes>  TCOMDiagramNodes;

// *********************************************************************//
// DispIntf:  DiagramNodes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EB-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class DiagramNodesDispT : public TAutoDriver<DiagramNodes>
{
public:
  DiagramNodesDispT(){}

  DiagramNodesDispT(DiagramNodes *pintf)
  {
    TAutoDriver<DiagramNodes>::Bind(pintf, false);
  }

  DiagramNodesDispT(DiagramNodesPtr pintf)
  {
    TAutoDriver<DiagramNodes>::Bind(pintf, true);
  }

  DiagramNodesDispT& operator=(DiagramNodes *pintf)
  {
    TAutoDriver<DiagramNodes>::Bind(pintf, false);
    return *this;
  }

  DiagramNodesDispT& operator=(DiagramNodesPtr pintf)
  {
    TAutoDriver<DiagramNodes>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::DiagramNode** prop/*[out,retval]*/);
  Word_xp::DiagramNode* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall SelectAll();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
};
typedef DiagramNodesDispT<DiagramNodes> DiagramNodesDisp;

typedef TComInterface<Diagram>  TCOMDiagram;

// *********************************************************************//
// DispIntf:  Diagram
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EC-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class DiagramDispT : public TAutoDriver<Diagram>
{
public:
  DiagramDispT(){}

  DiagramDispT(Diagram *pintf)
  {
    TAutoDriver<Diagram>::Bind(pintf, false);
  }

  DiagramDispT(DiagramPtr pintf)
  {
    TAutoDriver<Diagram>::Bind(pintf, true);
  }

  DiagramDispT& operator=(Diagram *pintf)
  {
    TAutoDriver<Diagram>::Bind(pintf, false);
    return *this;
  }

  DiagramDispT& operator=(DiagramPtr pintf)
  {
    TAutoDriver<Diagram>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Nodes(Word_xp::DiagramNodes** prop/*[out,retval]*/);
  Word_xp::DiagramNodesPtr __fastcall get_Nodes(void);
  HRESULT         __fastcall get_Type(Office_xp::MsoDiagramType* prop/*[out,retval]*/);
  Office_xp::MsoDiagramType __fastcall get_Type(void);
  HRESULT         __fastcall get_AutoLayout(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_AutoLayout(void);
  HRESULT         __fastcall set_AutoLayout(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_Reverse(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_Reverse(void);
  HRESULT         __fastcall set_Reverse(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall get_AutoFormat(Office_xp::MsoTriState* prop/*[out,retval]*/);
  Office_xp::MsoTriState __fastcall get_AutoFormat(void);
  HRESULT         __fastcall set_AutoFormat(Office_xp::MsoTriState prop/*[in]*/);
  HRESULT         __fastcall Convert(Office_xp::MsoDiagramType Type/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::DiagramNodesPtr Nodes = {read = get_Nodes};
  __property   Office_xp::MsoDiagramType Type = {read = get_Type};
  __property   Office_xp::MsoTriState AutoLayout = {read = get_AutoLayout, write = set_AutoLayout};
  __property   Office_xp::MsoTriState Reverse = {read = get_Reverse, write = set_Reverse};
  __property   Office_xp::MsoTriState AutoFormat = {read = get_AutoFormat, write = set_AutoFormat};
};
typedef DiagramDispT<Diagram> DiagramDisp;

typedef TComInterface<CustomProperty>  TCOMCustomProperty;

// *********************************************************************//
// DispIntf:  CustomProperty
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {B923FDE0-F08C-11D3-91B0-00105A0A19FD}
// *********************************************************************//
template<class T>
class CustomPropertyDispT : public TAutoDriver<CustomProperty>
{
public:
  CustomPropertyDispT(){}

  CustomPropertyDispT(CustomProperty *pintf)
  {
    TAutoDriver<CustomProperty>::Bind(pintf, false);
  }

  CustomPropertyDispT(CustomPropertyPtr pintf)
  {
    TAutoDriver<CustomProperty>::Bind(pintf, true);
  }

  CustomPropertyDispT& operator=(CustomProperty *pintf)
  {
    TAutoDriver<CustomProperty>::Bind(pintf, false);
    return *this;
  }

  CustomPropertyDispT& operator=(CustomPropertyPtr pintf)
  {
    TAutoDriver<CustomProperty>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Value(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Value(void);
  HRESULT         __fastcall set_Value(BSTR prop/*[in]*/);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Delete();

  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Value = {read = get_Value, write = set_Value};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef CustomPropertyDispT<CustomProperty> CustomPropertyDisp;

typedef TComInterface<CustomProperties>  TCOMCustomProperties;

// *********************************************************************//
// DispIntf:  CustomProperties
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {B923FDE1-F08C-11D3-91B0-00105A0A19FD}
// *********************************************************************//
template<class T>
class CustomPropertiesDispT : public TAutoDriver<CustomProperties>
{
public:
  CustomPropertiesDispT(){}

  CustomPropertiesDispT(CustomProperties *pintf)
  {
    TAutoDriver<CustomProperties>::Bind(pintf, false);
  }

  CustomPropertiesDispT(CustomPropertiesPtr pintf)
  {
    TAutoDriver<CustomProperties>::Bind(pintf, true);
  }

  CustomPropertiesDispT& operator=(CustomProperties *pintf)
  {
    TAutoDriver<CustomProperties>::Bind(pintf, false);
    return *this;
  }

  CustomPropertiesDispT& operator=(CustomPropertiesPtr pintf)
  {
    TAutoDriver<CustomProperties>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::CustomProperty** prop/*[out,retval]*/);
  Word_xp::CustomProperty* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, BSTR Value/*[in]*/, 
                                 Word_xp::CustomProperty** prop/*[out,retval]*/);
  Word_xp::CustomProperty* __fastcall Add(BSTR Name/*[in]*/, BSTR Value/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef CustomPropertiesDispT<CustomProperties> CustomPropertiesDisp;

typedef TComInterface<SmartTag>  TCOMSmartTag;

// *********************************************************************//
// DispIntf:  SmartTag
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209ED-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class SmartTagDispT : public TAutoDriver<SmartTag>
{
public:
  SmartTagDispT(){}

  SmartTagDispT(SmartTag *pintf)
  {
    TAutoDriver<SmartTag>::Bind(pintf, false);
  }

  SmartTagDispT(SmartTagPtr pintf)
  {
    TAutoDriver<SmartTag>::Bind(pintf, true);
  }

  SmartTagDispT& operator=(SmartTag *pintf)
  {
    TAutoDriver<SmartTag>::Bind(pintf, false);
    return *this;
  }

  SmartTagDispT& operator=(SmartTagPtr pintf)
  {
    TAutoDriver<SmartTag>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_XML(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_XML(void);
  HRESULT         __fastcall get_Range(Word_xp::WordRange** prop/*[out,retval]*/);
  Word_xp::WordRangePtr __fastcall get_Range(void);
  HRESULT         __fastcall get_DownloadURL(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DownloadURL(void);
  HRESULT         __fastcall get_Properties(Word_xp::CustomProperties** prop/*[out,retval]*/);
  Word_xp::CustomPropertiesPtr __fastcall get_Properties(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Select();
  HRESULT         __fastcall Delete();

  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            XML = {read = get_XML};
  __property   Word_xp::WordRangePtr Range = {read = get_Range};
  __property   BSTR            DownloadURL = {read = get_DownloadURL};
  __property   Word_xp::CustomPropertiesPtr Properties = {read = get_Properties};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef SmartTagDispT<SmartTag> SmartTagDisp;

typedef TComInterface<SmartTags>  TCOMSmartTags;

// *********************************************************************//
// DispIntf:  SmartTags
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EE-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class SmartTagsDispT : public TAutoDriver<SmartTags>
{
public:
  SmartTagsDispT(){}

  SmartTagsDispT(SmartTags *pintf)
  {
    TAutoDriver<SmartTags>::Bind(pintf, false);
  }

  SmartTagsDispT(SmartTagsPtr pintf)
  {
    TAutoDriver<SmartTags>::Bind(pintf, true);
  }

  SmartTagsDispT& operator=(SmartTags *pintf)
  {
    TAutoDriver<SmartTags>::Bind(pintf, false);
    return *this;
  }

  SmartTagsDispT& operator=(SmartTagsPtr pintf)
  {
    TAutoDriver<SmartTags>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::SmartTag** prop/*[out,retval]*/);
  Word_xp::SmartTag* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR Name/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                                 VARIANT* Properties/*[in,opt]*/, 
                                 Word_xp::SmartTag** prop/*[out,retval]*/);
  Word_xp::SmartTag* __fastcall Add(BSTR Name/*[in]*/, VARIANT* Range/*[in,opt]*/= TNoParam(), 
                                    VARIANT* Properties/*[in,opt]*/= TNoParam());

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef SmartTagsDispT<SmartTags> SmartTagsDisp;

typedef TComInterface<StyleSheet>  TCOMStyleSheet;

// *********************************************************************//
// DispIntf:  StyleSheet
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EF-0000-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class StyleSheetDispT : public TAutoDriver<StyleSheet>
{
public:
  StyleSheetDispT(){}

  StyleSheetDispT(StyleSheet *pintf)
  {
    TAutoDriver<StyleSheet>::Bind(pintf, false);
  }

  StyleSheetDispT(StyleSheetPtr pintf)
  {
    TAutoDriver<StyleSheet>::Bind(pintf, true);
  }

  StyleSheetDispT& operator=(StyleSheet *pintf)
  {
    TAutoDriver<StyleSheet>::Bind(pintf, false);
    return *this;
  }

  StyleSheetDispT& operator=(StyleSheetPtr pintf)
  {
    TAutoDriver<StyleSheet>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_FullName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_FullName(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Path(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Path(void);
  HRESULT         __fastcall get_Type(Word_xp::WdStyleSheetLinkType* prop/*[out,retval]*/);
  Word_xp::WdStyleSheetLinkType __fastcall get_Type(void);
  HRESULT         __fastcall set_Type(Word_xp::WdStyleSheetLinkType prop/*[in]*/);
  HRESULT         __fastcall get_Title(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Title(void);
  HRESULT         __fastcall set_Title(BSTR prop/*[in]*/);
  HRESULT         __fastcall Move(Word_xp::WdStyleSheetPrecedence Precedence/*[in]*/);
  HRESULT         __fastcall Delete();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   BSTR            FullName = {read = get_FullName};
  __property   long            Index = {read = get_Index};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Path = {read = get_Path};
  __property   Word_xp::WdStyleSheetLinkType Type = {read = get_Type, write = set_Type};
  __property   BSTR            Title = {read = get_Title, write = set_Title};
};
typedef StyleSheetDispT<StyleSheet> StyleSheetDisp;

typedef TComInterface<StyleSheets>  TCOMStyleSheets;

// *********************************************************************//
// DispIntf:  StyleSheets
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {07B7CC7E-E66C-11D3-9454-00105AA31A08}
// *********************************************************************//
template<class T>
class StyleSheetsDispT : public TAutoDriver<StyleSheets>
{
public:
  StyleSheetsDispT(){}

  StyleSheetsDispT(StyleSheets *pintf)
  {
    TAutoDriver<StyleSheets>::Bind(pintf, false);
  }

  StyleSheetsDispT(StyleSheetsPtr pintf)
  {
    TAutoDriver<StyleSheets>::Bind(pintf, true);
  }

  StyleSheetsDispT& operator=(StyleSheets *pintf)
  {
    TAutoDriver<StyleSheets>::Bind(pintf, false);
    return *this;
  }

  StyleSheetsDispT& operator=(StyleSheetsPtr pintf)
  {
    TAutoDriver<StyleSheets>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::StyleSheet** prop/*[out,retval]*/);
  Word_xp::StyleSheet* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall Add(BSTR FileName/*[in]*/, 
                                 Word_xp::WdStyleSheetLinkType LinkType/*[in]*/, BSTR Title/*[in]*/
                                 , Word_xp::WdStyleSheetPrecedence Precedence/*[in]*/, 
                                 Word_xp::StyleSheet** prop/*[out,retval]*/);
  Word_xp::StyleSheet* __fastcall Add(BSTR FileName/*[in]*/, 
                                      Word_xp::WdStyleSheetLinkType LinkType/*[in]*/, 
                                      BSTR Title/*[in]*/, 
                                      Word_xp::WdStyleSheetPrecedence Precedence/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
};
typedef StyleSheetsDispT<StyleSheets> StyleSheetsDisp;

typedef TComInterface<MappedDataField>  TCOMMappedDataField;

// *********************************************************************//
// DispIntf:  MappedDataField
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {5D311669-EA51-11D3-87CC-00105AA31A34}
// *********************************************************************//
template<class T>
class MappedDataFieldDispT : public TAutoDriver<MappedDataField>
{
public:
  MappedDataFieldDispT(){}

  MappedDataFieldDispT(MappedDataField *pintf)
  {
    TAutoDriver<MappedDataField>::Bind(pintf, false);
  }

  MappedDataFieldDispT(MappedDataFieldPtr pintf)
  {
    TAutoDriver<MappedDataField>::Bind(pintf, true);
  }

  MappedDataFieldDispT& operator=(MappedDataField *pintf)
  {
    TAutoDriver<MappedDataField>::Bind(pintf, false);
    return *this;
  }

  MappedDataFieldDispT& operator=(MappedDataFieldPtr pintf)
  {
    TAutoDriver<MappedDataField>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Index(long* prop/*[out,retval]*/);
  long            __fastcall get_Index(void);
  HRESULT         __fastcall get_DataFieldName(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_DataFieldName(void);
  HRESULT         __fastcall get_Name(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Name(void);
  HRESULT         __fastcall get_Value(BSTR* prop/*[out,retval]*/);
  BSTR            __fastcall get_Value(void);
  HRESULT         __fastcall get_DataFieldIndex(long* prop/*[out,retval]*/);
  long            __fastcall get_DataFieldIndex(void);
  HRESULT         __fastcall set_DataFieldIndex(long prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Index = {read = get_Index};
  __property   BSTR            DataFieldName = {read = get_DataFieldName};
  __property   BSTR            Name = {read = get_Name};
  __property   BSTR            Value = {read = get_Value};
  __property   long            DataFieldIndex = {read = get_DataFieldIndex, write = set_DataFieldIndex};
};
typedef MappedDataFieldDispT<MappedDataField> MappedDataFieldDisp;

typedef TComInterface<MappedDataFields>  TCOMMappedDataFields;

// *********************************************************************//
// DispIntf:  MappedDataFields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {799A6814-EA41-11D3-87CC-00105AA31A34}
// *********************************************************************//
template<class T>
class MappedDataFieldsDispT : public TAutoDriver<MappedDataFields>
{
public:
  MappedDataFieldsDispT(){}

  MappedDataFieldsDispT(MappedDataFields *pintf)
  {
    TAutoDriver<MappedDataFields>::Bind(pintf, false);
  }

  MappedDataFieldsDispT(MappedDataFieldsPtr pintf)
  {
    TAutoDriver<MappedDataFields>::Bind(pintf, true);
  }

  MappedDataFieldsDispT& operator=(MappedDataFields *pintf)
  {
    TAutoDriver<MappedDataFields>::Bind(pintf, false);
    return *this;
  }

  MappedDataFieldsDispT& operator=(MappedDataFieldsPtr pintf)
  {
    TAutoDriver<MappedDataFields>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall Item(Word_xp::WdMappedDataFields Index/*[in]*/, 
                                  Word_xp::MappedDataField** prop/*[out,retval]*/);
  Word_xp::MappedDataField* __fastcall Item(Word_xp::WdMappedDataFields Index/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
};
typedef MappedDataFieldsDispT<MappedDataFields> MappedDataFieldsDisp;

typedef TComInterface<CanvasShapes>  TCOMCanvasShapes;

// *********************************************************************//
// DispIntf:  CanvasShapes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {396F9073-F9FD-11D3-8EA0-0050049A1A01}
// *********************************************************************//
template<class T>
class CanvasShapesDispT : public TAutoDriver<CanvasShapes>
{
public:
  CanvasShapesDispT(){}

  CanvasShapesDispT(CanvasShapes *pintf)
  {
    TAutoDriver<CanvasShapes>::Bind(pintf, false);
  }

  CanvasShapesDispT(CanvasShapesPtr pintf)
  {
    TAutoDriver<CanvasShapes>::Bind(pintf, true);
  }

  CanvasShapesDispT& operator=(CanvasShapes *pintf)
  {
    TAutoDriver<CanvasShapes>::Bind(pintf, false);
    return *this;
  }

  CanvasShapesDispT& operator=(CanvasShapesPtr pintf)
  {
    TAutoDriver<CanvasShapes>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall Item(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall AddCallout(Office_xp::MsoCalloutType Type/*[in]*/, float Left/*[in]*/, 
                                        float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/
                                        , Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddCallout(Office_xp::MsoCalloutType Type/*[in]*/, float Left/*[in]*/, 
                                        float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/);
  HRESULT         __fastcall AddConnector(Office_xp::MsoConnectorType Type/*[in]*/, 
                                          float BeginX/*[in]*/, float BeginY/*[in]*/, 
                                          float EndX/*[in]*/, float EndY/*[in]*/, 
                                          Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddConnector(Office_xp::MsoConnectorType Type/*[in]*/, 
                                          float BeginX/*[in]*/, float BeginY/*[in]*/, 
                                          float EndX/*[in]*/, float EndY/*[in]*/);
  HRESULT         __fastcall AddCurve(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                      Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddCurve(VARIANT* SafeArrayOfPoints/*[in]*/);
  HRESULT         __fastcall AddLabel(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                      float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                      float Height/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddLabel(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                      float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                      float Height/*[in]*/);
  HRESULT         __fastcall AddLine(float BeginX/*[in]*/, float BeginY/*[in]*/, float EndX/*[in]*/
                                     , float EndY/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddLine(float BeginX/*[in]*/, float BeginY/*[in]*/, float EndX/*[in]*/, 
                                     float EndY/*[in]*/);
  HRESULT         __fastcall AddPicture(BSTR FileName/*[in]*/, VARIANT* LinkToFile/*[in,opt]*/, 
                                        VARIANT* SaveWithDocument/*[in,opt]*/, 
                                        VARIANT* Left/*[in,opt]*/, VARIANT* Top/*[in,opt]*/, 
                                        VARIANT* Width/*[in,opt]*/, VARIANT* Height/*[in,opt]*/, 
                                        Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddPicture(BSTR FileName/*[in]*/, 
                                        VARIANT* LinkToFile/*[in,opt]*/= TNoParam(), 
                                        VARIANT* SaveWithDocument/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Left/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Top/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Width/*[in,opt]*/= TNoParam(), 
                                        VARIANT* Height/*[in,opt]*/= TNoParam());
  HRESULT         __fastcall AddPolyline(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                         Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddPolyline(VARIANT* SafeArrayOfPoints/*[in]*/);
  HRESULT         __fastcall AddShape(long Type/*[in]*/, float Left/*[in]*/, float Top/*[in]*/, 
                                      float Width/*[in]*/, float Height/*[in]*/, 
                                      Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddShape(long Type/*[in]*/, float Left/*[in]*/, float Top/*[in]*/, 
                                      float Width/*[in]*/, float Height/*[in]*/);
  HRESULT         __fastcall AddTextEffect(Office_xp::MsoPresetTextEffect PresetTextEffect/*[in]*/, 
                                           BSTR Text/*[in]*/, BSTR FontName/*[in]*/, 
                                           float FontSize/*[in]*/, 
                                           Office_xp::MsoTriState FontBold/*[in]*/, 
                                           Office_xp::MsoTriState FontItalic/*[in]*/, 
                                           float Left/*[in]*/, float Top/*[in]*/, 
                                           Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddTextEffect(Office_xp::MsoPresetTextEffect PresetTextEffect/*[in]*/, 
                                           BSTR Text/*[in]*/, BSTR FontName/*[in]*/, 
                                           float FontSize/*[in]*/, 
                                           Office_xp::MsoTriState FontBold/*[in]*/, 
                                           Office_xp::MsoTriState FontItalic/*[in]*/, 
                                           float Left/*[in]*/, float Top/*[in]*/);
  HRESULT         __fastcall AddTextbox(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                        float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                        float Height/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/);
  Word_xp::Shape* __fastcall AddTextbox(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                        float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                        float Height/*[in]*/);
  HRESULT         __fastcall BuildFreeform(Office_xp::MsoEditingType EditingType/*[in]*/, 
                                           float X1/*[in]*/, float Y1/*[in]*/, 
                                           Word_xp::FreeformBuilder** prop/*[out,retval]*/);
  Word_xp::FreeformBuilder* __fastcall BuildFreeform(Office_xp::MsoEditingType EditingType/*[in]*/, 
                                                     float X1/*[in]*/, float Y1/*[in]*/);
  HRESULT         __fastcall Range(VARIANT* Index/*[in]*/, 
                                   Word_xp::ShapeRange** prop/*[out,retval]*/);
  Word_xp::ShapeRange* __fastcall Range(VARIANT* Index/*[in]*/);
  HRESULT         __fastcall SelectAll();

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
};
typedef CanvasShapesDispT<CanvasShapes> CanvasShapesDisp;

typedef TComInterface<TableStyle>  TCOMTableStyle;

// *********************************************************************//
// DispIntf:  TableStyle
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {B7564E97-0519-4C68-B400-3803E7C63242}
// *********************************************************************//
template<class T>
class TableStyleDispT : public TAutoDriver<TableStyle>
{
public:
  TableStyleDispT(){}

  TableStyleDispT(TableStyle *pintf)
  {
    TAutoDriver<TableStyle>::Bind(pintf, false);
  }

  TableStyleDispT(TableStylePtr pintf)
  {
    TAutoDriver<TableStyle>::Bind(pintf, true);
  }

  TableStyleDispT& operator=(TableStyle *pintf)
  {
    TAutoDriver<TableStyle>::Bind(pintf, false);
    return *this;
  }

  TableStyleDispT& operator=(TableStylePtr pintf)
  {
    TAutoDriver<TableStyle>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_AllowPageBreaks(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_AllowPageBreaks(void);
  HRESULT         __fastcall set_AllowPageBreaks(VARIANT_BOOL prop/*[in]*/);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_BottomPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_BottomPadding(void);
  HRESULT         __fastcall set_BottomPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_LeftPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftPadding(void);
  HRESULT         __fastcall set_LeftPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_TopPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_TopPadding(void);
  HRESULT         __fastcall set_TopPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_RightPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_RightPadding(void);
  HRESULT         __fastcall set_RightPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_Alignment(Word_xp::WdRowAlignment* prop/*[out,retval]*/);
  Word_xp::WdRowAlignment __fastcall get_Alignment(void);
  HRESULT         __fastcall set_Alignment(Word_xp::WdRowAlignment prop/*[in]*/);
  HRESULT         __fastcall get_Spacing(float* prop/*[out,retval]*/);
  float           __fastcall get_Spacing(void);
  HRESULT         __fastcall set_Spacing(float prop/*[in]*/);
  HRESULT         __fastcall Condition(Word_xp::WdConditionCode ConditionCode/*[in]*/, 
                                       Word_xp::ConditionalStyle** prop/*[out,retval]*/);
  Word_xp::ConditionalStyle* __fastcall Condition(Word_xp::WdConditionCode ConditionCode/*[in]*/);
  HRESULT         __fastcall get_TableDirection(Word_xp::WdTableDirection* prop/*[out,retval]*/);
  Word_xp::WdTableDirection __fastcall get_TableDirection(void);
  HRESULT         __fastcall set_TableDirection(Word_xp::WdTableDirection prop/*[in]*/);
  HRESULT         __fastcall get_AllowBreakAcrossPage(long* prop/*[out,retval]*/);
  long            __fastcall get_AllowBreakAcrossPage(void);
  HRESULT         __fastcall set_AllowBreakAcrossPage(long prop/*[in]*/);
  HRESULT         __fastcall get_LeftIndent(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftIndent(void);
  HRESULT         __fastcall set_LeftIndent(float prop/*[in]*/);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_RowStripe(long* prop/*[out,retval]*/);
  long            __fastcall get_RowStripe(void);
  HRESULT         __fastcall set_RowStripe(long prop/*[in]*/);
  HRESULT         __fastcall get_ColumnStripe(long* prop/*[out,retval]*/);
  long            __fastcall get_ColumnStripe(void);
  HRESULT         __fastcall set_ColumnStripe(long prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    AllowPageBreaks = {read = get_AllowPageBreaks, write = set_AllowPageBreaks};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   float           BottomPadding = {read = get_BottomPadding, write = set_BottomPadding};
  __property   float           LeftPadding = {read = get_LeftPadding, write = set_LeftPadding};
  __property   float           TopPadding = {read = get_TopPadding, write = set_TopPadding};
  __property   float           RightPadding = {read = get_RightPadding, write = set_RightPadding};
  __property   Word_xp::WdRowAlignment Alignment = {read = get_Alignment, write = set_Alignment};
  __property   float           Spacing = {read = get_Spacing, write = set_Spacing};
  __property   Word_xp::WdTableDirection TableDirection = {read = get_TableDirection, write = set_TableDirection};
  __property   long            AllowBreakAcrossPage = {read = get_AllowBreakAcrossPage, write = set_AllowBreakAcrossPage};
  __property   float           LeftIndent = {read = get_LeftIndent, write = set_LeftIndent};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   long            RowStripe = {read = get_RowStripe, write = set_RowStripe};
  __property   long            ColumnStripe = {read = get_ColumnStripe, write = set_ColumnStripe};
};
typedef TableStyleDispT<TableStyle> TableStyleDisp;

typedef TComInterface<ConditionalStyle>  TCOMConditionalStyle;

// *********************************************************************//
// DispIntf:  ConditionalStyle
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {1498F56D-ED33-41F9-B37B-EF30E50B08AC}
// *********************************************************************//
template<class T>
class ConditionalStyleDispT : public TAutoDriver<ConditionalStyle>
{
public:
  ConditionalStyleDispT(){}

  ConditionalStyleDispT(ConditionalStyle *pintf)
  {
    TAutoDriver<ConditionalStyle>::Bind(pintf, false);
  }

  ConditionalStyleDispT(ConditionalStylePtr pintf)
  {
    TAutoDriver<ConditionalStyle>::Bind(pintf, true);
  }

  ConditionalStyleDispT& operator=(ConditionalStyle *pintf)
  {
    TAutoDriver<ConditionalStyle>::Bind(pintf, false);
    return *this;
  }

  ConditionalStyleDispT& operator=(ConditionalStylePtr pintf)
  {
    TAutoDriver<ConditionalStyle>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Shading(Word_xp::Shading** prop/*[out,retval]*/);
  Word_xp::ShadingPtr __fastcall get_Shading(void);
  HRESULT         __fastcall get_Borders(Word_xp::Borders** prop/*[out,retval]*/);
  Word_xp::BordersPtr __fastcall get_Borders(void);
  HRESULT         __fastcall set_Borders(Word_xp::BordersPtr prop/*[in]*/);
  HRESULT         __fastcall get_BottomPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_BottomPadding(void);
  HRESULT         __fastcall set_BottomPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_TopPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_TopPadding(void);
  HRESULT         __fastcall set_TopPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_LeftPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_LeftPadding(void);
  HRESULT         __fastcall set_LeftPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_RightPadding(float* prop/*[out,retval]*/);
  float           __fastcall get_RightPadding(void);
  HRESULT         __fastcall set_RightPadding(float prop/*[in]*/);
  HRESULT         __fastcall get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/);
  Word_xp::WordParagraphFormatPtr __fastcall get_ParagraphFormat(void);
  HRESULT         __fastcall set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/);
  HRESULT         __fastcall get_Font(Word_xp::WordFont** prop/*[out,retval]*/);
  Word_xp::WordFontPtr __fastcall get_Font(void);
  HRESULT         __fastcall set_Font(Word_xp::WordFontPtr prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::ShadingPtr Shading = {read = get_Shading};
  __property   Word_xp::BordersPtr Borders = {read = get_Borders, write = set_Borders};
  __property   float           BottomPadding = {read = get_BottomPadding, write = set_BottomPadding};
  __property   float           TopPadding = {read = get_TopPadding, write = set_TopPadding};
  __property   float           LeftPadding = {read = get_LeftPadding, write = set_LeftPadding};
  __property   float           RightPadding = {read = get_RightPadding, write = set_RightPadding};
  __property   Word_xp::WordParagraphFormatPtr ParagraphFormat = {read = get_ParagraphFormat, write = set_ParagraphFormat};
  __property   Word_xp::WordFontPtr Font = {read = get_Font, write = set_Font};
};
typedef ConditionalStyleDispT<ConditionalStyle> ConditionalStyleDisp;

typedef TComInterface<FootnoteOptions>  TCOMFootnoteOptions;

// *********************************************************************//
// DispIntf:  FootnoteOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {BEA85A24-D7DA-4F3D-B58C-ED90FB01D615}
// *********************************************************************//
template<class T>
class FootnoteOptionsDispT : public TAutoDriver<FootnoteOptions>
{
public:
  FootnoteOptionsDispT(){}

  FootnoteOptionsDispT(FootnoteOptions *pintf)
  {
    TAutoDriver<FootnoteOptions>::Bind(pintf, false);
  }

  FootnoteOptionsDispT(FootnoteOptionsPtr pintf)
  {
    TAutoDriver<FootnoteOptions>::Bind(pintf, true);
  }

  FootnoteOptionsDispT& operator=(FootnoteOptions *pintf)
  {
    TAutoDriver<FootnoteOptions>::Bind(pintf, false);
    return *this;
  }

  FootnoteOptionsDispT& operator=(FootnoteOptionsPtr pintf)
  {
    TAutoDriver<FootnoteOptions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Location(Word_xp::WdFootnoteLocation* prop/*[out,retval]*/);
  Word_xp::WdFootnoteLocation __fastcall get_Location(void);
  HRESULT         __fastcall set_Location(Word_xp::WdFootnoteLocation prop/*[in]*/);
  HRESULT         __fastcall get_NumberStyle(Word_xp::WdNoteNumberStyle* prop/*[out,retval]*/);
  Word_xp::WdNoteNumberStyle __fastcall get_NumberStyle(void);
  HRESULT         __fastcall set_NumberStyle(Word_xp::WdNoteNumberStyle prop/*[in]*/);
  HRESULT         __fastcall get_StartingNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_StartingNumber(void);
  HRESULT         __fastcall set_StartingNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_NumberingRule(Word_xp::WdNumberingRule* prop/*[out,retval]*/);
  Word_xp::WdNumberingRule __fastcall get_NumberingRule(void);
  HRESULT         __fastcall set_NumberingRule(Word_xp::WdNumberingRule prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdFootnoteLocation Location = {read = get_Location, write = set_Location};
  __property   Word_xp::WdNoteNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   long            StartingNumber = {read = get_StartingNumber, write = set_StartingNumber};
  __property   Word_xp::WdNumberingRule NumberingRule = {read = get_NumberingRule, write = set_NumberingRule};
};
typedef FootnoteOptionsDispT<FootnoteOptions> FootnoteOptionsDisp;

typedef TComInterface<EndnoteOptions>  TCOMEndnoteOptions;

// *********************************************************************//
// DispIntf:  EndnoteOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {BF043168-F4DE-4E7C-B206-741A8B3EF71A}
// *********************************************************************//
template<class T>
class EndnoteOptionsDispT : public TAutoDriver<EndnoteOptions>
{
public:
  EndnoteOptionsDispT(){}

  EndnoteOptionsDispT(EndnoteOptions *pintf)
  {
    TAutoDriver<EndnoteOptions>::Bind(pintf, false);
  }

  EndnoteOptionsDispT(EndnoteOptionsPtr pintf)
  {
    TAutoDriver<EndnoteOptions>::Bind(pintf, true);
  }

  EndnoteOptionsDispT& operator=(EndnoteOptions *pintf)
  {
    TAutoDriver<EndnoteOptions>::Bind(pintf, false);
    return *this;
  }

  EndnoteOptionsDispT& operator=(EndnoteOptionsPtr pintf)
  {
    TAutoDriver<EndnoteOptions>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Location(Word_xp::WdEndnoteLocation* prop/*[out,retval]*/);
  Word_xp::WdEndnoteLocation __fastcall get_Location(void);
  HRESULT         __fastcall set_Location(Word_xp::WdEndnoteLocation prop/*[in]*/);
  HRESULT         __fastcall get_NumberStyle(Word_xp::WdNoteNumberStyle* prop/*[out,retval]*/);
  Word_xp::WdNoteNumberStyle __fastcall get_NumberStyle(void);
  HRESULT         __fastcall set_NumberStyle(Word_xp::WdNoteNumberStyle prop/*[in]*/);
  HRESULT         __fastcall get_StartingNumber(long* prop/*[out,retval]*/);
  long            __fastcall get_StartingNumber(void);
  HRESULT         __fastcall set_StartingNumber(long prop/*[in]*/);
  HRESULT         __fastcall get_NumberingRule(Word_xp::WdNumberingRule* prop/*[out,retval]*/);
  Word_xp::WdNumberingRule __fastcall get_NumberingRule(void);
  HRESULT         __fastcall set_NumberingRule(Word_xp::WdNumberingRule prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   Word_xp::WdEndnoteLocation Location = {read = get_Location, write = set_Location};
  __property   Word_xp::WdNoteNumberStyle NumberStyle = {read = get_NumberStyle, write = set_NumberStyle};
  __property   long            StartingNumber = {read = get_StartingNumber, write = set_StartingNumber};
  __property   Word_xp::WdNumberingRule NumberingRule = {read = get_NumberingRule, write = set_NumberingRule};
};
typedef EndnoteOptionsDispT<EndnoteOptions> EndnoteOptionsDisp;

typedef TComInterface<Reviewers>  TCOMReviewers;

// *********************************************************************//
// DispIntf:  Reviewers
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {12DCDC9A-5418-48A3-BBE6-EB57BAE275E8}
// *********************************************************************//
template<class T>
class ReviewersDispT : public TAutoDriver<Reviewers>
{
public:
  ReviewersDispT(){}

  ReviewersDispT(Reviewers *pintf)
  {
    TAutoDriver<Reviewers>::Bind(pintf, false);
  }

  ReviewersDispT(ReviewersPtr pintf)
  {
    TAutoDriver<Reviewers>::Bind(pintf, true);
  }

  ReviewersDispT& operator=(Reviewers *pintf)
  {
    TAutoDriver<Reviewers>::Bind(pintf, false);
    return *this;
  }

  ReviewersDispT& operator=(ReviewersPtr pintf)
  {
    TAutoDriver<Reviewers>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall Item(VARIANT* Index/*[in]*/, Word_xp::Reviewer** prop/*[out,retval]*/);
  Word_xp::Reviewer* __fastcall Item(VARIANT* Index/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   long            Count = {read = get_Count};
};
typedef ReviewersDispT<Reviewers> ReviewersDisp;

typedef TComInterface<Reviewer>  TCOMReviewer;

// *********************************************************************//
// DispIntf:  Reviewer
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {47CEF4AE-DC32-4220-8AA5-19CCC0E6633A}
// *********************************************************************//
template<class T>
class ReviewerDispT : public TAutoDriver<Reviewer>
{
public:
  ReviewerDispT(){}

  ReviewerDispT(Reviewer *pintf)
  {
    TAutoDriver<Reviewer>::Bind(pintf, false);
  }

  ReviewerDispT(ReviewerPtr pintf)
  {
    TAutoDriver<Reviewer>::Bind(pintf, true);
  }

  ReviewerDispT& operator=(Reviewer *pintf)
  {
    TAutoDriver<Reviewer>::Bind(pintf, false);
    return *this;
  }

  ReviewerDispT& operator=(ReviewerPtr pintf)
  {
    TAutoDriver<Reviewer>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Visible(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};
};
typedef ReviewerDispT<Reviewer> ReviewerDisp;

typedef TComInterface<TaskPane>  TCOMTaskPane;

// *********************************************************************//
// DispIntf:  TaskPane
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {B9F1A4E2-0D0A-43B7-8495-139E7ACBD840}
// *********************************************************************//
template<class T>
class TaskPaneDispT : public TAutoDriver<TaskPane>
{
public:
  TaskPaneDispT(){}

  TaskPaneDispT(TaskPane *pintf)
  {
    TAutoDriver<TaskPane>::Bind(pintf, false);
  }

  TaskPaneDispT(TaskPanePtr pintf)
  {
    TAutoDriver<TaskPane>::Bind(pintf, true);
  }

  TaskPaneDispT& operator=(TaskPane *pintf)
  {
    TAutoDriver<TaskPane>::Bind(pintf, false);
    return *this;
  }

  TaskPaneDispT& operator=(TaskPanePtr pintf)
  {
    TAutoDriver<TaskPane>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall get_Visible(VARIANT_BOOL* prop/*[out,retval]*/);
  VARIANT_BOOL    __fastcall get_Visible(void);
  HRESULT         __fastcall set_Visible(VARIANT_BOOL prop/*[in]*/);

  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
  __property   VARIANT_BOOL    Visible = {read = get_Visible, write = set_Visible};
};
typedef TaskPaneDispT<TaskPane> TaskPaneDisp;

typedef TComInterface<TaskPanes>  TCOMTaskPanes;

// *********************************************************************//
// DispIntf:  TaskPanes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {E6AAEC05-E543-4085-BA92-9BF7D2474F5C}
// *********************************************************************//
template<class T>
class TaskPanesDispT : public TAutoDriver<TaskPanes>
{
public:
  TaskPanesDispT(){}

  TaskPanesDispT(TaskPanes *pintf)
  {
    TAutoDriver<TaskPanes>::Bind(pintf, false);
  }

  TaskPanesDispT(TaskPanesPtr pintf)
  {
    TAutoDriver<TaskPanes>::Bind(pintf, true);
  }

  TaskPanesDispT& operator=(TaskPanes *pintf)
  {
    TAutoDriver<TaskPanes>::Bind(pintf, false);
    return *this;
  }

  TaskPanesDispT& operator=(TaskPanesPtr pintf)
  {
    TAutoDriver<TaskPanes>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/);
  LPUNKNOWN       __fastcall get__NewEnum(void);
  HRESULT         __fastcall get_Count(long* prop/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_Application(Word_xp::WordApplication** prop/*[out,retval]*/);
  Word_xp::WordApplicationPtr __fastcall get_Application(void);
  HRESULT         __fastcall get_Creator(long* prop/*[out,retval]*/);
  long            __fastcall get_Creator(void);
  HRESULT         __fastcall get_Parent(LPDISPATCH* prop/*[out,retval]*/);
  LPDISPATCH      __fastcall get_Parent(void);
  HRESULT         __fastcall Item(Word_xp::WdTaskPanes Index/*[in]*/, 
                                  Word_xp::TaskPane** prop/*[out,retval]*/);
  Word_xp::TaskPane* __fastcall Item(Word_xp::WdTaskPanes Index/*[in]*/);

  __property   LPUNKNOWN       _NewEnum = {read = get__NewEnum};
  __property   long            Count = {read = get_Count};
  __property   Word_xp::WordApplicationPtr Application = {read = get_Application};
  __property   long            Creator = {read = get_Creator};
  __property   LPDISPATCH      Parent = {read = get_Parent};
};
typedef TaskPanesDispT<TaskPanes> TaskPanesDisp;

typedef TComInterface<IApplicationEvents3>  TCOMIApplicationEvents3;

// *********************************************************************//
// DispIntf:  IApplicationEvents3
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020A00-0001-0000-C000-000000000046}
// *********************************************************************//
template<class T>
class IApplicationEvents3DispT : public TAutoDriver<IApplicationEvents3>
{
public:
  IApplicationEvents3DispT(){}

  IApplicationEvents3DispT(IApplicationEvents3 *pintf)
  {
    TAutoDriver<IApplicationEvents3>::Bind(pintf, false);
  }

  IApplicationEvents3DispT(IApplicationEvents3Ptr pintf)
  {
    TAutoDriver<IApplicationEvents3>::Bind(pintf, true);
  }

  IApplicationEvents3DispT& operator=(IApplicationEvents3 *pintf)
  {
    TAutoDriver<IApplicationEvents3>::Bind(pintf, false);
    return *this;
  }

  IApplicationEvents3DispT& operator=(IApplicationEvents3Ptr pintf)
  {
    TAutoDriver<IApplicationEvents3>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Startup();
  HRESULT         __fastcall Quit();
  HRESULT         __fastcall DocumentChange();
  HRESULT         __fastcall DocumentOpen(Word_xp::WordDocument* Doc/*[in]*/);
  HRESULT         __fastcall DocumentBeforeClose(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/);
  HRESULT         __fastcall DocumentBeforePrint(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/);
  HRESULT         __fastcall DocumentBeforeSave(Word_xp::WordDocument* Doc/*[in]*/, 
                                                VARIANT_BOOL* SaveAsUI/*[in]*/, 
                                                VARIANT_BOOL* Cancel/*[in]*/);
  HRESULT         __fastcall NewDocument(Word_xp::WordDocument* Doc/*[in]*/);
  HRESULT         __fastcall WindowActivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                            Word_xp::WINDOW* Wn/*[in]*/);
  HRESULT         __fastcall WindowDeactivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                              Word_xp::WINDOW* Wn/*[in]*/);
  HRESULT         __fastcall WindowSelectionChange(Word_xp::WordSelection* Sel/*[in]*/);
  HRESULT         __fastcall WindowBeforeRightClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                    VARIANT_BOOL* Cancel/*[in]*/);
  HRESULT         __fastcall WindowBeforeDoubleClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                     VARIANT_BOOL* Cancel/*[in]*/);
  HRESULT         __fastcall EPostagePropertyDialog(Word_xp::WordDocument* Doc/*[in]*/);
  HRESULT         __fastcall EPostageInsert(Word_xp::WordDocument* Doc/*[in]*/);
  HRESULT         __fastcall MailMergeAfterMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 Word_xp::WordDocument* DocResult/*[in]*/);
  HRESULT         __fastcall MailMergeAfterRecordMerge(Word_xp::WordDocument* Doc/*[in]*/);
  HRESULT         __fastcall MailMergeBeforeMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                  long StartRecord/*[in]*/, long EndRecord/*[in]*/, 
                                                  VARIANT_BOOL* Cancel/*[in]*/);
  HRESULT         __fastcall MailMergeBeforeRecordMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                        VARIANT_BOOL* Cancel/*[in]*/);
  HRESULT         __fastcall MailMergeDataSourceLoad(Word_xp::WordDocument* Doc/*[in]*/);
  HRESULT         __fastcall MailMergeDataSourceValidate(Word_xp::WordDocument* Doc/*[in]*/, 
                                                         VARIANT_BOOL* Handled/*[in]*/);
  HRESULT         __fastcall MailMergeWizardSendToCustom(Word_xp::WordDocument* Doc/*[in]*/);
  HRESULT         __fastcall MailMergeWizardStateChange(Word_xp::WordDocument* Doc/*[in]*/, 
                                                        int* FromState/*[in]*/, int* ToState/*[in]*/
                                                        , VARIANT_BOOL* Handled/*[in]*/);
  HRESULT         __fastcall WindowSize(Word_xp::WordDocument* Doc/*[in]*/, 
                                        Word_xp::WINDOW* Wn/*[in]*/);

};
typedef IApplicationEvents3DispT<IApplicationEvents3> IApplicationEvents3Disp;

// *********************************************************************//
// SmartIntf: TCOM_Application
// Interface: _Application
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  return (*this)->get_Application(prop);
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TCOM_ApplicationT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  OLECHECK(this->get_Application((Word_xp::WordApplicationPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  return (*this)->get_Creator(prop);
}

template <class T> long __fastcall
TCOM_ApplicationT<T>::get_Creator(void)
{
  long prop;
  OLECHECK(this->get_Creator((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_Parent(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_ApplicationT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Name(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_Name(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Name((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Documents(Word_xp::Documents** prop/*[out,retval]*/)
{
  return (*this)->get_Documents(prop);
}

template <class T> Word_xp::DocumentsPtr __fastcall
TCOM_ApplicationT<T>::get_Documents(void)
{
  Word_xp::DocumentsPtr prop;
  OLECHECK(this->get_Documents((Word_xp::DocumentsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Windoz(Word_xp::Windows** prop/*[out,retval]*/)
{
  return (*this)->get_Windoz(prop);
}

template <class T> Word_xp::WindowsPtr __fastcall
TCOM_ApplicationT<T>::get_Windoz(void)
{
  Word_xp::WindowsPtr prop;
  OLECHECK(this->get_Windoz((Word_xp::WindowsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_ActiveDocument(Word_xp::WordDocument** prop/*[out,retval]*/)
{
  return (*this)->get_ActiveDocument(prop);
}

template <class T> Word_xp::WordDocumentPtr __fastcall
TCOM_ApplicationT<T>::get_ActiveDocument(void)
{
  Word_xp::WordDocumentPtr prop;
  OLECHECK(this->get_ActiveDocument((Word_xp::WordDocumentPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  return (*this)->get_ActiveWindow(prop);
}

template <class T> Word_xp::WINDOWPtr __fastcall
TCOM_ApplicationT<T>::get_ActiveWindow(void)
{
  Word_xp::WINDOWPtr prop;
  OLECHECK(this->get_ActiveWindow((Word_xp::WINDOWPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/)
{
  return (*this)->get_Selection(prop);
}

template <class T> Word_xp::WordSelectionPtr __fastcall
TCOM_ApplicationT<T>::get_Selection(void)
{
  Word_xp::WordSelectionPtr prop;
  OLECHECK(this->get_Selection((Word_xp::WordSelectionPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_WordBasic(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_WordBasic(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_ApplicationT<T>::get_WordBasic(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_WordBasic((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_RecentFiles(Word_xp::RecentFiles** prop/*[out,retval]*/)
{
  return (*this)->get_RecentFiles(prop);
}

template <class T> Word_xp::RecentFilesPtr __fastcall
TCOM_ApplicationT<T>::get_RecentFiles(void)
{
  Word_xp::RecentFilesPtr prop;
  OLECHECK(this->get_RecentFiles((Word_xp::RecentFilesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_NormalTemplate(Word_xp::Template** prop/*[out,retval]*/)
{
  return (*this)->get_NormalTemplate(prop);
}

template <class T> Word_xp::TemplatePtr __fastcall
TCOM_ApplicationT<T>::get_NormalTemplate(void)
{
  Word_xp::TemplatePtr prop;
  OLECHECK(this->get_NormalTemplate((Word_xp::TemplatePtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_System(Word_xp::SYSTEM** prop/*[out,retval]*/)
{
  return (*this)->get_System(prop);
}

template <class T> Word_xp::SYSTEMPtr __fastcall
TCOM_ApplicationT<T>::get_System(void)
{
  Word_xp::SYSTEMPtr prop;
  OLECHECK(this->get_System((Word_xp::SYSTEMPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_AutoCorrect(Word_xp::AutoCorrect** prop/*[out,retval]*/)
{
  return (*this)->get_AutoCorrect(prop);
}

template <class T> Word_xp::AutoCorrectPtr __fastcall
TCOM_ApplicationT<T>::get_AutoCorrect(void)
{
  Word_xp::AutoCorrectPtr prop;
  OLECHECK(this->get_AutoCorrect((Word_xp::AutoCorrectPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_FontNames(Word_xp::FontNames** prop/*[out,retval]*/)
{
  return (*this)->get_FontNames(prop);
}

template <class T> Word_xp::FontNamesPtr __fastcall
TCOM_ApplicationT<T>::get_FontNames(void)
{
  Word_xp::FontNamesPtr prop;
  OLECHECK(this->get_FontNames((Word_xp::FontNamesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_LandscapeFontNames(Word_xp::FontNames** prop/*[out,retval]*/)
{
  return (*this)->get_LandscapeFontNames(prop);
}

template <class T> Word_xp::FontNamesPtr __fastcall
TCOM_ApplicationT<T>::get_LandscapeFontNames(void)
{
  Word_xp::FontNamesPtr prop;
  OLECHECK(this->get_LandscapeFontNames((Word_xp::FontNamesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_PortraitFontNames(Word_xp::FontNames** prop/*[out,retval]*/)
{
  return (*this)->get_PortraitFontNames(prop);
}

template <class T> Word_xp::FontNamesPtr __fastcall
TCOM_ApplicationT<T>::get_PortraitFontNames(void)
{
  Word_xp::FontNamesPtr prop;
  OLECHECK(this->get_PortraitFontNames((Word_xp::FontNamesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Languages(Word_xp::Languages** prop/*[out,retval]*/)
{
  return (*this)->get_Languages(prop);
}

template <class T> Word_xp::LanguagesPtr __fastcall
TCOM_ApplicationT<T>::get_Languages(void)
{
  Word_xp::LanguagesPtr prop;
  OLECHECK(this->get_Languages((Word_xp::LanguagesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Assistant(Office_xp::Assistant** prop/*[out,retval]*/)
{
  return (*this)->get_Assistant(prop);
}

template <class T> Office_xp::AssistantPtr __fastcall
TCOM_ApplicationT<T>::get_Assistant(void)
{
  Office_xp::AssistantPtr prop;
  OLECHECK(this->get_Assistant((Office_xp::AssistantPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Browser(Word_xp::Browser** prop/*[out,retval]*/)
{
  return (*this)->get_Browser(prop);
}

template <class T> Word_xp::BrowserPtr __fastcall
TCOM_ApplicationT<T>::get_Browser(void)
{
  Word_xp::BrowserPtr prop;
  OLECHECK(this->get_Browser((Word_xp::BrowserPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_FileConverters(Word_xp::FileConverters** prop/*[out,retval]*/)
{
  return (*this)->get_FileConverters(prop);
}

template <class T> Word_xp::FileConvertersPtr __fastcall
TCOM_ApplicationT<T>::get_FileConverters(void)
{
  Word_xp::FileConvertersPtr prop;
  OLECHECK(this->get_FileConverters((Word_xp::FileConvertersPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_MailingLabel(Word_xp::MailingLabel** prop/*[out,retval]*/)
{
  return (*this)->get_MailingLabel(prop);
}

template <class T> Word_xp::MailingLabelPtr __fastcall
TCOM_ApplicationT<T>::get_MailingLabel(void)
{
  Word_xp::MailingLabelPtr prop;
  OLECHECK(this->get_MailingLabel((Word_xp::MailingLabelPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Dialogs(Word_xp::Dialogs** prop/*[out,retval]*/)
{
  return (*this)->get_Dialogs(prop);
}

template <class T> Word_xp::DialogsPtr __fastcall
TCOM_ApplicationT<T>::get_Dialogs(void)
{
  Word_xp::DialogsPtr prop;
  OLECHECK(this->get_Dialogs((Word_xp::DialogsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_CaptionLabels(Word_xp::CaptionLabels** prop/*[out,retval]*/)
{
  return (*this)->get_CaptionLabels(prop);
}

template <class T> Word_xp::CaptionLabelsPtr __fastcall
TCOM_ApplicationT<T>::get_CaptionLabels(void)
{
  Word_xp::CaptionLabelsPtr prop;
  OLECHECK(this->get_CaptionLabels((Word_xp::CaptionLabelsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_AutoCaptions(Word_xp::AutoCaptions** prop/*[out,retval]*/)
{
  return (*this)->get_AutoCaptions(prop);
}

template <class T> Word_xp::AutoCaptionsPtr __fastcall
TCOM_ApplicationT<T>::get_AutoCaptions(void)
{
  Word_xp::AutoCaptionsPtr prop;
  OLECHECK(this->get_AutoCaptions((Word_xp::AutoCaptionsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_AddIns(Word_xp::AddIns** prop/*[out,retval]*/)
{
  return (*this)->get_AddIns(prop);
}

template <class T> Word_xp::AddInsPtr __fastcall
TCOM_ApplicationT<T>::get_AddIns(void)
{
  Word_xp::AddInsPtr prop;
  OLECHECK(this->get_AddIns((Word_xp::AddInsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Visible(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_Visible(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_Visible(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_Visible((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_Visible(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_Visible(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Version(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Version(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_Version(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Version((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_ScreenUpdating(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_ScreenUpdating(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_ScreenUpdating(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_ScreenUpdating((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_ScreenUpdating(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_ScreenUpdating(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_PrintPreview(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_PrintPreview(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_PrintPreview(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_PrintPreview((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_PrintPreview(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_PrintPreview(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Tasks(Word_xp::Tasks** prop/*[out,retval]*/)
{
  return (*this)->get_Tasks(prop);
}

template <class T> Word_xp::TasksPtr __fastcall
TCOM_ApplicationT<T>::get_Tasks(void)
{
  Word_xp::TasksPtr prop;
  OLECHECK(this->get_Tasks((Word_xp::TasksPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_DisplayStatusBar(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_DisplayStatusBar(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_DisplayStatusBar(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_DisplayStatusBar((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_DisplayStatusBar(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_DisplayStatusBar(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_SpecialMode(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_SpecialMode(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_SpecialMode(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_SpecialMode((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_UsableWidth(long* prop/*[out,retval]*/)
{
  return (*this)->get_UsableWidth(prop);
}

template <class T> long __fastcall
TCOM_ApplicationT<T>::get_UsableWidth(void)
{
  long prop;
  OLECHECK(this->get_UsableWidth((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_UsableHeight(long* prop/*[out,retval]*/)
{
  return (*this)->get_UsableHeight(prop);
}

template <class T> long __fastcall
TCOM_ApplicationT<T>::get_UsableHeight(void)
{
  long prop;
  OLECHECK(this->get_UsableHeight((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_MathCoprocessorAvailable(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_MathCoprocessorAvailable(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_MathCoprocessorAvailable(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_MathCoprocessorAvailable((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_MouseAvailable(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_MouseAvailable(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_MouseAvailable(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_MouseAvailable((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_International(Word_xp::WdInternationalIndex Index/*[in]*/, 
                                        VARIANT* prop/*[out,retval]*/)
{
  return (*this)->get_International(Index, prop);
}

template <class T> VARIANT __fastcall
TCOM_ApplicationT<T>::get_International(Word_xp::WdInternationalIndex Index/*[in]*/)
{
  VARIANT prop;
  OLECHECK(this->get_International(Index/*[in]*/, (VARIANT*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Build(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Build(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_Build(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Build((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_CapsLock(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_CapsLock(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_CapsLock(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_CapsLock((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_NumLock(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_NumLock(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_NumLock(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_NumLock((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_UserName(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_UserName(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_UserName(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_UserName((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_UserName(BSTR prop/*[in]*/)
{
  return (*this)->set_UserName(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_UserInitials(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_UserInitials(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_UserInitials(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_UserInitials((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_UserInitials(BSTR prop/*[in]*/)
{
  return (*this)->set_UserInitials(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_UserAddress(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_UserAddress(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_UserAddress(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_UserAddress((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_UserAddress(BSTR prop/*[in]*/)
{
  return (*this)->set_UserAddress(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_MacroContainer(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_MacroContainer(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_ApplicationT<T>::get_MacroContainer(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_MacroContainer((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_DisplayRecentFiles(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_DisplayRecentFiles(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_DisplayRecentFiles(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_DisplayRecentFiles((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_DisplayRecentFiles(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_DisplayRecentFiles(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/)
{
  return (*this)->get_CommandBars(prop);
}

template <class T> Office_xp::CommandBarsPtr __fastcall
TCOM_ApplicationT<T>::get_CommandBars(void)
{
  Office_xp::CommandBarsPtr prop;
  OLECHECK(this->get_CommandBars((Office_xp::CommandBarsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_SynonymInfo(BSTR Word/*[in]*/, VARIANT* LanguageID/*[in,opt]*/, 
                                      Word_xp::SynonymInfo** prop/*[out,retval]*/)
{
  return (*this)->get_SynonymInfo(Word, LanguageID, prop);
}

template <class T> Word_xp::SynonymInfo* __fastcall
TCOM_ApplicationT<T>::get_SynonymInfo(BSTR Word/*[in]*/, VARIANT* LanguageID/*[in,opt]*/)
{
  Word_xp::SynonymInfo* prop;
  OLECHECK(this->get_SynonymInfo(Word/*[in]*/, LanguageID/*[in,opt]*/, (Word_xp::SynonymInfo**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_VBE(Vbide_xp::VBE** prop/*[out,retval]*/)
{
  return (*this)->get_VBE(prop);
}

template <class T> Vbide_xp::VBEPtr __fastcall
TCOM_ApplicationT<T>::get_VBE(void)
{
  Vbide_xp::VBEPtr prop;
  OLECHECK(this->get_VBE((Vbide_xp::VBEPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_DefaultSaveFormat(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_DefaultSaveFormat(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_DefaultSaveFormat(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_DefaultSaveFormat((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_DefaultSaveFormat(BSTR prop/*[in]*/)
{
  return (*this)->set_DefaultSaveFormat(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_ListGalleries(Word_xp::ListGalleries** prop/*[out,retval]*/)
{
  return (*this)->get_ListGalleries(prop);
}

template <class T> Word_xp::ListGalleriesPtr __fastcall
TCOM_ApplicationT<T>::get_ListGalleries(void)
{
  Word_xp::ListGalleriesPtr prop;
  OLECHECK(this->get_ListGalleries((Word_xp::ListGalleriesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_ActivePrinter(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_ActivePrinter(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_ActivePrinter(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_ActivePrinter((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_ActivePrinter(BSTR prop/*[in]*/)
{
  return (*this)->set_ActivePrinter(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Templates(Word_xp::Templates** prop/*[out,retval]*/)
{
  return (*this)->get_Templates(prop);
}

template <class T> Word_xp::TemplatesPtr __fastcall
TCOM_ApplicationT<T>::get_Templates(void)
{
  Word_xp::TemplatesPtr prop;
  OLECHECK(this->get_Templates((Word_xp::TemplatesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_CustomizationContext(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_CustomizationContext(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_ApplicationT<T>::get_CustomizationContext(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_CustomizationContext((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_CustomizationContext(LPDISPATCH prop/*[in]*/)
{
  return (*this)->set_CustomizationContext(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_KeyBindings(Word_xp::KeyBindings** prop/*[out,retval]*/)
{
  return (*this)->get_KeyBindings(prop);
}

template <class T> Word_xp::KeyBindingsPtr __fastcall
TCOM_ApplicationT<T>::get_KeyBindings(void)
{
  Word_xp::KeyBindingsPtr prop;
  OLECHECK(this->get_KeyBindings((Word_xp::KeyBindingsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                      BSTR Command/*[in]*/, VARIANT* CommandParameter/*[in,opt]*/, 
                                      Word_xp::KeysBoundTo** prop/*[out,retval]*/)
{
  return (*this)->get_KeysBoundTo(KeyCategory, Command, CommandParameter, prop);
}

template <class T> Word_xp::KeysBoundTo* __fastcall
TCOM_ApplicationT<T>::get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                      BSTR Command/*[in]*/, VARIANT* CommandParameter/*[in,opt]*/)
{
  Word_xp::KeysBoundTo* prop;
  OLECHECK(this->get_KeysBoundTo(KeyCategory/*[in]*/, Command/*[in]*/, CommandParameter/*[in,opt]*/, (Word_xp::KeysBoundTo**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                  Word_xp::KeyBinding** prop/*[out,retval]*/)
{
  return (*this)->get_FindKey(KeyCode, KeyCode2, prop);
}

template <class T> Word_xp::KeyBinding* __fastcall
TCOM_ApplicationT<T>::get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/)
{
  Word_xp::KeyBinding* prop;
  OLECHECK(this->get_FindKey(KeyCode/*[in]*/, KeyCode2/*[in,opt]*/, (Word_xp::KeyBinding**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Caption(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Caption(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_Caption(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Caption((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_Caption(BSTR prop/*[in]*/)
{
  return (*this)->set_Caption(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Path(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Path(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_Path(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Path((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_DisplayScrollBars(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_DisplayScrollBars(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_DisplayScrollBars(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_DisplayScrollBars((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_DisplayScrollBars(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_DisplayScrollBars(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_StartupPath(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_StartupPath(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_StartupPath(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_StartupPath((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_StartupPath(BSTR prop/*[in]*/)
{
  return (*this)->set_StartupPath(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_BackgroundSavingStatus(long* prop/*[out,retval]*/)
{
  return (*this)->get_BackgroundSavingStatus(prop);
}

template <class T> long __fastcall
TCOM_ApplicationT<T>::get_BackgroundSavingStatus(void)
{
  long prop;
  OLECHECK(this->get_BackgroundSavingStatus((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_BackgroundPrintingStatus(long* prop/*[out,retval]*/)
{
  return (*this)->get_BackgroundPrintingStatus(prop);
}

template <class T> long __fastcall
TCOM_ApplicationT<T>::get_BackgroundPrintingStatus(void)
{
  long prop;
  OLECHECK(this->get_BackgroundPrintingStatus((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Left(long* prop/*[out,retval]*/)
{
  return (*this)->get_Left(prop);
}

template <class T> long __fastcall
TCOM_ApplicationT<T>::get_Left(void)
{
  long prop;
  OLECHECK(this->get_Left((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_Left(long prop/*[in]*/)
{
  return (*this)->set_Left(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Top(long* prop/*[out,retval]*/)
{
  return (*this)->get_Top(prop);
}

template <class T> long __fastcall
TCOM_ApplicationT<T>::get_Top(void)
{
  long prop;
  OLECHECK(this->get_Top((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_Top(long prop/*[in]*/)
{
  return (*this)->set_Top(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Width(long* prop/*[out,retval]*/)
{
  return (*this)->get_Width(prop);
}

template <class T> long __fastcall
TCOM_ApplicationT<T>::get_Width(void)
{
  long prop;
  OLECHECK(this->get_Width((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_Width(long prop/*[in]*/)
{
  return (*this)->set_Width(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Height(long* prop/*[out,retval]*/)
{
  return (*this)->get_Height(prop);
}

template <class T> long __fastcall
TCOM_ApplicationT<T>::get_Height(void)
{
  long prop;
  OLECHECK(this->get_Height((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_Height(long prop/*[in]*/)
{
  return (*this)->set_Height(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_WindowState(Word_xp::WdWindowState* prop/*[out,retval]*/)
{
  return (*this)->get_WindowState(prop);
}

template <class T> Word_xp::WdWindowState __fastcall
TCOM_ApplicationT<T>::get_WindowState(void)
{
  Word_xp::WdWindowState prop;
  OLECHECK(this->get_WindowState((Word_xp::WdWindowState*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_WindowState(Word_xp::WdWindowState prop/*[in]*/)
{
  return (*this)->set_WindowState(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_DisplayAutoCompleteTips(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_DisplayAutoCompleteTips(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_DisplayAutoCompleteTips(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_DisplayAutoCompleteTips((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_DisplayAutoCompleteTips(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_DisplayAutoCompleteTips(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Options(Word_xp::Options** prop/*[out,retval]*/)
{
  return (*this)->get_Options(prop);
}

template <class T> Word_xp::OptionsPtr __fastcall
TCOM_ApplicationT<T>::get_Options(void)
{
  Word_xp::OptionsPtr prop;
  OLECHECK(this->get_Options((Word_xp::OptionsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_DisplayAlerts(Word_xp::WdAlertLevel* prop/*[out,retval]*/)
{
  return (*this)->get_DisplayAlerts(prop);
}

template <class T> Word_xp::WdAlertLevel __fastcall
TCOM_ApplicationT<T>::get_DisplayAlerts(void)
{
  Word_xp::WdAlertLevel prop;
  OLECHECK(this->get_DisplayAlerts((Word_xp::WdAlertLevel*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_DisplayAlerts(Word_xp::WdAlertLevel prop/*[in]*/)
{
  return (*this)->set_DisplayAlerts(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_CustomDictionaries(Word_xp::Dictionaries** prop/*[out,retval]*/)
{
  return (*this)->get_CustomDictionaries(prop);
}

template <class T> Word_xp::DictionariesPtr __fastcall
TCOM_ApplicationT<T>::get_CustomDictionaries(void)
{
  Word_xp::DictionariesPtr prop;
  OLECHECK(this->get_CustomDictionaries((Word_xp::DictionariesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_PathSeparator(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_PathSeparator(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_PathSeparator(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_PathSeparator((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_StatusBar(BSTR Param1/*[in]*/)
{
  return (*this)->set_StatusBar(Param1);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_MAPIAvailable(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_MAPIAvailable(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_MAPIAvailable(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_MAPIAvailable((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_DisplayScreenTips(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_DisplayScreenTips(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_DisplayScreenTips(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_DisplayScreenTips((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_DisplayScreenTips(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_DisplayScreenTips(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_EnableCancelKey(Word_xp::WdEnableCancelKey* prop/*[out,retval]*/)
{
  return (*this)->get_EnableCancelKey(prop);
}

template <class T> Word_xp::WdEnableCancelKey __fastcall
TCOM_ApplicationT<T>::get_EnableCancelKey(void)
{
  Word_xp::WdEnableCancelKey prop;
  OLECHECK(this->get_EnableCancelKey((Word_xp::WdEnableCancelKey*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_EnableCancelKey(Word_xp::WdEnableCancelKey prop/*[in]*/)
{
  return (*this)->set_EnableCancelKey(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_UserControl(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_UserControl(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_UserControl(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_UserControl((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_FileSearch(Office_xp::FileSearch** prop/*[out,retval]*/)
{
  return (*this)->get_FileSearch(prop);
}

template <class T> Office_xp::FileSearchPtr __fastcall
TCOM_ApplicationT<T>::get_FileSearch(void)
{
  Office_xp::FileSearchPtr prop;
  OLECHECK(this->get_FileSearch((Office_xp::FileSearchPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_MailSystem(Word_xp::WdMailSystem* prop/*[out,retval]*/)
{
  return (*this)->get_MailSystem(prop);
}

template <class T> Word_xp::WdMailSystem __fastcall
TCOM_ApplicationT<T>::get_MailSystem(void)
{
  Word_xp::WdMailSystem prop;
  OLECHECK(this->get_MailSystem((Word_xp::WdMailSystem*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_DefaultTableSeparator(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_DefaultTableSeparator(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_DefaultTableSeparator(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_DefaultTableSeparator((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_DefaultTableSeparator(BSTR prop/*[in]*/)
{
  return (*this)->set_DefaultTableSeparator(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_ShowVisualBasicEditor(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_ShowVisualBasicEditor(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_ShowVisualBasicEditor(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_ShowVisualBasicEditor((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_ShowVisualBasicEditor(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_ShowVisualBasicEditor(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_BrowseExtraFileTypes(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_BrowseExtraFileTypes(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_BrowseExtraFileTypes(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_BrowseExtraFileTypes((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_BrowseExtraFileTypes(BSTR prop/*[in]*/)
{
  return (*this)->set_BrowseExtraFileTypes(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_IsObjectValid(LPDISPATCH Object/*[in]*/, 
                                        VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_IsObjectValid(Object, prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_IsObjectValid(LPDISPATCH Object/*[in]*/)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_IsObjectValid(Object/*[in]*/, (VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_HangulHanjaDictionaries(Word_xp::HangulHanjaConversionDictionaries** prop/*[out,retval]*/)
{
  return (*this)->get_HangulHanjaDictionaries(prop);
}

template <class T> Word_xp::HangulHanjaConversionDictionariesPtr __fastcall
TCOM_ApplicationT<T>::get_HangulHanjaDictionaries(void)
{
  Word_xp::HangulHanjaConversionDictionariesPtr prop;
  OLECHECK(this->get_HangulHanjaDictionaries((Word_xp::HangulHanjaConversionDictionariesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_MailMessage(Word_xp::MailMessage** prop/*[out,retval]*/)
{
  return (*this)->get_MailMessage(prop);
}

template <class T> Word_xp::MailMessagePtr __fastcall
TCOM_ApplicationT<T>::get_MailMessage(void)
{
  Word_xp::MailMessagePtr prop;
  OLECHECK(this->get_MailMessage((Word_xp::MailMessagePtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_FocusInMailHeader(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_FocusInMailHeader(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_FocusInMailHeader(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_FocusInMailHeader((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::Quit(VARIANT* SaveChanges/*[in,opt]*/, VARIANT* OriginalFormat/*[in,opt]*/, 
                           VARIANT* RouteDocument/*[in,opt]*/)
{
  return (*this)->Quit(SaveChanges, OriginalFormat, RouteDocument);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::ScreenRefresh(void)
{
  return (*this)->ScreenRefresh();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::PrintOutOld(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                                  VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                                  VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                                  VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                                  VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                                  VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                                  VARIANT* FileName/*[in,opt]*/, 
                                  VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                                  VARIANT* ManualDuplexPrint/*[in,opt]*/)
{
  return (*this)->PrintOutOld(Background, Append, Range, OutputFileName, From, To, Item, Copies, 
                              Pages, PageType, PrintToFile, Collate, FileName, ActivePrinterMacGX, 
                              ManualDuplexPrint);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::LookupNameProperties(BSTR Name/*[in]*/)
{
  return (*this)->LookupNameProperties(Name);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::SubstituteFont(BSTR UnavailableFont/*[in]*/, BSTR SubstituteFont/*[in]*/)
{
  return (*this)->SubstituteFont(UnavailableFont, SubstituteFont);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::Repeat(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->Repeat(Times, prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::Repeat(VARIANT* Times/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  OLECHECK(this->Repeat(Times/*[in,opt]*/, (VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::DDEExecute(long Channel/*[in]*/, BSTR Command/*[in]*/)
{
  return (*this)->DDEExecute(Channel, Command);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/, long* prop/*[out,retval]*/)
{
  return (*this)->DDEInitiate(App, Topic, prop);
}

template <class T> long __fastcall
TCOM_ApplicationT<T>::DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/)
{
  long prop;
  OLECHECK(this->DDEInitiate(App/*[in]*/, Topic/*[in]*/, (long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::DDEPoke(long Channel/*[in]*/, BSTR Item/*[in]*/, BSTR Data/*[in]*/)
{
  return (*this)->DDEPoke(Channel, Item, Data);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  return (*this)->DDERequest(Channel, Item, prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/)
{
  BSTR prop = 0;
  OLECHECK(this->DDERequest(Channel/*[in]*/, Item/*[in]*/, (BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::DDETerminate(long Channel/*[in]*/)
{
  return (*this)->DDETerminate(Channel);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::DDETerminateAll(void)
{
  return (*this)->DDETerminateAll();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/, 
                                   VARIANT* Arg3/*[in,opt]*/, VARIANT* Arg4/*[in,opt]*/, 
                                   long* prop/*[out,retval]*/)
{
  return (*this)->BuildKeyCode(Arg1, Arg2, Arg3, Arg4, prop);
}

template <class T> long __fastcall
TCOM_ApplicationT<T>::BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/, 
                                   VARIANT* Arg3/*[in,opt]*/, VARIANT* Arg4/*[in,opt]*/)
{
  long prop;
  OLECHECK(this->BuildKeyCode(Arg1/*[in]*/, Arg2/*[in,opt]*/, Arg3/*[in,opt]*/, Arg4/*[in,opt]*/, (long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                BSTR* prop/*[out,retval]*/)
{
  return (*this)->KeyString(KeyCode, KeyCode2, prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/)
{
  BSTR prop = 0;
  OLECHECK(this->KeyString(KeyCode/*[in]*/, KeyCode2/*[in,opt]*/, (BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::OrganizerCopy(BSTR Source/*[in]*/, BSTR Destination/*[in]*/, BSTR Name/*[in]*/, 
                                    Word_xp::WdOrganizerObject Object/*[in]*/)
{
  return (*this)->OrganizerCopy(Source, Destination, Name, Object);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::OrganizerDelete(BSTR Source/*[in]*/, BSTR Name/*[in]*/, 
                                      Word_xp::WdOrganizerObject Object/*[in]*/)
{
  return (*this)->OrganizerDelete(Source, Name, Object);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::OrganizerRename(BSTR Source/*[in]*/, BSTR Name/*[in]*/, BSTR NewName/*[in]*/, 
                                      Word_xp::WdOrganizerObject Object/*[in]*/)
{
  return (*this)->OrganizerRename(Source, Name, NewName, Object);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::AddAddress(LPSAFEARRAY* TagID/*[in]*/, LPSAFEARRAY* Value/*[in]*/)
{
  return (*this)->AddAddress(TagID, Value);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::GetAddress(VARIANT* Name/*[in,opt]*/, VARIANT* AddressProperties/*[in,opt]*/, 
                                 VARIANT* UseAutoText/*[in,opt]*/, 
                                 VARIANT* DisplaySelectDialog/*[in,opt]*/, 
                                 VARIANT* SelectDialog/*[in,opt]*/, 
                                 VARIANT* CheckNamesDialog/*[in,opt]*/, 
                                 VARIANT* RecentAddressesChoice/*[in,opt]*/, 
                                 VARIANT* UpdateRecentAddresses/*[in,opt]*/, 
                                 BSTR* prop/*[out,retval]*/)
{
  return (*this)->GetAddress(Name, AddressProperties, UseAutoText, DisplaySelectDialog, SelectDialog, 
                             CheckNamesDialog, RecentAddressesChoice, UpdateRecentAddresses, prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::GetAddress(VARIANT* Name/*[in,opt]*/, VARIANT* AddressProperties/*[in,opt]*/, 
                                 VARIANT* UseAutoText/*[in,opt]*/, 
                                 VARIANT* DisplaySelectDialog/*[in,opt]*/, 
                                 VARIANT* SelectDialog/*[in,opt]*/, 
                                 VARIANT* CheckNamesDialog/*[in,opt]*/, 
                                 VARIANT* RecentAddressesChoice/*[in,opt]*/, 
                                 VARIANT* UpdateRecentAddresses/*[in,opt]*/)
{
  BSTR prop = 0;
  OLECHECK(this->GetAddress(Name/*[in,opt]*/, AddressProperties/*[in,opt]*/, UseAutoText/*[in,opt]*/, 
                            DisplaySelectDialog/*[in,opt]*/, SelectDialog/*[in,opt]*/, 
                            CheckNamesDialog/*[in,opt]*/, RecentAddressesChoice/*[in,opt]*/, 
                            UpdateRecentAddresses/*[in,opt]*/, (BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::CheckGrammar(BSTR String/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->CheckGrammar(String, prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::CheckGrammar(BSTR String/*[in]*/)
{
  VARIANT_BOOL prop;
  OLECHECK(this->CheckGrammar(String/*[in]*/, (VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::CheckSpelling(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                                    VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                    VARIANT* MainDictionary/*[in,opt]*/, 
                                    VARIANT* CustomDictionary2/*[in,opt]*/, 
                                    VARIANT* CustomDictionary3/*[in,opt]*/, 
                                    VARIANT* CustomDictionary4/*[in,opt]*/, 
                                    VARIANT* CustomDictionary5/*[in,opt]*/, 
                                    VARIANT* CustomDictionary6/*[in,opt]*/, 
                                    VARIANT* CustomDictionary7/*[in,opt]*/, 
                                    VARIANT* CustomDictionary8/*[in,opt]*/, 
                                    VARIANT* CustomDictionary9/*[in,opt]*/, 
                                    VARIANT* CustomDictionary10/*[in,opt]*/, 
                                    VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->CheckSpelling(Word, CustomDictionary, IgnoreUppercase, MainDictionary, 
                                CustomDictionary2, CustomDictionary3, CustomDictionary4, 
                                CustomDictionary5, CustomDictionary6, CustomDictionary7, 
                                CustomDictionary8, CustomDictionary9, CustomDictionary10, prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::CheckSpelling(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                                    VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                    VARIANT* MainDictionary/*[in,opt]*/, 
                                    VARIANT* CustomDictionary2/*[in,opt]*/, 
                                    VARIANT* CustomDictionary3/*[in,opt]*/, 
                                    VARIANT* CustomDictionary4/*[in,opt]*/, 
                                    VARIANT* CustomDictionary5/*[in,opt]*/, 
                                    VARIANT* CustomDictionary6/*[in,opt]*/, 
                                    VARIANT* CustomDictionary7/*[in,opt]*/, 
                                    VARIANT* CustomDictionary8/*[in,opt]*/, 
                                    VARIANT* CustomDictionary9/*[in,opt]*/, 
                                    VARIANT* CustomDictionary10/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  OLECHECK(this->CheckSpelling(Word/*[in]*/, CustomDictionary/*[in,opt]*/, 
                               IgnoreUppercase/*[in,opt]*/, MainDictionary/*[in,opt]*/, 
                               CustomDictionary2/*[in,opt]*/, CustomDictionary3/*[in,opt]*/, 
                               CustomDictionary4/*[in,opt]*/, CustomDictionary5/*[in,opt]*/, 
                               CustomDictionary6/*[in,opt]*/, CustomDictionary7/*[in,opt]*/, 
                               CustomDictionary8/*[in,opt]*/, CustomDictionary9/*[in,opt]*/, 
                               CustomDictionary10/*[in,opt]*/, (VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::ResetIgnoreAll(void)
{
  return (*this)->ResetIgnoreAll();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                             VARIANT* CustomDictionary/*[in,opt]*/, 
                                             VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                             VARIANT* MainDictionary/*[in,opt]*/, 
                                             VARIANT* SuggestionMode/*[in,opt]*/, 
                                             VARIANT* CustomDictionary2/*[in,opt]*/, 
                                             VARIANT* CustomDictionary3/*[in,opt]*/, 
                                             VARIANT* CustomDictionary4/*[in,opt]*/, 
                                             VARIANT* CustomDictionary5/*[in,opt]*/, 
                                             VARIANT* CustomDictionary6/*[in,opt]*/, 
                                             VARIANT* CustomDictionary7/*[in,opt]*/, 
                                             VARIANT* CustomDictionary8/*[in,opt]*/, 
                                             VARIANT* CustomDictionary9/*[in,opt]*/, 
                                             VARIANT* CustomDictionary10/*[in,opt]*/, 
                                             Word_xp::SpellingSuggestions** prop/*[out,retval]*/)
{
  return (*this)->GetSpellingSuggestions(Word, CustomDictionary, IgnoreUppercase, MainDictionary, 
                                         SuggestionMode, CustomDictionary2, CustomDictionary3, 
                                         CustomDictionary4, CustomDictionary5, CustomDictionary6, 
                                         CustomDictionary7, CustomDictionary8, CustomDictionary9, 
                                         CustomDictionary10, prop);
}

template <class T> Word_xp::SpellingSuggestions* __fastcall
TCOM_ApplicationT<T>::GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                             VARIANT* CustomDictionary/*[in,opt]*/, 
                                             VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                             VARIANT* MainDictionary/*[in,opt]*/, 
                                             VARIANT* SuggestionMode/*[in,opt]*/, 
                                             VARIANT* CustomDictionary2/*[in,opt]*/, 
                                             VARIANT* CustomDictionary3/*[in,opt]*/, 
                                             VARIANT* CustomDictionary4/*[in,opt]*/, 
                                             VARIANT* CustomDictionary5/*[in,opt]*/, 
                                             VARIANT* CustomDictionary6/*[in,opt]*/, 
                                             VARIANT* CustomDictionary7/*[in,opt]*/, 
                                             VARIANT* CustomDictionary8/*[in,opt]*/, 
                                             VARIANT* CustomDictionary9/*[in,opt]*/, 
                                             VARIANT* CustomDictionary10/*[in,opt]*/)
{
  Word_xp::SpellingSuggestions* prop;
  OLECHECK(this->GetSpellingSuggestions(Word/*[in]*/, CustomDictionary/*[in,opt]*/, 
                                        IgnoreUppercase/*[in,opt]*/, MainDictionary/*[in,opt]*/, 
                                        SuggestionMode/*[in,opt]*/, CustomDictionary2/*[in,opt]*/, 
                                        CustomDictionary3/*[in,opt]*/, CustomDictionary4/*[in,opt]*/, 
                                        CustomDictionary5/*[in,opt]*/, CustomDictionary6/*[in,opt]*/, 
                                        CustomDictionary7/*[in,opt]*/, CustomDictionary8/*[in,opt]*/, 
                                        CustomDictionary9/*[in,opt]*/, 
                                        CustomDictionary10/*[in,opt]*/, (Word_xp::SpellingSuggestions**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::GoBack(void)
{
  return (*this)->GoBack();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::Help(VARIANT* HelpType/*[in]*/)
{
  return (*this)->Help(HelpType);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::AutomaticChange(void)
{
  return (*this)->AutomaticChange();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::ShowMe(void)
{
  return (*this)->ShowMe();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::HelpTool(void)
{
  return (*this)->HelpTool();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  return (*this)->NewWindow(prop);
}

template <class T> Word_xp::WINDOW* __fastcall
TCOM_ApplicationT<T>::NewWindow(void)
{
  Word_xp::WINDOW* prop;
  OLECHECK(this->NewWindow((Word_xp::WINDOW**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::ListCommands(VARIANT_BOOL ListAllCommands/*[in]*/)
{
  return (*this)->ListCommands(ListAllCommands);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::ShowClipboard(void)
{
  return (*this)->ShowClipboard();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::OnTime(VARIANT* When/*[in]*/, BSTR Name/*[in]*/, 
                             VARIANT* Tolerance/*[in,opt]*/)
{
  return (*this)->OnTime(When, Name, Tolerance);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::NextLetter(void)
{
  return (*this)->NextLetter();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::MountVolume(BSTR Zone/*[in]*/, BSTR Server/*[in]*/, BSTR Volume/*[in]*/, 
                                  VARIANT* User/*[in,opt]*/, VARIANT* UserPassword/*[in,opt]*/, 
                                  VARIANT* VolumePassword/*[in,opt]*/, short* prop/*[out,retval]*/)
{
  return (*this)->MountVolume(Zone, Server, Volume, User, UserPassword, VolumePassword, prop);
}

template <class T> short __fastcall
TCOM_ApplicationT<T>::MountVolume(BSTR Zone/*[in]*/, BSTR Server/*[in]*/, BSTR Volume/*[in]*/, 
                                  VARIANT* User/*[in,opt]*/, VARIANT* UserPassword/*[in,opt]*/, 
                                  VARIANT* VolumePassword/*[in,opt]*/)
{
  short prop;
  OLECHECK(this->MountVolume(Zone/*[in]*/, Server/*[in]*/, Volume/*[in]*/, User/*[in,opt]*/, 
                             UserPassword/*[in,opt]*/, VolumePassword/*[in,opt]*/, (short*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::CleanString(BSTR String/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  return (*this)->CleanString(String, prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::CleanString(BSTR String/*[in]*/)
{
  BSTR prop = 0;
  OLECHECK(this->CleanString(String/*[in]*/, (BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::SendFax(void)
{
  return (*this)->SendFax();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::ChangeFileOpenDirectory(BSTR Path/*[in]*/)
{
  return (*this)->ChangeFileOpenDirectory(Path);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::RunOld(BSTR MacroName/*[in]*/)
{
  return (*this)->RunOld(MacroName);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::GoForward(void)
{
  return (*this)->GoForward();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::Move(long Left/*[in]*/, long Top/*[in]*/)
{
  return (*this)->Move(Left, Top);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::Resize(long Width/*[in]*/, long Height/*[in]*/)
{
  return (*this)->Resize(Width, Height);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::InchesToPoints(float Inches/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->InchesToPoints(Inches, prop);
}

template <class T> float __fastcall
TCOM_ApplicationT<T>::InchesToPoints(float Inches/*[in]*/)
{
  float prop;
  OLECHECK(this->InchesToPoints(Inches/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::CentimetersToPoints(float Centimeters/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->CentimetersToPoints(Centimeters, prop);
}

template <class T> float __fastcall
TCOM_ApplicationT<T>::CentimetersToPoints(float Centimeters/*[in]*/)
{
  float prop;
  OLECHECK(this->CentimetersToPoints(Centimeters/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::MillimetersToPoints(float Millimeters/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->MillimetersToPoints(Millimeters, prop);
}

template <class T> float __fastcall
TCOM_ApplicationT<T>::MillimetersToPoints(float Millimeters/*[in]*/)
{
  float prop;
  OLECHECK(this->MillimetersToPoints(Millimeters/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::PicasToPoints(float Picas/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->PicasToPoints(Picas, prop);
}

template <class T> float __fastcall
TCOM_ApplicationT<T>::PicasToPoints(float Picas/*[in]*/)
{
  float prop;
  OLECHECK(this->PicasToPoints(Picas/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::LinesToPoints(float Lines/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->LinesToPoints(Lines, prop);
}

template <class T> float __fastcall
TCOM_ApplicationT<T>::LinesToPoints(float Lines/*[in]*/)
{
  float prop;
  OLECHECK(this->LinesToPoints(Lines/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::PointsToInches(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->PointsToInches(Points, prop);
}

template <class T> float __fastcall
TCOM_ApplicationT<T>::PointsToInches(float Points/*[in]*/)
{
  float prop;
  OLECHECK(this->PointsToInches(Points/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::PointsToCentimeters(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->PointsToCentimeters(Points, prop);
}

template <class T> float __fastcall
TCOM_ApplicationT<T>::PointsToCentimeters(float Points/*[in]*/)
{
  float prop;
  OLECHECK(this->PointsToCentimeters(Points/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::PointsToMillimeters(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->PointsToMillimeters(Points, prop);
}

template <class T> float __fastcall
TCOM_ApplicationT<T>::PointsToMillimeters(float Points/*[in]*/)
{
  float prop;
  OLECHECK(this->PointsToMillimeters(Points/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::PointsToPicas(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->PointsToPicas(Points, prop);
}

template <class T> float __fastcall
TCOM_ApplicationT<T>::PointsToPicas(float Points/*[in]*/)
{
  float prop;
  OLECHECK(this->PointsToPicas(Points/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::PointsToLines(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->PointsToLines(Points, prop);
}

template <class T> float __fastcall
TCOM_ApplicationT<T>::PointsToLines(float Points/*[in]*/)
{
  float prop;
  OLECHECK(this->PointsToLines(Points/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::Activate(void)
{
  return (*this)->Activate();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                     float* prop/*[out,retval]*/)
{
  return (*this)->PointsToPixels(Points, fVertical, prop);
}

template <class T> float __fastcall
TCOM_ApplicationT<T>::PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/)
{
  float prop;
  OLECHECK(this->PointsToPixels(Points/*[in]*/, fVertical/*[in,opt]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                     float* prop/*[out,retval]*/)
{
  return (*this)->PixelsToPoints(Pixels, fVertical, prop);
}

template <class T> float __fastcall
TCOM_ApplicationT<T>::PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/)
{
  float prop;
  OLECHECK(this->PixelsToPoints(Pixels/*[in]*/, fVertical/*[in,opt]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::KeyboardLatin(void)
{
  return (*this)->KeyboardLatin();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::KeyboardBidi(void)
{
  return (*this)->KeyboardBidi();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::ToggleKeyboard(void)
{
  return (*this)->ToggleKeyboard();
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::Keyboard(long LangId/*[in,def,opt]*/, long* prop/*[out,retval]*/)
{
  return (*this)->Keyboard(LangId, prop);
}

template <class T> long __fastcall
TCOM_ApplicationT<T>::Keyboard(long LangId/*[in,def,opt]*/)
{
  long prop;
  OLECHECK(this->Keyboard(LangId/*[in,def,opt]*/, (long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::ProductCode(BSTR* prop/*[out,retval]*/)
{
  return (*this)->ProductCode(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::ProductCode(void)
{
  BSTR prop = 0;
  OLECHECK(this->ProductCode((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::DefaultWebOptions(Word_xp::DefaultWebOptions** prop/*[out,retval]*/)
{
  return (*this)->DefaultWebOptions(prop);
}

template <class T> Word_xp::DefaultWebOptions* __fastcall
TCOM_ApplicationT<T>::DefaultWebOptions(void)
{
  Word_xp::DefaultWebOptions* prop;
  OLECHECK(this->DefaultWebOptions((Word_xp::DefaultWebOptions**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::DiscussionSupport(VARIANT* Range/*[in]*/, VARIANT* cid/*[in]*/, 
                                        VARIANT* piCSE/*[in]*/)
{
  return (*this)->DiscussionSupport(Range, cid, piCSE);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::SetDefaultTheme(BSTR Name/*[in]*/, 
                                      Word_xp::WdDocumentMedium DocumentType/*[in]*/)
{
  return (*this)->SetDefaultTheme(Name, DocumentType);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::GetDefaultTheme(Word_xp::WdDocumentMedium DocumentType/*[in]*/, 
                                      BSTR* prop/*[out,retval]*/)
{
  return (*this)->GetDefaultTheme(DocumentType, prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::GetDefaultTheme(Word_xp::WdDocumentMedium DocumentType/*[in]*/)
{
  BSTR prop = 0;
  OLECHECK(this->GetDefaultTheme(DocumentType/*[in]*/, (BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_EmailOptions(Word_xp::EmailOptions** prop/*[out,retval]*/)
{
  return (*this)->get_EmailOptions(prop);
}

template <class T> Word_xp::EmailOptionsPtr __fastcall
TCOM_ApplicationT<T>::get_EmailOptions(void)
{
  Word_xp::EmailOptionsPtr prop;
  OLECHECK(this->get_EmailOptions((Word_xp::EmailOptionsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Language(Office_xp::MsoLanguageID* prop/*[out,retval]*/)
{
  return (*this)->get_Language(prop);
}

template <class T> Office_xp::MsoLanguageID __fastcall
TCOM_ApplicationT<T>::get_Language(void)
{
  Office_xp::MsoLanguageID prop;
  OLECHECK(this->get_Language((Office_xp::MsoLanguageID*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_COMAddIns(Office_xp::COMAddIns** prop/*[out,retval]*/)
{
  return (*this)->get_COMAddIns(prop);
}

template <class T> Office_xp::COMAddInsPtr __fastcall
TCOM_ApplicationT<T>::get_COMAddIns(void)
{
  Office_xp::COMAddInsPtr prop;
  OLECHECK(this->get_COMAddIns((Office_xp::COMAddInsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_CheckLanguage(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_CheckLanguage(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_CheckLanguage(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_CheckLanguage((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_CheckLanguage(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_CheckLanguage(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_LanguageSettings(Office_xp::LanguageSettings** prop/*[out,retval]*/)
{
  return (*this)->get_LanguageSettings(prop);
}

template <class T> Office_xp::LanguageSettingsPtr __fastcall
TCOM_ApplicationT<T>::get_LanguageSettings(void)
{
  Office_xp::LanguageSettingsPtr prop;
  OLECHECK(this->get_LanguageSettings((Office_xp::LanguageSettingsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_Dummy1(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_Dummy1(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_Dummy1(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_Dummy1((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_AnswerWizard(Office_xp::AnswerWizard** prop/*[out,retval]*/)
{
  return (*this)->get_AnswerWizard(prop);
}

template <class T> Office_xp::AnswerWizardPtr __fastcall
TCOM_ApplicationT<T>::get_AnswerWizard(void)
{
  Office_xp::AnswerWizardPtr prop;
  OLECHECK(this->get_AnswerWizard((Office_xp::AnswerWizardPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_FeatureInstall(Office_xp::MsoFeatureInstall* prop/*[out,retval]*/)
{
  return (*this)->get_FeatureInstall(prop);
}

template <class T> Office_xp::MsoFeatureInstall __fastcall
TCOM_ApplicationT<T>::get_FeatureInstall(void)
{
  Office_xp::MsoFeatureInstall prop;
  OLECHECK(this->get_FeatureInstall((Office_xp::MsoFeatureInstall*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_FeatureInstall(Office_xp::MsoFeatureInstall prop/*[in]*/)
{
  return (*this)->set_FeatureInstall(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::PrintOut2000(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                                   VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                                   VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                                   VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                                   VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                                   VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                                   VARIANT* FileName/*[in,opt]*/, 
                                   VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                                   VARIANT* ManualDuplexPrint/*[in,opt]*/, 
                                   VARIANT* PrintZoomColumn/*[in,opt]*/, 
                                   VARIANT* PrintZoomRow/*[in,opt]*/, 
                                   VARIANT* PrintZoomPaperWidth/*[in,opt]*/, 
                                   VARIANT* PrintZoomPaperHeight/*[in,opt]*/)
{
  return (*this)->PrintOut2000(Background, Append, Range, OutputFileName, From, To, Item, Copies, 
                               Pages, PageType, PrintToFile, Collate, FileName, ActivePrinterMacGX, 
                               ManualDuplexPrint, PrintZoomColumn, PrintZoomRow, PrintZoomPaperWidth, 
                               PrintZoomPaperHeight);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::Run(BSTR MacroName/*[in]*/, VARIANT* varg1/*[in,opt]*/, 
                          VARIANT* varg2/*[in,opt]*/, VARIANT* varg3/*[in,opt]*/, 
                          VARIANT* varg4/*[in,opt]*/, VARIANT* varg5/*[in,opt]*/, 
                          VARIANT* varg6/*[in,opt]*/, VARIANT* varg7/*[in,opt]*/, 
                          VARIANT* varg8/*[in,opt]*/, VARIANT* varg9/*[in,opt]*/, 
                          VARIANT* varg10/*[in,opt]*/, VARIANT* varg11/*[in,opt]*/, 
                          VARIANT* varg12/*[in,opt]*/, VARIANT* varg13/*[in,opt]*/, 
                          VARIANT* varg14/*[in,opt]*/, VARIANT* varg15/*[in,opt]*/, 
                          VARIANT* varg16/*[in,opt]*/, VARIANT* varg17/*[in,opt]*/, 
                          VARIANT* varg18/*[in,opt]*/, VARIANT* varg19/*[in,opt]*/, 
                          VARIANT* varg20/*[in,opt]*/, VARIANT* varg21/*[in,opt]*/, 
                          VARIANT* varg22/*[in,opt]*/, VARIANT* varg23/*[in,opt]*/, 
                          VARIANT* varg24/*[in,opt]*/, VARIANT* varg25/*[in,opt]*/, 
                          VARIANT* varg26/*[in,opt]*/, VARIANT* varg27/*[in,opt]*/, 
                          VARIANT* varg28/*[in,opt]*/, VARIANT* varg29/*[in,opt]*/, 
                          VARIANT* varg30/*[in,opt]*/, VARIANT* prop/*[out,retval]*/)
{
  return (*this)->Run(MacroName, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, 
                      varg10, varg11, varg12, varg13, varg14, varg15, varg16, varg17, varg18, varg19, 
                      varg20, varg21, varg22, varg23, varg24, varg25, varg26, varg27, varg28, varg29, 
                      varg30, prop);
}

template <class T> VARIANT __fastcall
TCOM_ApplicationT<T>::Run(BSTR MacroName/*[in]*/, VARIANT* varg1/*[in,opt]*/, 
                          VARIANT* varg2/*[in,opt]*/, VARIANT* varg3/*[in,opt]*/, 
                          VARIANT* varg4/*[in,opt]*/, VARIANT* varg5/*[in,opt]*/, 
                          VARIANT* varg6/*[in,opt]*/, VARIANT* varg7/*[in,opt]*/, 
                          VARIANT* varg8/*[in,opt]*/, VARIANT* varg9/*[in,opt]*/, 
                          VARIANT* varg10/*[in,opt]*/, VARIANT* varg11/*[in,opt]*/, 
                          VARIANT* varg12/*[in,opt]*/, VARIANT* varg13/*[in,opt]*/, 
                          VARIANT* varg14/*[in,opt]*/, VARIANT* varg15/*[in,opt]*/, 
                          VARIANT* varg16/*[in,opt]*/, VARIANT* varg17/*[in,opt]*/, 
                          VARIANT* varg18/*[in,opt]*/, VARIANT* varg19/*[in,opt]*/, 
                          VARIANT* varg20/*[in,opt]*/, VARIANT* varg21/*[in,opt]*/, 
                          VARIANT* varg22/*[in,opt]*/, VARIANT* varg23/*[in,opt]*/, 
                          VARIANT* varg24/*[in,opt]*/, VARIANT* varg25/*[in,opt]*/, 
                          VARIANT* varg26/*[in,opt]*/, VARIANT* varg27/*[in,opt]*/, 
                          VARIANT* varg28/*[in,opt]*/, VARIANT* varg29/*[in,opt]*/, 
                          VARIANT* varg30/*[in,opt]*/)
{
  VARIANT prop;
  OLECHECK(this->Run(MacroName/*[in]*/, varg1/*[in,opt]*/, varg2/*[in,opt]*/, varg3/*[in,opt]*/, 
                     varg4/*[in,opt]*/, varg5/*[in,opt]*/, varg6/*[in,opt]*/, varg7/*[in,opt]*/, 
                     varg8/*[in,opt]*/, varg9/*[in,opt]*/, varg10/*[in,opt]*/, varg11/*[in,opt]*/, 
                     varg12/*[in,opt]*/, varg13/*[in,opt]*/, varg14/*[in,opt]*/, varg15/*[in,opt]*/, 
                     varg16/*[in,opt]*/, varg17/*[in,opt]*/, varg18/*[in,opt]*/, varg19/*[in,opt]*/, 
                     varg20/*[in,opt]*/, varg21/*[in,opt]*/, varg22/*[in,opt]*/, varg23/*[in,opt]*/, 
                     varg24/*[in,opt]*/, varg25/*[in,opt]*/, varg26/*[in,opt]*/, varg27/*[in,opt]*/, 
                     varg28/*[in,opt]*/, varg29/*[in,opt]*/, varg30/*[in,opt]*/, (VARIANT*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::PrintOut(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                               VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                               VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                               VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                               VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                               VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                               VARIANT* FileName/*[in,opt]*/, 
                               VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                               VARIANT* ManualDuplexPrint/*[in,opt]*/, 
                               VARIANT* PrintZoomColumn/*[in,opt]*/, 
                               VARIANT* PrintZoomRow/*[in,opt]*/, 
                               VARIANT* PrintZoomPaperWidth/*[in,opt]*/, 
                               VARIANT* PrintZoomPaperHeight/*[in,opt]*/)
{
  return (*this)->PrintOut(Background, Append, Range, OutputFileName, From, To, Item, Copies, Pages, 
                           PageType, PrintToFile, Collate, FileName, ActivePrinterMacGX, 
                           ManualDuplexPrint, PrintZoomColumn, PrintZoomRow, PrintZoomPaperWidth, 
                           PrintZoomPaperHeight);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_AutomationSecurity(Office_xp::MsoAutomationSecurity* prop/*[out,retval]*/)
{
  return (*this)->get_AutomationSecurity(prop);
}

template <class T> Office_xp::MsoAutomationSecurity __fastcall
TCOM_ApplicationT<T>::get_AutomationSecurity(void)
{
  Office_xp::MsoAutomationSecurity prop;
  OLECHECK(this->get_AutomationSecurity((Office_xp::MsoAutomationSecurity*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_AutomationSecurity(Office_xp::MsoAutomationSecurity prop/*[in]*/)
{
  return (*this)->set_AutomationSecurity(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_FileDialog(Office_xp::MsoFileDialogType FileDialogType/*[in]*/, 
                                     Office_xp::FileDialog** prop/*[out,retval]*/)
{
  return (*this)->get_FileDialog(FileDialogType, prop);
}

template <class T> Office_xp::FileDialog* __fastcall
TCOM_ApplicationT<T>::get_FileDialog(Office_xp::MsoFileDialogType FileDialogType/*[in]*/)
{
  Office_xp::FileDialog* prop;
  OLECHECK(this->get_FileDialog(FileDialogType/*[in]*/, (Office_xp::FileDialog**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_EmailTemplate(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_EmailTemplate(prop);
}

template <class T> BSTR __fastcall
TCOM_ApplicationT<T>::get_EmailTemplate(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_EmailTemplate((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_EmailTemplate(BSTR prop/*[in]*/)
{
  return (*this)->set_EmailTemplate(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_ShowWindowsInTaskbar(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_ShowWindowsInTaskbar(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_ShowWindowsInTaskbar(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_ShowWindowsInTaskbar((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_ShowWindowsInTaskbar(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_ShowWindowsInTaskbar(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_NewDocument(Office_xp::NewFile** prop/*[out,retval]*/)
{
  return (*this)->get_NewDocument(prop);
}

template <class T> Office_xp::NewFilePtr __fastcall
TCOM_ApplicationT<T>::get_NewDocument(void)
{
  Office_xp::NewFilePtr prop;
  OLECHECK(this->get_NewDocument((Office_xp::NewFilePtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_ShowStartupDialog(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_ShowStartupDialog(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_ShowStartupDialog(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_ShowStartupDialog((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_ShowStartupDialog(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_ShowStartupDialog(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_AutoCorrectEmail(Word_xp::AutoCorrect** prop/*[out,retval]*/)
{
  return (*this)->get_AutoCorrectEmail(prop);
}

template <class T> Word_xp::AutoCorrectPtr __fastcall
TCOM_ApplicationT<T>::get_AutoCorrectEmail(void)
{
  Word_xp::AutoCorrectPtr prop;
  OLECHECK(this->get_AutoCorrectEmail((Word_xp::AutoCorrectPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_TaskPanes(Word_xp::TaskPanes** prop/*[out,retval]*/)
{
  return (*this)->get_TaskPanes(prop);
}

template <class T> Word_xp::TaskPanesPtr __fastcall
TCOM_ApplicationT<T>::get_TaskPanes(void)
{
  Word_xp::TaskPanesPtr prop;
  OLECHECK(this->get_TaskPanes((Word_xp::TaskPanesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::get_DefaultLegalBlackline(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_DefaultLegalBlackline(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::get_DefaultLegalBlackline(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_DefaultLegalBlackline((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::set_DefaultLegalBlackline(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_DefaultLegalBlackline(prop);
}

template <class T> HRESULT __fastcall
TCOM_ApplicationT<T>::Dummy2(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->Dummy2(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_ApplicationT<T>::Dummy2(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->Dummy2((VARIANT_BOOL*)&prop));
  return prop;
}

// *********************************************************************//
// DispIntf:  _Application
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020970-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
_ApplicationDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ApplicationDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_ApplicationDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Documents(Word_xp::Documents** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Documents"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Documents**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DocumentsPtr __fastcall
_ApplicationDispT<T>::get_Documents(void)
{
  Word_xp::DocumentsPtr prop;
  this->get_Documents(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Windoz(Word_xp::Windows** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Windows"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Windows**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WindowsPtr __fastcall
_ApplicationDispT<T>::get_Windoz(void)
{
  Word_xp::WindowsPtr prop;
  this->get_Windoz(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_ActiveDocument(Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveDocument"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordDocumentPtr __fastcall
_ApplicationDispT<T>::get_ActiveDocument(void)
{
  Word_xp::WordDocumentPtr prop;
  this->get_ActiveDocument(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveWindow"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WINDOW**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WINDOWPtr __fastcall
_ApplicationDispT<T>::get_ActiveWindow(void)
{
  Word_xp::WINDOWPtr prop;
  this->get_ActiveWindow(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Selection"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordSelection**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordSelectionPtr __fastcall
_ApplicationDispT<T>::get_Selection(void)
{
  Word_xp::WordSelectionPtr prop;
  this->get_Selection(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_WordBasic(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WordBasic"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_ApplicationDispT<T>::get_WordBasic(void)
{
  LPDISPATCH prop;
  this->get_WordBasic((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_RecentFiles(Word_xp::RecentFiles** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecentFiles"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::RecentFiles**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RecentFilesPtr __fastcall
_ApplicationDispT<T>::get_RecentFiles(void)
{
  Word_xp::RecentFilesPtr prop;
  this->get_RecentFiles(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_NormalTemplate(Word_xp::Template** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NormalTemplate"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Template**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TemplatePtr __fastcall
_ApplicationDispT<T>::get_NormalTemplate(void)
{
  Word_xp::TemplatePtr prop;
  this->get_NormalTemplate(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_System(Word_xp::SYSTEM** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("System"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SYSTEM**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SYSTEMPtr __fastcall
_ApplicationDispT<T>::get_System(void)
{
  Word_xp::SYSTEMPtr prop;
  this->get_System(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_AutoCorrect(Word_xp::AutoCorrect** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoCorrect"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoCorrect**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::AutoCorrectPtr __fastcall
_ApplicationDispT<T>::get_AutoCorrect(void)
{
  Word_xp::AutoCorrectPtr prop;
  this->get_AutoCorrect(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_FontNames(Word_xp::FontNames** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FontNames"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FontNames**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FontNamesPtr __fastcall
_ApplicationDispT<T>::get_FontNames(void)
{
  Word_xp::FontNamesPtr prop;
  this->get_FontNames(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_LandscapeFontNames(Word_xp::FontNames** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LandscapeFontNames"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FontNames**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FontNamesPtr __fastcall
_ApplicationDispT<T>::get_LandscapeFontNames(void)
{
  Word_xp::FontNamesPtr prop;
  this->get_LandscapeFontNames(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_PortraitFontNames(Word_xp::FontNames** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PortraitFontNames"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FontNames**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FontNamesPtr __fastcall
_ApplicationDispT<T>::get_PortraitFontNames(void)
{
  Word_xp::FontNamesPtr prop;
  this->get_PortraitFontNames(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Languages(Word_xp::Languages** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Languages"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Languages**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::LanguagesPtr __fastcall
_ApplicationDispT<T>::get_Languages(void)
{
  Word_xp::LanguagesPtr prop;
  this->get_Languages(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Assistant(Office_xp::Assistant** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Assistant"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::Assistant**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::AssistantPtr __fastcall
_ApplicationDispT<T>::get_Assistant(void)
{
  Office_xp::AssistantPtr prop;
  this->get_Assistant(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Browser(Word_xp::Browser** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Browser"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Browser**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BrowserPtr __fastcall
_ApplicationDispT<T>::get_Browser(void)
{
  Word_xp::BrowserPtr prop;
  this->get_Browser(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_FileConverters(Word_xp::FileConverters** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FileConverters"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FileConverters**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FileConvertersPtr __fastcall
_ApplicationDispT<T>::get_FileConverters(void)
{
  Word_xp::FileConvertersPtr prop;
  this->get_FileConverters(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_MailingLabel(Word_xp::MailingLabel** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailingLabel"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailingLabel**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::MailingLabelPtr __fastcall
_ApplicationDispT<T>::get_MailingLabel(void)
{
  Word_xp::MailingLabelPtr prop;
  this->get_MailingLabel(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Dialogs(Word_xp::Dialogs** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Dialogs"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dialogs**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DialogsPtr __fastcall
_ApplicationDispT<T>::get_Dialogs(void)
{
  Word_xp::DialogsPtr prop;
  this->get_Dialogs(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_CaptionLabels(Word_xp::CaptionLabels** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CaptionLabels"), DISPID(20));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CaptionLabels**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CaptionLabelsPtr __fastcall
_ApplicationDispT<T>::get_CaptionLabels(void)
{
  Word_xp::CaptionLabelsPtr prop;
  this->get_CaptionLabels(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_AutoCaptions(Word_xp::AutoCaptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoCaptions"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoCaptions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::AutoCaptionsPtr __fastcall
_ApplicationDispT<T>::get_AutoCaptions(void)
{
  Word_xp::AutoCaptionsPtr prop;
  this->get_AutoCaptions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_AddIns(Word_xp::AddIns** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddIns"), DISPID(22));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AddIns**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::AddInsPtr __fastcall
_ApplicationDispT<T>::get_AddIns(void)
{
  Word_xp::AddInsPtr prop;
  this->get_AddIns(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Visible(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(23));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_Visible(void)
{
  VARIANT_BOOL prop;
  this->get_Visible((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_Visible(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(23));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Version(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Version"), DISPID(24));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_Version(void)
{
  BSTR prop;
  this->get_Version((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_ScreenUpdating(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScreenUpdating"), DISPID(26));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_ScreenUpdating(void)
{
  VARIANT_BOOL prop;
  this->get_ScreenUpdating((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_ScreenUpdating(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScreenUpdating"), DISPID(26));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_PrintPreview(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintPreview"), DISPID(27));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_PrintPreview(void)
{
  VARIANT_BOOL prop;
  this->get_PrintPreview((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_PrintPreview(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintPreview"), DISPID(27));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Tasks(Word_xp::Tasks** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Tasks"), DISPID(28));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Tasks**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TasksPtr __fastcall
_ApplicationDispT<T>::get_Tasks(void)
{
  Word_xp::TasksPtr prop;
  this->get_Tasks(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_DisplayStatusBar(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayStatusBar"), DISPID(29));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_DisplayStatusBar(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayStatusBar((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_DisplayStatusBar(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayStatusBar"), DISPID(29));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_SpecialMode(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpecialMode"), DISPID(30));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_SpecialMode(void)
{
  VARIANT_BOOL prop;
  this->get_SpecialMode((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_UsableWidth(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UsableWidth"), DISPID(33));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ApplicationDispT<T>::get_UsableWidth(void)
{
  long prop;
  this->get_UsableWidth((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_UsableHeight(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UsableHeight"), DISPID(34));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ApplicationDispT<T>::get_UsableHeight(void)
{
  long prop;
  this->get_UsableHeight((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_MathCoprocessorAvailable(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MathCoprocessorAvailable"), DISPID(36));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_MathCoprocessorAvailable(void)
{
  VARIANT_BOOL prop;
  this->get_MathCoprocessorAvailable((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_MouseAvailable(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MouseAvailable"), DISPID(37));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_MouseAvailable(void)
{
  VARIANT_BOOL prop;
  this->get_MouseAvailable((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_International(Word_xp::WdInternationalIndex Index/*[in]*/, 
                                        VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("International"), DISPID(46));
  TAutoArgs<1> _args;
  _args[1] = (int)Index /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
_ApplicationDispT<T>::get_International(Word_xp::WdInternationalIndex Index/*[in]*/)
{
  VARIANT prop;
  this->get_International(Index, (VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Build(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Build"), DISPID(47));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_Build(void)
{
  BSTR prop;
  this->get_Build((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_CapsLock(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CapsLock"), DISPID(48));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_CapsLock(void)
{
  VARIANT_BOOL prop;
  this->get_CapsLock((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_NumLock(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumLock"), DISPID(49));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_NumLock(void)
{
  VARIANT_BOOL prop;
  this->get_NumLock((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_UserName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UserName"), DISPID(52));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_UserName(void)
{
  BSTR prop;
  this->get_UserName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_UserName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UserName"), DISPID(52));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_UserInitials(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UserInitials"), DISPID(53));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_UserInitials(void)
{
  BSTR prop;
  this->get_UserInitials((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_UserInitials(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UserInitials"), DISPID(53));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_UserAddress(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UserAddress"), DISPID(54));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_UserAddress(void)
{
  BSTR prop;
  this->get_UserAddress((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_UserAddress(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UserAddress"), DISPID(54));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_MacroContainer(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MacroContainer"), DISPID(55));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_ApplicationDispT<T>::get_MacroContainer(void)
{
  LPDISPATCH prop;
  this->get_MacroContainer((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_DisplayRecentFiles(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayRecentFiles"), DISPID(56));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_DisplayRecentFiles(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayRecentFiles((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_DisplayRecentFiles(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayRecentFiles"), DISPID(56));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CommandBars"), DISPID(57));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::CommandBars**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::CommandBarsPtr __fastcall
_ApplicationDispT<T>::get_CommandBars(void)
{
  Office_xp::CommandBarsPtr prop;
  this->get_CommandBars(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_SynonymInfo(BSTR Word/*[in]*/, VARIANT* LanguageID/*[in,opt]*/, 
                                      Word_xp::SynonymInfo** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SynonymInfo"), DISPID(59));
  TAutoArgs<2> _args;
  _args[1] = Word /*[VT_BSTR:0]*/;
  _args[2] = LanguageID /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SynonymInfo**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SynonymInfo* __fastcall
_ApplicationDispT<T>::get_SynonymInfo(BSTR Word/*[in]*/, VARIANT* LanguageID/*[in,opt]*/)
{
  Word_xp::SynonymInfo* prop;
  this->get_SynonymInfo(Word, LanguageID, (Word_xp::SynonymInfo**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_VBE(Vbide_xp::VBE** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VBE"), DISPID(61));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Vbide_xp::VBE**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Vbide_xp::VBEPtr __fastcall
_ApplicationDispT<T>::get_VBE(void)
{
  Vbide_xp::VBEPtr prop;
  this->get_VBE(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_DefaultSaveFormat(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultSaveFormat"), DISPID(64));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_DefaultSaveFormat(void)
{
  BSTR prop;
  this->get_DefaultSaveFormat((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_DefaultSaveFormat(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultSaveFormat"), DISPID(64));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_ListGalleries(Word_xp::ListGalleries** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListGalleries"), DISPID(65));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListGalleries**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListGalleriesPtr __fastcall
_ApplicationDispT<T>::get_ListGalleries(void)
{
  Word_xp::ListGalleriesPtr prop;
  this->get_ListGalleries(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_ActivePrinter(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActivePrinter"), DISPID(66));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_ActivePrinter(void)
{
  BSTR prop;
  this->get_ActivePrinter((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_ActivePrinter(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActivePrinter"), DISPID(66));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Templates(Word_xp::Templates** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Templates"), DISPID(67));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Templates**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TemplatesPtr __fastcall
_ApplicationDispT<T>::get_Templates(void)
{
  Word_xp::TemplatesPtr prop;
  this->get_Templates(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_CustomizationContext(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CustomizationContext"), DISPID(68));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_ApplicationDispT<T>::get_CustomizationContext(void)
{
  LPDISPATCH prop;
  this->get_CustomizationContext((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_CustomizationContext(LPDISPATCH prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CustomizationContext"), DISPID(68));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_DISPATCH:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_KeyBindings(Word_xp::KeyBindings** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeyBindings"), DISPID(69));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::KeyBindings**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::KeyBindingsPtr __fastcall
_ApplicationDispT<T>::get_KeyBindings(void)
{
  Word_xp::KeyBindingsPtr prop;
  this->get_KeyBindings(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                      BSTR Command/*[in]*/, VARIANT* CommandParameter/*[in,opt]*/, 
                                      Word_xp::KeysBoundTo** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeysBoundTo"), DISPID(70));
  TAutoArgs<3> _args;
  _args[1] = (int)KeyCategory /*[VT_USERDEFINED:0]*/;
  _args[2] = Command /*[VT_BSTR:0]*/;
  _args[3] = CommandParameter /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::KeysBoundTo**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::KeysBoundTo* __fastcall
_ApplicationDispT<T>::get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, 
                                      BSTR Command/*[in]*/, VARIANT* CommandParameter/*[in,opt]*/)
{
  Word_xp::KeysBoundTo* prop;
  this->get_KeysBoundTo(KeyCategory, Command, CommandParameter, (Word_xp::KeysBoundTo**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                  Word_xp::KeyBinding** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FindKey"), DISPID(71));
  TAutoArgs<2> _args;
  _args[1] = KeyCode /*[VT_I4:0]*/;
  _args[2] = KeyCode2 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::KeyBinding**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::KeyBinding* __fastcall
_ApplicationDispT<T>::get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/)
{
  Word_xp::KeyBinding* prop;
  this->get_FindKey(KeyCode, KeyCode2, (Word_xp::KeyBinding**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Caption(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Caption"), DISPID(80));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_Caption(void)
{
  BSTR prop;
  this->get_Caption((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_Caption(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Caption"), DISPID(80));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Path(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Path"), DISPID(81));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_Path(void)
{
  BSTR prop;
  this->get_Path((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_DisplayScrollBars(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayScrollBars"), DISPID(82));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_DisplayScrollBars(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayScrollBars((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_DisplayScrollBars(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayScrollBars"), DISPID(82));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_StartupPath(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartupPath"), DISPID(83));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_StartupPath(void)
{
  BSTR prop;
  this->get_StartupPath((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_StartupPath(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartupPath"), DISPID(83));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_BackgroundSavingStatus(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BackgroundSavingStatus"), DISPID(85));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ApplicationDispT<T>::get_BackgroundSavingStatus(void)
{
  long prop;
  this->get_BackgroundSavingStatus((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_BackgroundPrintingStatus(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BackgroundPrintingStatus"), DISPID(86));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ApplicationDispT<T>::get_BackgroundPrintingStatus(void)
{
  long prop;
  this->get_BackgroundPrintingStatus((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Left(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Left"), DISPID(87));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ApplicationDispT<T>::get_Left(void)
{
  long prop;
  this->get_Left((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_Left(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Left"), DISPID(87));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Top(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Top"), DISPID(88));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ApplicationDispT<T>::get_Top(void)
{
  long prop;
  this->get_Top((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_Top(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Top"), DISPID(88));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Width(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(89));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ApplicationDispT<T>::get_Width(void)
{
  long prop;
  this->get_Width((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_Width(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(89));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Height(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(90));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ApplicationDispT<T>::get_Height(void)
{
  long prop;
  this->get_Height((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_Height(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(90));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_WindowState(Word_xp::WdWindowState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowState"), DISPID(91));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdWindowState __fastcall
_ApplicationDispT<T>::get_WindowState(void)
{
  Word_xp::WdWindowState prop;
  this->get_WindowState((Word_xp::WdWindowState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_WindowState(Word_xp::WdWindowState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowState"), DISPID(91));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_DisplayAutoCompleteTips(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayAutoCompleteTips"), DISPID(92));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_DisplayAutoCompleteTips(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayAutoCompleteTips((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_DisplayAutoCompleteTips(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayAutoCompleteTips"), DISPID(92));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Options(Word_xp::Options** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Options"), DISPID(93));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Options**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::OptionsPtr __fastcall
_ApplicationDispT<T>::get_Options(void)
{
  Word_xp::OptionsPtr prop;
  this->get_Options(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_DisplayAlerts(Word_xp::WdAlertLevel* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayAlerts"), DISPID(94));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdAlertLevel __fastcall
_ApplicationDispT<T>::get_DisplayAlerts(void)
{
  Word_xp::WdAlertLevel prop;
  this->get_DisplayAlerts((Word_xp::WdAlertLevel*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_DisplayAlerts(Word_xp::WdAlertLevel prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayAlerts"), DISPID(94));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_CustomDictionaries(Word_xp::Dictionaries** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CustomDictionaries"), DISPID(95));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionaries**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DictionariesPtr __fastcall
_ApplicationDispT<T>::get_CustomDictionaries(void)
{
  Word_xp::DictionariesPtr prop;
  this->get_CustomDictionaries(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_PathSeparator(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PathSeparator"), DISPID(96));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_PathSeparator(void)
{
  BSTR prop;
  this->get_PathSeparator((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_StatusBar(BSTR Param1/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StatusBar"), DISPID(97));
  TAutoArgs<1> _args;
  _args[1] = Param1 /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_MAPIAvailable(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MAPIAvailable"), DISPID(98));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_MAPIAvailable(void)
{
  VARIANT_BOOL prop;
  this->get_MAPIAvailable((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_DisplayScreenTips(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayScreenTips"), DISPID(99));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_DisplayScreenTips(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayScreenTips((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_DisplayScreenTips(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayScreenTips"), DISPID(99));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_EnableCancelKey(Word_xp::WdEnableCancelKey* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnableCancelKey"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdEnableCancelKey __fastcall
_ApplicationDispT<T>::get_EnableCancelKey(void)
{
  Word_xp::WdEnableCancelKey prop;
  this->get_EnableCancelKey((Word_xp::WdEnableCancelKey*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_EnableCancelKey(Word_xp::WdEnableCancelKey prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnableCancelKey"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_UserControl(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UserControl"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_UserControl(void)
{
  VARIANT_BOOL prop;
  this->get_UserControl((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_FileSearch(Office_xp::FileSearch** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FileSearch"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::FileSearch**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::FileSearchPtr __fastcall
_ApplicationDispT<T>::get_FileSearch(void)
{
  Office_xp::FileSearchPtr prop;
  this->get_FileSearch(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_MailSystem(Word_xp::WdMailSystem* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailSystem"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdMailSystem __fastcall
_ApplicationDispT<T>::get_MailSystem(void)
{
  Word_xp::WdMailSystem prop;
  this->get_MailSystem((Word_xp::WdMailSystem*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_DefaultTableSeparator(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTableSeparator"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_DefaultTableSeparator(void)
{
  BSTR prop;
  this->get_DefaultTableSeparator((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_DefaultTableSeparator(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTableSeparator"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_ShowVisualBasicEditor(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowVisualBasicEditor"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_ShowVisualBasicEditor(void)
{
  VARIANT_BOOL prop;
  this->get_ShowVisualBasicEditor((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_ShowVisualBasicEditor(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowVisualBasicEditor"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_BrowseExtraFileTypes(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BrowseExtraFileTypes"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_BrowseExtraFileTypes(void)
{
  BSTR prop;
  this->get_BrowseExtraFileTypes((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_BrowseExtraFileTypes(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BrowseExtraFileTypes"), DISPID(108));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_IsObjectValid(LPDISPATCH Object/*[in]*/, 
                                        VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsObjectValid"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = Object /*[VT_DISPATCH:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_IsObjectValid(LPDISPATCH Object/*[in]*/)
{
  VARIANT_BOOL prop;
  this->get_IsObjectValid(Object, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_HangulHanjaDictionaries(Word_xp::HangulHanjaConversionDictionaries** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangulHanjaDictionaries"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HangulHanjaConversionDictionaries**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HangulHanjaConversionDictionariesPtr __fastcall
_ApplicationDispT<T>::get_HangulHanjaDictionaries(void)
{
  Word_xp::HangulHanjaConversionDictionariesPtr prop;
  this->get_HangulHanjaDictionaries(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_MailMessage(Word_xp::MailMessage** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailMessage"), DISPID(348));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMessage**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::MailMessagePtr __fastcall
_ApplicationDispT<T>::get_MailMessage(void)
{
  Word_xp::MailMessagePtr prop;
  this->get_MailMessage(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_FocusInMailHeader(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FocusInMailHeader"), DISPID(386));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_FocusInMailHeader(void)
{
  VARIANT_BOOL prop;
  this->get_FocusInMailHeader((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::Quit(VARIANT* SaveChanges/*[in,opt]*/, VARIANT* OriginalFormat/*[in,opt]*/, 
                           VARIANT* RouteDocument/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Quit"), DISPID(1105));
  TAutoArgs<3> _args;
  _args[1] = SaveChanges /*[VT_VARIANT:1]*/;
  _args[2] = OriginalFormat /*[VT_VARIANT:1]*/;
  _args[3] = RouteDocument /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::ScreenRefresh()
{
  _TDispID _dispid(*this, OLETEXT("ScreenRefresh"), DISPID(301));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::PrintOutOld(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                                  VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                                  VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                                  VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                                  VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                                  VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                                  VARIANT* FileName/*[in,opt]*/, 
                                  VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                                  VARIANT* ManualDuplexPrint/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOutOld"), DISPID(302));
  TAutoArgs<15> _args;
  _args[1] = Background /*[VT_VARIANT:1]*/;
  _args[2] = Append /*[VT_VARIANT:1]*/;
  _args[3] = Range /*[VT_VARIANT:1]*/;
  _args[4] = OutputFileName /*[VT_VARIANT:1]*/;
  _args[5] = From /*[VT_VARIANT:1]*/;
  _args[6] = To /*[VT_VARIANT:1]*/;
  _args[7] = Item /*[VT_VARIANT:1]*/;
  _args[8] = Copies /*[VT_VARIANT:1]*/;
  _args[9] = Pages /*[VT_VARIANT:1]*/;
  _args[10] = PageType /*[VT_VARIANT:1]*/;
  _args[11] = PrintToFile /*[VT_VARIANT:1]*/;
  _args[12] = Collate /*[VT_VARIANT:1]*/;
  _args[13] = FileName /*[VT_VARIANT:1]*/;
  _args[14] = ActivePrinterMacGX /*[VT_VARIANT:1]*/;
  _args[15] = ManualDuplexPrint /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::LookupNameProperties(BSTR Name/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LookupNameProperties"), DISPID(303));
  TAutoArgs<1> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::SubstituteFont(BSTR UnavailableFont/*[in]*/, BSTR SubstituteFont/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SubstituteFont"), DISPID(304));
  TAutoArgs<2> _args;
  _args[1] = UnavailableFont /*[VT_BSTR:0]*/;
  _args[2] = SubstituteFont /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::Repeat(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Repeat"), DISPID(305));
  TAutoArgs<1> _args;
  _args[1] = Times /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::Repeat(VARIANT* Times/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  this->Repeat(Times, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::DDEExecute(long Channel/*[in]*/, BSTR Command/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DDEExecute"), DISPID(310));
  TAutoArgs<2> _args;
  _args[1] = Channel /*[VT_I4:0]*/;
  _args[2] = Command /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/, long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DDEInitiate"), DISPID(311));
  TAutoArgs<2> _args;
  _args[1] = App /*[VT_BSTR:0]*/;
  _args[2] = Topic /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_ApplicationDispT<T>::DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/)
{
  long prop;
  this->DDEInitiate(App, Topic, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::DDEPoke(long Channel/*[in]*/, BSTR Item/*[in]*/, BSTR Data/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DDEPoke"), DISPID(312));
  TAutoArgs<3> _args;
  _args[1] = Channel /*[VT_I4:0]*/;
  _args[2] = Item /*[VT_BSTR:0]*/;
  _args[3] = Data /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DDERequest"), DISPID(313));
  TAutoArgs<2> _args;
  _args[1] = Channel /*[VT_I4:0]*/;
  _args[2] = Item /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/)
{
  BSTR prop;
  this->DDERequest(Channel, Item, (BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::DDETerminate(long Channel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DDETerminate"), DISPID(314));
  TAutoArgs<1> _args;
  _args[1] = Channel /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::DDETerminateAll()
{
  _TDispID _dispid(*this, OLETEXT("DDETerminateAll"), DISPID(315));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/, 
                                   VARIANT* Arg3/*[in,opt]*/, VARIANT* Arg4/*[in,opt]*/, 
                                   long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BuildKeyCode"), DISPID(316));
  TAutoArgs<4> _args;
  _args[1] = (int)Arg1 /*[VT_USERDEFINED:0]*/;
  _args[2] = Arg2 /*[VT_VARIANT:1]*/;
  _args[3] = Arg3 /*[VT_VARIANT:1]*/;
  _args[4] = Arg4 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_ApplicationDispT<T>::BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/, 
                                   VARIANT* Arg3/*[in,opt]*/, VARIANT* Arg4/*[in,opt]*/)
{
  long prop;
  this->BuildKeyCode(Arg1, Arg2, Arg3, Arg4, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                                BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeyString"), DISPID(317));
  TAutoArgs<2> _args;
  _args[1] = KeyCode /*[VT_I4:0]*/;
  _args[2] = KeyCode2 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/)
{
  BSTR prop;
  this->KeyString(KeyCode, KeyCode2, (BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::OrganizerCopy(BSTR Source/*[in]*/, BSTR Destination/*[in]*/, BSTR Name/*[in]*/
                                    , Word_xp::WdOrganizerObject Object/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OrganizerCopy"), DISPID(318));
  TAutoArgs<4> _args;
  _args[1] = Source /*[VT_BSTR:0]*/;
  _args[2] = Destination /*[VT_BSTR:0]*/;
  _args[3] = Name /*[VT_BSTR:0]*/;
  _args[4] = (int)Object /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::OrganizerDelete(BSTR Source/*[in]*/, BSTR Name/*[in]*/, 
                                      Word_xp::WdOrganizerObject Object/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OrganizerDelete"), DISPID(319));
  TAutoArgs<3> _args;
  _args[1] = Source /*[VT_BSTR:0]*/;
  _args[2] = Name /*[VT_BSTR:0]*/;
  _args[3] = (int)Object /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::OrganizerRename(BSTR Source/*[in]*/, BSTR Name/*[in]*/, BSTR NewName/*[in]*/, 
                                      Word_xp::WdOrganizerObject Object/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OrganizerRename"), DISPID(320));
  TAutoArgs<4> _args;
  _args[1] = Source /*[VT_BSTR:0]*/;
  _args[2] = Name /*[VT_BSTR:0]*/;
  _args[3] = NewName /*[VT_BSTR:0]*/;
  _args[4] = (int)Object /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::AddAddress(LPSAFEARRAY* TagID/*[in]*/, LPSAFEARRAY* Value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddAddress"), DISPID(321));
  TAutoArgs<2> _args;
  _args[1] = TagID /*[VT_SAFEARRAY:1]*/;
  _args[2] = Value /*[VT_SAFEARRAY:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::GetAddress(VARIANT* Name/*[in,opt]*/, VARIANT* AddressProperties/*[in,opt]*/, 
                                 VARIANT* UseAutoText/*[in,opt]*/, 
                                 VARIANT* DisplaySelectDialog/*[in,opt]*/, 
                                 VARIANT* SelectDialog/*[in,opt]*/, 
                                 VARIANT* CheckNamesDialog/*[in,opt]*/, 
                                 VARIANT* RecentAddressesChoice/*[in,opt]*/, 
                                 VARIANT* UpdateRecentAddresses/*[in,opt]*/, 
                                 BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetAddress"), DISPID(322));
  TAutoArgs<8> _args;
  _args[1] = Name /*[VT_VARIANT:1]*/;
  _args[2] = AddressProperties /*[VT_VARIANT:1]*/;
  _args[3] = UseAutoText /*[VT_VARIANT:1]*/;
  _args[4] = DisplaySelectDialog /*[VT_VARIANT:1]*/;
  _args[5] = SelectDialog /*[VT_VARIANT:1]*/;
  _args[6] = CheckNamesDialog /*[VT_VARIANT:1]*/;
  _args[7] = RecentAddressesChoice /*[VT_VARIANT:1]*/;
  _args[8] = UpdateRecentAddresses /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::GetAddress(VARIANT* Name/*[in,opt]*/, VARIANT* AddressProperties/*[in,opt]*/, 
                                 VARIANT* UseAutoText/*[in,opt]*/, 
                                 VARIANT* DisplaySelectDialog/*[in,opt]*/, 
                                 VARIANT* SelectDialog/*[in,opt]*/, 
                                 VARIANT* CheckNamesDialog/*[in,opt]*/, 
                                 VARIANT* RecentAddressesChoice/*[in,opt]*/, 
                                 VARIANT* UpdateRecentAddresses/*[in,opt]*/)
{
  BSTR prop;
  this->GetAddress(Name, AddressProperties, UseAutoText, DisplaySelectDialog, SelectDialog, 
                   CheckNamesDialog, RecentAddressesChoice, UpdateRecentAddresses, (BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::CheckGrammar(BSTR String/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckGrammar"), DISPID(323));
  TAutoArgs<1> _args;
  _args[1] = String /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::CheckGrammar(BSTR String/*[in]*/)
{
  VARIANT_BOOL prop;
  this->CheckGrammar(String, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::CheckSpelling(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                                    VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                    VARIANT* MainDictionary/*[in,opt]*/, 
                                    VARIANT* CustomDictionary2/*[in,opt]*/, 
                                    VARIANT* CustomDictionary3/*[in,opt]*/, 
                                    VARIANT* CustomDictionary4/*[in,opt]*/, 
                                    VARIANT* CustomDictionary5/*[in,opt]*/, 
                                    VARIANT* CustomDictionary6/*[in,opt]*/, 
                                    VARIANT* CustomDictionary7/*[in,opt]*/, 
                                    VARIANT* CustomDictionary8/*[in,opt]*/, 
                                    VARIANT* CustomDictionary9/*[in,opt]*/, 
                                    VARIANT* CustomDictionary10/*[in,opt]*/, 
                                    VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckSpelling"), DISPID(324));
  TAutoArgs<13> _args;
  _args[1] = Word /*[VT_BSTR:0]*/;
  _args[2] = CustomDictionary /*[VT_VARIANT:1]*/;
  _args[3] = IgnoreUppercase /*[VT_VARIANT:1]*/;
  _args[4] = MainDictionary /*[VT_VARIANT:1]*/;
  _args[5] = CustomDictionary2 /*[VT_VARIANT:1]*/;
  _args[6] = CustomDictionary3 /*[VT_VARIANT:1]*/;
  _args[7] = CustomDictionary4 /*[VT_VARIANT:1]*/;
  _args[8] = CustomDictionary5 /*[VT_VARIANT:1]*/;
  _args[9] = CustomDictionary6 /*[VT_VARIANT:1]*/;
  _args[10] = CustomDictionary7 /*[VT_VARIANT:1]*/;
  _args[11] = CustomDictionary8 /*[VT_VARIANT:1]*/;
  _args[12] = CustomDictionary9 /*[VT_VARIANT:1]*/;
  _args[13] = CustomDictionary10 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::CheckSpelling(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                                    VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                    VARIANT* MainDictionary/*[in,opt]*/, 
                                    VARIANT* CustomDictionary2/*[in,opt]*/, 
                                    VARIANT* CustomDictionary3/*[in,opt]*/, 
                                    VARIANT* CustomDictionary4/*[in,opt]*/, 
                                    VARIANT* CustomDictionary5/*[in,opt]*/, 
                                    VARIANT* CustomDictionary6/*[in,opt]*/, 
                                    VARIANT* CustomDictionary7/*[in,opt]*/, 
                                    VARIANT* CustomDictionary8/*[in,opt]*/, 
                                    VARIANT* CustomDictionary9/*[in,opt]*/, 
                                    VARIANT* CustomDictionary10/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  this->CheckSpelling(Word, CustomDictionary, IgnoreUppercase, MainDictionary, CustomDictionary2, 
                      CustomDictionary3, CustomDictionary4, CustomDictionary5, CustomDictionary6, 
                      CustomDictionary7, CustomDictionary8, CustomDictionary9, CustomDictionary10, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::ResetIgnoreAll()
{
  _TDispID _dispid(*this, OLETEXT("ResetIgnoreAll"), DISPID(326));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                             VARIANT* CustomDictionary/*[in,opt]*/, 
                                             VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                             VARIANT* MainDictionary/*[in,opt]*/, 
                                             VARIANT* SuggestionMode/*[in,opt]*/, 
                                             VARIANT* CustomDictionary2/*[in,opt]*/, 
                                             VARIANT* CustomDictionary3/*[in,opt]*/, 
                                             VARIANT* CustomDictionary4/*[in,opt]*/, 
                                             VARIANT* CustomDictionary5/*[in,opt]*/, 
                                             VARIANT* CustomDictionary6/*[in,opt]*/, 
                                             VARIANT* CustomDictionary7/*[in,opt]*/, 
                                             VARIANT* CustomDictionary8/*[in,opt]*/, 
                                             VARIANT* CustomDictionary9/*[in,opt]*/, 
                                             VARIANT* CustomDictionary10/*[in,opt]*/, 
                                             Word_xp::SpellingSuggestions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetSpellingSuggestions"), DISPID(327));
  TAutoArgs<14> _args;
  _args[1] = Word /*[VT_BSTR:0]*/;
  _args[2] = CustomDictionary /*[VT_VARIANT:1]*/;
  _args[3] = IgnoreUppercase /*[VT_VARIANT:1]*/;
  _args[4] = MainDictionary /*[VT_VARIANT:1]*/;
  _args[5] = SuggestionMode /*[VT_VARIANT:1]*/;
  _args[6] = CustomDictionary2 /*[VT_VARIANT:1]*/;
  _args[7] = CustomDictionary3 /*[VT_VARIANT:1]*/;
  _args[8] = CustomDictionary4 /*[VT_VARIANT:1]*/;
  _args[9] = CustomDictionary5 /*[VT_VARIANT:1]*/;
  _args[10] = CustomDictionary6 /*[VT_VARIANT:1]*/;
  _args[11] = CustomDictionary7 /*[VT_VARIANT:1]*/;
  _args[12] = CustomDictionary8 /*[VT_VARIANT:1]*/;
  _args[13] = CustomDictionary9 /*[VT_VARIANT:1]*/;
  _args[14] = CustomDictionary10 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SpellingSuggestions**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::SpellingSuggestions* __fastcall
_ApplicationDispT<T>::GetSpellingSuggestions(BSTR Word/*[in]*/, 
                                             VARIANT* CustomDictionary/*[in,opt]*/, 
                                             VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                             VARIANT* MainDictionary/*[in,opt]*/, 
                                             VARIANT* SuggestionMode/*[in,opt]*/, 
                                             VARIANT* CustomDictionary2/*[in,opt]*/, 
                                             VARIANT* CustomDictionary3/*[in,opt]*/, 
                                             VARIANT* CustomDictionary4/*[in,opt]*/, 
                                             VARIANT* CustomDictionary5/*[in,opt]*/, 
                                             VARIANT* CustomDictionary6/*[in,opt]*/, 
                                             VARIANT* CustomDictionary7/*[in,opt]*/, 
                                             VARIANT* CustomDictionary8/*[in,opt]*/, 
                                             VARIANT* CustomDictionary9/*[in,opt]*/, 
                                             VARIANT* CustomDictionary10/*[in,opt]*/)
{
  Word_xp::SpellingSuggestions* prop;
  this->GetSpellingSuggestions(Word, CustomDictionary, IgnoreUppercase, MainDictionary, 
                               SuggestionMode, CustomDictionary2, CustomDictionary3, 
                               CustomDictionary4, CustomDictionary5, CustomDictionary6, 
                               CustomDictionary7, CustomDictionary8, CustomDictionary9, 
                               CustomDictionary10, (Word_xp::SpellingSuggestions**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::GoBack()
{
  _TDispID _dispid(*this, OLETEXT("GoBack"), DISPID(328));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::Help(VARIANT* HelpType/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Help"), DISPID(329));
  TAutoArgs<1> _args;
  _args[1] = HelpType /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::AutomaticChange()
{
  _TDispID _dispid(*this, OLETEXT("AutomaticChange"), DISPID(330));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::ShowMe()
{
  _TDispID _dispid(*this, OLETEXT("ShowMe"), DISPID(331));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::HelpTool()
{
  _TDispID _dispid(*this, OLETEXT("HelpTool"), DISPID(332));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NewWindow"), DISPID(345));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WINDOW**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WINDOW* __fastcall
_ApplicationDispT<T>::NewWindow(void)
{
  Word_xp::WINDOW* prop;
  this->NewWindow((Word_xp::WINDOW**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::ListCommands(VARIANT_BOOL ListAllCommands/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListCommands"), DISPID(346));
  TAutoArgs<1> _args;
  _args[1] = ListAllCommands /*[VT_BOOL:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::ShowClipboard()
{
  _TDispID _dispid(*this, OLETEXT("ShowClipboard"), DISPID(349));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::OnTime(VARIANT* When/*[in]*/, BSTR Name/*[in]*/, 
                             VARIANT* Tolerance/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("OnTime"), DISPID(350));
  TAutoArgs<3> _args;
  _args[1] = When /*[VT_VARIANT:1]*/;
  _args[2] = Name /*[VT_BSTR:0]*/;
  _args[3] = Tolerance /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::NextLetter()
{
  _TDispID _dispid(*this, OLETEXT("NextLetter"), DISPID(351));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::MountVolume(BSTR Zone/*[in]*/, BSTR Server/*[in]*/, BSTR Volume/*[in]*/, 
                                  VARIANT* User/*[in,opt]*/, VARIANT* UserPassword/*[in,opt]*/, 
                                  VARIANT* VolumePassword/*[in,opt]*/, short* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MountVolume"), DISPID(353));
  TAutoArgs<6> _args;
  _args[1] = Zone /*[VT_BSTR:0]*/;
  _args[2] = Server /*[VT_BSTR:0]*/;
  _args[3] = Volume /*[VT_BSTR:0]*/;
  _args[4] = User /*[VT_VARIANT:1]*/;
  _args[5] = UserPassword /*[VT_VARIANT:1]*/;
  _args[6] = VolumePassword /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I2:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> short __fastcall
_ApplicationDispT<T>::MountVolume(BSTR Zone/*[in]*/, BSTR Server/*[in]*/, BSTR Volume/*[in]*/, 
                                  VARIANT* User/*[in,opt]*/, VARIANT* UserPassword/*[in,opt]*/, 
                                  VARIANT* VolumePassword/*[in,opt]*/)
{
  short prop;
  this->MountVolume(Zone, Server, Volume, User, UserPassword, VolumePassword, (short*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::CleanString(BSTR String/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CleanString"), DISPID(354));
  TAutoArgs<1> _args;
  _args[1] = String /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::CleanString(BSTR String/*[in]*/)
{
  BSTR prop;
  this->CleanString(String, (BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::SendFax()
{
  _TDispID _dispid(*this, OLETEXT("SendFax"), DISPID(356));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::ChangeFileOpenDirectory(BSTR Path/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChangeFileOpenDirectory"), DISPID(357));
  TAutoArgs<1> _args;
  _args[1] = Path /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::RunOld(BSTR MacroName/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RunOld"), DISPID(358));
  TAutoArgs<1> _args;
  _args[1] = MacroName /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::GoForward()
{
  _TDispID _dispid(*this, OLETEXT("GoForward"), DISPID(359));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::Move(long Left/*[in]*/, long Top/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Move"), DISPID(360));
  TAutoArgs<2> _args;
  _args[1] = Left /*[VT_I4:0]*/;
  _args[2] = Top /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::Resize(long Width/*[in]*/, long Height/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Resize"), DISPID(361));
  TAutoArgs<2> _args;
  _args[1] = Width /*[VT_I4:0]*/;
  _args[2] = Height /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::InchesToPoints(float Inches/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InchesToPoints"), DISPID(370));
  TAutoArgs<1> _args;
  _args[1] = Inches /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_ApplicationDispT<T>::InchesToPoints(float Inches/*[in]*/)
{
  float prop;
  this->InchesToPoints(Inches, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::CentimetersToPoints(float Centimeters/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CentimetersToPoints"), DISPID(371));
  TAutoArgs<1> _args;
  _args[1] = Centimeters /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_ApplicationDispT<T>::CentimetersToPoints(float Centimeters/*[in]*/)
{
  float prop;
  this->CentimetersToPoints(Centimeters, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::MillimetersToPoints(float Millimeters/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MillimetersToPoints"), DISPID(372));
  TAutoArgs<1> _args;
  _args[1] = Millimeters /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_ApplicationDispT<T>::MillimetersToPoints(float Millimeters/*[in]*/)
{
  float prop;
  this->MillimetersToPoints(Millimeters, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::PicasToPoints(float Picas/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PicasToPoints"), DISPID(373));
  TAutoArgs<1> _args;
  _args[1] = Picas /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_ApplicationDispT<T>::PicasToPoints(float Picas/*[in]*/)
{
  float prop;
  this->PicasToPoints(Picas, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::LinesToPoints(float Lines/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinesToPoints"), DISPID(374));
  TAutoArgs<1> _args;
  _args[1] = Lines /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_ApplicationDispT<T>::LinesToPoints(float Lines/*[in]*/)
{
  float prop;
  this->LinesToPoints(Lines, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::PointsToInches(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PointsToInches"), DISPID(380));
  TAutoArgs<1> _args;
  _args[1] = Points /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_ApplicationDispT<T>::PointsToInches(float Points/*[in]*/)
{
  float prop;
  this->PointsToInches(Points, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::PointsToCentimeters(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PointsToCentimeters"), DISPID(381));
  TAutoArgs<1> _args;
  _args[1] = Points /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_ApplicationDispT<T>::PointsToCentimeters(float Points/*[in]*/)
{
  float prop;
  this->PointsToCentimeters(Points, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::PointsToMillimeters(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PointsToMillimeters"), DISPID(382));
  TAutoArgs<1> _args;
  _args[1] = Points /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_ApplicationDispT<T>::PointsToMillimeters(float Points/*[in]*/)
{
  float prop;
  this->PointsToMillimeters(Points, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::PointsToPicas(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PointsToPicas"), DISPID(383));
  TAutoArgs<1> _args;
  _args[1] = Points /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_ApplicationDispT<T>::PointsToPicas(float Points/*[in]*/)
{
  float prop;
  this->PointsToPicas(Points, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::PointsToLines(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PointsToLines"), DISPID(384));
  TAutoArgs<1> _args;
  _args[1] = Points /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_ApplicationDispT<T>::PointsToLines(float Points/*[in]*/)
{
  float prop;
  this->PointsToLines(Points, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::Activate()
{
  _TDispID _dispid(*this, OLETEXT("Activate"), DISPID(385));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                     float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PointsToPixels"), DISPID(387));
  TAutoArgs<2> _args;
  _args[1] = Points /*[VT_R4:0]*/;
  _args[2] = fVertical /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_ApplicationDispT<T>::PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/)
{
  float prop;
  this->PointsToPixels(Points, fVertical, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                     float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PixelsToPoints"), DISPID(388));
  TAutoArgs<2> _args;
  _args[1] = Pixels /*[VT_R4:0]*/;
  _args[2] = fVertical /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_ApplicationDispT<T>::PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/)
{
  float prop;
  this->PixelsToPoints(Pixels, fVertical, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::KeyboardLatin()
{
  _TDispID _dispid(*this, OLETEXT("KeyboardLatin"), DISPID(400));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::KeyboardBidi()
{
  _TDispID _dispid(*this, OLETEXT("KeyboardBidi"), DISPID(401));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::ToggleKeyboard()
{
  _TDispID _dispid(*this, OLETEXT("ToggleKeyboard"), DISPID(402));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::Keyboard(long LangId/*[in,def,opt]*/, long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Keyboard"), DISPID(446));
  TAutoArgs<1> _args;
  _args[1] = LangId /*[VT_I4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_ApplicationDispT<T>::Keyboard(long LangId/*[in,def,opt]*/)
{
  long prop;
  this->Keyboard(LangId, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::ProductCode(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ProductCode"), DISPID(404));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::ProductCode(void)
{
  BSTR prop;
  this->ProductCode((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::DefaultWebOptions(Word_xp::DefaultWebOptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultWebOptions"), DISPID(405));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DefaultWebOptions**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::DefaultWebOptions* __fastcall
_ApplicationDispT<T>::DefaultWebOptions(void)
{
  Word_xp::DefaultWebOptions* prop;
  this->DefaultWebOptions((Word_xp::DefaultWebOptions**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::DiscussionSupport(VARIANT* Range/*[in]*/, VARIANT* cid/*[in]*/, 
                                        VARIANT* piCSE/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DiscussionSupport"), DISPID(407));
  TAutoArgs<3> _args;
  _args[1] = Range /*[VT_VARIANT:1]*/;
  _args[2] = cid /*[VT_VARIANT:1]*/;
  _args[3] = piCSE /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::SetDefaultTheme(BSTR Name/*[in]*/, 
                                      Word_xp::WdDocumentMedium DocumentType/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetDefaultTheme"), DISPID(414));
  TAutoArgs<2> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = (int)DocumentType /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::GetDefaultTheme(Word_xp::WdDocumentMedium DocumentType/*[in]*/, 
                                      BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetDefaultTheme"), DISPID(416));
  TAutoArgs<1> _args;
  _args[1] = (int)DocumentType /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::GetDefaultTheme(Word_xp::WdDocumentMedium DocumentType/*[in]*/)
{
  BSTR prop;
  this->GetDefaultTheme(DocumentType, (BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_EmailOptions(Word_xp::EmailOptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmailOptions"), DISPID(389));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::EmailOptions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::EmailOptionsPtr __fastcall
_ApplicationDispT<T>::get_EmailOptions(void)
{
  Word_xp::EmailOptionsPtr prop;
  this->get_EmailOptions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Language(Office_xp::MsoLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Language"), DISPID(391));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoLanguageID __fastcall
_ApplicationDispT<T>::get_Language(void)
{
  Office_xp::MsoLanguageID prop;
  this->get_Language((Office_xp::MsoLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_COMAddIns(Office_xp::COMAddIns** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("COMAddIns"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::COMAddIns**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::COMAddInsPtr __fastcall
_ApplicationDispT<T>::get_COMAddIns(void)
{
  Office_xp::COMAddInsPtr prop;
  this->get_COMAddIns(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_CheckLanguage(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckLanguage"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_CheckLanguage(void)
{
  VARIANT_BOOL prop;
  this->get_CheckLanguage((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_CheckLanguage(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckLanguage"), DISPID(112));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_LanguageSettings(Office_xp::LanguageSettings** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageSettings"), DISPID(403));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::LanguageSettings**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::LanguageSettingsPtr __fastcall
_ApplicationDispT<T>::get_LanguageSettings(void)
{
  Office_xp::LanguageSettingsPtr prop;
  this->get_LanguageSettings(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_Dummy1(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Dummy1"), DISPID(406));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_Dummy1(void)
{
  VARIANT_BOOL prop;
  this->get_Dummy1((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_AnswerWizard(Office_xp::AnswerWizard** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AnswerWizard"), DISPID(409));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::AnswerWizard**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::AnswerWizardPtr __fastcall
_ApplicationDispT<T>::get_AnswerWizard(void)
{
  Office_xp::AnswerWizardPtr prop;
  this->get_AnswerWizard(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_FeatureInstall(Office_xp::MsoFeatureInstall* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FeatureInstall"), DISPID(447));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoFeatureInstall __fastcall
_ApplicationDispT<T>::get_FeatureInstall(void)
{
  Office_xp::MsoFeatureInstall prop;
  this->get_FeatureInstall((Office_xp::MsoFeatureInstall*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_FeatureInstall(Office_xp::MsoFeatureInstall prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FeatureInstall"), DISPID(447));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::PrintOut2000(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                                   VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                                   VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                                   VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                                   VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                                   VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                                   VARIANT* FileName/*[in,opt]*/, 
                                   VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                                   VARIANT* ManualDuplexPrint/*[in,opt]*/, 
                                   VARIANT* PrintZoomColumn/*[in,opt]*/, 
                                   VARIANT* PrintZoomRow/*[in,opt]*/, 
                                   VARIANT* PrintZoomPaperWidth/*[in,opt]*/, 
                                   VARIANT* PrintZoomPaperHeight/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOut2000"), DISPID(444));
  TAutoArgs<19> _args;
  _args[1] = Background /*[VT_VARIANT:1]*/;
  _args[2] = Append /*[VT_VARIANT:1]*/;
  _args[3] = Range /*[VT_VARIANT:1]*/;
  _args[4] = OutputFileName /*[VT_VARIANT:1]*/;
  _args[5] = From /*[VT_VARIANT:1]*/;
  _args[6] = To /*[VT_VARIANT:1]*/;
  _args[7] = Item /*[VT_VARIANT:1]*/;
  _args[8] = Copies /*[VT_VARIANT:1]*/;
  _args[9] = Pages /*[VT_VARIANT:1]*/;
  _args[10] = PageType /*[VT_VARIANT:1]*/;
  _args[11] = PrintToFile /*[VT_VARIANT:1]*/;
  _args[12] = Collate /*[VT_VARIANT:1]*/;
  _args[13] = FileName /*[VT_VARIANT:1]*/;
  _args[14] = ActivePrinterMacGX /*[VT_VARIANT:1]*/;
  _args[15] = ManualDuplexPrint /*[VT_VARIANT:1]*/;
  _args[16] = PrintZoomColumn /*[VT_VARIANT:1]*/;
  _args[17] = PrintZoomRow /*[VT_VARIANT:1]*/;
  _args[18] = PrintZoomPaperWidth /*[VT_VARIANT:1]*/;
  _args[19] = PrintZoomPaperHeight /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::Run(BSTR MacroName/*[in]*/, VARIANT* varg1/*[in,opt]*/, 
                          VARIANT* varg2/*[in,opt]*/, VARIANT* varg3/*[in,opt]*/, 
                          VARIANT* varg4/*[in,opt]*/, VARIANT* varg5/*[in,opt]*/, 
                          VARIANT* varg6/*[in,opt]*/, VARIANT* varg7/*[in,opt]*/, 
                          VARIANT* varg8/*[in,opt]*/, VARIANT* varg9/*[in,opt]*/, 
                          VARIANT* varg10/*[in,opt]*/, VARIANT* varg11/*[in,opt]*/, 
                          VARIANT* varg12/*[in,opt]*/, VARIANT* varg13/*[in,opt]*/, 
                          VARIANT* varg14/*[in,opt]*/, VARIANT* varg15/*[in,opt]*/, 
                          VARIANT* varg16/*[in,opt]*/, VARIANT* varg17/*[in,opt]*/, 
                          VARIANT* varg18/*[in,opt]*/, VARIANT* varg19/*[in,opt]*/, 
                          VARIANT* varg20/*[in,opt]*/, VARIANT* varg21/*[in,opt]*/, 
                          VARIANT* varg22/*[in,opt]*/, VARIANT* varg23/*[in,opt]*/, 
                          VARIANT* varg24/*[in,opt]*/, VARIANT* varg25/*[in,opt]*/, 
                          VARIANT* varg26/*[in,opt]*/, VARIANT* varg27/*[in,opt]*/, 
                          VARIANT* varg28/*[in,opt]*/, VARIANT* varg29/*[in,opt]*/, 
                          VARIANT* varg30/*[in,opt]*/, VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Run"), DISPID(445));
  TAutoArgs<31> _args;
  _args[1] = MacroName /*[VT_BSTR:0]*/;
  _args[2] = varg1 /*[VT_VARIANT:1]*/;
  _args[3] = varg2 /*[VT_VARIANT:1]*/;
  _args[4] = varg3 /*[VT_VARIANT:1]*/;
  _args[5] = varg4 /*[VT_VARIANT:1]*/;
  _args[6] = varg5 /*[VT_VARIANT:1]*/;
  _args[7] = varg6 /*[VT_VARIANT:1]*/;
  _args[8] = varg7 /*[VT_VARIANT:1]*/;
  _args[9] = varg8 /*[VT_VARIANT:1]*/;
  _args[10] = varg9 /*[VT_VARIANT:1]*/;
  _args[11] = varg10 /*[VT_VARIANT:1]*/;
  _args[12] = varg11 /*[VT_VARIANT:1]*/;
  _args[13] = varg12 /*[VT_VARIANT:1]*/;
  _args[14] = varg13 /*[VT_VARIANT:1]*/;
  _args[15] = varg14 /*[VT_VARIANT:1]*/;
  _args[16] = varg15 /*[VT_VARIANT:1]*/;
  _args[17] = varg16 /*[VT_VARIANT:1]*/;
  _args[18] = varg17 /*[VT_VARIANT:1]*/;
  _args[19] = varg18 /*[VT_VARIANT:1]*/;
  _args[20] = varg19 /*[VT_VARIANT:1]*/;
  _args[21] = varg20 /*[VT_VARIANT:1]*/;
  _args[22] = varg21 /*[VT_VARIANT:1]*/;
  _args[23] = varg22 /*[VT_VARIANT:1]*/;
  _args[24] = varg23 /*[VT_VARIANT:1]*/;
  _args[25] = varg24 /*[VT_VARIANT:1]*/;
  _args[26] = varg25 /*[VT_VARIANT:1]*/;
  _args[27] = varg26 /*[VT_VARIANT:1]*/;
  _args[28] = varg27 /*[VT_VARIANT:1]*/;
  _args[29] = varg28 /*[VT_VARIANT:1]*/;
  _args[30] = varg29 /*[VT_VARIANT:1]*/;
  _args[31] = varg30 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT __fastcall
_ApplicationDispT<T>::Run(BSTR MacroName/*[in]*/, VARIANT* varg1/*[in,opt]*/, 
                          VARIANT* varg2/*[in,opt]*/, VARIANT* varg3/*[in,opt]*/, 
                          VARIANT* varg4/*[in,opt]*/, VARIANT* varg5/*[in,opt]*/, 
                          VARIANT* varg6/*[in,opt]*/, VARIANT* varg7/*[in,opt]*/, 
                          VARIANT* varg8/*[in,opt]*/, VARIANT* varg9/*[in,opt]*/, 
                          VARIANT* varg10/*[in,opt]*/, VARIANT* varg11/*[in,opt]*/, 
                          VARIANT* varg12/*[in,opt]*/, VARIANT* varg13/*[in,opt]*/, 
                          VARIANT* varg14/*[in,opt]*/, VARIANT* varg15/*[in,opt]*/, 
                          VARIANT* varg16/*[in,opt]*/, VARIANT* varg17/*[in,opt]*/, 
                          VARIANT* varg18/*[in,opt]*/, VARIANT* varg19/*[in,opt]*/, 
                          VARIANT* varg20/*[in,opt]*/, VARIANT* varg21/*[in,opt]*/, 
                          VARIANT* varg22/*[in,opt]*/, VARIANT* varg23/*[in,opt]*/, 
                          VARIANT* varg24/*[in,opt]*/, VARIANT* varg25/*[in,opt]*/, 
                          VARIANT* varg26/*[in,opt]*/, VARIANT* varg27/*[in,opt]*/, 
                          VARIANT* varg28/*[in,opt]*/, VARIANT* varg29/*[in,opt]*/, 
                          VARIANT* varg30/*[in,opt]*/)
{
  VARIANT prop;
  this->Run(MacroName, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, 
            varg12, varg13, varg14, varg15, varg16, varg17, varg18, varg19, varg20, varg21, varg22, 
            varg23, varg24, varg25, varg26, varg27, varg28, varg29, varg30, (VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::PrintOut(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                               VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                               VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                               VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                               VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                               VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                               VARIANT* FileName/*[in,opt]*/, 
                               VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                               VARIANT* ManualDuplexPrint/*[in,opt]*/, 
                               VARIANT* PrintZoomColumn/*[in,opt]*/, 
                               VARIANT* PrintZoomRow/*[in,opt]*/, 
                               VARIANT* PrintZoomPaperWidth/*[in,opt]*/, 
                               VARIANT* PrintZoomPaperHeight/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOut"), DISPID(448));
  TAutoArgs<19> _args;
  _args[1] = Background /*[VT_VARIANT:1]*/;
  _args[2] = Append /*[VT_VARIANT:1]*/;
  _args[3] = Range /*[VT_VARIANT:1]*/;
  _args[4] = OutputFileName /*[VT_VARIANT:1]*/;
  _args[5] = From /*[VT_VARIANT:1]*/;
  _args[6] = To /*[VT_VARIANT:1]*/;
  _args[7] = Item /*[VT_VARIANT:1]*/;
  _args[8] = Copies /*[VT_VARIANT:1]*/;
  _args[9] = Pages /*[VT_VARIANT:1]*/;
  _args[10] = PageType /*[VT_VARIANT:1]*/;
  _args[11] = PrintToFile /*[VT_VARIANT:1]*/;
  _args[12] = Collate /*[VT_VARIANT:1]*/;
  _args[13] = FileName /*[VT_VARIANT:1]*/;
  _args[14] = ActivePrinterMacGX /*[VT_VARIANT:1]*/;
  _args[15] = ManualDuplexPrint /*[VT_VARIANT:1]*/;
  _args[16] = PrintZoomColumn /*[VT_VARIANT:1]*/;
  _args[17] = PrintZoomRow /*[VT_VARIANT:1]*/;
  _args[18] = PrintZoomPaperWidth /*[VT_VARIANT:1]*/;
  _args[19] = PrintZoomPaperHeight /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_AutomationSecurity(Office_xp::MsoAutomationSecurity* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutomationSecurity"), DISPID(449));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoAutomationSecurity __fastcall
_ApplicationDispT<T>::get_AutomationSecurity(void)
{
  Office_xp::MsoAutomationSecurity prop;
  this->get_AutomationSecurity((Office_xp::MsoAutomationSecurity*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_AutomationSecurity(Office_xp::MsoAutomationSecurity prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutomationSecurity"), DISPID(449));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_FileDialog(Office_xp::MsoFileDialogType FileDialogType/*[in]*/, 
                                     Office_xp::FileDialog** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FileDialog"), DISPID(450));
  TAutoArgs<1> _args;
  _args[1] = (int)FileDialogType /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::FileDialog**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::FileDialog* __fastcall
_ApplicationDispT<T>::get_FileDialog(Office_xp::MsoFileDialogType FileDialogType/*[in]*/)
{
  Office_xp::FileDialog* prop;
  this->get_FileDialog(FileDialogType, (Office_xp::FileDialog**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_EmailTemplate(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmailTemplate"), DISPID(451));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ApplicationDispT<T>::get_EmailTemplate(void)
{
  BSTR prop;
  this->get_EmailTemplate((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_EmailTemplate(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmailTemplate"), DISPID(451));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_ShowWindowsInTaskbar(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowWindowsInTaskbar"), DISPID(452));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_ShowWindowsInTaskbar(void)
{
  VARIANT_BOOL prop;
  this->get_ShowWindowsInTaskbar((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_ShowWindowsInTaskbar(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowWindowsInTaskbar"), DISPID(452));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_NewDocument(Office_xp::NewFile** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NewDocument"), DISPID(454));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::NewFile**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::NewFilePtr __fastcall
_ApplicationDispT<T>::get_NewDocument(void)
{
  Office_xp::NewFilePtr prop;
  this->get_NewDocument(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_ShowStartupDialog(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowStartupDialog"), DISPID(455));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_ShowStartupDialog(void)
{
  VARIANT_BOOL prop;
  this->get_ShowStartupDialog((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_ShowStartupDialog(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowStartupDialog"), DISPID(455));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_AutoCorrectEmail(Word_xp::AutoCorrect** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoCorrectEmail"), DISPID(456));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoCorrect**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::AutoCorrectPtr __fastcall
_ApplicationDispT<T>::get_AutoCorrectEmail(void)
{
  Word_xp::AutoCorrectPtr prop;
  this->get_AutoCorrectEmail(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_TaskPanes(Word_xp::TaskPanes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TaskPanes"), DISPID(457));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TaskPanes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TaskPanesPtr __fastcall
_ApplicationDispT<T>::get_TaskPanes(void)
{
  Word_xp::TaskPanesPtr prop;
  this->get_TaskPanes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::get_DefaultLegalBlackline(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultLegalBlackline"), DISPID(459));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::get_DefaultLegalBlackline(void)
{
  VARIANT_BOOL prop;
  this->get_DefaultLegalBlackline((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::set_DefaultLegalBlackline(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultLegalBlackline"), DISPID(459));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ApplicationDispT<T>::Dummy2(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Dummy2"), DISPID(458));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_ApplicationDispT<T>::Dummy2(void)
{
  VARIANT_BOOL prop;
  this->Dummy2((VARIANT_BOOL*)&prop);
  return prop;
}

// *********************************************************************//
// SmartIntf: TCOM_Global
// Interface: _Global
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  return (*this)->get_Application(prop);
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TCOM_GlobalT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  OLECHECK(this->get_Application((Word_xp::WordApplicationPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  return (*this)->get_Creator(prop);
}

template <class T> long __fastcall
TCOM_GlobalT<T>::get_Creator(void)
{
  long prop;
  OLECHECK(this->get_Creator((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_Parent(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_GlobalT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Name(prop);
}

template <class T> BSTR __fastcall
TCOM_GlobalT<T>::get_Name(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Name((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Documents(Word_xp::Documents** prop/*[out,retval]*/)
{
  return (*this)->get_Documents(prop);
}

template <class T> Word_xp::DocumentsPtr __fastcall
TCOM_GlobalT<T>::get_Documents(void)
{
  Word_xp::DocumentsPtr prop;
  OLECHECK(this->get_Documents((Word_xp::DocumentsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Windoz(Word_xp::Windows** prop/*[out,retval]*/)
{
  return (*this)->get_Windoz(prop);
}

template <class T> Word_xp::WindowsPtr __fastcall
TCOM_GlobalT<T>::get_Windoz(void)
{
  Word_xp::WindowsPtr prop;
  OLECHECK(this->get_Windoz((Word_xp::WindowsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_ActiveDocument(Word_xp::WordDocument** prop/*[out,retval]*/)
{
  return (*this)->get_ActiveDocument(prop);
}

template <class T> Word_xp::WordDocumentPtr __fastcall
TCOM_GlobalT<T>::get_ActiveDocument(void)
{
  Word_xp::WordDocumentPtr prop;
  OLECHECK(this->get_ActiveDocument((Word_xp::WordDocumentPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  return (*this)->get_ActiveWindow(prop);
}

template <class T> Word_xp::WINDOWPtr __fastcall
TCOM_GlobalT<T>::get_ActiveWindow(void)
{
  Word_xp::WINDOWPtr prop;
  OLECHECK(this->get_ActiveWindow((Word_xp::WINDOWPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/)
{
  return (*this)->get_Selection(prop);
}

template <class T> Word_xp::WordSelectionPtr __fastcall
TCOM_GlobalT<T>::get_Selection(void)
{
  Word_xp::WordSelectionPtr prop;
  OLECHECK(this->get_Selection((Word_xp::WordSelectionPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_WordBasic(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_WordBasic(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_GlobalT<T>::get_WordBasic(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_WordBasic((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_PrintPreview(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_PrintPreview(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_GlobalT<T>::get_PrintPreview(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_PrintPreview((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::set_PrintPreview(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_PrintPreview(prop);
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_RecentFiles(Word_xp::RecentFiles** prop/*[out,retval]*/)
{
  return (*this)->get_RecentFiles(prop);
}

template <class T> Word_xp::RecentFilesPtr __fastcall
TCOM_GlobalT<T>::get_RecentFiles(void)
{
  Word_xp::RecentFilesPtr prop;
  OLECHECK(this->get_RecentFiles((Word_xp::RecentFilesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_NormalTemplate(Word_xp::Template** prop/*[out,retval]*/)
{
  return (*this)->get_NormalTemplate(prop);
}

template <class T> Word_xp::TemplatePtr __fastcall
TCOM_GlobalT<T>::get_NormalTemplate(void)
{
  Word_xp::TemplatePtr prop;
  OLECHECK(this->get_NormalTemplate((Word_xp::TemplatePtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_System(Word_xp::SYSTEM** prop/*[out,retval]*/)
{
  return (*this)->get_System(prop);
}

template <class T> Word_xp::SYSTEMPtr __fastcall
TCOM_GlobalT<T>::get_System(void)
{
  Word_xp::SYSTEMPtr prop;
  OLECHECK(this->get_System((Word_xp::SYSTEMPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_AutoCorrect(Word_xp::AutoCorrect** prop/*[out,retval]*/)
{
  return (*this)->get_AutoCorrect(prop);
}

template <class T> Word_xp::AutoCorrectPtr __fastcall
TCOM_GlobalT<T>::get_AutoCorrect(void)
{
  Word_xp::AutoCorrectPtr prop;
  OLECHECK(this->get_AutoCorrect((Word_xp::AutoCorrectPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_FontNames(Word_xp::FontNames** prop/*[out,retval]*/)
{
  return (*this)->get_FontNames(prop);
}

template <class T> Word_xp::FontNamesPtr __fastcall
TCOM_GlobalT<T>::get_FontNames(void)
{
  Word_xp::FontNamesPtr prop;
  OLECHECK(this->get_FontNames((Word_xp::FontNamesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_LandscapeFontNames(Word_xp::FontNames** prop/*[out,retval]*/)
{
  return (*this)->get_LandscapeFontNames(prop);
}

template <class T> Word_xp::FontNamesPtr __fastcall
TCOM_GlobalT<T>::get_LandscapeFontNames(void)
{
  Word_xp::FontNamesPtr prop;
  OLECHECK(this->get_LandscapeFontNames((Word_xp::FontNamesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_PortraitFontNames(Word_xp::FontNames** prop/*[out,retval]*/)
{
  return (*this)->get_PortraitFontNames(prop);
}

template <class T> Word_xp::FontNamesPtr __fastcall
TCOM_GlobalT<T>::get_PortraitFontNames(void)
{
  Word_xp::FontNamesPtr prop;
  OLECHECK(this->get_PortraitFontNames((Word_xp::FontNamesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Languages(Word_xp::Languages** prop/*[out,retval]*/)
{
  return (*this)->get_Languages(prop);
}

template <class T> Word_xp::LanguagesPtr __fastcall
TCOM_GlobalT<T>::get_Languages(void)
{
  Word_xp::LanguagesPtr prop;
  OLECHECK(this->get_Languages((Word_xp::LanguagesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Assistant(Office_xp::Assistant** prop/*[out,retval]*/)
{
  return (*this)->get_Assistant(prop);
}

template <class T> Office_xp::AssistantPtr __fastcall
TCOM_GlobalT<T>::get_Assistant(void)
{
  Office_xp::AssistantPtr prop;
  OLECHECK(this->get_Assistant((Office_xp::AssistantPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_FileConverters(Word_xp::FileConverters** prop/*[out,retval]*/)
{
  return (*this)->get_FileConverters(prop);
}

template <class T> Word_xp::FileConvertersPtr __fastcall
TCOM_GlobalT<T>::get_FileConverters(void)
{
  Word_xp::FileConvertersPtr prop;
  OLECHECK(this->get_FileConverters((Word_xp::FileConvertersPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Dialogs(Word_xp::Dialogs** prop/*[out,retval]*/)
{
  return (*this)->get_Dialogs(prop);
}

template <class T> Word_xp::DialogsPtr __fastcall
TCOM_GlobalT<T>::get_Dialogs(void)
{
  Word_xp::DialogsPtr prop;
  OLECHECK(this->get_Dialogs((Word_xp::DialogsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_CaptionLabels(Word_xp::CaptionLabels** prop/*[out,retval]*/)
{
  return (*this)->get_CaptionLabels(prop);
}

template <class T> Word_xp::CaptionLabelsPtr __fastcall
TCOM_GlobalT<T>::get_CaptionLabels(void)
{
  Word_xp::CaptionLabelsPtr prop;
  OLECHECK(this->get_CaptionLabels((Word_xp::CaptionLabelsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_AutoCaptions(Word_xp::AutoCaptions** prop/*[out,retval]*/)
{
  return (*this)->get_AutoCaptions(prop);
}

template <class T> Word_xp::AutoCaptionsPtr __fastcall
TCOM_GlobalT<T>::get_AutoCaptions(void)
{
  Word_xp::AutoCaptionsPtr prop;
  OLECHECK(this->get_AutoCaptions((Word_xp::AutoCaptionsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_AddIns(Word_xp::AddIns** prop/*[out,retval]*/)
{
  return (*this)->get_AddIns(prop);
}

template <class T> Word_xp::AddInsPtr __fastcall
TCOM_GlobalT<T>::get_AddIns(void)
{
  Word_xp::AddInsPtr prop;
  OLECHECK(this->get_AddIns((Word_xp::AddInsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Tasks(Word_xp::Tasks** prop/*[out,retval]*/)
{
  return (*this)->get_Tasks(prop);
}

template <class T> Word_xp::TasksPtr __fastcall
TCOM_GlobalT<T>::get_Tasks(void)
{
  Word_xp::TasksPtr prop;
  OLECHECK(this->get_Tasks((Word_xp::TasksPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_MacroContainer(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_MacroContainer(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_GlobalT<T>::get_MacroContainer(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_MacroContainer((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/)
{
  return (*this)->get_CommandBars(prop);
}

template <class T> Office_xp::CommandBarsPtr __fastcall
TCOM_GlobalT<T>::get_CommandBars(void)
{
  Office_xp::CommandBarsPtr prop;
  OLECHECK(this->get_CommandBars((Office_xp::CommandBarsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_SynonymInfo(BSTR Word/*[in]*/, VARIANT* LanguageID/*[in,opt]*/, 
                                 Word_xp::SynonymInfo** prop/*[out,retval]*/)
{
  return (*this)->get_SynonymInfo(Word, LanguageID, prop);
}

template <class T> Word_xp::SynonymInfo* __fastcall
TCOM_GlobalT<T>::get_SynonymInfo(BSTR Word/*[in]*/, VARIANT* LanguageID/*[in,opt]*/)
{
  Word_xp::SynonymInfo* prop;
  OLECHECK(this->get_SynonymInfo(Word/*[in]*/, LanguageID/*[in,opt]*/, (Word_xp::SynonymInfo**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_VBE(Vbide_xp::VBE** prop/*[out,retval]*/)
{
  return (*this)->get_VBE(prop);
}

template <class T> Vbide_xp::VBEPtr __fastcall
TCOM_GlobalT<T>::get_VBE(void)
{
  Vbide_xp::VBEPtr prop;
  OLECHECK(this->get_VBE((Vbide_xp::VBEPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_ListGalleries(Word_xp::ListGalleries** prop/*[out,retval]*/)
{
  return (*this)->get_ListGalleries(prop);
}

template <class T> Word_xp::ListGalleriesPtr __fastcall
TCOM_GlobalT<T>::get_ListGalleries(void)
{
  Word_xp::ListGalleriesPtr prop;
  OLECHECK(this->get_ListGalleries((Word_xp::ListGalleriesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_ActivePrinter(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_ActivePrinter(prop);
}

template <class T> BSTR __fastcall
TCOM_GlobalT<T>::get_ActivePrinter(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_ActivePrinter((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::set_ActivePrinter(BSTR prop/*[in]*/)
{
  return (*this)->set_ActivePrinter(prop);
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Templates(Word_xp::Templates** prop/*[out,retval]*/)
{
  return (*this)->get_Templates(prop);
}

template <class T> Word_xp::TemplatesPtr __fastcall
TCOM_GlobalT<T>::get_Templates(void)
{
  Word_xp::TemplatesPtr prop;
  OLECHECK(this->get_Templates((Word_xp::TemplatesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_CustomizationContext(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_CustomizationContext(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_GlobalT<T>::get_CustomizationContext(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_CustomizationContext((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::set_CustomizationContext(LPDISPATCH prop/*[in]*/)
{
  return (*this)->set_CustomizationContext(prop);
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_KeyBindings(Word_xp::KeyBindings** prop/*[out,retval]*/)
{
  return (*this)->get_KeyBindings(prop);
}

template <class T> Word_xp::KeyBindingsPtr __fastcall
TCOM_GlobalT<T>::get_KeyBindings(void)
{
  Word_xp::KeyBindingsPtr prop;
  OLECHECK(this->get_KeyBindings((Word_xp::KeyBindingsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, BSTR Command/*[in]*/, 
                                 VARIANT* CommandParameter/*[in,opt]*/, 
                                 Word_xp::KeysBoundTo** prop/*[out,retval]*/)
{
  return (*this)->get_KeysBoundTo(KeyCategory, Command, CommandParameter, prop);
}

template <class T> Word_xp::KeysBoundTo* __fastcall
TCOM_GlobalT<T>::get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, BSTR Command/*[in]*/, 
                                 VARIANT* CommandParameter/*[in,opt]*/)
{
  Word_xp::KeysBoundTo* prop;
  OLECHECK(this->get_KeysBoundTo(KeyCategory/*[in]*/, Command/*[in]*/, CommandParameter/*[in,opt]*/, (Word_xp::KeysBoundTo**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                             Word_xp::KeyBinding** prop/*[out,retval]*/)
{
  return (*this)->get_FindKey(KeyCode, KeyCode2, prop);
}

template <class T> Word_xp::KeyBinding* __fastcall
TCOM_GlobalT<T>::get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/)
{
  Word_xp::KeyBinding* prop;
  OLECHECK(this->get_FindKey(KeyCode/*[in]*/, KeyCode2/*[in,opt]*/, (Word_xp::KeyBinding**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_Options(Word_xp::Options** prop/*[out,retval]*/)
{
  return (*this)->get_Options(prop);
}

template <class T> Word_xp::OptionsPtr __fastcall
TCOM_GlobalT<T>::get_Options(void)
{
  Word_xp::OptionsPtr prop;
  OLECHECK(this->get_Options((Word_xp::OptionsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_CustomDictionaries(Word_xp::Dictionaries** prop/*[out,retval]*/)
{
  return (*this)->get_CustomDictionaries(prop);
}

template <class T> Word_xp::DictionariesPtr __fastcall
TCOM_GlobalT<T>::get_CustomDictionaries(void)
{
  Word_xp::DictionariesPtr prop;
  OLECHECK(this->get_CustomDictionaries((Word_xp::DictionariesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::set_StatusBar(BSTR Param1/*[in]*/)
{
  return (*this)->set_StatusBar(Param1);
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_ShowVisualBasicEditor(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_ShowVisualBasicEditor(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_GlobalT<T>::get_ShowVisualBasicEditor(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_ShowVisualBasicEditor((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::set_ShowVisualBasicEditor(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_ShowVisualBasicEditor(prop);
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_IsObjectValid(LPDISPATCH Object/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_IsObjectValid(Object, prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_GlobalT<T>::get_IsObjectValid(LPDISPATCH Object/*[in]*/)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_IsObjectValid(Object/*[in]*/, (VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_HangulHanjaDictionaries(Word_xp::HangulHanjaConversionDictionaries** prop/*[out,retval]*/)
{
  return (*this)->get_HangulHanjaDictionaries(prop);
}

template <class T> Word_xp::HangulHanjaConversionDictionariesPtr __fastcall
TCOM_GlobalT<T>::get_HangulHanjaDictionaries(void)
{
  Word_xp::HangulHanjaConversionDictionariesPtr prop;
  OLECHECK(this->get_HangulHanjaDictionaries((Word_xp::HangulHanjaConversionDictionariesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::Repeat(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->Repeat(Times, prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_GlobalT<T>::Repeat(VARIANT* Times/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  OLECHECK(this->Repeat(Times/*[in,opt]*/, (VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::DDEExecute(long Channel/*[in]*/, BSTR Command/*[in]*/)
{
  return (*this)->DDEExecute(Channel, Command);
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/, long* prop/*[out,retval]*/)
{
  return (*this)->DDEInitiate(App, Topic, prop);
}

template <class T> long __fastcall
TCOM_GlobalT<T>::DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/)
{
  long prop;
  OLECHECK(this->DDEInitiate(App/*[in]*/, Topic/*[in]*/, (long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::DDEPoke(long Channel/*[in]*/, BSTR Item/*[in]*/, BSTR Data/*[in]*/)
{
  return (*this)->DDEPoke(Channel, Item, Data);
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  return (*this)->DDERequest(Channel, Item, prop);
}

template <class T> BSTR __fastcall
TCOM_GlobalT<T>::DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/)
{
  BSTR prop = 0;
  OLECHECK(this->DDERequest(Channel/*[in]*/, Item/*[in]*/, (BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::DDETerminate(long Channel/*[in]*/)
{
  return (*this)->DDETerminate(Channel);
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::DDETerminateAll(void)
{
  return (*this)->DDETerminateAll();
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/, 
                              VARIANT* Arg3/*[in,opt]*/, VARIANT* Arg4/*[in,opt]*/, 
                              long* prop/*[out,retval]*/)
{
  return (*this)->BuildKeyCode(Arg1, Arg2, Arg3, Arg4, prop);
}

template <class T> long __fastcall
TCOM_GlobalT<T>::BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/, 
                              VARIANT* Arg3/*[in,opt]*/, VARIANT* Arg4/*[in,opt]*/)
{
  long prop;
  OLECHECK(this->BuildKeyCode(Arg1/*[in]*/, Arg2/*[in,opt]*/, Arg3/*[in,opt]*/, Arg4/*[in,opt]*/, (long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                           BSTR* prop/*[out,retval]*/)
{
  return (*this)->KeyString(KeyCode, KeyCode2, prop);
}

template <class T> BSTR __fastcall
TCOM_GlobalT<T>::KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/)
{
  BSTR prop = 0;
  OLECHECK(this->KeyString(KeyCode/*[in]*/, KeyCode2/*[in,opt]*/, (BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::CheckSpelling(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                               VARIANT* IgnoreUppercase/*[in,opt]*/, 
                               VARIANT* MainDictionary/*[in,opt]*/, 
                               VARIANT* CustomDictionary2/*[in,opt]*/, 
                               VARIANT* CustomDictionary3/*[in,opt]*/, 
                               VARIANT* CustomDictionary4/*[in,opt]*/, 
                               VARIANT* CustomDictionary5/*[in,opt]*/, 
                               VARIANT* CustomDictionary6/*[in,opt]*/, 
                               VARIANT* CustomDictionary7/*[in,opt]*/, 
                               VARIANT* CustomDictionary8/*[in,opt]*/, 
                               VARIANT* CustomDictionary9/*[in,opt]*/, 
                               VARIANT* CustomDictionary10/*[in,opt]*/, 
                               VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->CheckSpelling(Word, CustomDictionary, IgnoreUppercase, MainDictionary, 
                                CustomDictionary2, CustomDictionary3, CustomDictionary4, 
                                CustomDictionary5, CustomDictionary6, CustomDictionary7, 
                                CustomDictionary8, CustomDictionary9, CustomDictionary10, prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_GlobalT<T>::CheckSpelling(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                               VARIANT* IgnoreUppercase/*[in,opt]*/, 
                               VARIANT* MainDictionary/*[in,opt]*/, 
                               VARIANT* CustomDictionary2/*[in,opt]*/, 
                               VARIANT* CustomDictionary3/*[in,opt]*/, 
                               VARIANT* CustomDictionary4/*[in,opt]*/, 
                               VARIANT* CustomDictionary5/*[in,opt]*/, 
                               VARIANT* CustomDictionary6/*[in,opt]*/, 
                               VARIANT* CustomDictionary7/*[in,opt]*/, 
                               VARIANT* CustomDictionary8/*[in,opt]*/, 
                               VARIANT* CustomDictionary9/*[in,opt]*/, 
                               VARIANT* CustomDictionary10/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  OLECHECK(this->CheckSpelling(Word/*[in]*/, CustomDictionary/*[in,opt]*/, 
                               IgnoreUppercase/*[in,opt]*/, MainDictionary/*[in,opt]*/, 
                               CustomDictionary2/*[in,opt]*/, CustomDictionary3/*[in,opt]*/, 
                               CustomDictionary4/*[in,opt]*/, CustomDictionary5/*[in,opt]*/, 
                               CustomDictionary6/*[in,opt]*/, CustomDictionary7/*[in,opt]*/, 
                               CustomDictionary8/*[in,opt]*/, CustomDictionary9/*[in,opt]*/, 
                               CustomDictionary10/*[in,opt]*/, (VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::GetSpellingSuggestions(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                                        VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                        VARIANT* MainDictionary/*[in,opt]*/, 
                                        VARIANT* SuggestionMode/*[in,opt]*/, 
                                        VARIANT* CustomDictionary2/*[in,opt]*/, 
                                        VARIANT* CustomDictionary3/*[in,opt]*/, 
                                        VARIANT* CustomDictionary4/*[in,opt]*/, 
                                        VARIANT* CustomDictionary5/*[in,opt]*/, 
                                        VARIANT* CustomDictionary6/*[in,opt]*/, 
                                        VARIANT* CustomDictionary7/*[in,opt]*/, 
                                        VARIANT* CustomDictionary8/*[in,opt]*/, 
                                        VARIANT* CustomDictionary9/*[in,opt]*/, 
                                        VARIANT* CustomDictionary10/*[in,opt]*/, 
                                        Word_xp::SpellingSuggestions** prop/*[out,retval]*/)
{
  return (*this)->GetSpellingSuggestions(Word, CustomDictionary, IgnoreUppercase, MainDictionary, 
                                         SuggestionMode, CustomDictionary2, CustomDictionary3, 
                                         CustomDictionary4, CustomDictionary5, CustomDictionary6, 
                                         CustomDictionary7, CustomDictionary8, CustomDictionary9, 
                                         CustomDictionary10, prop);
}

template <class T> Word_xp::SpellingSuggestions* __fastcall
TCOM_GlobalT<T>::GetSpellingSuggestions(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                                        VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                        VARIANT* MainDictionary/*[in,opt]*/, 
                                        VARIANT* SuggestionMode/*[in,opt]*/, 
                                        VARIANT* CustomDictionary2/*[in,opt]*/, 
                                        VARIANT* CustomDictionary3/*[in,opt]*/, 
                                        VARIANT* CustomDictionary4/*[in,opt]*/, 
                                        VARIANT* CustomDictionary5/*[in,opt]*/, 
                                        VARIANT* CustomDictionary6/*[in,opt]*/, 
                                        VARIANT* CustomDictionary7/*[in,opt]*/, 
                                        VARIANT* CustomDictionary8/*[in,opt]*/, 
                                        VARIANT* CustomDictionary9/*[in,opt]*/, 
                                        VARIANT* CustomDictionary10/*[in,opt]*/)
{
  Word_xp::SpellingSuggestions* prop;
  OLECHECK(this->GetSpellingSuggestions(Word/*[in]*/, CustomDictionary/*[in,opt]*/, 
                                        IgnoreUppercase/*[in,opt]*/, MainDictionary/*[in,opt]*/, 
                                        SuggestionMode/*[in,opt]*/, CustomDictionary2/*[in,opt]*/, 
                                        CustomDictionary3/*[in,opt]*/, CustomDictionary4/*[in,opt]*/, 
                                        CustomDictionary5/*[in,opt]*/, CustomDictionary6/*[in,opt]*/, 
                                        CustomDictionary7/*[in,opt]*/, CustomDictionary8/*[in,opt]*/, 
                                        CustomDictionary9/*[in,opt]*/, 
                                        CustomDictionary10/*[in,opt]*/, (Word_xp::SpellingSuggestions**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::Help(VARIANT* HelpType/*[in]*/)
{
  return (*this)->Help(HelpType);
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  return (*this)->NewWindow(prop);
}

template <class T> Word_xp::WINDOW* __fastcall
TCOM_GlobalT<T>::NewWindow(void)
{
  Word_xp::WINDOW* prop;
  OLECHECK(this->NewWindow((Word_xp::WINDOW**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::CleanString(BSTR String/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  return (*this)->CleanString(String, prop);
}

template <class T> BSTR __fastcall
TCOM_GlobalT<T>::CleanString(BSTR String/*[in]*/)
{
  BSTR prop = 0;
  OLECHECK(this->CleanString(String/*[in]*/, (BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::ChangeFileOpenDirectory(BSTR Path/*[in]*/)
{
  return (*this)->ChangeFileOpenDirectory(Path);
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::InchesToPoints(float Inches/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->InchesToPoints(Inches, prop);
}

template <class T> float __fastcall
TCOM_GlobalT<T>::InchesToPoints(float Inches/*[in]*/)
{
  float prop;
  OLECHECK(this->InchesToPoints(Inches/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::CentimetersToPoints(float Centimeters/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->CentimetersToPoints(Centimeters, prop);
}

template <class T> float __fastcall
TCOM_GlobalT<T>::CentimetersToPoints(float Centimeters/*[in]*/)
{
  float prop;
  OLECHECK(this->CentimetersToPoints(Centimeters/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::MillimetersToPoints(float Millimeters/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->MillimetersToPoints(Millimeters, prop);
}

template <class T> float __fastcall
TCOM_GlobalT<T>::MillimetersToPoints(float Millimeters/*[in]*/)
{
  float prop;
  OLECHECK(this->MillimetersToPoints(Millimeters/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::PicasToPoints(float Picas/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->PicasToPoints(Picas, prop);
}

template <class T> float __fastcall
TCOM_GlobalT<T>::PicasToPoints(float Picas/*[in]*/)
{
  float prop;
  OLECHECK(this->PicasToPoints(Picas/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::LinesToPoints(float Lines/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->LinesToPoints(Lines, prop);
}

template <class T> float __fastcall
TCOM_GlobalT<T>::LinesToPoints(float Lines/*[in]*/)
{
  float prop;
  OLECHECK(this->LinesToPoints(Lines/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::PointsToInches(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->PointsToInches(Points, prop);
}

template <class T> float __fastcall
TCOM_GlobalT<T>::PointsToInches(float Points/*[in]*/)
{
  float prop;
  OLECHECK(this->PointsToInches(Points/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::PointsToCentimeters(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->PointsToCentimeters(Points, prop);
}

template <class T> float __fastcall
TCOM_GlobalT<T>::PointsToCentimeters(float Points/*[in]*/)
{
  float prop;
  OLECHECK(this->PointsToCentimeters(Points/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::PointsToMillimeters(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->PointsToMillimeters(Points, prop);
}

template <class T> float __fastcall
TCOM_GlobalT<T>::PointsToMillimeters(float Points/*[in]*/)
{
  float prop;
  OLECHECK(this->PointsToMillimeters(Points/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::PointsToPicas(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->PointsToPicas(Points, prop);
}

template <class T> float __fastcall
TCOM_GlobalT<T>::PointsToPicas(float Points/*[in]*/)
{
  float prop;
  OLECHECK(this->PointsToPicas(Points/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::PointsToLines(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  return (*this)->PointsToLines(Points, prop);
}

template <class T> float __fastcall
TCOM_GlobalT<T>::PointsToLines(float Points/*[in]*/)
{
  float prop;
  OLECHECK(this->PointsToLines(Points/*[in]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                float* prop/*[out,retval]*/)
{
  return (*this)->PointsToPixels(Points, fVertical, prop);
}

template <class T> float __fastcall
TCOM_GlobalT<T>::PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/)
{
  float prop;
  OLECHECK(this->PointsToPixels(Points/*[in]*/, fVertical/*[in,opt]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                float* prop/*[out,retval]*/)
{
  return (*this)->PixelsToPoints(Pixels, fVertical, prop);
}

template <class T> float __fastcall
TCOM_GlobalT<T>::PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/)
{
  float prop;
  OLECHECK(this->PixelsToPoints(Pixels/*[in]*/, fVertical/*[in,opt]*/, (float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_LanguageSettings(Office_xp::LanguageSettings** prop/*[out,retval]*/)
{
  return (*this)->get_LanguageSettings(prop);
}

template <class T> Office_xp::LanguageSettingsPtr __fastcall
TCOM_GlobalT<T>::get_LanguageSettings(void)
{
  Office_xp::LanguageSettingsPtr prop;
  OLECHECK(this->get_LanguageSettings((Office_xp::LanguageSettingsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_AnswerWizard(Office_xp::AnswerWizard** prop/*[out,retval]*/)
{
  return (*this)->get_AnswerWizard(prop);
}

template <class T> Office_xp::AnswerWizardPtr __fastcall
TCOM_GlobalT<T>::get_AnswerWizard(void)
{
  Office_xp::AnswerWizardPtr prop;
  OLECHECK(this->get_AnswerWizard((Office_xp::AnswerWizardPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_GlobalT<T>::get_AutoCorrectEmail(Word_xp::AutoCorrect** prop/*[out,retval]*/)
{
  return (*this)->get_AutoCorrectEmail(prop);
}

template <class T> Word_xp::AutoCorrectPtr __fastcall
TCOM_GlobalT<T>::get_AutoCorrectEmail(void)
{
  Word_xp::AutoCorrectPtr prop;
  OLECHECK(this->get_AutoCorrectEmail((Word_xp::AutoCorrectPtr*)&prop));
  return prop;
}

// *********************************************************************//
// DispIntf:  _Global
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B9-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
_GlobalDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_GlobalDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_GlobalDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_GlobalDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Documents(Word_xp::Documents** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Documents"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Documents**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DocumentsPtr __fastcall
_GlobalDispT<T>::get_Documents(void)
{
  Word_xp::DocumentsPtr prop;
  this->get_Documents(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Windoz(Word_xp::Windows** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Windows"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Windows**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WindowsPtr __fastcall
_GlobalDispT<T>::get_Windoz(void)
{
  Word_xp::WindowsPtr prop;
  this->get_Windoz(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_ActiveDocument(Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveDocument"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordDocumentPtr __fastcall
_GlobalDispT<T>::get_ActiveDocument(void)
{
  Word_xp::WordDocumentPtr prop;
  this->get_ActiveDocument(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveWindow"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WINDOW**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WINDOWPtr __fastcall
_GlobalDispT<T>::get_ActiveWindow(void)
{
  Word_xp::WINDOWPtr prop;
  this->get_ActiveWindow(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Selection"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordSelection**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordSelectionPtr __fastcall
_GlobalDispT<T>::get_Selection(void)
{
  Word_xp::WordSelectionPtr prop;
  this->get_Selection(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_WordBasic(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WordBasic"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_GlobalDispT<T>::get_WordBasic(void)
{
  LPDISPATCH prop;
  this->get_WordBasic((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_PrintPreview(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintPreview"), DISPID(27));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_GlobalDispT<T>::get_PrintPreview(void)
{
  VARIANT_BOOL prop;
  this->get_PrintPreview((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::set_PrintPreview(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintPreview"), DISPID(27));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_RecentFiles(Word_xp::RecentFiles** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecentFiles"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::RecentFiles**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RecentFilesPtr __fastcall
_GlobalDispT<T>::get_RecentFiles(void)
{
  Word_xp::RecentFilesPtr prop;
  this->get_RecentFiles(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_NormalTemplate(Word_xp::Template** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NormalTemplate"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Template**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TemplatePtr __fastcall
_GlobalDispT<T>::get_NormalTemplate(void)
{
  Word_xp::TemplatePtr prop;
  this->get_NormalTemplate(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_System(Word_xp::SYSTEM** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("System"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SYSTEM**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SYSTEMPtr __fastcall
_GlobalDispT<T>::get_System(void)
{
  Word_xp::SYSTEMPtr prop;
  this->get_System(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_AutoCorrect(Word_xp::AutoCorrect** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoCorrect"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoCorrect**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::AutoCorrectPtr __fastcall
_GlobalDispT<T>::get_AutoCorrect(void)
{
  Word_xp::AutoCorrectPtr prop;
  this->get_AutoCorrect(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_FontNames(Word_xp::FontNames** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FontNames"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FontNames**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FontNamesPtr __fastcall
_GlobalDispT<T>::get_FontNames(void)
{
  Word_xp::FontNamesPtr prop;
  this->get_FontNames(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_LandscapeFontNames(Word_xp::FontNames** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LandscapeFontNames"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FontNames**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FontNamesPtr __fastcall
_GlobalDispT<T>::get_LandscapeFontNames(void)
{
  Word_xp::FontNamesPtr prop;
  this->get_LandscapeFontNames(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_PortraitFontNames(Word_xp::FontNames** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PortraitFontNames"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FontNames**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FontNamesPtr __fastcall
_GlobalDispT<T>::get_PortraitFontNames(void)
{
  Word_xp::FontNamesPtr prop;
  this->get_PortraitFontNames(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Languages(Word_xp::Languages** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Languages"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Languages**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::LanguagesPtr __fastcall
_GlobalDispT<T>::get_Languages(void)
{
  Word_xp::LanguagesPtr prop;
  this->get_Languages(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Assistant(Office_xp::Assistant** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Assistant"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::Assistant**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::AssistantPtr __fastcall
_GlobalDispT<T>::get_Assistant(void)
{
  Office_xp::AssistantPtr prop;
  this->get_Assistant(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_FileConverters(Word_xp::FileConverters** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FileConverters"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FileConverters**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FileConvertersPtr __fastcall
_GlobalDispT<T>::get_FileConverters(void)
{
  Word_xp::FileConvertersPtr prop;
  this->get_FileConverters(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Dialogs(Word_xp::Dialogs** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Dialogs"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dialogs**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DialogsPtr __fastcall
_GlobalDispT<T>::get_Dialogs(void)
{
  Word_xp::DialogsPtr prop;
  this->get_Dialogs(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_CaptionLabels(Word_xp::CaptionLabels** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CaptionLabels"), DISPID(20));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CaptionLabels**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CaptionLabelsPtr __fastcall
_GlobalDispT<T>::get_CaptionLabels(void)
{
  Word_xp::CaptionLabelsPtr prop;
  this->get_CaptionLabels(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_AutoCaptions(Word_xp::AutoCaptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoCaptions"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoCaptions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::AutoCaptionsPtr __fastcall
_GlobalDispT<T>::get_AutoCaptions(void)
{
  Word_xp::AutoCaptionsPtr prop;
  this->get_AutoCaptions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_AddIns(Word_xp::AddIns** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddIns"), DISPID(22));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AddIns**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::AddInsPtr __fastcall
_GlobalDispT<T>::get_AddIns(void)
{
  Word_xp::AddInsPtr prop;
  this->get_AddIns(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Tasks(Word_xp::Tasks** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Tasks"), DISPID(28));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Tasks**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TasksPtr __fastcall
_GlobalDispT<T>::get_Tasks(void)
{
  Word_xp::TasksPtr prop;
  this->get_Tasks(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_MacroContainer(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MacroContainer"), DISPID(55));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_GlobalDispT<T>::get_MacroContainer(void)
{
  LPDISPATCH prop;
  this->get_MacroContainer((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CommandBars"), DISPID(57));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::CommandBars**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::CommandBarsPtr __fastcall
_GlobalDispT<T>::get_CommandBars(void)
{
  Office_xp::CommandBarsPtr prop;
  this->get_CommandBars(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_SynonymInfo(BSTR Word/*[in]*/, VARIANT* LanguageID/*[in,opt]*/, 
                                 Word_xp::SynonymInfo** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SynonymInfo"), DISPID(59));
  TAutoArgs<2> _args;
  _args[1] = Word /*[VT_BSTR:0]*/;
  _args[2] = LanguageID /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SynonymInfo**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SynonymInfo* __fastcall
_GlobalDispT<T>::get_SynonymInfo(BSTR Word/*[in]*/, VARIANT* LanguageID/*[in,opt]*/)
{
  Word_xp::SynonymInfo* prop;
  this->get_SynonymInfo(Word, LanguageID, (Word_xp::SynonymInfo**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_VBE(Vbide_xp::VBE** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VBE"), DISPID(61));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Vbide_xp::VBE**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Vbide_xp::VBEPtr __fastcall
_GlobalDispT<T>::get_VBE(void)
{
  Vbide_xp::VBEPtr prop;
  this->get_VBE(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_ListGalleries(Word_xp::ListGalleries** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListGalleries"), DISPID(65));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListGalleries**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListGalleriesPtr __fastcall
_GlobalDispT<T>::get_ListGalleries(void)
{
  Word_xp::ListGalleriesPtr prop;
  this->get_ListGalleries(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_ActivePrinter(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActivePrinter"), DISPID(66));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_GlobalDispT<T>::get_ActivePrinter(void)
{
  BSTR prop;
  this->get_ActivePrinter((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::set_ActivePrinter(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActivePrinter"), DISPID(66));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Templates(Word_xp::Templates** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Templates"), DISPID(67));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Templates**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TemplatesPtr __fastcall
_GlobalDispT<T>::get_Templates(void)
{
  Word_xp::TemplatesPtr prop;
  this->get_Templates(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_CustomizationContext(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CustomizationContext"), DISPID(68));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_GlobalDispT<T>::get_CustomizationContext(void)
{
  LPDISPATCH prop;
  this->get_CustomizationContext((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::set_CustomizationContext(LPDISPATCH prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CustomizationContext"), DISPID(68));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_DISPATCH:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_KeyBindings(Word_xp::KeyBindings** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeyBindings"), DISPID(69));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::KeyBindings**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::KeyBindingsPtr __fastcall
_GlobalDispT<T>::get_KeyBindings(void)
{
  Word_xp::KeyBindingsPtr prop;
  this->get_KeyBindings(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, BSTR Command/*[in]*/, 
                                 VARIANT* CommandParameter/*[in,opt]*/, 
                                 Word_xp::KeysBoundTo** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeysBoundTo"), DISPID(70));
  TAutoArgs<3> _args;
  _args[1] = (int)KeyCategory /*[VT_USERDEFINED:0]*/;
  _args[2] = Command /*[VT_BSTR:0]*/;
  _args[3] = CommandParameter /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::KeysBoundTo**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::KeysBoundTo* __fastcall
_GlobalDispT<T>::get_KeysBoundTo(Word_xp::WdKeyCategory KeyCategory/*[in]*/, BSTR Command/*[in]*/, 
                                 VARIANT* CommandParameter/*[in,opt]*/)
{
  Word_xp::KeysBoundTo* prop;
  this->get_KeysBoundTo(KeyCategory, Command, CommandParameter, (Word_xp::KeysBoundTo**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                             Word_xp::KeyBinding** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FindKey"), DISPID(71));
  TAutoArgs<2> _args;
  _args[1] = KeyCode /*[VT_I4:0]*/;
  _args[2] = KeyCode2 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::KeyBinding**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::KeyBinding* __fastcall
_GlobalDispT<T>::get_FindKey(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/)
{
  Word_xp::KeyBinding* prop;
  this->get_FindKey(KeyCode, KeyCode2, (Word_xp::KeyBinding**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_Options(Word_xp::Options** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Options"), DISPID(93));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Options**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::OptionsPtr __fastcall
_GlobalDispT<T>::get_Options(void)
{
  Word_xp::OptionsPtr prop;
  this->get_Options(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_CustomDictionaries(Word_xp::Dictionaries** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CustomDictionaries"), DISPID(95));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionaries**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DictionariesPtr __fastcall
_GlobalDispT<T>::get_CustomDictionaries(void)
{
  Word_xp::DictionariesPtr prop;
  this->get_CustomDictionaries(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::set_StatusBar(BSTR Param1/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StatusBar"), DISPID(97));
  TAutoArgs<1> _args;
  _args[1] = Param1 /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_ShowVisualBasicEditor(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowVisualBasicEditor"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_GlobalDispT<T>::get_ShowVisualBasicEditor(void)
{
  VARIANT_BOOL prop;
  this->get_ShowVisualBasicEditor((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::set_ShowVisualBasicEditor(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowVisualBasicEditor"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_IsObjectValid(LPDISPATCH Object/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsObjectValid"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = Object /*[VT_DISPATCH:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_GlobalDispT<T>::get_IsObjectValid(LPDISPATCH Object/*[in]*/)
{
  VARIANT_BOOL prop;
  this->get_IsObjectValid(Object, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_HangulHanjaDictionaries(Word_xp::HangulHanjaConversionDictionaries** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangulHanjaDictionaries"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HangulHanjaConversionDictionaries**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HangulHanjaConversionDictionariesPtr __fastcall
_GlobalDispT<T>::get_HangulHanjaDictionaries(void)
{
  Word_xp::HangulHanjaConversionDictionariesPtr prop;
  this->get_HangulHanjaDictionaries(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::Repeat(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Repeat"), DISPID(305));
  TAutoArgs<1> _args;
  _args[1] = Times /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_GlobalDispT<T>::Repeat(VARIANT* Times/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  this->Repeat(Times, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::DDEExecute(long Channel/*[in]*/, BSTR Command/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DDEExecute"), DISPID(310));
  TAutoArgs<2> _args;
  _args[1] = Channel /*[VT_I4:0]*/;
  _args[2] = Command /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/, long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DDEInitiate"), DISPID(311));
  TAutoArgs<2> _args;
  _args[1] = App /*[VT_BSTR:0]*/;
  _args[2] = Topic /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_GlobalDispT<T>::DDEInitiate(BSTR App/*[in]*/, BSTR Topic/*[in]*/)
{
  long prop;
  this->DDEInitiate(App, Topic, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::DDEPoke(long Channel/*[in]*/, BSTR Item/*[in]*/, BSTR Data/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DDEPoke"), DISPID(312));
  TAutoArgs<3> _args;
  _args[1] = Channel /*[VT_I4:0]*/;
  _args[2] = Item /*[VT_BSTR:0]*/;
  _args[3] = Data /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DDERequest"), DISPID(313));
  TAutoArgs<2> _args;
  _args[1] = Channel /*[VT_I4:0]*/;
  _args[2] = Item /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
_GlobalDispT<T>::DDERequest(long Channel/*[in]*/, BSTR Item/*[in]*/)
{
  BSTR prop;
  this->DDERequest(Channel, Item, (BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::DDETerminate(long Channel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DDETerminate"), DISPID(314));
  TAutoArgs<1> _args;
  _args[1] = Channel /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::DDETerminateAll()
{
  _TDispID _dispid(*this, OLETEXT("DDETerminateAll"), DISPID(315));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/, 
                              VARIANT* Arg3/*[in,opt]*/, VARIANT* Arg4/*[in,opt]*/, 
                              long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BuildKeyCode"), DISPID(316));
  TAutoArgs<4> _args;
  _args[1] = (int)Arg1 /*[VT_USERDEFINED:0]*/;
  _args[2] = Arg2 /*[VT_VARIANT:1]*/;
  _args[3] = Arg3 /*[VT_VARIANT:1]*/;
  _args[4] = Arg4 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_GlobalDispT<T>::BuildKeyCode(Word_xp::WdKey Arg1/*[in]*/, VARIANT* Arg2/*[in,opt]*/, 
                              VARIANT* Arg3/*[in,opt]*/, VARIANT* Arg4/*[in,opt]*/)
{
  long prop;
  this->BuildKeyCode(Arg1, Arg2, Arg3, Arg4, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                           BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeyString"), DISPID(317));
  TAutoArgs<2> _args;
  _args[1] = KeyCode /*[VT_I4:0]*/;
  _args[2] = KeyCode2 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
_GlobalDispT<T>::KeyString(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/)
{
  BSTR prop;
  this->KeyString(KeyCode, KeyCode2, (BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::CheckSpelling(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                               VARIANT* IgnoreUppercase/*[in,opt]*/, 
                               VARIANT* MainDictionary/*[in,opt]*/, 
                               VARIANT* CustomDictionary2/*[in,opt]*/, 
                               VARIANT* CustomDictionary3/*[in,opt]*/, 
                               VARIANT* CustomDictionary4/*[in,opt]*/, 
                               VARIANT* CustomDictionary5/*[in,opt]*/, 
                               VARIANT* CustomDictionary6/*[in,opt]*/, 
                               VARIANT* CustomDictionary7/*[in,opt]*/, 
                               VARIANT* CustomDictionary8/*[in,opt]*/, 
                               VARIANT* CustomDictionary9/*[in,opt]*/, 
                               VARIANT* CustomDictionary10/*[in,opt]*/, 
                               VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckSpelling"), DISPID(324));
  TAutoArgs<13> _args;
  _args[1] = Word /*[VT_BSTR:0]*/;
  _args[2] = CustomDictionary /*[VT_VARIANT:1]*/;
  _args[3] = IgnoreUppercase /*[VT_VARIANT:1]*/;
  _args[4] = MainDictionary /*[VT_VARIANT:1]*/;
  _args[5] = CustomDictionary2 /*[VT_VARIANT:1]*/;
  _args[6] = CustomDictionary3 /*[VT_VARIANT:1]*/;
  _args[7] = CustomDictionary4 /*[VT_VARIANT:1]*/;
  _args[8] = CustomDictionary5 /*[VT_VARIANT:1]*/;
  _args[9] = CustomDictionary6 /*[VT_VARIANT:1]*/;
  _args[10] = CustomDictionary7 /*[VT_VARIANT:1]*/;
  _args[11] = CustomDictionary8 /*[VT_VARIANT:1]*/;
  _args[12] = CustomDictionary9 /*[VT_VARIANT:1]*/;
  _args[13] = CustomDictionary10 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_GlobalDispT<T>::CheckSpelling(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                               VARIANT* IgnoreUppercase/*[in,opt]*/, 
                               VARIANT* MainDictionary/*[in,opt]*/, 
                               VARIANT* CustomDictionary2/*[in,opt]*/, 
                               VARIANT* CustomDictionary3/*[in,opt]*/, 
                               VARIANT* CustomDictionary4/*[in,opt]*/, 
                               VARIANT* CustomDictionary5/*[in,opt]*/, 
                               VARIANT* CustomDictionary6/*[in,opt]*/, 
                               VARIANT* CustomDictionary7/*[in,opt]*/, 
                               VARIANT* CustomDictionary8/*[in,opt]*/, 
                               VARIANT* CustomDictionary9/*[in,opt]*/, 
                               VARIANT* CustomDictionary10/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  this->CheckSpelling(Word, CustomDictionary, IgnoreUppercase, MainDictionary, CustomDictionary2, 
                      CustomDictionary3, CustomDictionary4, CustomDictionary5, CustomDictionary6, 
                      CustomDictionary7, CustomDictionary8, CustomDictionary9, CustomDictionary10, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::GetSpellingSuggestions(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                                        VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                        VARIANT* MainDictionary/*[in,opt]*/, 
                                        VARIANT* SuggestionMode/*[in,opt]*/, 
                                        VARIANT* CustomDictionary2/*[in,opt]*/, 
                                        VARIANT* CustomDictionary3/*[in,opt]*/, 
                                        VARIANT* CustomDictionary4/*[in,opt]*/, 
                                        VARIANT* CustomDictionary5/*[in,opt]*/, 
                                        VARIANT* CustomDictionary6/*[in,opt]*/, 
                                        VARIANT* CustomDictionary7/*[in,opt]*/, 
                                        VARIANT* CustomDictionary8/*[in,opt]*/, 
                                        VARIANT* CustomDictionary9/*[in,opt]*/, 
                                        VARIANT* CustomDictionary10/*[in,opt]*/, 
                                        Word_xp::SpellingSuggestions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetSpellingSuggestions"), DISPID(327));
  TAutoArgs<14> _args;
  _args[1] = Word /*[VT_BSTR:0]*/;
  _args[2] = CustomDictionary /*[VT_VARIANT:1]*/;
  _args[3] = IgnoreUppercase /*[VT_VARIANT:1]*/;
  _args[4] = MainDictionary /*[VT_VARIANT:1]*/;
  _args[5] = SuggestionMode /*[VT_VARIANT:1]*/;
  _args[6] = CustomDictionary2 /*[VT_VARIANT:1]*/;
  _args[7] = CustomDictionary3 /*[VT_VARIANT:1]*/;
  _args[8] = CustomDictionary4 /*[VT_VARIANT:1]*/;
  _args[9] = CustomDictionary5 /*[VT_VARIANT:1]*/;
  _args[10] = CustomDictionary6 /*[VT_VARIANT:1]*/;
  _args[11] = CustomDictionary7 /*[VT_VARIANT:1]*/;
  _args[12] = CustomDictionary8 /*[VT_VARIANT:1]*/;
  _args[13] = CustomDictionary9 /*[VT_VARIANT:1]*/;
  _args[14] = CustomDictionary10 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SpellingSuggestions**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::SpellingSuggestions* __fastcall
_GlobalDispT<T>::GetSpellingSuggestions(BSTR Word/*[in]*/, VARIANT* CustomDictionary/*[in,opt]*/, 
                                        VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                        VARIANT* MainDictionary/*[in,opt]*/, 
                                        VARIANT* SuggestionMode/*[in,opt]*/, 
                                        VARIANT* CustomDictionary2/*[in,opt]*/, 
                                        VARIANT* CustomDictionary3/*[in,opt]*/, 
                                        VARIANT* CustomDictionary4/*[in,opt]*/, 
                                        VARIANT* CustomDictionary5/*[in,opt]*/, 
                                        VARIANT* CustomDictionary6/*[in,opt]*/, 
                                        VARIANT* CustomDictionary7/*[in,opt]*/, 
                                        VARIANT* CustomDictionary8/*[in,opt]*/, 
                                        VARIANT* CustomDictionary9/*[in,opt]*/, 
                                        VARIANT* CustomDictionary10/*[in,opt]*/)
{
  Word_xp::SpellingSuggestions* prop;
  this->GetSpellingSuggestions(Word, CustomDictionary, IgnoreUppercase, MainDictionary, 
                               SuggestionMode, CustomDictionary2, CustomDictionary3, 
                               CustomDictionary4, CustomDictionary5, CustomDictionary6, 
                               CustomDictionary7, CustomDictionary8, CustomDictionary9, 
                               CustomDictionary10, (Word_xp::SpellingSuggestions**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::Help(VARIANT* HelpType/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Help"), DISPID(329));
  TAutoArgs<1> _args;
  _args[1] = HelpType /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NewWindow"), DISPID(345));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WINDOW**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WINDOW* __fastcall
_GlobalDispT<T>::NewWindow(void)
{
  Word_xp::WINDOW* prop;
  this->NewWindow((Word_xp::WINDOW**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::CleanString(BSTR String/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CleanString"), DISPID(354));
  TAutoArgs<1> _args;
  _args[1] = String /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
_GlobalDispT<T>::CleanString(BSTR String/*[in]*/)
{
  BSTR prop;
  this->CleanString(String, (BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::ChangeFileOpenDirectory(BSTR Path/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChangeFileOpenDirectory"), DISPID(355));
  TAutoArgs<1> _args;
  _args[1] = Path /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::InchesToPoints(float Inches/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InchesToPoints"), DISPID(370));
  TAutoArgs<1> _args;
  _args[1] = Inches /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_GlobalDispT<T>::InchesToPoints(float Inches/*[in]*/)
{
  float prop;
  this->InchesToPoints(Inches, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::CentimetersToPoints(float Centimeters/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CentimetersToPoints"), DISPID(371));
  TAutoArgs<1> _args;
  _args[1] = Centimeters /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_GlobalDispT<T>::CentimetersToPoints(float Centimeters/*[in]*/)
{
  float prop;
  this->CentimetersToPoints(Centimeters, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::MillimetersToPoints(float Millimeters/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MillimetersToPoints"), DISPID(372));
  TAutoArgs<1> _args;
  _args[1] = Millimeters /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_GlobalDispT<T>::MillimetersToPoints(float Millimeters/*[in]*/)
{
  float prop;
  this->MillimetersToPoints(Millimeters, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::PicasToPoints(float Picas/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PicasToPoints"), DISPID(373));
  TAutoArgs<1> _args;
  _args[1] = Picas /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_GlobalDispT<T>::PicasToPoints(float Picas/*[in]*/)
{
  float prop;
  this->PicasToPoints(Picas, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::LinesToPoints(float Lines/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinesToPoints"), DISPID(374));
  TAutoArgs<1> _args;
  _args[1] = Lines /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_GlobalDispT<T>::LinesToPoints(float Lines/*[in]*/)
{
  float prop;
  this->LinesToPoints(Lines, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::PointsToInches(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PointsToInches"), DISPID(380));
  TAutoArgs<1> _args;
  _args[1] = Points /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_GlobalDispT<T>::PointsToInches(float Points/*[in]*/)
{
  float prop;
  this->PointsToInches(Points, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::PointsToCentimeters(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PointsToCentimeters"), DISPID(381));
  TAutoArgs<1> _args;
  _args[1] = Points /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_GlobalDispT<T>::PointsToCentimeters(float Points/*[in]*/)
{
  float prop;
  this->PointsToCentimeters(Points, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::PointsToMillimeters(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PointsToMillimeters"), DISPID(382));
  TAutoArgs<1> _args;
  _args[1] = Points /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_GlobalDispT<T>::PointsToMillimeters(float Points/*[in]*/)
{
  float prop;
  this->PointsToMillimeters(Points, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::PointsToPicas(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PointsToPicas"), DISPID(383));
  TAutoArgs<1> _args;
  _args[1] = Points /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_GlobalDispT<T>::PointsToPicas(float Points/*[in]*/)
{
  float prop;
  this->PointsToPicas(Points, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::PointsToLines(float Points/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PointsToLines"), DISPID(384));
  TAutoArgs<1> _args;
  _args[1] = Points /*[VT_R4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_GlobalDispT<T>::PointsToLines(float Points/*[in]*/)
{
  float prop;
  this->PointsToLines(Points, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PointsToPixels"), DISPID(385));
  TAutoArgs<2> _args;
  _args[1] = Points /*[VT_R4:0]*/;
  _args[2] = fVertical /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_GlobalDispT<T>::PointsToPixels(float Points/*[in]*/, VARIANT* fVertical/*[in,opt]*/)
{
  float prop;
  this->PointsToPixels(Points, fVertical, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/, 
                                float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PixelsToPoints"), DISPID(386));
  TAutoArgs<2> _args;
  _args[1] = Pixels /*[VT_R4:0]*/;
  _args[2] = fVertical /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
_GlobalDispT<T>::PixelsToPoints(float Pixels/*[in]*/, VARIANT* fVertical/*[in,opt]*/)
{
  float prop;
  this->PixelsToPoints(Pixels, fVertical, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_LanguageSettings(Office_xp::LanguageSettings** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageSettings"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::LanguageSettings**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::LanguageSettingsPtr __fastcall
_GlobalDispT<T>::get_LanguageSettings(void)
{
  Office_xp::LanguageSettingsPtr prop;
  this->get_LanguageSettings(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_AnswerWizard(Office_xp::AnswerWizard** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AnswerWizard"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::AnswerWizard**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::AnswerWizardPtr __fastcall
_GlobalDispT<T>::get_AnswerWizard(void)
{
  Office_xp::AnswerWizardPtr prop;
  this->get_AnswerWizard(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_GlobalDispT<T>::get_AutoCorrectEmail(Word_xp::AutoCorrect** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoCorrectEmail"), DISPID(113));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoCorrect**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::AutoCorrectPtr __fastcall
_GlobalDispT<T>::get_AutoCorrectEmail(void)
{
  Word_xp::AutoCorrectPtr prop;
  this->get_AutoCorrectEmail(&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  FontNames
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096F-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FontNamesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
FontNamesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FontNamesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FontNamesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FontNamesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FontNamesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FontNamesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FontNamesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FontNamesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FontNamesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FontNamesDispT<T>::Item(long Index/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
FontNamesDispT<T>::Item(long Index/*[in]*/)
{
  BSTR prop;
  this->Item(Index, (BSTR*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Languages
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096E-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
LanguagesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
LanguagesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguagesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
LanguagesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguagesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
LanguagesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguagesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
LanguagesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguagesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
LanguagesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguagesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Language** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Language**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Language* __fastcall
LanguagesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Language* prop;
  this->Item(Index, (Word_xp::Language**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Language
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096D-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
LanguageDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
LanguageDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
LanguageDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
LanguageDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::get_ID(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
LanguageDispT<T>::get_ID(void)
{
  Word_xp::WdLanguageID prop;
  this->get_ID((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::get_NameLocal(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NameLocal"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
LanguageDispT<T>::get_NameLocal(void)
{
  BSTR prop;
  this->get_NameLocal((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
LanguageDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::get_ActiveGrammarDictionary(Word_xp::Dictionary** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveGrammarDictionary"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionary**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DictionaryPtr __fastcall
LanguageDispT<T>::get_ActiveGrammarDictionary(void)
{
  Word_xp::DictionaryPtr prop;
  this->get_ActiveGrammarDictionary(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::get_ActiveHyphenationDictionary(Word_xp::Dictionary** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveHyphenationDictionary"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionary**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DictionaryPtr __fastcall
LanguageDispT<T>::get_ActiveHyphenationDictionary(void)
{
  Word_xp::DictionaryPtr prop;
  this->get_ActiveHyphenationDictionary(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::get_ActiveSpellingDictionary(Word_xp::Dictionary** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveSpellingDictionary"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionary**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DictionaryPtr __fastcall
LanguageDispT<T>::get_ActiveSpellingDictionary(void)
{
  Word_xp::DictionaryPtr prop;
  this->get_ActiveSpellingDictionary(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::get_ActiveThesaurusDictionary(Word_xp::Dictionary** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveThesaurusDictionary"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionary**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DictionaryPtr __fastcall
LanguageDispT<T>::get_ActiveThesaurusDictionary(void)
{
  Word_xp::DictionaryPtr prop;
  this->get_ActiveThesaurusDictionary(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::get_DefaultWritingStyle(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultWritingStyle"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
LanguageDispT<T>::get_DefaultWritingStyle(void)
{
  BSTR prop;
  this->get_DefaultWritingStyle((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::set_DefaultWritingStyle(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultWritingStyle"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::get_WritingStyleList(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WritingStyleList"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
LanguageDispT<T>::get_WritingStyleList(void)
{
  VARIANT prop;
  this->get_WritingStyleList((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::get_SpellingDictionaryType(Word_xp::WdDictionaryType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpellingDictionaryType"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdDictionaryType __fastcall
LanguageDispT<T>::get_SpellingDictionaryType(void)
{
  Word_xp::WdDictionaryType prop;
  this->get_SpellingDictionaryType((Word_xp::WdDictionaryType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LanguageDispT<T>::set_SpellingDictionaryType(Word_xp::WdDictionaryType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpellingDictionaryType"), DISPID(19));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Documents
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096C-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
DocumentsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
DocumentsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DocumentsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
DocumentsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DocumentsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
DocumentsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordDocument* __fastcall
DocumentsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::WordDocument* prop;
  this->Item(Index, (Word_xp::WordDocument**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::Close(VARIANT* SaveChanges/*[in,opt]*/, VARIANT* OriginalFormat/*[in,opt]*/, 
                         VARIANT* RouteDocument/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Close"), DISPID(1105));
  TAutoArgs<3> _args;
  _args[1] = SaveChanges /*[VT_VARIANT:1]*/;
  _args[2] = OriginalFormat /*[VT_VARIANT:1]*/;
  _args[3] = RouteDocument /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::AddOld(VARIANT* Template/*[in,opt]*/, VARIANT* NewTemplate/*[in,opt]*/, 
                          Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddOld"), DISPID(11));
  TAutoArgs<2> _args;
  _args[1] = Template /*[VT_VARIANT:1]*/;
  _args[2] = NewTemplate /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordDocument* __fastcall
DocumentsDispT<T>::AddOld(VARIANT* Template/*[in,opt]*/, VARIANT* NewTemplate/*[in,opt]*/)
{
  Word_xp::WordDocument* prop;
  this->AddOld(Template, NewTemplate, (Word_xp::WordDocument**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::OpenOld(VARIANT* FileName/*[in]*/, VARIANT* ConfirmConversions/*[in,opt]*/, 
                           VARIANT* ReadOnly/*[in,opt]*/, VARIANT* AddToRecentFiles/*[in,opt]*/, 
                           VARIANT* PasswordDocument/*[in,opt]*/, 
                           VARIANT* PasswordTemplate/*[in,opt]*/, VARIANT* Revert/*[in,opt]*/, 
                           VARIANT* WritePasswordDocument/*[in,opt]*/, 
                           VARIANT* WritePasswordTemplate/*[in,opt]*/, VARIANT* Format/*[in,opt]*/, 
                           Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OpenOld"), DISPID(12));
  TAutoArgs<10> _args;
  _args[1] = FileName /*[VT_VARIANT:1]*/;
  _args[2] = ConfirmConversions /*[VT_VARIANT:1]*/;
  _args[3] = ReadOnly /*[VT_VARIANT:1]*/;
  _args[4] = AddToRecentFiles /*[VT_VARIANT:1]*/;
  _args[5] = PasswordDocument /*[VT_VARIANT:1]*/;
  _args[6] = PasswordTemplate /*[VT_VARIANT:1]*/;
  _args[7] = Revert /*[VT_VARIANT:1]*/;
  _args[8] = WritePasswordDocument /*[VT_VARIANT:1]*/;
  _args[9] = WritePasswordTemplate /*[VT_VARIANT:1]*/;
  _args[10] = Format /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordDocument* __fastcall
DocumentsDispT<T>::OpenOld(VARIANT* FileName/*[in]*/, VARIANT* ConfirmConversions/*[in,opt]*/, 
                           VARIANT* ReadOnly/*[in,opt]*/, VARIANT* AddToRecentFiles/*[in,opt]*/, 
                           VARIANT* PasswordDocument/*[in,opt]*/, 
                           VARIANT* PasswordTemplate/*[in,opt]*/, VARIANT* Revert/*[in,opt]*/, 
                           VARIANT* WritePasswordDocument/*[in,opt]*/, 
                           VARIANT* WritePasswordTemplate/*[in,opt]*/, VARIANT* Format/*[in,opt]*/)
{
  Word_xp::WordDocument* prop;
  this->OpenOld(FileName, ConfirmConversions, ReadOnly, AddToRecentFiles, PasswordDocument, 
                PasswordTemplate, Revert, WritePasswordDocument, WritePasswordTemplate, Format, (Word_xp::WordDocument**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::Save(VARIANT* NoPrompt/*[in,opt]*/, VARIANT* OriginalFormat/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Save"), DISPID(13));
  TAutoArgs<2> _args;
  _args[1] = NoPrompt /*[VT_VARIANT:1]*/;
  _args[2] = OriginalFormat /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::Add(VARIANT* Template/*[in,opt]*/, VARIANT* NewTemplate/*[in,opt]*/, 
                       VARIANT* DocumentType/*[in,opt]*/, VARIANT* Visible/*[in,opt]*/, 
                       Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(14));
  TAutoArgs<4> _args;
  _args[1] = Template /*[VT_VARIANT:1]*/;
  _args[2] = NewTemplate /*[VT_VARIANT:1]*/;
  _args[3] = DocumentType /*[VT_VARIANT:1]*/;
  _args[4] = Visible /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordDocument* __fastcall
DocumentsDispT<T>::Add(VARIANT* Template/*[in,opt]*/, VARIANT* NewTemplate/*[in,opt]*/, 
                       VARIANT* DocumentType/*[in,opt]*/, VARIANT* Visible/*[in,opt]*/)
{
  Word_xp::WordDocument* prop;
  this->Add(Template, NewTemplate, DocumentType, Visible, (Word_xp::WordDocument**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::Open2000(VARIANT* FileName/*[in]*/, VARIANT* ConfirmConversions/*[in,opt]*/, 
                            VARIANT* ReadOnly/*[in,opt]*/, VARIANT* AddToRecentFiles/*[in,opt]*/, 
                            VARIANT* PasswordDocument/*[in,opt]*/, 
                            VARIANT* PasswordTemplate/*[in,opt]*/, VARIANT* Revert/*[in,opt]*/, 
                            VARIANT* WritePasswordDocument/*[in,opt]*/, 
                            VARIANT* WritePasswordTemplate/*[in,opt]*/, VARIANT* Format/*[in,opt]*/
                            , VARIANT* Encoding/*[in,opt]*/, VARIANT* Visible/*[in,opt]*/, 
                            Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Open2000"), DISPID(15));
  TAutoArgs<12> _args;
  _args[1] = FileName /*[VT_VARIANT:1]*/;
  _args[2] = ConfirmConversions /*[VT_VARIANT:1]*/;
  _args[3] = ReadOnly /*[VT_VARIANT:1]*/;
  _args[4] = AddToRecentFiles /*[VT_VARIANT:1]*/;
  _args[5] = PasswordDocument /*[VT_VARIANT:1]*/;
  _args[6] = PasswordTemplate /*[VT_VARIANT:1]*/;
  _args[7] = Revert /*[VT_VARIANT:1]*/;
  _args[8] = WritePasswordDocument /*[VT_VARIANT:1]*/;
  _args[9] = WritePasswordTemplate /*[VT_VARIANT:1]*/;
  _args[10] = Format /*[VT_VARIANT:1]*/;
  _args[11] = Encoding /*[VT_VARIANT:1]*/;
  _args[12] = Visible /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordDocument* __fastcall
DocumentsDispT<T>::Open2000(VARIANT* FileName/*[in]*/, VARIANT* ConfirmConversions/*[in,opt]*/, 
                            VARIANT* ReadOnly/*[in,opt]*/, VARIANT* AddToRecentFiles/*[in,opt]*/, 
                            VARIANT* PasswordDocument/*[in,opt]*/, 
                            VARIANT* PasswordTemplate/*[in,opt]*/, VARIANT* Revert/*[in,opt]*/, 
                            VARIANT* WritePasswordDocument/*[in,opt]*/, 
                            VARIANT* WritePasswordTemplate/*[in,opt]*/, VARIANT* Format/*[in,opt]*/, 
                            VARIANT* Encoding/*[in,opt]*/, VARIANT* Visible/*[in,opt]*/)
{
  Word_xp::WordDocument* prop;
  this->Open2000(FileName, ConfirmConversions, ReadOnly, AddToRecentFiles, PasswordDocument, 
                 PasswordTemplate, Revert, WritePasswordDocument, WritePasswordTemplate, Format, 
                 Encoding, Visible, (Word_xp::WordDocument**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::CheckOut(BSTR FileName/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckOut"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::CanCheckOut(BSTR FileName/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanCheckOut"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DocumentsDispT<T>::CanCheckOut(BSTR FileName/*[in]*/)
{
  VARIANT_BOOL prop;
  this->CanCheckOut(FileName, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DocumentsDispT<T>::Open(VARIANT* FileName/*[in]*/, VARIANT* ConfirmConversions/*[in,opt]*/, 
                        VARIANT* ReadOnly/*[in,opt]*/, VARIANT* AddToRecentFiles/*[in,opt]*/, 
                        VARIANT* PasswordDocument/*[in,opt]*/, VARIANT* PasswordTemplate/*[in,opt]*/
                        , VARIANT* Revert/*[in,opt]*/, VARIANT* WritePasswordDocument/*[in,opt]*/, 
                        VARIANT* WritePasswordTemplate/*[in,opt]*/, VARIANT* Format/*[in,opt]*/, 
                        VARIANT* Encoding/*[in,opt]*/, VARIANT* Visible/*[in,opt]*/, 
                        VARIANT* OpenAndRepair/*[in,opt]*/, VARIANT* DocumentDirection/*[in,opt]*/, 
                        VARIANT* NoEncodingDialog/*[in,opt]*/, 
                        Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Open"), DISPID(18));
  TAutoArgs<15> _args;
  _args[1] = FileName /*[VT_VARIANT:1]*/;
  _args[2] = ConfirmConversions /*[VT_VARIANT:1]*/;
  _args[3] = ReadOnly /*[VT_VARIANT:1]*/;
  _args[4] = AddToRecentFiles /*[VT_VARIANT:1]*/;
  _args[5] = PasswordDocument /*[VT_VARIANT:1]*/;
  _args[6] = PasswordTemplate /*[VT_VARIANT:1]*/;
  _args[7] = Revert /*[VT_VARIANT:1]*/;
  _args[8] = WritePasswordDocument /*[VT_VARIANT:1]*/;
  _args[9] = WritePasswordTemplate /*[VT_VARIANT:1]*/;
  _args[10] = Format /*[VT_VARIANT:1]*/;
  _args[11] = Encoding /*[VT_VARIANT:1]*/;
  _args[12] = Visible /*[VT_VARIANT:1]*/;
  _args[13] = OpenAndRepair /*[VT_VARIANT:1]*/;
  _args[14] = DocumentDirection /*[VT_VARIANT:1]*/;
  _args[15] = NoEncodingDialog /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordDocument* __fastcall
DocumentsDispT<T>::Open(VARIANT* FileName/*[in]*/, VARIANT* ConfirmConversions/*[in,opt]*/, 
                        VARIANT* ReadOnly/*[in,opt]*/, VARIANT* AddToRecentFiles/*[in,opt]*/, 
                        VARIANT* PasswordDocument/*[in,opt]*/, VARIANT* PasswordTemplate/*[in,opt]*/, 
                        VARIANT* Revert/*[in,opt]*/, VARIANT* WritePasswordDocument/*[in,opt]*/, 
                        VARIANT* WritePasswordTemplate/*[in,opt]*/, VARIANT* Format/*[in,opt]*/, 
                        VARIANT* Encoding/*[in,opt]*/, VARIANT* Visible/*[in,opt]*/, 
                        VARIANT* OpenAndRepair/*[in,opt]*/, VARIANT* DocumentDirection/*[in,opt]*/, 
                        VARIANT* NoEncodingDialog/*[in,opt]*/)
{
  Word_xp::WordDocument* prop;
  this->Open(FileName, ConfirmConversions, ReadOnly, AddToRecentFiles, PasswordDocument, 
             PasswordTemplate, Revert, WritePasswordDocument, WritePasswordTemplate, Format, 
             Encoding, Visible, OpenAndRepair, DocumentDirection, NoEncodingDialog, (Word_xp::WordDocument**)&prop);
  return prop;
}

// *********************************************************************//
// SmartIntf: TCOM_Document
// Interface: _Document
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Name(prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get_Name(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Name((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  return (*this)->get_Application(prop);
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TCOM_DocumentT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  OLECHECK(this->get_Application((Word_xp::WordApplicationPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  return (*this)->get_Creator(prop);
}

template <class T> long __fastcall
TCOM_DocumentT<T>::get_Creator(void)
{
  long prop;
  OLECHECK(this->get_Creator((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_Parent(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_DocumentT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_BuiltInDocumentProperties(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_BuiltInDocumentProperties(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_DocumentT<T>::get_BuiltInDocumentProperties(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_BuiltInDocumentProperties((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_CustomDocumentProperties(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_CustomDocumentProperties(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_DocumentT<T>::get_CustomDocumentProperties(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_CustomDocumentProperties((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Path(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Path(prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get_Path(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Path((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Bookmarks(Word_xp::Bookmarks** prop/*[out,retval]*/)
{
  return (*this)->get_Bookmarks(prop);
}

template <class T> Word_xp::BookmarksPtr __fastcall
TCOM_DocumentT<T>::get_Bookmarks(void)
{
  Word_xp::BookmarksPtr prop;
  OLECHECK(this->get_Bookmarks((Word_xp::BookmarksPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Tables(Word_xp::Tables** prop/*[out,retval]*/)
{
  return (*this)->get_Tables(prop);
}

template <class T> Word_xp::TablesPtr __fastcall
TCOM_DocumentT<T>::get_Tables(void)
{
  Word_xp::TablesPtr prop;
  OLECHECK(this->get_Tables((Word_xp::TablesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Footnotes(Word_xp::Footnotes** prop/*[out,retval]*/)
{
  return (*this)->get_Footnotes(prop);
}

template <class T> Word_xp::FootnotesPtr __fastcall
TCOM_DocumentT<T>::get_Footnotes(void)
{
  Word_xp::FootnotesPtr prop;
  OLECHECK(this->get_Footnotes((Word_xp::FootnotesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Endnotes(Word_xp::Endnotes** prop/*[out,retval]*/)
{
  return (*this)->get_Endnotes(prop);
}

template <class T> Word_xp::EndnotesPtr __fastcall
TCOM_DocumentT<T>::get_Endnotes(void)
{
  Word_xp::EndnotesPtr prop;
  OLECHECK(this->get_Endnotes((Word_xp::EndnotesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Comments(Word_xp::Comments** prop/*[out,retval]*/)
{
  return (*this)->get_Comments(prop);
}

template <class T> Word_xp::CommentsPtr __fastcall
TCOM_DocumentT<T>::get_Comments(void)
{
  Word_xp::CommentsPtr prop;
  OLECHECK(this->get_Comments((Word_xp::CommentsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Type(Word_xp::WdDocumentType* prop/*[out,retval]*/)
{
  return (*this)->get_Type(prop);
}

template <class T> Word_xp::WdDocumentType __fastcall
TCOM_DocumentT<T>::get_Type(void)
{
  Word_xp::WdDocumentType prop;
  OLECHECK(this->get_Type((Word_xp::WdDocumentType*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_AutoHyphenation(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_AutoHyphenation(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_AutoHyphenation(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_AutoHyphenation((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_AutoHyphenation(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_AutoHyphenation(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_HyphenateCaps(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_HyphenateCaps(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_HyphenateCaps(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_HyphenateCaps((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_HyphenateCaps(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_HyphenateCaps(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_HyphenationZone(long* prop/*[out,retval]*/)
{
  return (*this)->get_HyphenationZone(prop);
}

template <class T> long __fastcall
TCOM_DocumentT<T>::get_HyphenationZone(void)
{
  long prop;
  OLECHECK(this->get_HyphenationZone((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_HyphenationZone(long prop/*[in]*/)
{
  return (*this)->set_HyphenationZone(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ConsecutiveHyphensLimit(long* prop/*[out,retval]*/)
{
  return (*this)->get_ConsecutiveHyphensLimit(prop);
}

template <class T> long __fastcall
TCOM_DocumentT<T>::get_ConsecutiveHyphensLimit(void)
{
  long prop;
  OLECHECK(this->get_ConsecutiveHyphensLimit((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_ConsecutiveHyphensLimit(long prop/*[in]*/)
{
  return (*this)->set_ConsecutiveHyphensLimit(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Sections(Word_xp::Sections** prop/*[out,retval]*/)
{
  return (*this)->get_Sections(prop);
}

template <class T> Word_xp::SectionsPtr __fastcall
TCOM_DocumentT<T>::get_Sections(void)
{
  Word_xp::SectionsPtr prop;
  OLECHECK(this->get_Sections((Word_xp::SectionsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Paragraphs(Word_xp::Paragraphs** prop/*[out,retval]*/)
{
  return (*this)->get_Paragraphs(prop);
}

template <class T> Word_xp::ParagraphsPtr __fastcall
TCOM_DocumentT<T>::get_Paragraphs(void)
{
  Word_xp::ParagraphsPtr prop;
  OLECHECK(this->get_Paragraphs((Word_xp::ParagraphsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Words(Word_xp::Words** prop/*[out,retval]*/)
{
  return (*this)->get_Words(prop);
}

template <class T> Word_xp::WordsPtr __fastcall
TCOM_DocumentT<T>::get_Words(void)
{
  Word_xp::WordsPtr prop;
  OLECHECK(this->get_Words((Word_xp::WordsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Sentences(Word_xp::Sentences** prop/*[out,retval]*/)
{
  return (*this)->get_Sentences(prop);
}

template <class T> Word_xp::SentencesPtr __fastcall
TCOM_DocumentT<T>::get_Sentences(void)
{
  Word_xp::SentencesPtr prop;
  OLECHECK(this->get_Sentences((Word_xp::SentencesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Characters(Word_xp::Characters** prop/*[out,retval]*/)
{
  return (*this)->get_Characters(prop);
}

template <class T> Word_xp::CharactersPtr __fastcall
TCOM_DocumentT<T>::get_Characters(void)
{
  Word_xp::CharactersPtr prop;
  OLECHECK(this->get_Characters((Word_xp::CharactersPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Fields(Word_xp::Fields** prop/*[out,retval]*/)
{
  return (*this)->get_Fields(prop);
}

template <class T> Word_xp::FieldsPtr __fastcall
TCOM_DocumentT<T>::get_Fields(void)
{
  Word_xp::FieldsPtr prop;
  OLECHECK(this->get_Fields((Word_xp::FieldsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_FormFields(Word_xp::FormFields** prop/*[out,retval]*/)
{
  return (*this)->get_FormFields(prop);
}

template <class T> Word_xp::FormFieldsPtr __fastcall
TCOM_DocumentT<T>::get_FormFields(void)
{
  Word_xp::FormFieldsPtr prop;
  OLECHECK(this->get_FormFields((Word_xp::FormFieldsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Styles(Word_xp::Styles** prop/*[out,retval]*/)
{
  return (*this)->get_Styles(prop);
}

template <class T> Word_xp::StylesPtr __fastcall
TCOM_DocumentT<T>::get_Styles(void)
{
  Word_xp::StylesPtr prop;
  OLECHECK(this->get_Styles((Word_xp::StylesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Frames(Word_xp::Frames** prop/*[out,retval]*/)
{
  return (*this)->get_Frames(prop);
}

template <class T> Word_xp::FramesPtr __fastcall
TCOM_DocumentT<T>::get_Frames(void)
{
  Word_xp::FramesPtr prop;
  OLECHECK(this->get_Frames((Word_xp::FramesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_TablesOfFigures(Word_xp::TablesOfFigures** prop/*[out,retval]*/)
{
  return (*this)->get_TablesOfFigures(prop);
}

template <class T> Word_xp::TablesOfFiguresPtr __fastcall
TCOM_DocumentT<T>::get_TablesOfFigures(void)
{
  Word_xp::TablesOfFiguresPtr prop;
  OLECHECK(this->get_TablesOfFigures((Word_xp::TablesOfFiguresPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Variables(Word_xp::Variables** prop/*[out,retval]*/)
{
  return (*this)->get_Variables(prop);
}

template <class T> Word_xp::VariablesPtr __fastcall
TCOM_DocumentT<T>::get_Variables(void)
{
  Word_xp::VariablesPtr prop;
  OLECHECK(this->get_Variables((Word_xp::VariablesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_MailMerge(Word_xp::MailMerge** prop/*[out,retval]*/)
{
  return (*this)->get_MailMerge(prop);
}

template <class T> Word_xp::MailMergePtr __fastcall
TCOM_DocumentT<T>::get_MailMerge(void)
{
  Word_xp::MailMergePtr prop;
  OLECHECK(this->get_MailMerge((Word_xp::MailMergePtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Envelope(Word_xp::Envelope** prop/*[out,retval]*/)
{
  return (*this)->get_Envelope(prop);
}

template <class T> Word_xp::EnvelopePtr __fastcall
TCOM_DocumentT<T>::get_Envelope(void)
{
  Word_xp::EnvelopePtr prop;
  OLECHECK(this->get_Envelope((Word_xp::EnvelopePtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_FullName(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_FullName(prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get_FullName(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_FullName((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Revisions(Word_xp::Revisions** prop/*[out,retval]*/)
{
  return (*this)->get_Revisions(prop);
}

template <class T> Word_xp::RevisionsPtr __fastcall
TCOM_DocumentT<T>::get_Revisions(void)
{
  Word_xp::RevisionsPtr prop;
  OLECHECK(this->get_Revisions((Word_xp::RevisionsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_TablesOfContents(Word_xp::TablesOfContents** prop/*[out,retval]*/)
{
  return (*this)->get_TablesOfContents(prop);
}

template <class T> Word_xp::TablesOfContentsPtr __fastcall
TCOM_DocumentT<T>::get_TablesOfContents(void)
{
  Word_xp::TablesOfContentsPtr prop;
  OLECHECK(this->get_TablesOfContents((Word_xp::TablesOfContentsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_TablesOfAuthorities(Word_xp::TablesOfAuthorities** prop/*[out,retval]*/)
{
  return (*this)->get_TablesOfAuthorities(prop);
}

template <class T> Word_xp::TablesOfAuthoritiesPtr __fastcall
TCOM_DocumentT<T>::get_TablesOfAuthorities(void)
{
  Word_xp::TablesOfAuthoritiesPtr prop;
  OLECHECK(this->get_TablesOfAuthorities((Word_xp::TablesOfAuthoritiesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/)
{
  return (*this)->get_PageSetup(prop);
}

template <class T> Word_xp::PageSetupPtr __fastcall
TCOM_DocumentT<T>::get_PageSetup(void)
{
  Word_xp::PageSetupPtr prop;
  OLECHECK(this->get_PageSetup((Word_xp::PageSetupPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/)
{
  return (*this)->set_PageSetup((PageSetup*)prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_PageSetup(Word_xp::PageSetup* prop/*[in]*/)
{
  return (*this)->set_PageSetup(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Windoz(Word_xp::Windows** prop/*[out,retval]*/)
{
  return (*this)->get_Windoz(prop);
}

template <class T> Word_xp::WindowsPtr __fastcall
TCOM_DocumentT<T>::get_Windoz(void)
{
  Word_xp::WindowsPtr prop;
  OLECHECK(this->get_Windoz((Word_xp::WindowsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_HasRoutingSlip(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_HasRoutingSlip(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_HasRoutingSlip(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_HasRoutingSlip((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_HasRoutingSlip(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_HasRoutingSlip(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_RoutingSlip(Word_xp::RoutingSlip** prop/*[out,retval]*/)
{
  return (*this)->get_RoutingSlip(prop);
}

template <class T> Word_xp::RoutingSlipPtr __fastcall
TCOM_DocumentT<T>::get_RoutingSlip(void)
{
  Word_xp::RoutingSlipPtr prop;
  OLECHECK(this->get_RoutingSlip((Word_xp::RoutingSlipPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Routed(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_Routed(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_Routed(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_Routed((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_TablesOfAuthoritiesCategories(Word_xp::TablesOfAuthoritiesCategories** prop/*[out,retval]*/)
{
  return (*this)->get_TablesOfAuthoritiesCategories(prop);
}

template <class T> Word_xp::TablesOfAuthoritiesCategoriesPtr __fastcall
TCOM_DocumentT<T>::get_TablesOfAuthoritiesCategories(void)
{
  Word_xp::TablesOfAuthoritiesCategoriesPtr prop;
  OLECHECK(this->get_TablesOfAuthoritiesCategories((Word_xp::TablesOfAuthoritiesCategoriesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Indexes(Word_xp::Indexes** prop/*[out,retval]*/)
{
  return (*this)->get_Indexes(prop);
}

template <class T> Word_xp::IndexesPtr __fastcall
TCOM_DocumentT<T>::get_Indexes(void)
{
  Word_xp::IndexesPtr prop;
  OLECHECK(this->get_Indexes((Word_xp::IndexesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Saved(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_Saved(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_Saved(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_Saved((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_Saved(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_Saved(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Content(Word_xp::WordRange** prop/*[out,retval]*/)
{
  return (*this)->get_Content(prop);
}

template <class T> Word_xp::WordRangePtr __fastcall
TCOM_DocumentT<T>::get_Content(void)
{
  Word_xp::WordRangePtr prop;
  OLECHECK(this->get_Content((Word_xp::WordRangePtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  return (*this)->get_ActiveWindow(prop);
}

template <class T> Word_xp::WINDOWPtr __fastcall
TCOM_DocumentT<T>::get_ActiveWindow(void)
{
  Word_xp::WINDOWPtr prop;
  OLECHECK(this->get_ActiveWindow((Word_xp::WINDOWPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Kind(Word_xp::WdDocumentKind* prop/*[out,retval]*/)
{
  return (*this)->get_Kind(prop);
}

template <class T> Word_xp::WdDocumentKind __fastcall
TCOM_DocumentT<T>::get_Kind(void)
{
  Word_xp::WdDocumentKind prop;
  OLECHECK(this->get_Kind((Word_xp::WdDocumentKind*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_Kind(Word_xp::WdDocumentKind prop/*[in]*/)
{
  return (*this)->set_Kind(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ReadOnly(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_ReadOnly(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_ReadOnly(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_ReadOnly((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Subdocuments(Word_xp::Subdocuments** prop/*[out,retval]*/)
{
  return (*this)->get_Subdocuments(prop);
}

template <class T> Word_xp::SubdocumentsPtr __fastcall
TCOM_DocumentT<T>::get_Subdocuments(void)
{
  Word_xp::SubdocumentsPtr prop;
  OLECHECK(this->get_Subdocuments((Word_xp::SubdocumentsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_IsMasterDocument(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_IsMasterDocument(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_IsMasterDocument(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_IsMasterDocument((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_DefaultTabStop(float* prop/*[out,retval]*/)
{
  return (*this)->get_DefaultTabStop(prop);
}

template <class T> float __fastcall
TCOM_DocumentT<T>::get_DefaultTabStop(void)
{
  float prop;
  OLECHECK(this->get_DefaultTabStop((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_DefaultTabStop(float prop/*[in]*/)
{
  return (*this)->set_DefaultTabStop(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_EmbedTrueTypeFonts(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_EmbedTrueTypeFonts(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_EmbedTrueTypeFonts(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_EmbedTrueTypeFonts((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_EmbedTrueTypeFonts(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_EmbedTrueTypeFonts(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_SaveFormsData(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_SaveFormsData(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_SaveFormsData(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_SaveFormsData((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_SaveFormsData(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_SaveFormsData(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ReadOnlyRecommended(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_ReadOnlyRecommended(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_ReadOnlyRecommended(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_ReadOnlyRecommended((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_ReadOnlyRecommended(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_ReadOnlyRecommended(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_SaveSubsetFonts(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_SaveSubsetFonts(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_SaveSubsetFonts(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_SaveSubsetFonts((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_SaveSubsetFonts(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_SaveSubsetFonts(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Compatibility(Word_xp::WdCompatibility Type/*[in]*/, 
                                     VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_Compatibility(Type, prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_Compatibility(Word_xp::WdCompatibility Type/*[in]*/)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_Compatibility(Type/*[in]*/, (VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_Compatibility(Word_xp::WdCompatibility Type/*[in]*/, 
                                     VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_Compatibility(Type, prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_StoryRanges(Word_xp::StoryRanges** prop/*[out,retval]*/)
{
  return (*this)->get_StoryRanges(prop);
}

template <class T> Word_xp::StoryRangesPtr __fastcall
TCOM_DocumentT<T>::get_StoryRanges(void)
{
  Word_xp::StoryRangesPtr prop;
  OLECHECK(this->get_StoryRanges((Word_xp::StoryRangesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/)
{
  return (*this)->get_CommandBars(prop);
}

template <class T> Office_xp::CommandBarsPtr __fastcall
TCOM_DocumentT<T>::get_CommandBars(void)
{
  Office_xp::CommandBarsPtr prop;
  OLECHECK(this->get_CommandBars((Office_xp::CommandBarsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_IsSubdocument(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_IsSubdocument(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_IsSubdocument(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_IsSubdocument((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_SaveFormat(long* prop/*[out,retval]*/)
{
  return (*this)->get_SaveFormat(prop);
}

template <class T> long __fastcall
TCOM_DocumentT<T>::get_SaveFormat(void)
{
  long prop;
  OLECHECK(this->get_SaveFormat((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ProtectionType(Word_xp::WdProtectionType* prop/*[out,retval]*/)
{
  return (*this)->get_ProtectionType(prop);
}

template <class T> Word_xp::WdProtectionType __fastcall
TCOM_DocumentT<T>::get_ProtectionType(void)
{
  Word_xp::WdProtectionType prop;
  OLECHECK(this->get_ProtectionType((Word_xp::WdProtectionType*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Hyperlinks(Word_xp::Hyperlinks** prop/*[out,retval]*/)
{
  return (*this)->get_Hyperlinks(prop);
}

template <class T> Word_xp::HyperlinksPtr __fastcall
TCOM_DocumentT<T>::get_Hyperlinks(void)
{
  Word_xp::HyperlinksPtr prop;
  OLECHECK(this->get_Hyperlinks((Word_xp::HyperlinksPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Shapes(Word_xp::Shapes** prop/*[out,retval]*/)
{
  return (*this)->get_Shapes(prop);
}

template <class T> Word_xp::ShapesPtr __fastcall
TCOM_DocumentT<T>::get_Shapes(void)
{
  Word_xp::ShapesPtr prop;
  OLECHECK(this->get_Shapes((Word_xp::ShapesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ListTemplates(Word_xp::ListTemplates** prop/*[out,retval]*/)
{
  return (*this)->get_ListTemplates(prop);
}

template <class T> Word_xp::ListTemplatesPtr __fastcall
TCOM_DocumentT<T>::get_ListTemplates(void)
{
  Word_xp::ListTemplatesPtr prop;
  OLECHECK(this->get_ListTemplates((Word_xp::ListTemplatesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Lists(Word_xp::Lists** prop/*[out,retval]*/)
{
  return (*this)->get_Lists(prop);
}

template <class T> Word_xp::ListsPtr __fastcall
TCOM_DocumentT<T>::get_Lists(void)
{
  Word_xp::ListsPtr prop;
  OLECHECK(this->get_Lists((Word_xp::ListsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_UpdateStylesOnOpen(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_UpdateStylesOnOpen(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_UpdateStylesOnOpen(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_UpdateStylesOnOpen((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_UpdateStylesOnOpen(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_UpdateStylesOnOpen(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_AttachedTemplate(VARIANT* prop/*[out,retval]*/)
{
  return (*this)->get_AttachedTemplate(prop);
}

template <class T> VARIANT __fastcall
TCOM_DocumentT<T>::get_AttachedTemplate(void)
{
  VARIANT prop;
  OLECHECK(this->get_AttachedTemplate((VARIANT*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_AttachedTemplate(VARIANT* prop/*[in]*/)
{
  return (*this)->set_AttachedTemplate(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_InlineShapes(Word_xp::InlineShapes** prop/*[out,retval]*/)
{
  return (*this)->get_InlineShapes(prop);
}

template <class T> Word_xp::InlineShapesPtr __fastcall
TCOM_DocumentT<T>::get_InlineShapes(void)
{
  Word_xp::InlineShapesPtr prop;
  OLECHECK(this->get_InlineShapes((Word_xp::InlineShapesPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Background(Word_xp::Shape** prop/*[out,retval]*/)
{
  return (*this)->get_Background(prop);
}

template <class T> Word_xp::ShapePtr __fastcall
TCOM_DocumentT<T>::get_Background(void)
{
  Word_xp::ShapePtr prop;
  OLECHECK(this->get_Background((Word_xp::ShapePtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_Background(Word_xp::ShapePtr prop/*[in]*/)
{
  return (*this)->set_Background((Shape*)prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_Background(Word_xp::Shape* prop/*[in]*/)
{
  return (*this)->set_Background(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_GrammarChecked(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_GrammarChecked(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_GrammarChecked(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_GrammarChecked((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_GrammarChecked(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_GrammarChecked(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_SpellingChecked(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_SpellingChecked(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_SpellingChecked(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_SpellingChecked((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_SpellingChecked(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_SpellingChecked(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ShowGrammaticalErrors(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_ShowGrammaticalErrors(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_ShowGrammaticalErrors(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_ShowGrammaticalErrors((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_ShowGrammaticalErrors(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_ShowGrammaticalErrors(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ShowSpellingErrors(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_ShowSpellingErrors(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_ShowSpellingErrors(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_ShowSpellingErrors((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_ShowSpellingErrors(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_ShowSpellingErrors(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Versions(Word_xp::Versions** prop/*[out,retval]*/)
{
  return (*this)->get_Versions(prop);
}

template <class T> Word_xp::VersionsPtr __fastcall
TCOM_DocumentT<T>::get_Versions(void)
{
  Word_xp::VersionsPtr prop;
  OLECHECK(this->get_Versions((Word_xp::VersionsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ShowSummary(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_ShowSummary(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_ShowSummary(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_ShowSummary((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_ShowSummary(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_ShowSummary(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_SummaryViewMode(Word_xp::WdSummaryMode* prop/*[out,retval]*/)
{
  return (*this)->get_SummaryViewMode(prop);
}

template <class T> Word_xp::WdSummaryMode __fastcall
TCOM_DocumentT<T>::get_SummaryViewMode(void)
{
  Word_xp::WdSummaryMode prop;
  OLECHECK(this->get_SummaryViewMode((Word_xp::WdSummaryMode*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_SummaryViewMode(Word_xp::WdSummaryMode prop/*[in]*/)
{
  return (*this)->set_SummaryViewMode(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_SummaryLength(long* prop/*[out,retval]*/)
{
  return (*this)->get_SummaryLength(prop);
}

template <class T> long __fastcall
TCOM_DocumentT<T>::get_SummaryLength(void)
{
  long prop;
  OLECHECK(this->get_SummaryLength((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_SummaryLength(long prop/*[in]*/)
{
  return (*this)->set_SummaryLength(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_PrintFractionalWidths(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_PrintFractionalWidths(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_PrintFractionalWidths(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_PrintFractionalWidths((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_PrintFractionalWidths(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_PrintFractionalWidths(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_PrintPostScriptOverText(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_PrintPostScriptOverText(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_PrintPostScriptOverText(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_PrintPostScriptOverText((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_PrintPostScriptOverText(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_PrintPostScriptOverText(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Container(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_Container(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_DocumentT<T>::get_Container(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_Container((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_PrintFormsData(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_PrintFormsData(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_PrintFormsData(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_PrintFormsData((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_PrintFormsData(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_PrintFormsData(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ListParagraphs(Word_xp::ListParagraphs** prop/*[out,retval]*/)
{
  return (*this)->get_ListParagraphs(prop);
}

template <class T> Word_xp::ListParagraphsPtr __fastcall
TCOM_DocumentT<T>::get_ListParagraphs(void)
{
  Word_xp::ListParagraphsPtr prop;
  OLECHECK(this->get_ListParagraphs((Word_xp::ListParagraphsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_Password(BSTR Param1/*[in]*/)
{
  return (*this)->set_Password(Param1);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_WritePassword(BSTR Param1/*[in]*/)
{
  return (*this)->set_WritePassword(Param1);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_HasPassword(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_HasPassword(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_HasPassword(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_HasPassword((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_WriteReserved(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_WriteReserved(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_WriteReserved(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_WriteReserved((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_ActiveWritingStyle(LanguageID, prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/)
{
  BSTR prop = 0;
  OLECHECK(this->get_ActiveWritingStyle(LanguageID/*[in]*/, (BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/, BSTR prop/*[in]*/)
{
  return (*this)->set_ActiveWritingStyle(LanguageID, prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_UserControl(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_UserControl(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_UserControl(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_UserControl((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_UserControl(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_UserControl(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_HasMailer(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_HasMailer(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_HasMailer(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_HasMailer((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_HasMailer(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_HasMailer(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Mailer(Word_xp::Mailer** prop/*[out,retval]*/)
{
  return (*this)->get_Mailer(prop);
}

template <class T> Word_xp::MailerPtr __fastcall
TCOM_DocumentT<T>::get_Mailer(void)
{
  Word_xp::MailerPtr prop;
  OLECHECK(this->get_Mailer((Word_xp::MailerPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ReadabilityStatistics(Word_xp::ReadabilityStatistics** prop/*[out,retval]*/)
{
  return (*this)->get_ReadabilityStatistics(prop);
}

template <class T> Word_xp::ReadabilityStatisticsPtr __fastcall
TCOM_DocumentT<T>::get_ReadabilityStatistics(void)
{
  Word_xp::ReadabilityStatisticsPtr prop;
  OLECHECK(this->get_ReadabilityStatistics((Word_xp::ReadabilityStatisticsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_GrammaticalErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/)
{
  return (*this)->get_GrammaticalErrors(prop);
}

template <class T> Word_xp::ProofreadingErrorsPtr __fastcall
TCOM_DocumentT<T>::get_GrammaticalErrors(void)
{
  Word_xp::ProofreadingErrorsPtr prop;
  OLECHECK(this->get_GrammaticalErrors((Word_xp::ProofreadingErrorsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_SpellingErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/)
{
  return (*this)->get_SpellingErrors(prop);
}

template <class T> Word_xp::ProofreadingErrorsPtr __fastcall
TCOM_DocumentT<T>::get_SpellingErrors(void)
{
  Word_xp::ProofreadingErrorsPtr prop;
  OLECHECK(this->get_SpellingErrors((Word_xp::ProofreadingErrorsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_VBProject(Vbide_xp::VBProject** prop/*[out,retval]*/)
{
  return (*this)->get_VBProject(prop);
}

template <class T> Vbide_xp::VBProjectPtr __fastcall
TCOM_DocumentT<T>::get_VBProject(void)
{
  Vbide_xp::VBProjectPtr prop;
  OLECHECK(this->get_VBProject((Vbide_xp::VBProjectPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_FormsDesign(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_FormsDesign(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_FormsDesign(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_FormsDesign((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get__CodeName(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get__CodeName(prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get__CodeName(void)
{
  BSTR prop = 0;
  OLECHECK(this->get__CodeName((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set__CodeName(BSTR prop/*[in]*/)
{
  return (*this)->set__CodeName(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_CodeName(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_CodeName(prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get_CodeName(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_CodeName((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_SnapToGrid(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_SnapToGrid(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_SnapToGrid(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_SnapToGrid((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_SnapToGrid(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_SnapToGrid(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_SnapToShapes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_SnapToShapes(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_SnapToShapes(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_SnapToShapes((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_SnapToShapes(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_SnapToShapes(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_GridDistanceHorizontal(float* prop/*[out,retval]*/)
{
  return (*this)->get_GridDistanceHorizontal(prop);
}

template <class T> float __fastcall
TCOM_DocumentT<T>::get_GridDistanceHorizontal(void)
{
  float prop;
  OLECHECK(this->get_GridDistanceHorizontal((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_GridDistanceHorizontal(float prop/*[in]*/)
{
  return (*this)->set_GridDistanceHorizontal(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_GridDistanceVertical(float* prop/*[out,retval]*/)
{
  return (*this)->get_GridDistanceVertical(prop);
}

template <class T> float __fastcall
TCOM_DocumentT<T>::get_GridDistanceVertical(void)
{
  float prop;
  OLECHECK(this->get_GridDistanceVertical((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_GridDistanceVertical(float prop/*[in]*/)
{
  return (*this)->set_GridDistanceVertical(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_GridOriginHorizontal(float* prop/*[out,retval]*/)
{
  return (*this)->get_GridOriginHorizontal(prop);
}

template <class T> float __fastcall
TCOM_DocumentT<T>::get_GridOriginHorizontal(void)
{
  float prop;
  OLECHECK(this->get_GridOriginHorizontal((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_GridOriginHorizontal(float prop/*[in]*/)
{
  return (*this)->set_GridOriginHorizontal(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_GridOriginVertical(float* prop/*[out,retval]*/)
{
  return (*this)->get_GridOriginVertical(prop);
}

template <class T> float __fastcall
TCOM_DocumentT<T>::get_GridOriginVertical(void)
{
  float prop;
  OLECHECK(this->get_GridOriginVertical((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_GridOriginVertical(float prop/*[in]*/)
{
  return (*this)->set_GridOriginVertical(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_GridSpaceBetweenHorizontalLines(long* prop/*[out,retval]*/)
{
  return (*this)->get_GridSpaceBetweenHorizontalLines(prop);
}

template <class T> long __fastcall
TCOM_DocumentT<T>::get_GridSpaceBetweenHorizontalLines(void)
{
  long prop;
  OLECHECK(this->get_GridSpaceBetweenHorizontalLines((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_GridSpaceBetweenHorizontalLines(long prop/*[in]*/)
{
  return (*this)->set_GridSpaceBetweenHorizontalLines(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_GridSpaceBetweenVerticalLines(long* prop/*[out,retval]*/)
{
  return (*this)->get_GridSpaceBetweenVerticalLines(prop);
}

template <class T> long __fastcall
TCOM_DocumentT<T>::get_GridSpaceBetweenVerticalLines(void)
{
  long prop;
  OLECHECK(this->get_GridSpaceBetweenVerticalLines((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_GridSpaceBetweenVerticalLines(long prop/*[in]*/)
{
  return (*this)->set_GridSpaceBetweenVerticalLines(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_GridOriginFromMargin(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_GridOriginFromMargin(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_GridOriginFromMargin(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_GridOriginFromMargin((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_GridOriginFromMargin(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_GridOriginFromMargin(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_KerningByAlgorithm(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_KerningByAlgorithm(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_KerningByAlgorithm(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_KerningByAlgorithm((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_KerningByAlgorithm(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_KerningByAlgorithm(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_JustificationMode(Word_xp::WdJustificationMode* prop/*[out,retval]*/)
{
  return (*this)->get_JustificationMode(prop);
}

template <class T> Word_xp::WdJustificationMode __fastcall
TCOM_DocumentT<T>::get_JustificationMode(void)
{
  Word_xp::WdJustificationMode prop;
  OLECHECK(this->get_JustificationMode((Word_xp::WdJustificationMode*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_JustificationMode(Word_xp::WdJustificationMode prop/*[in]*/)
{
  return (*this)->set_JustificationMode(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel* prop/*[out,retval]*/)
{
  return (*this)->get_FarEastLineBreakLevel(prop);
}

template <class T> Word_xp::WdFarEastLineBreakLevel __fastcall
TCOM_DocumentT<T>::get_FarEastLineBreakLevel(void)
{
  Word_xp::WdFarEastLineBreakLevel prop;
  OLECHECK(this->get_FarEastLineBreakLevel((Word_xp::WdFarEastLineBreakLevel*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel prop/*[in]*/)
{
  return (*this)->set_FarEastLineBreakLevel(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_NoLineBreakBefore(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_NoLineBreakBefore(prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get_NoLineBreakBefore(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_NoLineBreakBefore((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_NoLineBreakBefore(BSTR prop/*[in]*/)
{
  return (*this)->set_NoLineBreakBefore(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_NoLineBreakAfter(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_NoLineBreakAfter(prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get_NoLineBreakAfter(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_NoLineBreakAfter((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_NoLineBreakAfter(BSTR prop/*[in]*/)
{
  return (*this)->set_NoLineBreakAfter(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_TrackRevisions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_TrackRevisions(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_TrackRevisions(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_TrackRevisions((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_TrackRevisions(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_TrackRevisions(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_PrintRevisions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_PrintRevisions(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_PrintRevisions(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_PrintRevisions((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_PrintRevisions(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_PrintRevisions(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ShowRevisions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_ShowRevisions(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_ShowRevisions(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_ShowRevisions((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_ShowRevisions(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_ShowRevisions(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Close(VARIANT* SaveChanges/*[in,opt]*/, VARIANT* OriginalFormat/*[in,opt]*/, 
                         VARIANT* RouteDocument/*[in,opt]*/)
{
  return (*this)->Close(SaveChanges, OriginalFormat, RouteDocument);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::SaveAs2000(VARIANT* FileName/*[in,opt]*/, VARIANT* FileFormat/*[in,opt]*/, 
                              VARIANT* LockComments/*[in,opt]*/, VARIANT* Password/*[in,opt]*/, 
                              VARIANT* AddToRecentFiles/*[in,opt]*/, 
                              VARIANT* WritePassword/*[in,opt]*/, 
                              VARIANT* ReadOnlyRecommended/*[in,opt]*/, 
                              VARIANT* EmbedTrueTypeFonts/*[in,opt]*/, 
                              VARIANT* SaveNativePictureFormat/*[in,opt]*/, 
                              VARIANT* SaveFormsData/*[in,opt]*/, 
                              VARIANT* SaveAsAOCELetter/*[in,opt]*/)
{
  return (*this)->SaveAs2000(FileName, FileFormat, LockComments, Password, AddToRecentFiles, 
                             WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts, 
                             SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Repaginate(void)
{
  return (*this)->Repaginate();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::FitToPages(void)
{
  return (*this)->FitToPages();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ManualHyphenation(void)
{
  return (*this)->ManualHyphenation();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Select(void)
{
  return (*this)->Select();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::DataForm(void)
{
  return (*this)->DataForm();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Route(void)
{
  return (*this)->Route();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Save(void)
{
  return (*this)->Save();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::PrintOutOld(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                               VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                               VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                               VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                               VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                               VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                               VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                               VARIANT* ManualDuplexPrint/*[in,opt]*/)
{
  return (*this)->PrintOutOld(Background, Append, Range, OutputFileName, From, To, Item, Copies, 
                              Pages, PageType, PrintToFile, Collate, ActivePrinterMacGX, 
                              ManualDuplexPrint);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::SendMail(void)
{
  return (*this)->SendMail();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Range(VARIANT* Start/*[in,opt]*/, VARIANT* End/*[in,opt]*/, 
                         Word_xp::WordRange** prop/*[out,retval]*/)
{
  return (*this)->Range(Start, End, prop);
}

template <class T> Word_xp::WordRange* __fastcall
TCOM_DocumentT<T>::Range(VARIANT* Start/*[in,opt]*/, VARIANT* End/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  OLECHECK(this->Range(Start/*[in,opt]*/, End/*[in,opt]*/, (Word_xp::WordRange**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::RunAutoMacro(Word_xp::WdAutoMacros Which/*[in]*/)
{
  return (*this)->RunAutoMacro(Which);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Activate(void)
{
  return (*this)->Activate();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::PrintPreview(void)
{
  return (*this)->PrintPreview();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                        VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                        Word_xp::WordRange** prop/*[out,retval]*/)
{
  return (*this)->GoTo(What, Which, Count, Name, prop);
}

template <class T> Word_xp::WordRange* __fastcall
TCOM_DocumentT<T>::GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                        VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  OLECHECK(this->GoTo(What/*[in,opt]*/, Which/*[in,opt]*/, Count/*[in,opt]*/, Name/*[in,opt]*/, (Word_xp::WordRange**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Undo(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->Undo(Times, prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::Undo(VARIANT* Times/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  OLECHECK(this->Undo(Times/*[in,opt]*/, (VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Redo(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->Redo(Times, prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::Redo(VARIANT* Times/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  OLECHECK(this->Redo(Times/*[in,opt]*/, (VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                     VARIANT* IncludeFootnotesAndEndnotes/*[in,opt]*/, 
                                     long* prop/*[out,retval]*/)
{
  return (*this)->ComputeStatistics(Statistic, IncludeFootnotesAndEndnotes, prop);
}

template <class T> long __fastcall
TCOM_DocumentT<T>::ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                     VARIANT* IncludeFootnotesAndEndnotes/*[in,opt]*/)
{
  long prop;
  OLECHECK(this->ComputeStatistics(Statistic/*[in]*/, IncludeFootnotesAndEndnotes/*[in,opt]*/, (long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::MakeCompatibilityDefault(void)
{
  return (*this)->MakeCompatibilityDefault();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Protect(Word_xp::WdProtectionType Type/*[in]*/, VARIANT* NoReset/*[in,opt]*/, 
                           VARIANT* Password/*[in,opt]*/)
{
  return (*this)->Protect(Type, NoReset, Password);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Unprotect(VARIANT* Password/*[in,opt]*/)
{
  return (*this)->Unprotect(Password);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::EditionOptions(Word_xp::WdEditionType Type/*[in]*/, 
                                  Word_xp::WdEditionOption Option/*[in]*/, BSTR Name/*[in]*/, 
                                  VARIANT* Format/*[in,opt]*/)
{
  return (*this)->EditionOptions(Type, Option, Name, Format);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::RunLetterWizard(VARIANT* LetterContent/*[in,opt]*/, 
                                   VARIANT* WizardMode/*[in,opt]*/)
{
  return (*this)->RunLetterWizard(LetterContent, WizardMode);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::GetLetterContent(Word_xp::WordLetterContent** prop/*[out,retval]*/)
{
  return (*this)->GetLetterContent(prop);
}

template <class T> Word_xp::WordLetterContent* __fastcall
TCOM_DocumentT<T>::GetLetterContent(void)
{
  Word_xp::WordLetterContent* prop;
  OLECHECK(this->GetLetterContent((Word_xp::WordLetterContent**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::SetLetterContent(VARIANT* LetterContent/*[in]*/)
{
  return (*this)->SetLetterContent(LetterContent);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::CopyStylesFromTemplate(BSTR Template/*[in]*/)
{
  return (*this)->CopyStylesFromTemplate(Template);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::UpdateStyles(void)
{
  return (*this)->UpdateStyles();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::CheckGrammar(void)
{
  return (*this)->CheckGrammar();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::CheckSpelling(VARIANT* CustomDictionary/*[in,opt]*/, 
                                 VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                 VARIANT* AlwaysSuggest/*[in,opt]*/, 
                                 VARIANT* CustomDictionary2/*[in,opt]*/, 
                                 VARIANT* CustomDictionary3/*[in,opt]*/, 
                                 VARIANT* CustomDictionary4/*[in,opt]*/, 
                                 VARIANT* CustomDictionary5/*[in,opt]*/, 
                                 VARIANT* CustomDictionary6/*[in,opt]*/, 
                                 VARIANT* CustomDictionary7/*[in,opt]*/, 
                                 VARIANT* CustomDictionary8/*[in,opt]*/, 
                                 VARIANT* CustomDictionary9/*[in,opt]*/, 
                                 VARIANT* CustomDictionary10/*[in,opt]*/)
{
  return (*this)->CheckSpelling(CustomDictionary, IgnoreUppercase, AlwaysSuggest, CustomDictionary2, 
                                CustomDictionary3, CustomDictionary4, CustomDictionary5, 
                                CustomDictionary6, CustomDictionary7, CustomDictionary8, 
                                CustomDictionary9, CustomDictionary10);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::FollowHyperlink(VARIANT* Address/*[in,opt]*/, VARIANT* SubAddress/*[in,opt]*/, 
                                   VARIANT* NewWindow/*[in,opt]*/, VARIANT* AddHistory/*[in,opt]*/, 
                                   VARIANT* ExtraInfo/*[in,opt]*/, VARIANT* Method/*[in,opt]*/, 
                                   VARIANT* HeaderInfo/*[in,opt]*/)
{
  return (*this)->FollowHyperlink(Address, SubAddress, NewWindow, AddHistory, ExtraInfo, Method, 
                                  HeaderInfo);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::AddToFavorites(void)
{
  return (*this)->AddToFavorites();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Reload(void)
{
  return (*this)->Reload();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::AutoSummarize(VARIANT* Length/*[in,opt]*/, VARIANT* Mode/*[in,opt]*/, 
                                 VARIANT* UpdateProperties/*[in,opt]*/, 
                                 Word_xp::WordRange** prop/*[out,retval]*/)
{
  return (*this)->AutoSummarize(Length, Mode, UpdateProperties, prop);
}

template <class T> Word_xp::WordRange* __fastcall
TCOM_DocumentT<T>::AutoSummarize(VARIANT* Length/*[in,opt]*/, VARIANT* Mode/*[in,opt]*/, 
                                 VARIANT* UpdateProperties/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  OLECHECK(this->AutoSummarize(Length/*[in,opt]*/, Mode/*[in,opt]*/, UpdateProperties/*[in,opt]*/, (Word_xp::WordRange**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::RemoveNumbers(VARIANT* NumberType/*[in,opt]*/)
{
  return (*this)->RemoveNumbers(NumberType);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ConvertNumbersToText(VARIANT* NumberType/*[in,opt]*/)
{
  return (*this)->ConvertNumbersToText(NumberType);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, VARIANT* Level/*[in,opt]*/, 
                                      long* prop/*[out,retval]*/)
{
  return (*this)->CountNumberedItems(NumberType, Level, prop);
}

template <class T> long __fastcall
TCOM_DocumentT<T>::CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, VARIANT* Level/*[in,opt]*/)
{
  long prop;
  OLECHECK(this->CountNumberedItems(NumberType/*[in,opt]*/, Level/*[in,opt]*/, (long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Post(void)
{
  return (*this)->Post();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ToggleFormsDesign(void)
{
  return (*this)->ToggleFormsDesign();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Compare2000(BSTR Name/*[in]*/)
{
  return (*this)->Compare2000(Name);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::UpdateSummaryProperties(void)
{
  return (*this)->UpdateSummaryProperties();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::GetCrossReferenceItems(VARIANT* ReferenceType/*[in]*/, 
                                          VARIANT* prop/*[out,retval]*/)
{
  return (*this)->GetCrossReferenceItems(ReferenceType, prop);
}

template <class T> VARIANT __fastcall
TCOM_DocumentT<T>::GetCrossReferenceItems(VARIANT* ReferenceType/*[in]*/)
{
  VARIANT prop;
  OLECHECK(this->GetCrossReferenceItems(ReferenceType/*[in]*/, (VARIANT*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::AutoFormat(void)
{
  return (*this)->AutoFormat();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ViewCode(void)
{
  return (*this)->ViewCode();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ViewPropertyBrowser(void)
{
  return (*this)->ViewPropertyBrowser();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ForwardMailer(void)
{
  return (*this)->ForwardMailer();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Reply(void)
{
  return (*this)->Reply();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ReplyAll(void)
{
  return (*this)->ReplyAll();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::SendMailer(VARIANT* FileFormat/*[in,opt]*/, VARIANT* Priority/*[in,opt]*/)
{
  return (*this)->SendMailer(FileFormat, Priority);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::UndoClear(void)
{
  return (*this)->UndoClear();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::PresentIt(void)
{
  return (*this)->PresentIt();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::SendFax(BSTR Address/*[in]*/, VARIANT* Subject/*[in,opt]*/)
{
  return (*this)->SendFax(Address, Subject);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Merge2000(BSTR FileName/*[in]*/)
{
  return (*this)->Merge2000(FileName);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ClosePrintPreview(void)
{
  return (*this)->ClosePrintPreview();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::CheckConsistency(void)
{
  return (*this)->CheckConsistency();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::CreateLetterContent(BSTR DateFormat/*[in]*/, 
                                       VARIANT_BOOL IncludeHeaderFooter/*[in]*/, 
                                       BSTR PageDesign/*[in]*/, 
                                       Word_xp::WdLetterStyle LetterStyle/*[in]*/, 
                                       VARIANT_BOOL Letterhead/*[in]*/, 
                                       Word_xp::WdLetterheadLocation LetterheadLocation/*[in]*/, 
                                       float LetterheadSize/*[in]*/, BSTR RecipientName/*[in]*/, 
                                       BSTR RecipientAddress/*[in]*/, BSTR Salutation/*[in]*/, 
                                       Word_xp::WdSalutationType SalutationType/*[in]*/, 
                                       BSTR RecipientReference/*[in]*/, 
                                       BSTR MailingInstructions/*[in]*/, BSTR AttentionLine/*[in]*/, 
                                       BSTR Subject/*[in]*/, BSTR CCList/*[in]*/, 
                                       BSTR ReturnAddress/*[in]*/, BSTR SenderName/*[in]*/, 
                                       BSTR Closing/*[in]*/, BSTR SenderCompany/*[in]*/, 
                                       BSTR SenderJobTitle/*[in]*/, BSTR SenderInitials/*[in]*/, 
                                       long EnclosureNumber/*[in]*/, VARIANT* InfoBlock/*[in,opt]*/, 
                                       VARIANT* RecipientCode/*[in,opt]*/, 
                                       VARIANT* RecipientGender/*[in,opt]*/, 
                                       VARIANT* ReturnAddressShortForm/*[in,opt]*/, 
                                       VARIANT* SenderCity/*[in,opt]*/, 
                                       VARIANT* SenderCode/*[in,opt]*/, 
                                       VARIANT* SenderGender/*[in,opt]*/, 
                                       VARIANT* SenderReference/*[in,opt]*/, 
                                       Word_xp::WordLetterContent** prop/*[out,retval]*/)
{
  return (*this)->CreateLetterContent(DateFormat, IncludeHeaderFooter, PageDesign, LetterStyle, 
                                      Letterhead, LetterheadLocation, LetterheadSize, RecipientName, 
                                      RecipientAddress, Salutation, SalutationType, 
                                      RecipientReference, MailingInstructions, AttentionLine, 
                                      Subject, CCList, ReturnAddress, SenderName, Closing, 
                                      SenderCompany, SenderJobTitle, SenderInitials, EnclosureNumber, 
                                      InfoBlock, RecipientCode, RecipientGender, 
                                      ReturnAddressShortForm, SenderCity, SenderCode, SenderGender, 
                                      SenderReference, prop);
}

template <class T> Word_xp::WordLetterContent* __fastcall
TCOM_DocumentT<T>::CreateLetterContent(BSTR DateFormat/*[in]*/, 
                                       VARIANT_BOOL IncludeHeaderFooter/*[in]*/, 
                                       BSTR PageDesign/*[in]*/, 
                                       Word_xp::WdLetterStyle LetterStyle/*[in]*/, 
                                       VARIANT_BOOL Letterhead/*[in]*/, 
                                       Word_xp::WdLetterheadLocation LetterheadLocation/*[in]*/, 
                                       float LetterheadSize/*[in]*/, BSTR RecipientName/*[in]*/, 
                                       BSTR RecipientAddress/*[in]*/, BSTR Salutation/*[in]*/, 
                                       Word_xp::WdSalutationType SalutationType/*[in]*/, 
                                       BSTR RecipientReference/*[in]*/, 
                                       BSTR MailingInstructions/*[in]*/, BSTR AttentionLine/*[in]*/, 
                                       BSTR Subject/*[in]*/, BSTR CCList/*[in]*/, 
                                       BSTR ReturnAddress/*[in]*/, BSTR SenderName/*[in]*/, 
                                       BSTR Closing/*[in]*/, BSTR SenderCompany/*[in]*/, 
                                       BSTR SenderJobTitle/*[in]*/, BSTR SenderInitials/*[in]*/, 
                                       long EnclosureNumber/*[in]*/, VARIANT* InfoBlock/*[in,opt]*/, 
                                       VARIANT* RecipientCode/*[in,opt]*/, 
                                       VARIANT* RecipientGender/*[in,opt]*/, 
                                       VARIANT* ReturnAddressShortForm/*[in,opt]*/, 
                                       VARIANT* SenderCity/*[in,opt]*/, 
                                       VARIANT* SenderCode/*[in,opt]*/, 
                                       VARIANT* SenderGender/*[in,opt]*/, 
                                       VARIANT* SenderReference/*[in,opt]*/)
{
  Word_xp::WordLetterContent* prop;
  OLECHECK(this->CreateLetterContent(DateFormat/*[in]*/, IncludeHeaderFooter/*[in]*/, 
                                     PageDesign/*[in]*/, LetterStyle/*[in]*/, Letterhead/*[in]*/, 
                                     LetterheadLocation/*[in]*/, LetterheadSize/*[in]*/, 
                                     RecipientName/*[in]*/, RecipientAddress/*[in]*/, 
                                     Salutation/*[in]*/, SalutationType/*[in]*/, 
                                     RecipientReference/*[in]*/, MailingInstructions/*[in]*/, 
                                     AttentionLine/*[in]*/, Subject/*[in]*/, CCList/*[in]*/, 
                                     ReturnAddress/*[in]*/, SenderName/*[in]*/, Closing/*[in]*/, 
                                     SenderCompany/*[in]*/, SenderJobTitle/*[in]*/, 
                                     SenderInitials/*[in]*/, EnclosureNumber/*[in]*/, 
                                     InfoBlock/*[in,opt]*/, RecipientCode/*[in,opt]*/, 
                                     RecipientGender/*[in,opt]*/, ReturnAddressShortForm/*[in,opt]*/, 
                                     SenderCity/*[in,opt]*/, SenderCode/*[in,opt]*/, 
                                     SenderGender/*[in,opt]*/, SenderReference/*[in,opt]*/, (Word_xp::WordLetterContent**)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::AcceptAllRevisions(void)
{
  return (*this)->AcceptAllRevisions();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::RejectAllRevisions(void)
{
  return (*this)->RejectAllRevisions();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::DetectLanguage(void)
{
  return (*this)->DetectLanguage();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ApplyTheme(BSTR Name/*[in]*/)
{
  return (*this)->ApplyTheme(Name);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::RemoveTheme(void)
{
  return (*this)->RemoveTheme();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::WebPagePreview(void)
{
  return (*this)->WebPagePreview();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ReloadAs(Office_xp::MsoEncoding Encoding/*[in]*/)
{
  return (*this)->ReloadAs(Encoding);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ActiveTheme(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_ActiveTheme(prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get_ActiveTheme(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_ActiveTheme((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ActiveThemeDisplayName(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_ActiveThemeDisplayName(prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get_ActiveThemeDisplayName(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_ActiveThemeDisplayName((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Email(Word_xp::Email** prop/*[out,retval]*/)
{
  return (*this)->get_Email(prop);
}

template <class T> Word_xp::EmailPtr __fastcall
TCOM_DocumentT<T>::get_Email(void)
{
  Word_xp::EmailPtr prop;
  OLECHECK(this->get_Email((Word_xp::EmailPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Scripts(Office_xp::Scripts** prop/*[out,retval]*/)
{
  return (*this)->get_Scripts(prop);
}

template <class T> Office_xp::ScriptsPtr __fastcall
TCOM_DocumentT<T>::get_Scripts(void)
{
  Office_xp::ScriptsPtr prop;
  OLECHECK(this->get_Scripts((Office_xp::ScriptsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_LanguageDetected(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_LanguageDetected(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_LanguageDetected(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_LanguageDetected((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_LanguageDetected(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_LanguageDetected(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID* prop/*[out,retval]*/)
{
  return (*this)->get_FarEastLineBreakLanguage(prop);
}

template <class T> Word_xp::WdFarEastLineBreakLanguageID __fastcall
TCOM_DocumentT<T>::get_FarEastLineBreakLanguage(void)
{
  Word_xp::WdFarEastLineBreakLanguageID prop;
  OLECHECK(this->get_FarEastLineBreakLanguage((Word_xp::WdFarEastLineBreakLanguageID*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID prop/*[in]*/)
{
  return (*this)->set_FarEastLineBreakLanguage(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Frameset(Word_xp::Frameset** prop/*[out,retval]*/)
{
  return (*this)->get_Frameset(prop);
}

template <class T> Word_xp::FramesetPtr __fastcall
TCOM_DocumentT<T>::get_Frameset(void)
{
  Word_xp::FramesetPtr prop;
  OLECHECK(this->get_Frameset((Word_xp::FramesetPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_ClickAndTypeParagraphStyle(VARIANT* prop/*[out,retval]*/)
{
  return (*this)->get_ClickAndTypeParagraphStyle(prop);
}

template <class T> VARIANT __fastcall
TCOM_DocumentT<T>::get_ClickAndTypeParagraphStyle(void)
{
  VARIANT prop;
  OLECHECK(this->get_ClickAndTypeParagraphStyle((VARIANT*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_ClickAndTypeParagraphStyle(VARIANT* prop/*[in]*/)
{
  return (*this)->set_ClickAndTypeParagraphStyle(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_HTMLProject(Office_xp::HTMLProject** prop/*[out,retval]*/)
{
  return (*this)->get_HTMLProject(prop);
}

template <class T> Office_xp::HTMLProjectPtr __fastcall
TCOM_DocumentT<T>::get_HTMLProject(void)
{
  Office_xp::HTMLProjectPtr prop;
  OLECHECK(this->get_HTMLProject((Office_xp::HTMLProjectPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_WebOptions(Word_xp::WebOptions** prop/*[out,retval]*/)
{
  return (*this)->get_WebOptions(prop);
}

template <class T> Word_xp::WebOptionsPtr __fastcall
TCOM_DocumentT<T>::get_WebOptions(void)
{
  Word_xp::WebOptionsPtr prop;
  OLECHECK(this->get_WebOptions((Word_xp::WebOptionsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_OpenEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/)
{
  return (*this)->get_OpenEncoding(prop);
}

template <class T> Office_xp::MsoEncoding __fastcall
TCOM_DocumentT<T>::get_OpenEncoding(void)
{
  Office_xp::MsoEncoding prop;
  OLECHECK(this->get_OpenEncoding((Office_xp::MsoEncoding*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_SaveEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/)
{
  return (*this)->get_SaveEncoding(prop);
}

template <class T> Office_xp::MsoEncoding __fastcall
TCOM_DocumentT<T>::get_SaveEncoding(void)
{
  Office_xp::MsoEncoding prop;
  OLECHECK(this->get_SaveEncoding((Office_xp::MsoEncoding*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_SaveEncoding(Office_xp::MsoEncoding prop/*[in]*/)
{
  return (*this)->set_SaveEncoding(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_OptimizeForWord97(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_OptimizeForWord97(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_OptimizeForWord97(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_OptimizeForWord97((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_OptimizeForWord97(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_OptimizeForWord97(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_VBASigned(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_VBASigned(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_VBASigned(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_VBASigned((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::PrintOut2000(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                                VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                                VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                                VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                                VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                                VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                                VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                                VARIANT* ManualDuplexPrint/*[in,opt]*/, 
                                VARIANT* PrintZoomColumn/*[in,opt]*/, 
                                VARIANT* PrintZoomRow/*[in,opt]*/, 
                                VARIANT* PrintZoomPaperWidth/*[in,opt]*/, 
                                VARIANT* PrintZoomPaperHeight/*[in,opt]*/)
{
  return (*this)->PrintOut2000(Background, Append, Range, OutputFileName, From, To, Item, Copies, 
                               Pages, PageType, PrintToFile, Collate, ActivePrinterMacGX, 
                               ManualDuplexPrint, PrintZoomColumn, PrintZoomRow, PrintZoomPaperWidth, 
                               PrintZoomPaperHeight);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::sblt(BSTR s/*[in]*/)
{
  return (*this)->sblt(s);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ConvertVietDoc(long CodePageOrigin/*[in]*/)
{
  return (*this)->ConvertVietDoc(CodePageOrigin);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::PrintOut(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                            VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                            VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                            VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                            VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                            VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                            VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                            VARIANT* ManualDuplexPrint/*[in,opt]*/, 
                            VARIANT* PrintZoomColumn/*[in,opt]*/, VARIANT* PrintZoomRow/*[in,opt]*/, 
                            VARIANT* PrintZoomPaperWidth/*[in,opt]*/, 
                            VARIANT* PrintZoomPaperHeight/*[in,opt]*/)
{
  return (*this)->PrintOut(Background, Append, Range, OutputFileName, From, To, Item, Copies, Pages, 
                           PageType, PrintToFile, Collate, ActivePrinterMacGX, ManualDuplexPrint, 
                           PrintZoomColumn, PrintZoomRow, PrintZoomPaperWidth, PrintZoomPaperHeight);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_MailEnvelope(Office_xp::MsoEnvelope** prop/*[out,retval]*/)
{
  return (*this)->get_MailEnvelope(prop);
}

template <class T> Office_xp::MsoEnvelopePtr __fastcall
TCOM_DocumentT<T>::get_MailEnvelope(void)
{
  Office_xp::MsoEnvelopePtr prop;
  OLECHECK(this->get_MailEnvelope((Office_xp::MsoEnvelopePtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_DisableFeatures(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_DisableFeatures(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_DisableFeatures(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_DisableFeatures((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_DisableFeatures(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_DisableFeatures(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_DoNotEmbedSystemFonts(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_DoNotEmbedSystemFonts(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_DoNotEmbedSystemFonts(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_DoNotEmbedSystemFonts((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_DoNotEmbedSystemFonts(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_DoNotEmbedSystemFonts(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_Signatures(Office_xp::SignatureSet** prop/*[out,retval]*/)
{
  return (*this)->get_Signatures(prop);
}

template <class T> Office_xp::SignatureSetPtr __fastcall
TCOM_DocumentT<T>::get_Signatures(void)
{
  Office_xp::SignatureSetPtr prop;
  OLECHECK(this->get_Signatures((Office_xp::SignatureSetPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_DefaultTargetFrame(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_DefaultTargetFrame(prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get_DefaultTargetFrame(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_DefaultTargetFrame((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_DefaultTargetFrame(BSTR prop/*[in]*/)
{
  return (*this)->set_DefaultTargetFrame(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/)
{
  return (*this)->get_HTMLDivisions(prop);
}

template <class T> Word_xp::HTMLDivisionsPtr __fastcall
TCOM_DocumentT<T>::get_HTMLDivisions(void)
{
  Word_xp::HTMLDivisionsPtr prop;
  OLECHECK(this->get_HTMLDivisions((Word_xp::HTMLDivisionsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_DisableFeaturesIntroducedAfter(Word_xp::WdDisableFeaturesIntroducedAfter* prop/*[out,retval]*/)
{
  return (*this)->get_DisableFeaturesIntroducedAfter(prop);
}

template <class T> Word_xp::WdDisableFeaturesIntroducedAfter __fastcall
TCOM_DocumentT<T>::get_DisableFeaturesIntroducedAfter(void)
{
  Word_xp::WdDisableFeaturesIntroducedAfter prop;
  OLECHECK(this->get_DisableFeaturesIntroducedAfter((Word_xp::WdDisableFeaturesIntroducedAfter*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_DisableFeaturesIntroducedAfter(Word_xp::WdDisableFeaturesIntroducedAfter prop/*[in]*/)
{
  return (*this)->set_DisableFeaturesIntroducedAfter(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_RemovePersonalInformation(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_RemovePersonalInformation(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_RemovePersonalInformation(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_RemovePersonalInformation((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_RemovePersonalInformation(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_RemovePersonalInformation(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_SmartTags(Word_xp::SmartTags** prop/*[out,retval]*/)
{
  return (*this)->get_SmartTags(prop);
}

template <class T> Word_xp::SmartTagsPtr __fastcall
TCOM_DocumentT<T>::get_SmartTags(void)
{
  Word_xp::SmartTagsPtr prop;
  OLECHECK(this->get_SmartTags((Word_xp::SmartTagsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Compare(BSTR Name/*[in]*/, VARIANT* AuthorName/*[in,opt]*/, 
                           VARIANT* CompareTarget/*[in,opt]*/, 
                           VARIANT* DetectFormatChanges/*[in,opt]*/, 
                           VARIANT* IgnoreAllComparisonWarnings/*[in,opt]*/, 
                           VARIANT* AddToRecentFiles/*[in,opt]*/)
{
  return (*this)->Compare(Name, AuthorName, CompareTarget, DetectFormatChanges, 
                          IgnoreAllComparisonWarnings, AddToRecentFiles);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::CheckIn(VARIANT_BOOL SaveChanges/*[in,def,opt]*/, VARIANT* Comments/*[in,opt]*/, 
                           VARIANT_BOOL MakePublic/*[in,def,opt]*/)
{
  return (*this)->CheckIn(SaveChanges, Comments, MakePublic);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::CanCheckin(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->CanCheckin(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::CanCheckin(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->CanCheckin((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::Merge(BSTR FileName/*[in]*/, VARIANT* MergeTarget/*[in,opt]*/, 
                         VARIANT* DetectFormatChanges/*[in,opt]*/, 
                         VARIANT* UseFormattingFrom/*[in,opt]*/, 
                         VARIANT* AddToRecentFiles/*[in,opt]*/)
{
  return (*this)->Merge(FileName, MergeTarget, DetectFormatChanges, UseFormattingFrom, 
                        AddToRecentFiles);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_EmbedSmartTags(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_EmbedSmartTags(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_EmbedSmartTags(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_EmbedSmartTags((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_EmbedSmartTags(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_EmbedSmartTags(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_SmartTagsAsXMLProps(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_SmartTagsAsXMLProps(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_SmartTagsAsXMLProps(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_SmartTagsAsXMLProps((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_SmartTagsAsXMLProps(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_SmartTagsAsXMLProps(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_TextEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/)
{
  return (*this)->get_TextEncoding(prop);
}

template <class T> Office_xp::MsoEncoding __fastcall
TCOM_DocumentT<T>::get_TextEncoding(void)
{
  Office_xp::MsoEncoding prop;
  OLECHECK(this->get_TextEncoding((Office_xp::MsoEncoding*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_TextEncoding(Office_xp::MsoEncoding prop/*[in]*/)
{
  return (*this)->set_TextEncoding(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_TextLineEnding(Word_xp::WdLineEndingType* prop/*[out,retval]*/)
{
  return (*this)->get_TextLineEnding(prop);
}

template <class T> Word_xp::WdLineEndingType __fastcall
TCOM_DocumentT<T>::get_TextLineEnding(void)
{
  Word_xp::WdLineEndingType prop;
  OLECHECK(this->get_TextLineEnding((Word_xp::WdLineEndingType*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_TextLineEnding(Word_xp::WdLineEndingType prop/*[in]*/)
{
  return (*this)->set_TextLineEnding(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::SendForReview(VARIANT* Recipients/*[in,opt]*/, VARIANT* Subject/*[in,opt]*/, 
                                 VARIANT* ShowMessage/*[in,opt]*/, 
                                 VARIANT* IncludeAttachment/*[in,opt]*/)
{
  return (*this)->SendForReview(Recipients, Subject, ShowMessage, IncludeAttachment);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ReplyWithChanges(VARIANT* ShowMessage/*[in,opt]*/)
{
  return (*this)->ReplyWithChanges(ShowMessage);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::EndReview(void)
{
  return (*this)->EndReview();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_StyleSheets(Word_xp::StyleSheets** prop/*[out,retval]*/)
{
  return (*this)->get_StyleSheets(prop);
}

template <class T> Word_xp::StyleSheetsPtr __fastcall
TCOM_DocumentT<T>::get_StyleSheets(void)
{
  Word_xp::StyleSheetsPtr prop;
  OLECHECK(this->get_StyleSheets((Word_xp::StyleSheetsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_DefaultTableStyle(VARIANT* prop/*[out,retval]*/)
{
  return (*this)->get_DefaultTableStyle(prop);
}

template <class T> VARIANT __fastcall
TCOM_DocumentT<T>::get_DefaultTableStyle(void)
{
  VARIANT prop;
  OLECHECK(this->get_DefaultTableStyle((VARIANT*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_PasswordEncryptionProvider(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_PasswordEncryptionProvider(prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get_PasswordEncryptionProvider(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_PasswordEncryptionProvider((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_PasswordEncryptionAlgorithm(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_PasswordEncryptionAlgorithm(prop);
}

template <class T> BSTR __fastcall
TCOM_DocumentT<T>::get_PasswordEncryptionAlgorithm(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_PasswordEncryptionAlgorithm((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_PasswordEncryptionKeyLength(long* prop/*[out,retval]*/)
{
  return (*this)->get_PasswordEncryptionKeyLength(prop);
}

template <class T> long __fastcall
TCOM_DocumentT<T>::get_PasswordEncryptionKeyLength(void)
{
  long prop;
  OLECHECK(this->get_PasswordEncryptionKeyLength((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_PasswordEncryptionFileProperties(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_PasswordEncryptionFileProperties(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_PasswordEncryptionFileProperties(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_PasswordEncryptionFileProperties((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::SetPasswordEncryptionOptions(BSTR PasswordEncryptionProvider/*[in]*/, 
                                                BSTR PasswordEncryptionAlgorithm/*[in]*/, 
                                                long PasswordEncryptionKeyLength/*[in]*/, 
                                                VARIANT* PasswordEncryptionFileProperties/*[in,opt]*/)
{
  return (*this)->SetPasswordEncryptionOptions(PasswordEncryptionProvider, 
                                               PasswordEncryptionAlgorithm, 
                                               PasswordEncryptionKeyLength, 
                                               PasswordEncryptionFileProperties);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::RecheckSmartTags(void)
{
  return (*this)->RecheckSmartTags();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::RemoveSmartTags(void)
{
  return (*this)->RemoveSmartTags();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::SetDefaultTableStyle(VARIANT* Style/*[in]*/, VARIANT_BOOL SetInTemplate/*[in]*/)
{
  return (*this)->SetDefaultTableStyle(Style, SetInTemplate);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::DeleteAllComments(void)
{
  return (*this)->DeleteAllComments();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::AcceptAllRevisionsShown(void)
{
  return (*this)->AcceptAllRevisionsShown();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::RejectAllRevisionsShown(void)
{
  return (*this)->RejectAllRevisionsShown();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::DeleteAllCommentsShown(void)
{
  return (*this)->DeleteAllCommentsShown();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::ResetFormFields(void)
{
  return (*this)->ResetFormFields();
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::SaveAs(VARIANT* FileName/*[in,opt]*/, VARIANT* FileFormat/*[in,opt]*/, 
                          VARIANT* LockComments/*[in,opt]*/, VARIANT* Password/*[in,opt]*/, 
                          VARIANT* AddToRecentFiles/*[in,opt]*/, VARIANT* WritePassword/*[in,opt]*/, 
                          VARIANT* ReadOnlyRecommended/*[in,opt]*/, 
                          VARIANT* EmbedTrueTypeFonts/*[in,opt]*/, 
                          VARIANT* SaveNativePictureFormat/*[in,opt]*/, 
                          VARIANT* SaveFormsData/*[in,opt]*/, VARIANT* SaveAsAOCELetter/*[in,opt]*/, 
                          VARIANT* Encoding/*[in,opt]*/, VARIANT* InsertLineBreaks/*[in,opt]*/, 
                          VARIANT* AllowSubstitutions/*[in,opt]*/, VARIANT* LineEnding/*[in,opt]*/, 
                          VARIANT* AddBiDiMarks/*[in,opt]*/)
{
  return (*this)->SaveAs(FileName, FileFormat, LockComments, Password, AddToRecentFiles, 
                         WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts, 
                         SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter, Encoding, 
                         InsertLineBreaks, AllowSubstitutions, LineEnding, AddBiDiMarks);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_EmbedLinguisticData(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_EmbedLinguisticData(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_EmbedLinguisticData(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_EmbedLinguisticData((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_EmbedLinguisticData(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_EmbedLinguisticData(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_FormattingShowFont(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_FormattingShowFont(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_FormattingShowFont(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_FormattingShowFont((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_FormattingShowFont(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_FormattingShowFont(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_FormattingShowClear(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_FormattingShowClear(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_FormattingShowClear(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_FormattingShowClear((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_FormattingShowClear(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_FormattingShowClear(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_FormattingShowParagraph(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_FormattingShowParagraph(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_FormattingShowParagraph(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_FormattingShowParagraph((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_FormattingShowParagraph(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_FormattingShowParagraph(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_FormattingShowNumbering(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_FormattingShowNumbering(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_DocumentT<T>::get_FormattingShowNumbering(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_FormattingShowNumbering((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_FormattingShowNumbering(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_FormattingShowNumbering(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::get_FormattingShowFilter(Word_xp::WdShowFilter* prop/*[out,retval]*/)
{
  return (*this)->get_FormattingShowFilter(prop);
}

template <class T> Word_xp::WdShowFilter __fastcall
TCOM_DocumentT<T>::get_FormattingShowFilter(void)
{
  Word_xp::WdShowFilter prop;
  OLECHECK(this->get_FormattingShowFilter((Word_xp::WdShowFilter*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::set_FormattingShowFilter(Word_xp::WdShowFilter prop/*[in]*/)
{
  return (*this)->set_FormattingShowFilter(prop);
}

template <class T> HRESULT __fastcall
TCOM_DocumentT<T>::CheckNewSmartTags(void)
{
  return (*this)->CheckNewSmartTags();
}

// *********************************************************************//
// DispIntf:  _Document
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0002096B-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
_DocumentDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_DocumentDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_DocumentDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_BuiltInDocumentProperties(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BuiltInDocumentProperties"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_DocumentDispT<T>::get_BuiltInDocumentProperties(void)
{
  LPDISPATCH prop;
  this->get_BuiltInDocumentProperties((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_CustomDocumentProperties(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CustomDocumentProperties"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_DocumentDispT<T>::get_CustomDocumentProperties(void)
{
  LPDISPATCH prop;
  this->get_CustomDocumentProperties((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Path(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Path"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get_Path(void)
{
  BSTR prop;
  this->get_Path((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Bookmarks(Word_xp::Bookmarks** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Bookmarks"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Bookmarks**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BookmarksPtr __fastcall
_DocumentDispT<T>::get_Bookmarks(void)
{
  Word_xp::BookmarksPtr prop;
  this->get_Bookmarks(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Tables(Word_xp::Tables** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Tables"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Tables**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TablesPtr __fastcall
_DocumentDispT<T>::get_Tables(void)
{
  Word_xp::TablesPtr prop;
  this->get_Tables(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Footnotes(Word_xp::Footnotes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Footnotes"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Footnotes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FootnotesPtr __fastcall
_DocumentDispT<T>::get_Footnotes(void)
{
  Word_xp::FootnotesPtr prop;
  this->get_Footnotes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Endnotes(Word_xp::Endnotes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Endnotes"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Endnotes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::EndnotesPtr __fastcall
_DocumentDispT<T>::get_Endnotes(void)
{
  Word_xp::EndnotesPtr prop;
  this->get_Endnotes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Comments(Word_xp::Comments** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Comments"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Comments**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CommentsPtr __fastcall
_DocumentDispT<T>::get_Comments(void)
{
  Word_xp::CommentsPtr prop;
  this->get_Comments(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Type(Word_xp::WdDocumentType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdDocumentType __fastcall
_DocumentDispT<T>::get_Type(void)
{
  Word_xp::WdDocumentType prop;
  this->get_Type((Word_xp::WdDocumentType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_AutoHyphenation(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoHyphenation"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_AutoHyphenation(void)
{
  VARIANT_BOOL prop;
  this->get_AutoHyphenation((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_AutoHyphenation(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoHyphenation"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_HyphenateCaps(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HyphenateCaps"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_HyphenateCaps(void)
{
  VARIANT_BOOL prop;
  this->get_HyphenateCaps((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_HyphenateCaps(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HyphenateCaps"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_HyphenationZone(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HyphenationZone"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_DocumentDispT<T>::get_HyphenationZone(void)
{
  long prop;
  this->get_HyphenationZone((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_HyphenationZone(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HyphenationZone"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ConsecutiveHyphensLimit(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConsecutiveHyphensLimit"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_DocumentDispT<T>::get_ConsecutiveHyphensLimit(void)
{
  long prop;
  this->get_ConsecutiveHyphensLimit((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_ConsecutiveHyphensLimit(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConsecutiveHyphensLimit"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Sections(Word_xp::Sections** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Sections"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Sections**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SectionsPtr __fastcall
_DocumentDispT<T>::get_Sections(void)
{
  Word_xp::SectionsPtr prop;
  this->get_Sections(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Paragraphs(Word_xp::Paragraphs** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Paragraphs"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Paragraphs**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ParagraphsPtr __fastcall
_DocumentDispT<T>::get_Paragraphs(void)
{
  Word_xp::ParagraphsPtr prop;
  this->get_Paragraphs(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Words(Word_xp::Words** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Words"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Words**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordsPtr __fastcall
_DocumentDispT<T>::get_Words(void)
{
  Word_xp::WordsPtr prop;
  this->get_Words(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Sentences(Word_xp::Sentences** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Sentences"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Sentences**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SentencesPtr __fastcall
_DocumentDispT<T>::get_Sentences(void)
{
  Word_xp::SentencesPtr prop;
  this->get_Sentences(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Characters(Word_xp::Characters** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Characters"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Characters**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CharactersPtr __fastcall
_DocumentDispT<T>::get_Characters(void)
{
  Word_xp::CharactersPtr prop;
  this->get_Characters(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Fields(Word_xp::Fields** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Fields"), DISPID(20));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Fields**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FieldsPtr __fastcall
_DocumentDispT<T>::get_Fields(void)
{
  Word_xp::FieldsPtr prop;
  this->get_Fields(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_FormFields(Word_xp::FormFields** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormFields"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FormFields**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FormFieldsPtr __fastcall
_DocumentDispT<T>::get_FormFields(void)
{
  Word_xp::FormFieldsPtr prop;
  this->get_FormFields(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Styles(Word_xp::Styles** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Styles"), DISPID(22));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Styles**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::StylesPtr __fastcall
_DocumentDispT<T>::get_Styles(void)
{
  Word_xp::StylesPtr prop;
  this->get_Styles(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Frames(Word_xp::Frames** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Frames"), DISPID(23));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frames**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FramesPtr __fastcall
_DocumentDispT<T>::get_Frames(void)
{
  Word_xp::FramesPtr prop;
  this->get_Frames(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_TablesOfFigures(Word_xp::TablesOfFigures** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TablesOfFigures"), DISPID(25));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TablesOfFigures**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TablesOfFiguresPtr __fastcall
_DocumentDispT<T>::get_TablesOfFigures(void)
{
  Word_xp::TablesOfFiguresPtr prop;
  this->get_TablesOfFigures(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Variables(Word_xp::Variables** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Variables"), DISPID(26));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Variables**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::VariablesPtr __fastcall
_DocumentDispT<T>::get_Variables(void)
{
  Word_xp::VariablesPtr prop;
  this->get_Variables(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_MailMerge(Word_xp::MailMerge** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailMerge"), DISPID(27));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMerge**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::MailMergePtr __fastcall
_DocumentDispT<T>::get_MailMerge(void)
{
  Word_xp::MailMergePtr prop;
  this->get_MailMerge(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Envelope(Word_xp::Envelope** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Envelope"), DISPID(28));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Envelope**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::EnvelopePtr __fastcall
_DocumentDispT<T>::get_Envelope(void)
{
  Word_xp::EnvelopePtr prop;
  this->get_Envelope(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_FullName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FullName"), DISPID(29));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get_FullName(void)
{
  BSTR prop;
  this->get_FullName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Revisions(Word_xp::Revisions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Revisions"), DISPID(30));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Revisions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RevisionsPtr __fastcall
_DocumentDispT<T>::get_Revisions(void)
{
  Word_xp::RevisionsPtr prop;
  this->get_Revisions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_TablesOfContents(Word_xp::TablesOfContents** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TablesOfContents"), DISPID(31));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TablesOfContents**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TablesOfContentsPtr __fastcall
_DocumentDispT<T>::get_TablesOfContents(void)
{
  Word_xp::TablesOfContentsPtr prop;
  this->get_TablesOfContents(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_TablesOfAuthorities(Word_xp::TablesOfAuthorities** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TablesOfAuthorities"), DISPID(32));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TablesOfAuthorities**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TablesOfAuthoritiesPtr __fastcall
_DocumentDispT<T>::get_TablesOfAuthorities(void)
{
  Word_xp::TablesOfAuthoritiesPtr prop;
  this->get_TablesOfAuthorities(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageSetup"), DISPID(1101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::PageSetup**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PageSetupPtr __fastcall
_DocumentDispT<T>::get_PageSetup(void)
{
  Word_xp::PageSetupPtr prop;
  this->get_PageSetup(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageSetup"), DISPID(1101));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::PageSetup*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Windoz(Word_xp::Windows** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Windows"), DISPID(34));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Windows**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WindowsPtr __fastcall
_DocumentDispT<T>::get_Windoz(void)
{
  Word_xp::WindowsPtr prop;
  this->get_Windoz(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_HasRoutingSlip(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasRoutingSlip"), DISPID(35));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_HasRoutingSlip(void)
{
  VARIANT_BOOL prop;
  this->get_HasRoutingSlip((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_HasRoutingSlip(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasRoutingSlip"), DISPID(35));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_RoutingSlip(Word_xp::RoutingSlip** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RoutingSlip"), DISPID(36));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::RoutingSlip**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RoutingSlipPtr __fastcall
_DocumentDispT<T>::get_RoutingSlip(void)
{
  Word_xp::RoutingSlipPtr prop;
  this->get_RoutingSlip(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Routed(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Routed"), DISPID(37));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_Routed(void)
{
  VARIANT_BOOL prop;
  this->get_Routed((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_TablesOfAuthoritiesCategories(Word_xp::TablesOfAuthoritiesCategories** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TablesOfAuthoritiesCategories"), DISPID(38));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TablesOfAuthoritiesCategories**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TablesOfAuthoritiesCategoriesPtr __fastcall
_DocumentDispT<T>::get_TablesOfAuthoritiesCategories(void)
{
  Word_xp::TablesOfAuthoritiesCategoriesPtr prop;
  this->get_TablesOfAuthoritiesCategories(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Indexes(Word_xp::Indexes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Indexes"), DISPID(39));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Indexes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::IndexesPtr __fastcall
_DocumentDispT<T>::get_Indexes(void)
{
  Word_xp::IndexesPtr prop;
  this->get_Indexes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Saved(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Saved"), DISPID(40));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_Saved(void)
{
  VARIANT_BOOL prop;
  this->get_Saved((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_Saved(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Saved"), DISPID(40));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Content(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Content"), DISPID(41));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
_DocumentDispT<T>::get_Content(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Content(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ActiveWindow(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveWindow"), DISPID(42));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WINDOW**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WINDOWPtr __fastcall
_DocumentDispT<T>::get_ActiveWindow(void)
{
  Word_xp::WINDOWPtr prop;
  this->get_ActiveWindow(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Kind(Word_xp::WdDocumentKind* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Kind"), DISPID(43));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdDocumentKind __fastcall
_DocumentDispT<T>::get_Kind(void)
{
  Word_xp::WdDocumentKind prop;
  this->get_Kind((Word_xp::WdDocumentKind*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_Kind(Word_xp::WdDocumentKind prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Kind"), DISPID(43));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ReadOnly(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadOnly"), DISPID(44));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_ReadOnly(void)
{
  VARIANT_BOOL prop;
  this->get_ReadOnly((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Subdocuments(Word_xp::Subdocuments** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Subdocuments"), DISPID(45));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Subdocuments**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SubdocumentsPtr __fastcall
_DocumentDispT<T>::get_Subdocuments(void)
{
  Word_xp::SubdocumentsPtr prop;
  this->get_Subdocuments(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_IsMasterDocument(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsMasterDocument"), DISPID(46));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_IsMasterDocument(void)
{
  VARIANT_BOOL prop;
  this->get_IsMasterDocument((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_DefaultTabStop(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTabStop"), DISPID(48));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_DocumentDispT<T>::get_DefaultTabStop(void)
{
  float prop;
  this->get_DefaultTabStop((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_DefaultTabStop(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTabStop"), DISPID(48));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_EmbedTrueTypeFonts(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmbedTrueTypeFonts"), DISPID(50));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_EmbedTrueTypeFonts(void)
{
  VARIANT_BOOL prop;
  this->get_EmbedTrueTypeFonts((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_EmbedTrueTypeFonts(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmbedTrueTypeFonts"), DISPID(50));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_SaveFormsData(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveFormsData"), DISPID(51));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_SaveFormsData(void)
{
  VARIANT_BOOL prop;
  this->get_SaveFormsData((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_SaveFormsData(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveFormsData"), DISPID(51));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ReadOnlyRecommended(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadOnlyRecommended"), DISPID(52));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_ReadOnlyRecommended(void)
{
  VARIANT_BOOL prop;
  this->get_ReadOnlyRecommended((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_ReadOnlyRecommended(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadOnlyRecommended"), DISPID(52));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_SaveSubsetFonts(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveSubsetFonts"), DISPID(53));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_SaveSubsetFonts(void)
{
  VARIANT_BOOL prop;
  this->get_SaveSubsetFonts((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_SaveSubsetFonts(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveSubsetFonts"), DISPID(53));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Compatibility(Word_xp::WdCompatibility Type/*[in]*/, 
                                     VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Compatibility"), DISPID(55));
  TAutoArgs<1> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_Compatibility(Word_xp::WdCompatibility Type/*[in]*/)
{
  VARIANT_BOOL prop;
  this->get_Compatibility(Type, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_Compatibility(Word_xp::WdCompatibility Type/*[in]*/, 
                                     VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Compatibility"), DISPID(55));
  TAutoArgs<2> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  _args[2] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_StoryRanges(Word_xp::StoryRanges** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StoryRanges"), DISPID(56));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::StoryRanges**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::StoryRangesPtr __fastcall
_DocumentDispT<T>::get_StoryRanges(void)
{
  Word_xp::StoryRangesPtr prop;
  this->get_StoryRanges(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_CommandBars(Office_xp::CommandBars** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CommandBars"), DISPID(57));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::CommandBars**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::CommandBarsPtr __fastcall
_DocumentDispT<T>::get_CommandBars(void)
{
  Office_xp::CommandBarsPtr prop;
  this->get_CommandBars(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_IsSubdocument(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsSubdocument"), DISPID(58));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_IsSubdocument(void)
{
  VARIANT_BOOL prop;
  this->get_IsSubdocument((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_SaveFormat(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveFormat"), DISPID(59));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_DocumentDispT<T>::get_SaveFormat(void)
{
  long prop;
  this->get_SaveFormat((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ProtectionType(Word_xp::WdProtectionType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ProtectionType"), DISPID(60));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdProtectionType __fastcall
_DocumentDispT<T>::get_ProtectionType(void)
{
  Word_xp::WdProtectionType prop;
  this->get_ProtectionType((Word_xp::WdProtectionType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Hyperlinks(Word_xp::Hyperlinks** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hyperlinks"), DISPID(61));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Hyperlinks**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HyperlinksPtr __fastcall
_DocumentDispT<T>::get_Hyperlinks(void)
{
  Word_xp::HyperlinksPtr prop;
  this->get_Hyperlinks(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Shapes(Word_xp::Shapes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shapes"), DISPID(62));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shapes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapesPtr __fastcall
_DocumentDispT<T>::get_Shapes(void)
{
  Word_xp::ShapesPtr prop;
  this->get_Shapes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ListTemplates(Word_xp::ListTemplates** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListTemplates"), DISPID(63));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListTemplates**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListTemplatesPtr __fastcall
_DocumentDispT<T>::get_ListTemplates(void)
{
  Word_xp::ListTemplatesPtr prop;
  this->get_ListTemplates(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Lists(Word_xp::Lists** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Lists"), DISPID(64));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Lists**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListsPtr __fastcall
_DocumentDispT<T>::get_Lists(void)
{
  Word_xp::ListsPtr prop;
  this->get_Lists(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_UpdateStylesOnOpen(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpdateStylesOnOpen"), DISPID(66));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_UpdateStylesOnOpen(void)
{
  VARIANT_BOOL prop;
  this->get_UpdateStylesOnOpen((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_UpdateStylesOnOpen(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpdateStylesOnOpen"), DISPID(66));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_AttachedTemplate(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AttachedTemplate"), DISPID(67));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
_DocumentDispT<T>::get_AttachedTemplate(void)
{
  VARIANT prop;
  this->get_AttachedTemplate((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_AttachedTemplate(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AttachedTemplate"), DISPID(67));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_InlineShapes(Word_xp::InlineShapes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InlineShapes"), DISPID(68));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShapes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::InlineShapesPtr __fastcall
_DocumentDispT<T>::get_InlineShapes(void)
{
  Word_xp::InlineShapesPtr prop;
  this->get_InlineShapes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Background(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Background"), DISPID(69));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapePtr __fastcall
_DocumentDispT<T>::get_Background(void)
{
  Word_xp::ShapePtr prop;
  this->get_Background(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_Background(Word_xp::ShapePtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Background"), DISPID(69));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Shape*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_GrammarChecked(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GrammarChecked"), DISPID(70));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_GrammarChecked(void)
{
  VARIANT_BOOL prop;
  this->get_GrammarChecked((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_GrammarChecked(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GrammarChecked"), DISPID(70));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_SpellingChecked(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpellingChecked"), DISPID(71));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_SpellingChecked(void)
{
  VARIANT_BOOL prop;
  this->get_SpellingChecked((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_SpellingChecked(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpellingChecked"), DISPID(71));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ShowGrammaticalErrors(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowGrammaticalErrors"), DISPID(72));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_ShowGrammaticalErrors(void)
{
  VARIANT_BOOL prop;
  this->get_ShowGrammaticalErrors((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_ShowGrammaticalErrors(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowGrammaticalErrors"), DISPID(72));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ShowSpellingErrors(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowSpellingErrors"), DISPID(73));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_ShowSpellingErrors(void)
{
  VARIANT_BOOL prop;
  this->get_ShowSpellingErrors((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_ShowSpellingErrors(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowSpellingErrors"), DISPID(73));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Versions(Word_xp::Versions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Versions"), DISPID(75));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Versions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::VersionsPtr __fastcall
_DocumentDispT<T>::get_Versions(void)
{
  Word_xp::VersionsPtr prop;
  this->get_Versions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ShowSummary(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowSummary"), DISPID(76));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_ShowSummary(void)
{
  VARIANT_BOOL prop;
  this->get_ShowSummary((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_ShowSummary(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowSummary"), DISPID(76));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_SummaryViewMode(Word_xp::WdSummaryMode* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SummaryViewMode"), DISPID(77));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSummaryMode __fastcall
_DocumentDispT<T>::get_SummaryViewMode(void)
{
  Word_xp::WdSummaryMode prop;
  this->get_SummaryViewMode((Word_xp::WdSummaryMode*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_SummaryViewMode(Word_xp::WdSummaryMode prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SummaryViewMode"), DISPID(77));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_SummaryLength(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SummaryLength"), DISPID(78));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_DocumentDispT<T>::get_SummaryLength(void)
{
  long prop;
  this->get_SummaryLength((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_SummaryLength(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SummaryLength"), DISPID(78));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_PrintFractionalWidths(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintFractionalWidths"), DISPID(79));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_PrintFractionalWidths(void)
{
  VARIANT_BOOL prop;
  this->get_PrintFractionalWidths((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_PrintFractionalWidths(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintFractionalWidths"), DISPID(79));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_PrintPostScriptOverText(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintPostScriptOverText"), DISPID(80));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_PrintPostScriptOverText(void)
{
  VARIANT_BOOL prop;
  this->get_PrintPostScriptOverText((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_PrintPostScriptOverText(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintPostScriptOverText"), DISPID(80));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Container(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Container"), DISPID(82));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_DocumentDispT<T>::get_Container(void)
{
  LPDISPATCH prop;
  this->get_Container((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_PrintFormsData(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintFormsData"), DISPID(83));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_PrintFormsData(void)
{
  VARIANT_BOOL prop;
  this->get_PrintFormsData((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_PrintFormsData(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintFormsData"), DISPID(83));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ListParagraphs(Word_xp::ListParagraphs** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListParagraphs"), DISPID(84));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListParagraphs**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListParagraphsPtr __fastcall
_DocumentDispT<T>::get_ListParagraphs(void)
{
  Word_xp::ListParagraphsPtr prop;
  this->get_ListParagraphs(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_Password(BSTR Param1/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Password"), DISPID(85));
  TAutoArgs<1> _args;
  _args[1] = Param1 /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_WritePassword(BSTR Param1/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WritePassword"), DISPID(86));
  TAutoArgs<1> _args;
  _args[1] = Param1 /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_HasPassword(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasPassword"), DISPID(87));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_HasPassword(void)
{
  VARIANT_BOOL prop;
  this->get_HasPassword((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_WriteReserved(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WriteReserved"), DISPID(88));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_WriteReserved(void)
{
  VARIANT_BOOL prop;
  this->get_WriteReserved((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveWritingStyle"), DISPID(90));
  TAutoArgs<1> _args;
  _args[1] = LanguageID /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/)
{
  BSTR prop;
  this->get_ActiveWritingStyle(LanguageID, (BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_ActiveWritingStyle(VARIANT* LanguageID/*[in]*/, BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveWritingStyle"), DISPID(90));
  TAutoArgs<2> _args;
  _args[1] = LanguageID /*[VT_VARIANT:1]*/;
  _args[2] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_UserControl(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UserControl"), DISPID(92));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_UserControl(void)
{
  VARIANT_BOOL prop;
  this->get_UserControl((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_UserControl(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UserControl"), DISPID(92));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_HasMailer(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasMailer"), DISPID(93));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_HasMailer(void)
{
  VARIANT_BOOL prop;
  this->get_HasMailer((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_HasMailer(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasMailer"), DISPID(93));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Mailer(Word_xp::Mailer** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Mailer"), DISPID(94));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Mailer**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::MailerPtr __fastcall
_DocumentDispT<T>::get_Mailer(void)
{
  Word_xp::MailerPtr prop;
  this->get_Mailer(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ReadabilityStatistics(Word_xp::ReadabilityStatistics** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadabilityStatistics"), DISPID(96));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ReadabilityStatistics**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ReadabilityStatisticsPtr __fastcall
_DocumentDispT<T>::get_ReadabilityStatistics(void)
{
  Word_xp::ReadabilityStatisticsPtr prop;
  this->get_ReadabilityStatistics(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_GrammaticalErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GrammaticalErrors"), DISPID(97));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ProofreadingErrors**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ProofreadingErrorsPtr __fastcall
_DocumentDispT<T>::get_GrammaticalErrors(void)
{
  Word_xp::ProofreadingErrorsPtr prop;
  this->get_GrammaticalErrors(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_SpellingErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpellingErrors"), DISPID(98));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ProofreadingErrors**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ProofreadingErrorsPtr __fastcall
_DocumentDispT<T>::get_SpellingErrors(void)
{
  Word_xp::ProofreadingErrorsPtr prop;
  this->get_SpellingErrors(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_VBProject(Vbide_xp::VBProject** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VBProject"), DISPID(99));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Vbide_xp::VBProject**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Vbide_xp::VBProjectPtr __fastcall
_DocumentDispT<T>::get_VBProject(void)
{
  Vbide_xp::VBProjectPtr prop;
  this->get_VBProject(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_FormsDesign(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormsDesign"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_FormsDesign(void)
{
  VARIANT_BOOL prop;
  this->get_FormsDesign((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get__CodeName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_CodeName"), DISPID(-2147418112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get__CodeName(void)
{
  BSTR prop;
  this->get__CodeName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set__CodeName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("_CodeName"), DISPID(-2147418112));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_CodeName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CodeName"), DISPID(262));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get_CodeName(void)
{
  BSTR prop;
  this->get_CodeName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_SnapToGrid(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SnapToGrid"), DISPID(300));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_SnapToGrid(void)
{
  VARIANT_BOOL prop;
  this->get_SnapToGrid((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_SnapToGrid(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SnapToGrid"), DISPID(300));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_SnapToShapes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SnapToShapes"), DISPID(301));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_SnapToShapes(void)
{
  VARIANT_BOOL prop;
  this->get_SnapToShapes((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_SnapToShapes(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SnapToShapes"), DISPID(301));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_GridDistanceHorizontal(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridDistanceHorizontal"), DISPID(302));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_DocumentDispT<T>::get_GridDistanceHorizontal(void)
{
  float prop;
  this->get_GridDistanceHorizontal((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_GridDistanceHorizontal(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridDistanceHorizontal"), DISPID(302));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_GridDistanceVertical(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridDistanceVertical"), DISPID(303));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_DocumentDispT<T>::get_GridDistanceVertical(void)
{
  float prop;
  this->get_GridDistanceVertical((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_GridDistanceVertical(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridDistanceVertical"), DISPID(303));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_GridOriginHorizontal(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridOriginHorizontal"), DISPID(304));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_DocumentDispT<T>::get_GridOriginHorizontal(void)
{
  float prop;
  this->get_GridOriginHorizontal((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_GridOriginHorizontal(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridOriginHorizontal"), DISPID(304));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_GridOriginVertical(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridOriginVertical"), DISPID(305));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_DocumentDispT<T>::get_GridOriginVertical(void)
{
  float prop;
  this->get_GridOriginVertical((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_GridOriginVertical(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridOriginVertical"), DISPID(305));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_GridSpaceBetweenHorizontalLines(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridSpaceBetweenHorizontalLines"), DISPID(306));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_DocumentDispT<T>::get_GridSpaceBetweenHorizontalLines(void)
{
  long prop;
  this->get_GridSpaceBetweenHorizontalLines((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_GridSpaceBetweenHorizontalLines(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridSpaceBetweenHorizontalLines"), DISPID(306));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_GridSpaceBetweenVerticalLines(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridSpaceBetweenVerticalLines"), DISPID(307));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_DocumentDispT<T>::get_GridSpaceBetweenVerticalLines(void)
{
  long prop;
  this->get_GridSpaceBetweenVerticalLines((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_GridSpaceBetweenVerticalLines(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridSpaceBetweenVerticalLines"), DISPID(307));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_GridOriginFromMargin(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridOriginFromMargin"), DISPID(308));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_GridOriginFromMargin(void)
{
  VARIANT_BOOL prop;
  this->get_GridOriginFromMargin((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_GridOriginFromMargin(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridOriginFromMargin"), DISPID(308));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_KerningByAlgorithm(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KerningByAlgorithm"), DISPID(309));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_KerningByAlgorithm(void)
{
  VARIANT_BOOL prop;
  this->get_KerningByAlgorithm((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_KerningByAlgorithm(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("KerningByAlgorithm"), DISPID(309));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_JustificationMode(Word_xp::WdJustificationMode* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("JustificationMode"), DISPID(310));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdJustificationMode __fastcall
_DocumentDispT<T>::get_JustificationMode(void)
{
  Word_xp::WdJustificationMode prop;
  this->get_JustificationMode((Word_xp::WdJustificationMode*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_JustificationMode(Word_xp::WdJustificationMode prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("JustificationMode"), DISPID(310));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakLevel"), DISPID(311));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFarEastLineBreakLevel __fastcall
_DocumentDispT<T>::get_FarEastLineBreakLevel(void)
{
  Word_xp::WdFarEastLineBreakLevel prop;
  this->get_FarEastLineBreakLevel((Word_xp::WdFarEastLineBreakLevel*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakLevel"), DISPID(311));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_NoLineBreakBefore(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineBreakBefore"), DISPID(312));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get_NoLineBreakBefore(void)
{
  BSTR prop;
  this->get_NoLineBreakBefore((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_NoLineBreakBefore(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineBreakBefore"), DISPID(312));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_NoLineBreakAfter(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineBreakAfter"), DISPID(313));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get_NoLineBreakAfter(void)
{
  BSTR prop;
  this->get_NoLineBreakAfter((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_NoLineBreakAfter(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineBreakAfter"), DISPID(313));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_TrackRevisions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TrackRevisions"), DISPID(314));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_TrackRevisions(void)
{
  VARIANT_BOOL prop;
  this->get_TrackRevisions((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_TrackRevisions(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TrackRevisions"), DISPID(314));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_PrintRevisions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintRevisions"), DISPID(315));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_PrintRevisions(void)
{
  VARIANT_BOOL prop;
  this->get_PrintRevisions((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_PrintRevisions(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintRevisions"), DISPID(315));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ShowRevisions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowRevisions"), DISPID(316));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_ShowRevisions(void)
{
  VARIANT_BOOL prop;
  this->get_ShowRevisions((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_ShowRevisions(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowRevisions"), DISPID(316));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Close(VARIANT* SaveChanges/*[in,opt]*/, VARIANT* OriginalFormat/*[in,opt]*/, 
                         VARIANT* RouteDocument/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Close"), DISPID(1105));
  TAutoArgs<3> _args;
  _args[1] = SaveChanges /*[VT_VARIANT:1]*/;
  _args[2] = OriginalFormat /*[VT_VARIANT:1]*/;
  _args[3] = RouteDocument /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::SaveAs2000(VARIANT* FileName/*[in,opt]*/, VARIANT* FileFormat/*[in,opt]*/, 
                              VARIANT* LockComments/*[in,opt]*/, VARIANT* Password/*[in,opt]*/, 
                              VARIANT* AddToRecentFiles/*[in,opt]*/, 
                              VARIANT* WritePassword/*[in,opt]*/, 
                              VARIANT* ReadOnlyRecommended/*[in,opt]*/, 
                              VARIANT* EmbedTrueTypeFonts/*[in,opt]*/, 
                              VARIANT* SaveNativePictureFormat/*[in,opt]*/, 
                              VARIANT* SaveFormsData/*[in,opt]*/, 
                              VARIANT* SaveAsAOCELetter/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveAs2000"), DISPID(102));
  TAutoArgs<11> _args;
  _args[1] = FileName /*[VT_VARIANT:1]*/;
  _args[2] = FileFormat /*[VT_VARIANT:1]*/;
  _args[3] = LockComments /*[VT_VARIANT:1]*/;
  _args[4] = Password /*[VT_VARIANT:1]*/;
  _args[5] = AddToRecentFiles /*[VT_VARIANT:1]*/;
  _args[6] = WritePassword /*[VT_VARIANT:1]*/;
  _args[7] = ReadOnlyRecommended /*[VT_VARIANT:1]*/;
  _args[8] = EmbedTrueTypeFonts /*[VT_VARIANT:1]*/;
  _args[9] = SaveNativePictureFormat /*[VT_VARIANT:1]*/;
  _args[10] = SaveFormsData /*[VT_VARIANT:1]*/;
  _args[11] = SaveAsAOCELetter /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Repaginate()
{
  _TDispID _dispid(*this, OLETEXT("Repaginate"), DISPID(103));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::FitToPages()
{
  _TDispID _dispid(*this, OLETEXT("FitToPages"), DISPID(104));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ManualHyphenation()
{
  _TDispID _dispid(*this, OLETEXT("ManualHyphenation"), DISPID(105));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::DataForm()
{
  _TDispID _dispid(*this, OLETEXT("DataForm"), DISPID(106));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Route()
{
  _TDispID _dispid(*this, OLETEXT("Route"), DISPID(107));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Save()
{
  _TDispID _dispid(*this, OLETEXT("Save"), DISPID(108));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::PrintOutOld(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                               VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                               VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                               VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                               VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                               VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                               VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                               VARIANT* ManualDuplexPrint/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOutOld"), DISPID(109));
  TAutoArgs<14> _args;
  _args[1] = Background /*[VT_VARIANT:1]*/;
  _args[2] = Append /*[VT_VARIANT:1]*/;
  _args[3] = Range /*[VT_VARIANT:1]*/;
  _args[4] = OutputFileName /*[VT_VARIANT:1]*/;
  _args[5] = From /*[VT_VARIANT:1]*/;
  _args[6] = To /*[VT_VARIANT:1]*/;
  _args[7] = Item /*[VT_VARIANT:1]*/;
  _args[8] = Copies /*[VT_VARIANT:1]*/;
  _args[9] = Pages /*[VT_VARIANT:1]*/;
  _args[10] = PageType /*[VT_VARIANT:1]*/;
  _args[11] = PrintToFile /*[VT_VARIANT:1]*/;
  _args[12] = Collate /*[VT_VARIANT:1]*/;
  _args[13] = ActivePrinterMacGX /*[VT_VARIANT:1]*/;
  _args[14] = ManualDuplexPrint /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::SendMail()
{
  _TDispID _dispid(*this, OLETEXT("SendMail"), DISPID(110));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Range(VARIANT* Start/*[in,opt]*/, VARIANT* End/*[in,opt]*/, 
                         Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(2000));
  TAutoArgs<2> _args;
  _args[1] = Start /*[VT_VARIANT:1]*/;
  _args[2] = End /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
_DocumentDispT<T>::Range(VARIANT* Start/*[in,opt]*/, VARIANT* End/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->Range(Start, End, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::RunAutoMacro(Word_xp::WdAutoMacros Which/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RunAutoMacro"), DISPID(112));
  TAutoArgs<1> _args;
  _args[1] = (int)Which /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Activate()
{
  _TDispID _dispid(*this, OLETEXT("Activate"), DISPID(113));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::PrintPreview()
{
  _TDispID _dispid(*this, OLETEXT("PrintPreview"), DISPID(114));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                        VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                        Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GoTo"), DISPID(115));
  TAutoArgs<4> _args;
  _args[1] = What /*[VT_VARIANT:1]*/;
  _args[2] = Which /*[VT_VARIANT:1]*/;
  _args[3] = Count /*[VT_VARIANT:1]*/;
  _args[4] = Name /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
_DocumentDispT<T>::GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                        VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->GoTo(What, Which, Count, Name, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Undo(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Undo"), DISPID(116));
  TAutoArgs<1> _args;
  _args[1] = Times /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::Undo(VARIANT* Times/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  this->Undo(Times, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Redo(VARIANT* Times/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Redo"), DISPID(117));
  TAutoArgs<1> _args;
  _args[1] = Times /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::Redo(VARIANT* Times/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  this->Redo(Times, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                     VARIANT* IncludeFootnotesAndEndnotes/*[in,opt]*/, 
                                     long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ComputeStatistics"), DISPID(118));
  TAutoArgs<2> _args;
  _args[1] = (int)Statistic /*[VT_USERDEFINED:0]*/;
  _args[2] = IncludeFootnotesAndEndnotes /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_DocumentDispT<T>::ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                     VARIANT* IncludeFootnotesAndEndnotes/*[in,opt]*/)
{
  long prop;
  this->ComputeStatistics(Statistic, IncludeFootnotesAndEndnotes, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::MakeCompatibilityDefault()
{
  _TDispID _dispid(*this, OLETEXT("MakeCompatibilityDefault"), DISPID(119));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Protect(Word_xp::WdProtectionType Type/*[in]*/, VARIANT* NoReset/*[in,opt]*/, 
                           VARIANT* Password/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Protect"), DISPID(120));
  TAutoArgs<3> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  _args[2] = NoReset /*[VT_VARIANT:1]*/;
  _args[3] = Password /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Unprotect(VARIANT* Password/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Unprotect"), DISPID(121));
  TAutoArgs<1> _args;
  _args[1] = Password /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::EditionOptions(Word_xp::WdEditionType Type/*[in]*/, 
                                  Word_xp::WdEditionOption Option/*[in]*/, BSTR Name/*[in]*/, 
                                  VARIANT* Format/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("EditionOptions"), DISPID(122));
  TAutoArgs<4> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  _args[2] = (int)Option /*[VT_USERDEFINED:0]*/;
  _args[3] = Name /*[VT_BSTR:0]*/;
  _args[4] = Format /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::RunLetterWizard(VARIANT* LetterContent/*[in,opt]*/, 
                                   VARIANT* WizardMode/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("RunLetterWizard"), DISPID(123));
  TAutoArgs<2> _args;
  _args[1] = LetterContent /*[VT_VARIANT:1]*/;
  _args[2] = WizardMode /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::GetLetterContent(Word_xp::WordLetterContent** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetLetterContent"), DISPID(124));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordLetterContent**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordLetterContent* __fastcall
_DocumentDispT<T>::GetLetterContent(void)
{
  Word_xp::WordLetterContent* prop;
  this->GetLetterContent((Word_xp::WordLetterContent**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::SetLetterContent(VARIANT* LetterContent/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetLetterContent"), DISPID(125));
  TAutoArgs<1> _args;
  _args[1] = LetterContent /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::CopyStylesFromTemplate(BSTR Template/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CopyStylesFromTemplate"), DISPID(126));
  TAutoArgs<1> _args;
  _args[1] = Template /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::UpdateStyles()
{
  _TDispID _dispid(*this, OLETEXT("UpdateStyles"), DISPID(127));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::CheckGrammar()
{
  _TDispID _dispid(*this, OLETEXT("CheckGrammar"), DISPID(131));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::CheckSpelling(VARIANT* CustomDictionary/*[in,opt]*/, 
                                 VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                 VARIANT* AlwaysSuggest/*[in,opt]*/, 
                                 VARIANT* CustomDictionary2/*[in,opt]*/, 
                                 VARIANT* CustomDictionary3/*[in,opt]*/, 
                                 VARIANT* CustomDictionary4/*[in,opt]*/, 
                                 VARIANT* CustomDictionary5/*[in,opt]*/, 
                                 VARIANT* CustomDictionary6/*[in,opt]*/, 
                                 VARIANT* CustomDictionary7/*[in,opt]*/, 
                                 VARIANT* CustomDictionary8/*[in,opt]*/, 
                                 VARIANT* CustomDictionary9/*[in,opt]*/, 
                                 VARIANT* CustomDictionary10/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckSpelling"), DISPID(132));
  TAutoArgs<12> _args;
  _args[1] = CustomDictionary /*[VT_VARIANT:1]*/;
  _args[2] = IgnoreUppercase /*[VT_VARIANT:1]*/;
  _args[3] = AlwaysSuggest /*[VT_VARIANT:1]*/;
  _args[4] = CustomDictionary2 /*[VT_VARIANT:1]*/;
  _args[5] = CustomDictionary3 /*[VT_VARIANT:1]*/;
  _args[6] = CustomDictionary4 /*[VT_VARIANT:1]*/;
  _args[7] = CustomDictionary5 /*[VT_VARIANT:1]*/;
  _args[8] = CustomDictionary6 /*[VT_VARIANT:1]*/;
  _args[9] = CustomDictionary7 /*[VT_VARIANT:1]*/;
  _args[10] = CustomDictionary8 /*[VT_VARIANT:1]*/;
  _args[11] = CustomDictionary9 /*[VT_VARIANT:1]*/;
  _args[12] = CustomDictionary10 /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::FollowHyperlink(VARIANT* Address/*[in,opt]*/, VARIANT* SubAddress/*[in,opt]*/, 
                                   VARIANT* NewWindow/*[in,opt]*/, VARIANT* AddHistory/*[in,opt]*/, 
                                   VARIANT* ExtraInfo/*[in,opt]*/, VARIANT* Method/*[in,opt]*/, 
                                   VARIANT* HeaderInfo/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("FollowHyperlink"), DISPID(135));
  TAutoArgs<7> _args;
  _args[1] = Address /*[VT_VARIANT:1]*/;
  _args[2] = SubAddress /*[VT_VARIANT:1]*/;
  _args[3] = NewWindow /*[VT_VARIANT:1]*/;
  _args[4] = AddHistory /*[VT_VARIANT:1]*/;
  _args[5] = ExtraInfo /*[VT_VARIANT:1]*/;
  _args[6] = Method /*[VT_VARIANT:1]*/;
  _args[7] = HeaderInfo /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::AddToFavorites()
{
  _TDispID _dispid(*this, OLETEXT("AddToFavorites"), DISPID(136));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Reload()
{
  _TDispID _dispid(*this, OLETEXT("Reload"), DISPID(137));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::AutoSummarize(VARIANT* Length/*[in,opt]*/, VARIANT* Mode/*[in,opt]*/, 
                                 VARIANT* UpdateProperties/*[in,opt]*/, 
                                 Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoSummarize"), DISPID(138));
  TAutoArgs<3> _args;
  _args[1] = Length /*[VT_VARIANT:1]*/;
  _args[2] = Mode /*[VT_VARIANT:1]*/;
  _args[3] = UpdateProperties /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
_DocumentDispT<T>::AutoSummarize(VARIANT* Length/*[in,opt]*/, VARIANT* Mode/*[in,opt]*/, 
                                 VARIANT* UpdateProperties/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->AutoSummarize(Length, Mode, UpdateProperties, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::RemoveNumbers(VARIANT* NumberType/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("RemoveNumbers"), DISPID(140));
  TAutoArgs<1> _args;
  _args[1] = NumberType /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ConvertNumbersToText(VARIANT* NumberType/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertNumbersToText"), DISPID(141));
  TAutoArgs<1> _args;
  _args[1] = NumberType /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, VARIANT* Level/*[in,opt]*/, 
                                      long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CountNumberedItems"), DISPID(142));
  TAutoArgs<2> _args;
  _args[1] = NumberType /*[VT_VARIANT:1]*/;
  _args[2] = Level /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_DocumentDispT<T>::CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, VARIANT* Level/*[in,opt]*/)
{
  long prop;
  this->CountNumberedItems(NumberType, Level, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Post()
{
  _TDispID _dispid(*this, OLETEXT("Post"), DISPID(143));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ToggleFormsDesign()
{
  _TDispID _dispid(*this, OLETEXT("ToggleFormsDesign"), DISPID(144));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Compare2000(BSTR Name/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Compare2000"), DISPID(145));
  TAutoArgs<1> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::UpdateSummaryProperties()
{
  _TDispID _dispid(*this, OLETEXT("UpdateSummaryProperties"), DISPID(146));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::GetCrossReferenceItems(VARIANT* ReferenceType/*[in]*/, 
                                          VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetCrossReferenceItems"), DISPID(147));
  TAutoArgs<1> _args;
  _args[1] = ReferenceType /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT __fastcall
_DocumentDispT<T>::GetCrossReferenceItems(VARIANT* ReferenceType/*[in]*/)
{
  VARIANT prop;
  this->GetCrossReferenceItems(ReferenceType, (VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::AutoFormat()
{
  _TDispID _dispid(*this, OLETEXT("AutoFormat"), DISPID(148));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ViewCode()
{
  _TDispID _dispid(*this, OLETEXT("ViewCode"), DISPID(149));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ViewPropertyBrowser()
{
  _TDispID _dispid(*this, OLETEXT("ViewPropertyBrowser"), DISPID(150));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ForwardMailer()
{
  _TDispID _dispid(*this, OLETEXT("ForwardMailer"), DISPID(250));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Reply()
{
  _TDispID _dispid(*this, OLETEXT("Reply"), DISPID(251));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ReplyAll()
{
  _TDispID _dispid(*this, OLETEXT("ReplyAll"), DISPID(252));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::SendMailer(VARIANT* FileFormat/*[in,opt]*/, VARIANT* Priority/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SendMailer"), DISPID(253));
  TAutoArgs<2> _args;
  _args[1] = FileFormat /*[VT_VARIANT:1]*/;
  _args[2] = Priority /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::UndoClear()
{
  _TDispID _dispid(*this, OLETEXT("UndoClear"), DISPID(254));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::PresentIt()
{
  _TDispID _dispid(*this, OLETEXT("PresentIt"), DISPID(255));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::SendFax(BSTR Address/*[in]*/, VARIANT* Subject/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SendFax"), DISPID(256));
  TAutoArgs<2> _args;
  _args[1] = Address /*[VT_BSTR:0]*/;
  _args[2] = Subject /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Merge2000(BSTR FileName/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Merge2000"), DISPID(257));
  TAutoArgs<1> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ClosePrintPreview()
{
  _TDispID _dispid(*this, OLETEXT("ClosePrintPreview"), DISPID(258));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::CheckConsistency()
{
  _TDispID _dispid(*this, OLETEXT("CheckConsistency"), DISPID(259));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::CreateLetterContent(BSTR DateFormat/*[in]*/, 
                                       VARIANT_BOOL IncludeHeaderFooter/*[in]*/, 
                                       BSTR PageDesign/*[in]*/, 
                                       Word_xp::WdLetterStyle LetterStyle/*[in]*/, 
                                       VARIANT_BOOL Letterhead/*[in]*/, 
                                       Word_xp::WdLetterheadLocation LetterheadLocation/*[in]*/, 
                                       float LetterheadSize/*[in]*/, BSTR RecipientName/*[in]*/, 
                                       BSTR RecipientAddress/*[in]*/, BSTR Salutation/*[in]*/, 
                                       Word_xp::WdSalutationType SalutationType/*[in]*/, 
                                       BSTR RecipientReference/*[in]*/, 
                                       BSTR MailingInstructions/*[in]*/, BSTR AttentionLine/*[in]*/
                                       , BSTR Subject/*[in]*/, BSTR CCList/*[in]*/, 
                                       BSTR ReturnAddress/*[in]*/, BSTR SenderName/*[in]*/, 
                                       BSTR Closing/*[in]*/, BSTR SenderCompany/*[in]*/, 
                                       BSTR SenderJobTitle/*[in]*/, BSTR SenderInitials/*[in]*/, 
                                       long EnclosureNumber/*[in]*/, VARIANT* InfoBlock/*[in,opt]*/
                                       , VARIANT* RecipientCode/*[in,opt]*/, 
                                       VARIANT* RecipientGender/*[in,opt]*/, 
                                       VARIANT* ReturnAddressShortForm/*[in,opt]*/, 
                                       VARIANT* SenderCity/*[in,opt]*/, 
                                       VARIANT* SenderCode/*[in,opt]*/, 
                                       VARIANT* SenderGender/*[in,opt]*/, 
                                       VARIANT* SenderReference/*[in,opt]*/, 
                                       Word_xp::WordLetterContent** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateLetterContent"), DISPID(260));
  TAutoArgs<31> _args;
  _args[1] = DateFormat /*[VT_BSTR:0]*/;
  _args[2] = IncludeHeaderFooter /*[VT_BOOL:0]*/;
  _args[3] = PageDesign /*[VT_BSTR:0]*/;
  _args[4] = (int)LetterStyle /*[VT_USERDEFINED:0]*/;
  _args[5] = Letterhead /*[VT_BOOL:0]*/;
  _args[6] = (int)LetterheadLocation /*[VT_USERDEFINED:0]*/;
  _args[7] = LetterheadSize /*[VT_R4:0]*/;
  _args[8] = RecipientName /*[VT_BSTR:0]*/;
  _args[9] = RecipientAddress /*[VT_BSTR:0]*/;
  _args[10] = Salutation /*[VT_BSTR:0]*/;
  _args[11] = (int)SalutationType /*[VT_USERDEFINED:0]*/;
  _args[12] = RecipientReference /*[VT_BSTR:0]*/;
  _args[13] = MailingInstructions /*[VT_BSTR:0]*/;
  _args[14] = AttentionLine /*[VT_BSTR:0]*/;
  _args[15] = Subject /*[VT_BSTR:0]*/;
  _args[16] = CCList /*[VT_BSTR:0]*/;
  _args[17] = ReturnAddress /*[VT_BSTR:0]*/;
  _args[18] = SenderName /*[VT_BSTR:0]*/;
  _args[19] = Closing /*[VT_BSTR:0]*/;
  _args[20] = SenderCompany /*[VT_BSTR:0]*/;
  _args[21] = SenderJobTitle /*[VT_BSTR:0]*/;
  _args[22] = SenderInitials /*[VT_BSTR:0]*/;
  _args[23] = EnclosureNumber /*[VT_I4:0]*/;
  _args[24] = InfoBlock /*[VT_VARIANT:1]*/;
  _args[25] = RecipientCode /*[VT_VARIANT:1]*/;
  _args[26] = RecipientGender /*[VT_VARIANT:1]*/;
  _args[27] = ReturnAddressShortForm /*[VT_VARIANT:1]*/;
  _args[28] = SenderCity /*[VT_VARIANT:1]*/;
  _args[29] = SenderCode /*[VT_VARIANT:1]*/;
  _args[30] = SenderGender /*[VT_VARIANT:1]*/;
  _args[31] = SenderReference /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordLetterContent**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordLetterContent* __fastcall
_DocumentDispT<T>::CreateLetterContent(BSTR DateFormat/*[in]*/, 
                                       VARIANT_BOOL IncludeHeaderFooter/*[in]*/, 
                                       BSTR PageDesign/*[in]*/, 
                                       Word_xp::WdLetterStyle LetterStyle/*[in]*/, 
                                       VARIANT_BOOL Letterhead/*[in]*/, 
                                       Word_xp::WdLetterheadLocation LetterheadLocation/*[in]*/, 
                                       float LetterheadSize/*[in]*/, BSTR RecipientName/*[in]*/, 
                                       BSTR RecipientAddress/*[in]*/, BSTR Salutation/*[in]*/, 
                                       Word_xp::WdSalutationType SalutationType/*[in]*/, 
                                       BSTR RecipientReference/*[in]*/, 
                                       BSTR MailingInstructions/*[in]*/, BSTR AttentionLine/*[in]*/, 
                                       BSTR Subject/*[in]*/, BSTR CCList/*[in]*/, 
                                       BSTR ReturnAddress/*[in]*/, BSTR SenderName/*[in]*/, 
                                       BSTR Closing/*[in]*/, BSTR SenderCompany/*[in]*/, 
                                       BSTR SenderJobTitle/*[in]*/, BSTR SenderInitials/*[in]*/, 
                                       long EnclosureNumber/*[in]*/, VARIANT* InfoBlock/*[in,opt]*/, 
                                       VARIANT* RecipientCode/*[in,opt]*/, 
                                       VARIANT* RecipientGender/*[in,opt]*/, 
                                       VARIANT* ReturnAddressShortForm/*[in,opt]*/, 
                                       VARIANT* SenderCity/*[in,opt]*/, 
                                       VARIANT* SenderCode/*[in,opt]*/, 
                                       VARIANT* SenderGender/*[in,opt]*/, 
                                       VARIANT* SenderReference/*[in,opt]*/)
{
  Word_xp::WordLetterContent* prop;
  this->CreateLetterContent(DateFormat, IncludeHeaderFooter, PageDesign, LetterStyle, Letterhead, 
                            LetterheadLocation, LetterheadSize, RecipientName, RecipientAddress, 
                            Salutation, SalutationType, RecipientReference, MailingInstructions, 
                            AttentionLine, Subject, CCList, ReturnAddress, SenderName, Closing, 
                            SenderCompany, SenderJobTitle, SenderInitials, EnclosureNumber, 
                            InfoBlock, RecipientCode, RecipientGender, ReturnAddressShortForm, 
                            SenderCity, SenderCode, SenderGender, SenderReference, (Word_xp::WordLetterContent**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::AcceptAllRevisions()
{
  _TDispID _dispid(*this, OLETEXT("AcceptAllRevisions"), DISPID(317));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::RejectAllRevisions()
{
  _TDispID _dispid(*this, OLETEXT("RejectAllRevisions"), DISPID(318));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::DetectLanguage()
{
  _TDispID _dispid(*this, OLETEXT("DetectLanguage"), DISPID(151));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ApplyTheme(BSTR Name/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyTheme"), DISPID(322));
  TAutoArgs<1> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::RemoveTheme()
{
  _TDispID _dispid(*this, OLETEXT("RemoveTheme"), DISPID(323));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::WebPagePreview()
{
  _TDispID _dispid(*this, OLETEXT("WebPagePreview"), DISPID(325));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ReloadAs(Office_xp::MsoEncoding Encoding/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReloadAs"), DISPID(331));
  TAutoArgs<1> _args;
  _args[1] = (int)Encoding /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ActiveTheme(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveTheme"), DISPID(540));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get_ActiveTheme(void)
{
  BSTR prop;
  this->get_ActiveTheme((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ActiveThemeDisplayName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveThemeDisplayName"), DISPID(541));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get_ActiveThemeDisplayName(void)
{
  BSTR prop;
  this->get_ActiveThemeDisplayName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Email(Word_xp::Email** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Email"), DISPID(319));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Email**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::EmailPtr __fastcall
_DocumentDispT<T>::get_Email(void)
{
  Word_xp::EmailPtr prop;
  this->get_Email(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Scripts(Office_xp::Scripts** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Scripts"), DISPID(320));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::Scripts**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::ScriptsPtr __fastcall
_DocumentDispT<T>::get_Scripts(void)
{
  Office_xp::ScriptsPtr prop;
  this->get_Scripts(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_LanguageDetected(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageDetected"), DISPID(321));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_LanguageDetected(void)
{
  VARIANT_BOOL prop;
  this->get_LanguageDetected((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_LanguageDetected(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageDetected"), DISPID(321));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakLanguage"), DISPID(326));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFarEastLineBreakLanguageID __fastcall
_DocumentDispT<T>::get_FarEastLineBreakLanguage(void)
{
  Word_xp::WdFarEastLineBreakLanguageID prop;
  this->get_FarEastLineBreakLanguage((Word_xp::WdFarEastLineBreakLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakLanguage"), DISPID(326));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Frameset(Word_xp::Frameset** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Frameset"), DISPID(327));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frameset**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FramesetPtr __fastcall
_DocumentDispT<T>::get_Frameset(void)
{
  Word_xp::FramesetPtr prop;
  this->get_Frameset(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_ClickAndTypeParagraphStyle(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ClickAndTypeParagraphStyle"), DISPID(328));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
_DocumentDispT<T>::get_ClickAndTypeParagraphStyle(void)
{
  VARIANT prop;
  this->get_ClickAndTypeParagraphStyle((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_ClickAndTypeParagraphStyle(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ClickAndTypeParagraphStyle"), DISPID(328));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_HTMLProject(Office_xp::HTMLProject** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HTMLProject"), DISPID(329));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::HTMLProject**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::HTMLProjectPtr __fastcall
_DocumentDispT<T>::get_HTMLProject(void)
{
  Office_xp::HTMLProjectPtr prop;
  this->get_HTMLProject(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_WebOptions(Word_xp::WebOptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WebOptions"), DISPID(330));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WebOptions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WebOptionsPtr __fastcall
_DocumentDispT<T>::get_WebOptions(void)
{
  Word_xp::WebOptionsPtr prop;
  this->get_WebOptions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_OpenEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OpenEncoding"), DISPID(332));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoEncoding __fastcall
_DocumentDispT<T>::get_OpenEncoding(void)
{
  Office_xp::MsoEncoding prop;
  this->get_OpenEncoding((Office_xp::MsoEncoding*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_SaveEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveEncoding"), DISPID(333));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoEncoding __fastcall
_DocumentDispT<T>::get_SaveEncoding(void)
{
  Office_xp::MsoEncoding prop;
  this->get_SaveEncoding((Office_xp::MsoEncoding*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_SaveEncoding(Office_xp::MsoEncoding prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveEncoding"), DISPID(333));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_OptimizeForWord97(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OptimizeForWord97"), DISPID(334));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_OptimizeForWord97(void)
{
  VARIANT_BOOL prop;
  this->get_OptimizeForWord97((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_OptimizeForWord97(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OptimizeForWord97"), DISPID(334));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_VBASigned(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VBASigned"), DISPID(335));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_VBASigned(void)
{
  VARIANT_BOOL prop;
  this->get_VBASigned((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::PrintOut2000(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                                VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                                VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                                VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                                VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                                VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                                VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                                VARIANT* ManualDuplexPrint/*[in,opt]*/, 
                                VARIANT* PrintZoomColumn/*[in,opt]*/, 
                                VARIANT* PrintZoomRow/*[in,opt]*/, 
                                VARIANT* PrintZoomPaperWidth/*[in,opt]*/, 
                                VARIANT* PrintZoomPaperHeight/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOut2000"), DISPID(444));
  TAutoArgs<18> _args;
  _args[1] = Background /*[VT_VARIANT:1]*/;
  _args[2] = Append /*[VT_VARIANT:1]*/;
  _args[3] = Range /*[VT_VARIANT:1]*/;
  _args[4] = OutputFileName /*[VT_VARIANT:1]*/;
  _args[5] = From /*[VT_VARIANT:1]*/;
  _args[6] = To /*[VT_VARIANT:1]*/;
  _args[7] = Item /*[VT_VARIANT:1]*/;
  _args[8] = Copies /*[VT_VARIANT:1]*/;
  _args[9] = Pages /*[VT_VARIANT:1]*/;
  _args[10] = PageType /*[VT_VARIANT:1]*/;
  _args[11] = PrintToFile /*[VT_VARIANT:1]*/;
  _args[12] = Collate /*[VT_VARIANT:1]*/;
  _args[13] = ActivePrinterMacGX /*[VT_VARIANT:1]*/;
  _args[14] = ManualDuplexPrint /*[VT_VARIANT:1]*/;
  _args[15] = PrintZoomColumn /*[VT_VARIANT:1]*/;
  _args[16] = PrintZoomRow /*[VT_VARIANT:1]*/;
  _args[17] = PrintZoomPaperWidth /*[VT_VARIANT:1]*/;
  _args[18] = PrintZoomPaperHeight /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::sblt(BSTR s/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("sblt"), DISPID(445));
  TAutoArgs<1> _args;
  _args[1] = s /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ConvertVietDoc(long CodePageOrigin/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertVietDoc"), DISPID(447));
  TAutoArgs<1> _args;
  _args[1] = CodePageOrigin /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::PrintOut(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                            VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                            VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                            VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                            VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                            VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                            VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                            VARIANT* ManualDuplexPrint/*[in,opt]*/, 
                            VARIANT* PrintZoomColumn/*[in,opt]*/, VARIANT* PrintZoomRow/*[in,opt]*/
                            , VARIANT* PrintZoomPaperWidth/*[in,opt]*/, 
                            VARIANT* PrintZoomPaperHeight/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOut"), DISPID(446));
  TAutoArgs<18> _args;
  _args[1] = Background /*[VT_VARIANT:1]*/;
  _args[2] = Append /*[VT_VARIANT:1]*/;
  _args[3] = Range /*[VT_VARIANT:1]*/;
  _args[4] = OutputFileName /*[VT_VARIANT:1]*/;
  _args[5] = From /*[VT_VARIANT:1]*/;
  _args[6] = To /*[VT_VARIANT:1]*/;
  _args[7] = Item /*[VT_VARIANT:1]*/;
  _args[8] = Copies /*[VT_VARIANT:1]*/;
  _args[9] = Pages /*[VT_VARIANT:1]*/;
  _args[10] = PageType /*[VT_VARIANT:1]*/;
  _args[11] = PrintToFile /*[VT_VARIANT:1]*/;
  _args[12] = Collate /*[VT_VARIANT:1]*/;
  _args[13] = ActivePrinterMacGX /*[VT_VARIANT:1]*/;
  _args[14] = ManualDuplexPrint /*[VT_VARIANT:1]*/;
  _args[15] = PrintZoomColumn /*[VT_VARIANT:1]*/;
  _args[16] = PrintZoomRow /*[VT_VARIANT:1]*/;
  _args[17] = PrintZoomPaperWidth /*[VT_VARIANT:1]*/;
  _args[18] = PrintZoomPaperHeight /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_MailEnvelope(Office_xp::MsoEnvelope** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailEnvelope"), DISPID(336));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::MsoEnvelope**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoEnvelopePtr __fastcall
_DocumentDispT<T>::get_MailEnvelope(void)
{
  Office_xp::MsoEnvelopePtr prop;
  this->get_MailEnvelope(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_DisableFeatures(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableFeatures"), DISPID(337));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_DisableFeatures(void)
{
  VARIANT_BOOL prop;
  this->get_DisableFeatures((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_DisableFeatures(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableFeatures"), DISPID(337));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_DoNotEmbedSystemFonts(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DoNotEmbedSystemFonts"), DISPID(338));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_DoNotEmbedSystemFonts(void)
{
  VARIANT_BOOL prop;
  this->get_DoNotEmbedSystemFonts((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_DoNotEmbedSystemFonts(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DoNotEmbedSystemFonts"), DISPID(338));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_Signatures(Office_xp::SignatureSet** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Signatures"), DISPID(339));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::SignatureSet**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::SignatureSetPtr __fastcall
_DocumentDispT<T>::get_Signatures(void)
{
  Office_xp::SignatureSetPtr prop;
  this->get_Signatures(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_DefaultTargetFrame(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTargetFrame"), DISPID(340));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get_DefaultTargetFrame(void)
{
  BSTR prop;
  this->get_DefaultTargetFrame((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_DefaultTargetFrame(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTargetFrame"), DISPID(340));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HTMLDivisions"), DISPID(342));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HTMLDivisions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HTMLDivisionsPtr __fastcall
_DocumentDispT<T>::get_HTMLDivisions(void)
{
  Word_xp::HTMLDivisionsPtr prop;
  this->get_HTMLDivisions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_DisableFeaturesIntroducedAfter(Word_xp::WdDisableFeaturesIntroducedAfter* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableFeaturesIntroducedAfter"), DISPID(343));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdDisableFeaturesIntroducedAfter __fastcall
_DocumentDispT<T>::get_DisableFeaturesIntroducedAfter(void)
{
  Word_xp::WdDisableFeaturesIntroducedAfter prop;
  this->get_DisableFeaturesIntroducedAfter((Word_xp::WdDisableFeaturesIntroducedAfter*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_DisableFeaturesIntroducedAfter(Word_xp::WdDisableFeaturesIntroducedAfter prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableFeaturesIntroducedAfter"), DISPID(343));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_RemovePersonalInformation(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RemovePersonalInformation"), DISPID(344));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_RemovePersonalInformation(void)
{
  VARIANT_BOOL prop;
  this->get_RemovePersonalInformation((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_RemovePersonalInformation(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RemovePersonalInformation"), DISPID(344));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_SmartTags(Word_xp::SmartTags** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmartTags"), DISPID(346));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SmartTags**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SmartTagsPtr __fastcall
_DocumentDispT<T>::get_SmartTags(void)
{
  Word_xp::SmartTagsPtr prop;
  this->get_SmartTags(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Compare(BSTR Name/*[in]*/, VARIANT* AuthorName/*[in,opt]*/, 
                           VARIANT* CompareTarget/*[in,opt]*/, 
                           VARIANT* DetectFormatChanges/*[in,opt]*/, 
                           VARIANT* IgnoreAllComparisonWarnings/*[in,opt]*/, 
                           VARIANT* AddToRecentFiles/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Compare"), DISPID(345));
  TAutoArgs<6> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = AuthorName /*[VT_VARIANT:1]*/;
  _args[3] = CompareTarget /*[VT_VARIANT:1]*/;
  _args[4] = DetectFormatChanges /*[VT_VARIANT:1]*/;
  _args[5] = IgnoreAllComparisonWarnings /*[VT_VARIANT:1]*/;
  _args[6] = AddToRecentFiles /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::CheckIn(VARIANT_BOOL SaveChanges/*[in,def,opt]*/, VARIANT* Comments/*[in,opt]*/, 
                           VARIANT_BOOL MakePublic/*[in,def,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckIn"), DISPID(349));
  TAutoArgs<3> _args;
  _args[1] = SaveChanges /*[VT_BOOL:0]*/;
  _args[2] = Comments /*[VT_VARIANT:1]*/;
  _args[3] = MakePublic /*[VT_BOOL:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::CanCheckin(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanCheckin"), DISPID(351));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::CanCheckin(void)
{
  VARIANT_BOOL prop;
  this->CanCheckin((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::Merge(BSTR FileName/*[in]*/, VARIANT* MergeTarget/*[in,opt]*/, 
                         VARIANT* DetectFormatChanges/*[in,opt]*/, 
                         VARIANT* UseFormattingFrom/*[in,opt]*/, 
                         VARIANT* AddToRecentFiles/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Merge"), DISPID(362));
  TAutoArgs<5> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = MergeTarget /*[VT_VARIANT:1]*/;
  _args[3] = DetectFormatChanges /*[VT_VARIANT:1]*/;
  _args[4] = UseFormattingFrom /*[VT_VARIANT:1]*/;
  _args[5] = AddToRecentFiles /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_EmbedSmartTags(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmbedSmartTags"), DISPID(347));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_EmbedSmartTags(void)
{
  VARIANT_BOOL prop;
  this->get_EmbedSmartTags((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_EmbedSmartTags(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmbedSmartTags"), DISPID(347));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_SmartTagsAsXMLProps(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmartTagsAsXMLProps"), DISPID(348));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_SmartTagsAsXMLProps(void)
{
  VARIANT_BOOL prop;
  this->get_SmartTagsAsXMLProps((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_SmartTagsAsXMLProps(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmartTagsAsXMLProps"), DISPID(348));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_TextEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextEncoding"), DISPID(357));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoEncoding __fastcall
_DocumentDispT<T>::get_TextEncoding(void)
{
  Office_xp::MsoEncoding prop;
  this->get_TextEncoding((Office_xp::MsoEncoding*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_TextEncoding(Office_xp::MsoEncoding prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextEncoding"), DISPID(357));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_TextLineEnding(Word_xp::WdLineEndingType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextLineEnding"), DISPID(358));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLineEndingType __fastcall
_DocumentDispT<T>::get_TextLineEnding(void)
{
  Word_xp::WdLineEndingType prop;
  this->get_TextLineEnding((Word_xp::WdLineEndingType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_TextLineEnding(Word_xp::WdLineEndingType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextLineEnding"), DISPID(358));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::SendForReview(VARIANT* Recipients/*[in,opt]*/, VARIANT* Subject/*[in,opt]*/, 
                                 VARIANT* ShowMessage/*[in,opt]*/, 
                                 VARIANT* IncludeAttachment/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SendForReview"), DISPID(353));
  TAutoArgs<4> _args;
  _args[1] = Recipients /*[VT_VARIANT:1]*/;
  _args[2] = Subject /*[VT_VARIANT:1]*/;
  _args[3] = ShowMessage /*[VT_VARIANT:1]*/;
  _args[4] = IncludeAttachment /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ReplyWithChanges(VARIANT* ShowMessage/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReplyWithChanges"), DISPID(354));
  TAutoArgs<1> _args;
  _args[1] = ShowMessage /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::EndReview()
{
  _TDispID _dispid(*this, OLETEXT("EndReview"), DISPID(356));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_StyleSheets(Word_xp::StyleSheets** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StyleSheets"), DISPID(360));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::StyleSheets**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::StyleSheetsPtr __fastcall
_DocumentDispT<T>::get_StyleSheets(void)
{
  Word_xp::StyleSheetsPtr prop;
  this->get_StyleSheets(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_DefaultTableStyle(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTableStyle"), DISPID(365));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
_DocumentDispT<T>::get_DefaultTableStyle(void)
{
  VARIANT prop;
  this->get_DefaultTableStyle((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_PasswordEncryptionProvider(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasswordEncryptionProvider"), DISPID(367));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get_PasswordEncryptionProvider(void)
{
  BSTR prop;
  this->get_PasswordEncryptionProvider((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_PasswordEncryptionAlgorithm(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasswordEncryptionAlgorithm"), DISPID(368));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DocumentDispT<T>::get_PasswordEncryptionAlgorithm(void)
{
  BSTR prop;
  this->get_PasswordEncryptionAlgorithm((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_PasswordEncryptionKeyLength(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasswordEncryptionKeyLength"), DISPID(369));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_DocumentDispT<T>::get_PasswordEncryptionKeyLength(void)
{
  long prop;
  this->get_PasswordEncryptionKeyLength((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_PasswordEncryptionFileProperties(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasswordEncryptionFileProperties"), DISPID(370));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_PasswordEncryptionFileProperties(void)
{
  VARIANT_BOOL prop;
  this->get_PasswordEncryptionFileProperties((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::SetPasswordEncryptionOptions(BSTR PasswordEncryptionProvider/*[in]*/, 
                                                BSTR PasswordEncryptionAlgorithm/*[in]*/, 
                                                long PasswordEncryptionKeyLength/*[in]*/, 
                                                VARIANT* PasswordEncryptionFileProperties/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetPasswordEncryptionOptions"), DISPID(361));
  TAutoArgs<4> _args;
  _args[1] = PasswordEncryptionProvider /*[VT_BSTR:0]*/;
  _args[2] = PasswordEncryptionAlgorithm /*[VT_BSTR:0]*/;
  _args[3] = PasswordEncryptionKeyLength /*[VT_I4:0]*/;
  _args[4] = PasswordEncryptionFileProperties /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::RecheckSmartTags()
{
  _TDispID _dispid(*this, OLETEXT("RecheckSmartTags"), DISPID(363));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::RemoveSmartTags()
{
  _TDispID _dispid(*this, OLETEXT("RemoveSmartTags"), DISPID(364));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::SetDefaultTableStyle(VARIANT* Style/*[in]*/, VARIANT_BOOL SetInTemplate/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetDefaultTableStyle"), DISPID(366));
  TAutoArgs<2> _args;
  _args[1] = Style /*[VT_VARIANT:1]*/;
  _args[2] = SetInTemplate /*[VT_BOOL:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::DeleteAllComments()
{
  _TDispID _dispid(*this, OLETEXT("DeleteAllComments"), DISPID(371));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::AcceptAllRevisionsShown()
{
  _TDispID _dispid(*this, OLETEXT("AcceptAllRevisionsShown"), DISPID(372));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::RejectAllRevisionsShown()
{
  _TDispID _dispid(*this, OLETEXT("RejectAllRevisionsShown"), DISPID(373));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::DeleteAllCommentsShown()
{
  _TDispID _dispid(*this, OLETEXT("DeleteAllCommentsShown"), DISPID(374));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::ResetFormFields()
{
  _TDispID _dispid(*this, OLETEXT("ResetFormFields"), DISPID(375));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::SaveAs(VARIANT* FileName/*[in,opt]*/, VARIANT* FileFormat/*[in,opt]*/, 
                          VARIANT* LockComments/*[in,opt]*/, VARIANT* Password/*[in,opt]*/, 
                          VARIANT* AddToRecentFiles/*[in,opt]*/, VARIANT* WritePassword/*[in,opt]*/
                          , VARIANT* ReadOnlyRecommended/*[in,opt]*/, 
                          VARIANT* EmbedTrueTypeFonts/*[in,opt]*/, 
                          VARIANT* SaveNativePictureFormat/*[in,opt]*/, 
                          VARIANT* SaveFormsData/*[in,opt]*/, VARIANT* SaveAsAOCELetter/*[in,opt]*/
                          , VARIANT* Encoding/*[in,opt]*/, VARIANT* InsertLineBreaks/*[in,opt]*/, 
                          VARIANT* AllowSubstitutions/*[in,opt]*/, VARIANT* LineEnding/*[in,opt]*/, 
                          VARIANT* AddBiDiMarks/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveAs"), DISPID(376));
  TAutoArgs<16> _args;
  _args[1] = FileName /*[VT_VARIANT:1]*/;
  _args[2] = FileFormat /*[VT_VARIANT:1]*/;
  _args[3] = LockComments /*[VT_VARIANT:1]*/;
  _args[4] = Password /*[VT_VARIANT:1]*/;
  _args[5] = AddToRecentFiles /*[VT_VARIANT:1]*/;
  _args[6] = WritePassword /*[VT_VARIANT:1]*/;
  _args[7] = ReadOnlyRecommended /*[VT_VARIANT:1]*/;
  _args[8] = EmbedTrueTypeFonts /*[VT_VARIANT:1]*/;
  _args[9] = SaveNativePictureFormat /*[VT_VARIANT:1]*/;
  _args[10] = SaveFormsData /*[VT_VARIANT:1]*/;
  _args[11] = SaveAsAOCELetter /*[VT_VARIANT:1]*/;
  _args[12] = Encoding /*[VT_VARIANT:1]*/;
  _args[13] = InsertLineBreaks /*[VT_VARIANT:1]*/;
  _args[14] = AllowSubstitutions /*[VT_VARIANT:1]*/;
  _args[15] = LineEnding /*[VT_VARIANT:1]*/;
  _args[16] = AddBiDiMarks /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_EmbedLinguisticData(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmbedLinguisticData"), DISPID(377));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_EmbedLinguisticData(void)
{
  VARIANT_BOOL prop;
  this->get_EmbedLinguisticData((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_EmbedLinguisticData(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmbedLinguisticData"), DISPID(377));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_FormattingShowFont(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattingShowFont"), DISPID(448));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_FormattingShowFont(void)
{
  VARIANT_BOOL prop;
  this->get_FormattingShowFont((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_FormattingShowFont(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattingShowFont"), DISPID(448));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_FormattingShowClear(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattingShowClear"), DISPID(449));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_FormattingShowClear(void)
{
  VARIANT_BOOL prop;
  this->get_FormattingShowClear((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_FormattingShowClear(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattingShowClear"), DISPID(449));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_FormattingShowParagraph(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattingShowParagraph"), DISPID(450));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_FormattingShowParagraph(void)
{
  VARIANT_BOOL prop;
  this->get_FormattingShowParagraph((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_FormattingShowParagraph(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattingShowParagraph"), DISPID(450));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_FormattingShowNumbering(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattingShowNumbering"), DISPID(451));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_DocumentDispT<T>::get_FormattingShowNumbering(void)
{
  VARIANT_BOOL prop;
  this->get_FormattingShowNumbering((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_FormattingShowNumbering(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattingShowNumbering"), DISPID(451));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::get_FormattingShowFilter(Word_xp::WdShowFilter* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattingShowFilter"), DISPID(452));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdShowFilter __fastcall
_DocumentDispT<T>::get_FormattingShowFilter(void)
{
  Word_xp::WdShowFilter prop;
  this->get_FormattingShowFilter((Word_xp::WdShowFilter*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::set_FormattingShowFilter(Word_xp::WdShowFilter prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattingShowFilter"), DISPID(452));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DocumentDispT<T>::CheckNewSmartTags()
{
  _TDispID _dispid(*this, OLETEXT("CheckNewSmartTags"), DISPID(378));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Template
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002096A-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TemplateDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TemplateDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TemplateDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TemplateDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TemplateDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_Path(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Path"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TemplateDispT<T>::get_Path(void)
{
  BSTR prop;
  this->get_Path((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_AutoTextEntries(Word_xp::AutoTextEntries** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoTextEntries"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoTextEntries**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::AutoTextEntriesPtr __fastcall
TemplateDispT<T>::get_AutoTextEntries(void)
{
  Word_xp::AutoTextEntriesPtr prop;
  this->get_AutoTextEntries(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
TemplateDispT<T>::get_LanguageID(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageID((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_Saved(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Saved"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TemplateDispT<T>::get_Saved(void)
{
  VARIANT_BOOL prop;
  this->get_Saved((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::set_Saved(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Saved"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_Type(Word_xp::WdTemplateType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTemplateType __fastcall
TemplateDispT<T>::get_Type(void)
{
  Word_xp::WdTemplateType prop;
  this->get_Type((Word_xp::WdTemplateType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_FullName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FullName"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TemplateDispT<T>::get_FullName(void)
{
  BSTR prop;
  this->get_FullName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_BuiltInDocumentProperties(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BuiltInDocumentProperties"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TemplateDispT<T>::get_BuiltInDocumentProperties(void)
{
  LPDISPATCH prop;
  this->get_BuiltInDocumentProperties((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_CustomDocumentProperties(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CustomDocumentProperties"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TemplateDispT<T>::get_CustomDocumentProperties(void)
{
  LPDISPATCH prop;
  this->get_CustomDocumentProperties((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_ListTemplates(Word_xp::ListTemplates** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListTemplates"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListTemplates**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListTemplatesPtr __fastcall
TemplateDispT<T>::get_ListTemplates(void)
{
  Word_xp::ListTemplatesPtr prop;
  this->get_ListTemplates(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDFarEast"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
TemplateDispT<T>::get_LanguageIDFarEast(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageIDFarEast((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDFarEast"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_VBProject(Vbide_xp::VBProject** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VBProject"), DISPID(99));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Vbide_xp::VBProject**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Vbide_xp::VBProjectPtr __fastcall
TemplateDispT<T>::get_VBProject(void)
{
  Vbide_xp::VBProjectPtr prop;
  this->get_VBProject(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_KerningByAlgorithm(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KerningByAlgorithm"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TemplateDispT<T>::get_KerningByAlgorithm(void)
{
  VARIANT_BOOL prop;
  this->get_KerningByAlgorithm((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::set_KerningByAlgorithm(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("KerningByAlgorithm"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_JustificationMode(Word_xp::WdJustificationMode* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("JustificationMode"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdJustificationMode __fastcall
TemplateDispT<T>::get_JustificationMode(void)
{
  Word_xp::WdJustificationMode prop;
  this->get_JustificationMode((Word_xp::WdJustificationMode*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::set_JustificationMode(Word_xp::WdJustificationMode prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("JustificationMode"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakLevel"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFarEastLineBreakLevel __fastcall
TemplateDispT<T>::get_FarEastLineBreakLevel(void)
{
  Word_xp::WdFarEastLineBreakLevel prop;
  this->get_FarEastLineBreakLevel((Word_xp::WdFarEastLineBreakLevel*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::set_FarEastLineBreakLevel(Word_xp::WdFarEastLineBreakLevel prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakLevel"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_NoLineBreakBefore(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineBreakBefore"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TemplateDispT<T>::get_NoLineBreakBefore(void)
{
  BSTR prop;
  this->get_NoLineBreakBefore((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::set_NoLineBreakBefore(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineBreakBefore"), DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_NoLineBreakAfter(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineBreakAfter"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TemplateDispT<T>::get_NoLineBreakAfter(void)
{
  BSTR prop;
  this->get_NoLineBreakAfter((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::set_NoLineBreakAfter(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineBreakAfter"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::OpenAsDocument(Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OpenAsDocument"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordDocument* __fastcall
TemplateDispT<T>::OpenAsDocument(void)
{
  Word_xp::WordDocument* prop;
  this->OpenAsDocument((Word_xp::WordDocument**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::Save()
{
  _TDispID _dispid(*this, OLETEXT("Save"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_NoProofing(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoProofing"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TemplateDispT<T>::get_NoProofing(void)
{
  long prop;
  this->get_NoProofing((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::set_NoProofing(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoProofing"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::get_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakLanguage"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFarEastLineBreakLanguageID __fastcall
TemplateDispT<T>::get_FarEastLineBreakLanguage(void)
{
  Word_xp::WdFarEastLineBreakLanguageID prop;
  this->get_FarEastLineBreakLanguage((Word_xp::WdFarEastLineBreakLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplateDispT<T>::set_FarEastLineBreakLanguage(Word_xp::WdFarEastLineBreakLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakLanguage"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Templates
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A2-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TemplatesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TemplatesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplatesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TemplatesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplatesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TemplatesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplatesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TemplatesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplatesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
TemplatesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TemplatesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Template** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Template**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Template* __fastcall
TemplatesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Template* prop;
  this->Item(Index, (Word_xp::Template**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  RoutingSlip
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020969-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
RoutingSlipDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RoutingSlipDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
RoutingSlipDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::get_Subject(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Subject"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
RoutingSlipDispT<T>::get_Subject(void)
{
  BSTR prop;
  this->get_Subject((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::set_Subject(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Subject"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::get_Message(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Message"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
RoutingSlipDispT<T>::get_Message(void)
{
  BSTR prop;
  this->get_Message((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::set_Message(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Message"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::get_Delivery(Word_xp::WdRoutingSlipDelivery* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Delivery"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRoutingSlipDelivery __fastcall
RoutingSlipDispT<T>::get_Delivery(void)
{
  Word_xp::WdRoutingSlipDelivery prop;
  this->get_Delivery((Word_xp::WdRoutingSlipDelivery*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::set_Delivery(Word_xp::WdRoutingSlipDelivery prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Delivery"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::get_TrackStatus(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TrackStatus"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
RoutingSlipDispT<T>::get_TrackStatus(void)
{
  VARIANT_BOOL prop;
  this->get_TrackStatus((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::set_TrackStatus(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TrackStatus"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::get_Protect(Word_xp::WdProtectionType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Protect"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdProtectionType __fastcall
RoutingSlipDispT<T>::get_Protect(void)
{
  Word_xp::WdProtectionType prop;
  this->get_Protect((Word_xp::WdProtectionType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::set_Protect(Word_xp::WdProtectionType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Protect"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::get_ReturnWhenDone(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnWhenDone"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
RoutingSlipDispT<T>::get_ReturnWhenDone(void)
{
  VARIANT_BOOL prop;
  this->get_ReturnWhenDone((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::set_ReturnWhenDone(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnWhenDone"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::get_Status(Word_xp::WdRoutingSlipStatus* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Status"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRoutingSlipStatus __fastcall
RoutingSlipDispT<T>::get_Status(void)
{
  Word_xp::WdRoutingSlipStatus prop;
  this->get_Status((Word_xp::WdRoutingSlipStatus*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::get_Recipients(VARIANT* Index/*[in,opt]*/, VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Recipients"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
RoutingSlipDispT<T>::get_Recipients(VARIANT* Index/*[in,opt]*/)
{
  VARIANT prop;
  this->get_Recipients(Index, (VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::Reset()
{
  _TDispID _dispid(*this, OLETEXT("Reset"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
RoutingSlipDispT<T>::AddRecipient(BSTR Recipient/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddRecipient"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = Recipient /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Bookmark
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020968-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
BookmarkDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
BookmarkDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
BookmarkDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::get_Empty(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Empty"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BookmarkDispT<T>::get_Empty(void)
{
  VARIANT_BOOL prop;
  this->get_Empty((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::get_Start(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Start"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BookmarkDispT<T>::get_Start(void)
{
  long prop;
  this->get_Start((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::set_Start(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Start"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::get_End(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("End"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BookmarkDispT<T>::get_End(void)
{
  long prop;
  this->get_End((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::set_End(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("End"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::get_Column(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Column"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BookmarkDispT<T>::get_Column(void)
{
  VARIANT_BOOL prop;
  this->get_Column((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::get_StoryType(Word_xp::WdStoryType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StoryType"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdStoryType __fastcall
BookmarkDispT<T>::get_StoryType(void)
{
  Word_xp::WdStoryType prop;
  this->get_StoryType((Word_xp::WdStoryType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
BookmarkDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BookmarkDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
BookmarkDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(11));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
BookmarkDispT<T>::Copy(BSTR Name/*[in]*/, Word_xp::Bookmark** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Copy"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Bookmark**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Bookmark* __fastcall
BookmarkDispT<T>::Copy(BSTR Name/*[in]*/)
{
  Word_xp::Bookmark* prop;
  this->Copy(Name, (Word_xp::Bookmark**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Bookmarks
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020967-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
BookmarksDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
BookmarksDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarksDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BookmarksDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarksDispT<T>::get_DefaultSorting(Word_xp::WdBookmarkSortBy* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultSorting"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdBookmarkSortBy __fastcall
BookmarksDispT<T>::get_DefaultSorting(void)
{
  Word_xp::WdBookmarkSortBy prop;
  this->get_DefaultSorting((Word_xp::WdBookmarkSortBy*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarksDispT<T>::set_DefaultSorting(Word_xp::WdBookmarkSortBy prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultSorting"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BookmarksDispT<T>::get_ShowHidden(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowHidden"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BookmarksDispT<T>::get_ShowHidden(void)
{
  VARIANT_BOOL prop;
  this->get_ShowHidden((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarksDispT<T>::set_ShowHidden(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowHidden"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BookmarksDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
BookmarksDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarksDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BookmarksDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarksDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
BookmarksDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarksDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Bookmark** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Bookmark**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Bookmark* __fastcall
BookmarksDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Bookmark* prop;
  this->Item(Index, (Word_xp::Bookmark**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarksDispT<T>::Add(BSTR Name/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                       Word_xp::Bookmark** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(5));
  TAutoArgs<2> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = Range /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Bookmark**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Bookmark* __fastcall
BookmarksDispT<T>::Add(BSTR Name/*[in]*/, VARIANT* Range/*[in,opt]*/)
{
  Word_xp::Bookmark* prop;
  this->Add(Name, Range, (Word_xp::Bookmark**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BookmarksDispT<T>::Exists(BSTR Name/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Exists"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BookmarksDispT<T>::Exists(BSTR Name/*[in]*/)
{
  VARIANT_BOOL prop;
  this->Exists(Name, (VARIANT_BOOL*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Variable
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020966-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
VariableDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
VariableDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VariableDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
VariableDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VariableDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
VariableDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VariableDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
VariableDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VariableDispT<T>::get_Value(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
VariableDispT<T>::get_Value(void)
{
  BSTR prop;
  this->get_Value((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VariableDispT<T>::set_Value(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
VariableDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
VariableDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VariableDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(11));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Variables
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020965-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
VariablesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
VariablesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VariablesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
VariablesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VariablesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
VariablesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VariablesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
VariablesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VariablesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
VariablesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VariablesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Variable** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Variable**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Variable* __fastcall
VariablesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Variable* prop;
  this->Item(Index, (Word_xp::Variable**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VariablesDispT<T>::Add(BSTR Name/*[in]*/, VARIANT* Value/*[in,opt]*/, 
                       Word_xp::Variable** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(7));
  TAutoArgs<2> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = Value /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Variable**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Variable* __fastcall
VariablesDispT<T>::Add(BSTR Name/*[in]*/, VARIANT* Value/*[in,opt]*/)
{
  Word_xp::Variable* prop;
  this->Add(Name, Value, (Word_xp::Variable**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  RecentFile
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020964-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
RecentFileDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
RecentFileDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFileDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RecentFileDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFileDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
RecentFileDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFileDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
RecentFileDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFileDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RecentFileDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFileDispT<T>::get_ReadOnly(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadOnly"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
RecentFileDispT<T>::get_ReadOnly(void)
{
  VARIANT_BOOL prop;
  this->get_ReadOnly((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFileDispT<T>::set_ReadOnly(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadOnly"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RecentFileDispT<T>::get_Path(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Path"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
RecentFileDispT<T>::get_Path(void)
{
  BSTR prop;
  this->get_Path((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFileDispT<T>::Open(Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Open"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordDocument* __fastcall
RecentFileDispT<T>::Open(void)
{
  Word_xp::WordDocument* prop;
  this->Open((Word_xp::WordDocument**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFileDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(5));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  RecentFiles
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020963-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
RecentFilesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
RecentFilesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFilesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RecentFilesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFilesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
RecentFilesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFilesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
RecentFilesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFilesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RecentFilesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFilesDispT<T>::get_Maximum(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Maximum"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RecentFilesDispT<T>::get_Maximum(void)
{
  long prop;
  this->get_Maximum((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFilesDispT<T>::set_Maximum(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Maximum"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RecentFilesDispT<T>::Item(long Index/*[in]*/, Word_xp::RecentFile** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::RecentFile**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::RecentFile* __fastcall
RecentFilesDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::RecentFile* prop;
  this->Item(Index, (Word_xp::RecentFile**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RecentFilesDispT<T>::Add(VARIANT* Document/*[in]*/, VARIANT* ReadOnly/*[in,opt]*/, 
                         Word_xp::RecentFile** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(3));
  TAutoArgs<2> _args;
  _args[1] = Document /*[VT_VARIANT:1]*/;
  _args[2] = ReadOnly /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::RecentFile**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::RecentFile* __fastcall
RecentFilesDispT<T>::Add(VARIANT* Document/*[in]*/, VARIANT* ReadOnly/*[in,opt]*/)
{
  Word_xp::RecentFile* prop;
  this->Add(Document, ReadOnly, (Word_xp::RecentFile**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Window
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020962-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
WINDOWDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
WINDOWDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_ActivePane(Word_xp::Pane** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActivePane"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Pane**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PanePtr __fastcall
WINDOWDispT<T>::get_ActivePane(void)
{
  Word_xp::PanePtr prop;
  this->get_ActivePane(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Document(Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Document"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordDocumentPtr __fastcall
WINDOWDispT<T>::get_Document(void)
{
  Word_xp::WordDocumentPtr prop;
  this->get_Document(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Panes(Word_xp::Panes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Panes"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Panes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PanesPtr __fastcall
WINDOWDispT<T>::get_Panes(void)
{
  Word_xp::PanesPtr prop;
  this->get_Panes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Selection"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordSelection**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordSelectionPtr __fastcall
WINDOWDispT<T>::get_Selection(void)
{
  Word_xp::WordSelectionPtr prop;
  this->get_Selection(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Left(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Left"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_Left(void)
{
  long prop;
  this->get_Left((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_Left(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Left"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Top(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Top"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_Top(void)
{
  long prop;
  this->get_Top((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_Top(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Top"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Width(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_Width(void)
{
  long prop;
  this->get_Width((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_Width(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Height(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_Height(void)
{
  long prop;
  this->get_Height((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_Height(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Split(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Split"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WINDOWDispT<T>::get_Split(void)
{
  VARIANT_BOOL prop;
  this->get_Split((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_Split(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Split"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_SplitVertical(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SplitVertical"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_SplitVertical(void)
{
  long prop;
  this->get_SplitVertical((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_SplitVertical(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SplitVertical"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Caption(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Caption"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
WINDOWDispT<T>::get_Caption(void)
{
  BSTR prop;
  this->get_Caption((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_Caption(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Caption"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_WindowState(Word_xp::WdWindowState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowState"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdWindowState __fastcall
WINDOWDispT<T>::get_WindowState(void)
{
  Word_xp::WdWindowState prop;
  this->get_WindowState((Word_xp::WdWindowState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_WindowState(Word_xp::WdWindowState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowState"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_DisplayRulers(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayRulers"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WINDOWDispT<T>::get_DisplayRulers(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayRulers((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_DisplayRulers(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayRulers"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_DisplayVerticalRuler(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayVerticalRuler"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WINDOWDispT<T>::get_DisplayVerticalRuler(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayVerticalRuler((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_DisplayVerticalRuler(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayVerticalRuler"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_View(Word_xp::View** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("View"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::View**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ViewPtr __fastcall
WINDOWDispT<T>::get_View(void)
{
  Word_xp::ViewPtr prop;
  this->get_View(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Type(Word_xp::WdWindowType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdWindowType __fastcall
WINDOWDispT<T>::get_Type(void)
{
  Word_xp::WdWindowType prop;
  this->get_Type((Word_xp::WdWindowType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Next(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WINDOW**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WINDOWPtr __fastcall
WINDOWDispT<T>::get_Next(void)
{
  Word_xp::WINDOWPtr prop;
  this->get_Next(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Previous(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WINDOW**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WINDOWPtr __fastcall
WINDOWDispT<T>::get_Previous(void)
{
  Word_xp::WINDOWPtr prop;
  this->get_Previous(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_WindowNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowNumber"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_WindowNumber(void)
{
  long prop;
  this->get_WindowNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_DisplayVerticalScrollBar(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayVerticalScrollBar"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WINDOWDispT<T>::get_DisplayVerticalScrollBar(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayVerticalScrollBar((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_DisplayVerticalScrollBar(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayVerticalScrollBar"), DISPID(19));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_DisplayHorizontalScrollBar(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayHorizontalScrollBar"), DISPID(20));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WINDOWDispT<T>::get_DisplayHorizontalScrollBar(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayHorizontalScrollBar((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_DisplayHorizontalScrollBar(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayHorizontalScrollBar"), DISPID(20));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_StyleAreaWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StyleAreaWidth"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
WINDOWDispT<T>::get_StyleAreaWidth(void)
{
  float prop;
  this->get_StyleAreaWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_StyleAreaWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StyleAreaWidth"), DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_DisplayScreenTips(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayScreenTips"), DISPID(22));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WINDOWDispT<T>::get_DisplayScreenTips(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayScreenTips((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_DisplayScreenTips(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayScreenTips"), DISPID(22));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_HorizontalPercentScrolled(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalPercentScrolled"), DISPID(23));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_HorizontalPercentScrolled(void)
{
  long prop;
  this->get_HorizontalPercentScrolled((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_HorizontalPercentScrolled(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalPercentScrolled"), DISPID(23));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_VerticalPercentScrolled(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalPercentScrolled"), DISPID(24));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_VerticalPercentScrolled(void)
{
  long prop;
  this->get_VerticalPercentScrolled((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_VerticalPercentScrolled(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalPercentScrolled"), DISPID(24));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_DocumentMap(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentMap"), DISPID(25));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WINDOWDispT<T>::get_DocumentMap(void)
{
  VARIANT_BOOL prop;
  this->get_DocumentMap((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_DocumentMap(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentMap"), DISPID(25));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Active(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Active"), DISPID(26));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WINDOWDispT<T>::get_Active(void)
{
  VARIANT_BOOL prop;
  this->get_Active((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_DocumentMapPercentWidth(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentMapPercentWidth"), DISPID(27));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_DocumentMapPercentWidth(void)
{
  long prop;
  this->get_DocumentMapPercentWidth((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_DocumentMapPercentWidth(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentMapPercentWidth"), DISPID(27));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(28));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_IMEMode(Word_xp::WdIMEMode* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IMEMode"), DISPID(30));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdIMEMode __fastcall
WINDOWDispT<T>::get_IMEMode(void)
{
  Word_xp::WdIMEMode prop;
  this->get_IMEMode((Word_xp::WdIMEMode*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_IMEMode(Word_xp::WdIMEMode prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IMEMode"), DISPID(30));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::Activate()
{
  _TDispID _dispid(*this, OLETEXT("Activate"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::Close(VARIANT* SaveChanges/*[in,opt]*/, VARIANT* RouteDocument/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Close"), DISPID(102));
  TAutoArgs<2> _args;
  _args[1] = SaveChanges /*[VT_VARIANT:1]*/;
  _args[2] = RouteDocument /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::LargeScroll(VARIANT* Down/*[in,opt]*/, VARIANT* Up/*[in,opt]*/, 
                            VARIANT* ToRight/*[in,opt]*/, VARIANT* ToLeft/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("LargeScroll"), DISPID(103));
  TAutoArgs<4> _args;
  _args[1] = Down /*[VT_VARIANT:1]*/;
  _args[2] = Up /*[VT_VARIANT:1]*/;
  _args[3] = ToRight /*[VT_VARIANT:1]*/;
  _args[4] = ToLeft /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::SmallScroll(VARIANT* Down/*[in,opt]*/, VARIANT* Up/*[in,opt]*/, 
                            VARIANT* ToRight/*[in,opt]*/, VARIANT* ToLeft/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmallScroll"), DISPID(104));
  TAutoArgs<4> _args;
  _args[1] = Down /*[VT_VARIANT:1]*/;
  _args[2] = Up /*[VT_VARIANT:1]*/;
  _args[3] = ToRight /*[VT_VARIANT:1]*/;
  _args[4] = ToLeft /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::NewWindow(Word_xp::WINDOW** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NewWindow"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WINDOW**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WINDOW* __fastcall
WINDOWDispT<T>::NewWindow(void)
{
  Word_xp::WINDOW* prop;
  this->NewWindow((Word_xp::WINDOW**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::PrintOutOld(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                            VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                            VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                            VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                            VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                            VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                            VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                            VARIANT* ManualDuplexPrint/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOutOld"), DISPID(107));
  TAutoArgs<14> _args;
  _args[1] = Background /*[VT_VARIANT:1]*/;
  _args[2] = Append /*[VT_VARIANT:1]*/;
  _args[3] = Range /*[VT_VARIANT:1]*/;
  _args[4] = OutputFileName /*[VT_VARIANT:1]*/;
  _args[5] = From /*[VT_VARIANT:1]*/;
  _args[6] = To /*[VT_VARIANT:1]*/;
  _args[7] = Item /*[VT_VARIANT:1]*/;
  _args[8] = Copies /*[VT_VARIANT:1]*/;
  _args[9] = Pages /*[VT_VARIANT:1]*/;
  _args[10] = PageType /*[VT_VARIANT:1]*/;
  _args[11] = PrintToFile /*[VT_VARIANT:1]*/;
  _args[12] = Collate /*[VT_VARIANT:1]*/;
  _args[13] = ActivePrinterMacGX /*[VT_VARIANT:1]*/;
  _args[14] = ManualDuplexPrint /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::PageScroll(VARIANT* Down/*[in,opt]*/, VARIANT* Up/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageScroll"), DISPID(108));
  TAutoArgs<2> _args;
  _args[1] = Down /*[VT_VARIANT:1]*/;
  _args[2] = Up /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::SetFocus()
{
  _TDispID _dispid(*this, OLETEXT("SetFocus"), DISPID(109));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::RangeFromPoint(long x/*[in]*/, long y/*[in]*/, LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RangeFromPoint"), DISPID(110));
  TAutoArgs<2> _args;
  _args[1] = x /*[VT_I4:0]*/;
  _args[2] = y /*[VT_I4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
WINDOWDispT<T>::RangeFromPoint(long x/*[in]*/, long y/*[in]*/)
{
  LPDISPATCH prop;
  this->RangeFromPoint(x, y, (LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::ScrollIntoView(LPDISPATCH obj/*[in]*/, VARIANT* Start/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScrollIntoView"), DISPID(111));
  TAutoArgs<2> _args;
  _args[1] = obj /*[VT_DISPATCH:0]*/;
  _args[2] = Start /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::GetPoint(long* ScreenPixelsLeft/*[out]*/, long* ScreenPixelsTop/*[out]*/, 
                         long* ScreenPixelsWidth/*[out]*/, long* ScreenPixelsHeight/*[out]*/, 
                         LPDISPATCH obj/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetPoint"), DISPID(112));
  TAutoArgs<5> _args;
  _args[1] = ScreenPixelsLeft /*[VT_I4:1]*/;
  _args[2] = ScreenPixelsTop /*[VT_I4:1]*/;
  _args[3] = ScreenPixelsWidth /*[VT_I4:1]*/;
  _args[4] = ScreenPixelsHeight /*[VT_I4:1]*/;
  _args[5] = obj /*[VT_DISPATCH:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::PrintOut2000(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                             VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                             VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                             VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                             VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                             VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                             VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                             VARIANT* ManualDuplexPrint/*[in,opt]*/, 
                             VARIANT* PrintZoomColumn/*[in,opt]*/, VARIANT* PrintZoomRow/*[in,opt]*/
                             , VARIANT* PrintZoomPaperWidth/*[in,opt]*/, 
                             VARIANT* PrintZoomPaperHeight/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOut2000"), DISPID(444));
  TAutoArgs<18> _args;
  _args[1] = Background /*[VT_VARIANT:1]*/;
  _args[2] = Append /*[VT_VARIANT:1]*/;
  _args[3] = Range /*[VT_VARIANT:1]*/;
  _args[4] = OutputFileName /*[VT_VARIANT:1]*/;
  _args[5] = From /*[VT_VARIANT:1]*/;
  _args[6] = To /*[VT_VARIANT:1]*/;
  _args[7] = Item /*[VT_VARIANT:1]*/;
  _args[8] = Copies /*[VT_VARIANT:1]*/;
  _args[9] = Pages /*[VT_VARIANT:1]*/;
  _args[10] = PageType /*[VT_VARIANT:1]*/;
  _args[11] = PrintToFile /*[VT_VARIANT:1]*/;
  _args[12] = Collate /*[VT_VARIANT:1]*/;
  _args[13] = ActivePrinterMacGX /*[VT_VARIANT:1]*/;
  _args[14] = ManualDuplexPrint /*[VT_VARIANT:1]*/;
  _args[15] = PrintZoomColumn /*[VT_VARIANT:1]*/;
  _args[16] = PrintZoomRow /*[VT_VARIANT:1]*/;
  _args[17] = PrintZoomPaperWidth /*[VT_VARIANT:1]*/;
  _args[18] = PrintZoomPaperHeight /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_UsableWidth(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UsableWidth"), DISPID(31));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_UsableWidth(void)
{
  long prop;
  this->get_UsableWidth((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_UsableHeight(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UsableHeight"), DISPID(32));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WINDOWDispT<T>::get_UsableHeight(void)
{
  long prop;
  this->get_UsableHeight((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_EnvelopeVisible(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnvelopeVisible"), DISPID(33));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WINDOWDispT<T>::get_EnvelopeVisible(void)
{
  VARIANT_BOOL prop;
  this->get_EnvelopeVisible((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_EnvelopeVisible(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnvelopeVisible"), DISPID(33));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_DisplayRightRuler(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayRightRuler"), DISPID(35));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WINDOWDispT<T>::get_DisplayRightRuler(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayRightRuler((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_DisplayRightRuler(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayRightRuler"), DISPID(35));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_DisplayLeftScrollBar(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayLeftScrollBar"), DISPID(34));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WINDOWDispT<T>::get_DisplayLeftScrollBar(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayLeftScrollBar((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_DisplayLeftScrollBar(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayLeftScrollBar"), DISPID(34));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::get_Visible(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(36));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WINDOWDispT<T>::get_Visible(void)
{
  VARIANT_BOOL prop;
  this->get_Visible((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::set_Visible(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(36));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WINDOWDispT<T>::PrintOut(VARIANT* Background/*[in,opt]*/, VARIANT* Append/*[in,opt]*/, 
                         VARIANT* Range/*[in,opt]*/, VARIANT* OutputFileName/*[in,opt]*/, 
                         VARIANT* From/*[in,opt]*/, VARIANT* To/*[in,opt]*/, 
                         VARIANT* Item/*[in,opt]*/, VARIANT* Copies/*[in,opt]*/, 
                         VARIANT* Pages/*[in,opt]*/, VARIANT* PageType/*[in,opt]*/, 
                         VARIANT* PrintToFile/*[in,opt]*/, VARIANT* Collate/*[in,opt]*/, 
                         VARIANT* ActivePrinterMacGX/*[in,opt]*/, 
                         VARIANT* ManualDuplexPrint/*[in,opt]*/, 
                         VARIANT* PrintZoomColumn/*[in,opt]*/, VARIANT* PrintZoomRow/*[in,opt]*/, 
                         VARIANT* PrintZoomPaperWidth/*[in,opt]*/, 
                         VARIANT* PrintZoomPaperHeight/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOut"), DISPID(445));
  TAutoArgs<18> _args;
  _args[1] = Background /*[VT_VARIANT:1]*/;
  _args[2] = Append /*[VT_VARIANT:1]*/;
  _args[3] = Range /*[VT_VARIANT:1]*/;
  _args[4] = OutputFileName /*[VT_VARIANT:1]*/;
  _args[5] = From /*[VT_VARIANT:1]*/;
  _args[6] = To /*[VT_VARIANT:1]*/;
  _args[7] = Item /*[VT_VARIANT:1]*/;
  _args[8] = Copies /*[VT_VARIANT:1]*/;
  _args[9] = Pages /*[VT_VARIANT:1]*/;
  _args[10] = PageType /*[VT_VARIANT:1]*/;
  _args[11] = PrintToFile /*[VT_VARIANT:1]*/;
  _args[12] = Collate /*[VT_VARIANT:1]*/;
  _args[13] = ActivePrinterMacGX /*[VT_VARIANT:1]*/;
  _args[14] = ManualDuplexPrint /*[VT_VARIANT:1]*/;
  _args[15] = PrintZoomColumn /*[VT_VARIANT:1]*/;
  _args[16] = PrintZoomRow /*[VT_VARIANT:1]*/;
  _args[17] = PrintZoomPaperWidth /*[VT_VARIANT:1]*/;
  _args[18] = PrintZoomPaperHeight /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Windows
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020961-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
WindowsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
WindowsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WindowsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WindowsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WindowsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
WindowsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WindowsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WindowsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WindowsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
WindowsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WindowsDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::WINDOW** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WINDOW**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WINDOW* __fastcall
WindowsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::WINDOW* prop;
  this->Item(Index, (Word_xp::WINDOW**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WindowsDispT<T>::Add(VARIANT* Window/*[in,opt]*/, Word_xp::WINDOW** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = Window /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WINDOW**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WINDOW* __fastcall
WindowsDispT<T>::Add(VARIANT* Window/*[in,opt]*/)
{
  Word_xp::WINDOW* prop;
  this->Add(Window, (Word_xp::WINDOW**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WindowsDispT<T>::Arrange(VARIANT* ArrangeStyle/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Arrange"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = ArrangeStyle /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Pane
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020960-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
PaneDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
PaneDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PaneDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
PaneDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_Document(Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Document"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordDocumentPtr __fastcall
PaneDispT<T>::get_Document(void)
{
  Word_xp::WordDocumentPtr prop;
  this->get_Document(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_Selection(Word_xp::WordSelection** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Selection"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordSelection**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordSelectionPtr __fastcall
PaneDispT<T>::get_Selection(void)
{
  Word_xp::WordSelectionPtr prop;
  this->get_Selection(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_DisplayRulers(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayRulers"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
PaneDispT<T>::get_DisplayRulers(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayRulers((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::set_DisplayRulers(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayRulers"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_DisplayVerticalRuler(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayVerticalRuler"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
PaneDispT<T>::get_DisplayVerticalRuler(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayVerticalRuler((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::set_DisplayVerticalRuler(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayVerticalRuler"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_Zooms(Word_xp::Zooms** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Zooms"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Zooms**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ZoomsPtr __fastcall
PaneDispT<T>::get_Zooms(void)
{
  Word_xp::ZoomsPtr prop;
  this->get_Zooms(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PaneDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_View(Word_xp::View** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("View"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::View**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ViewPtr __fastcall
PaneDispT<T>::get_View(void)
{
  Word_xp::ViewPtr prop;
  this->get_View(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_Next(Word_xp::Pane** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Pane**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PanePtr __fastcall
PaneDispT<T>::get_Next(void)
{
  Word_xp::PanePtr prop;
  this->get_Next(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_Previous(Word_xp::Pane** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Pane**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PanePtr __fastcall
PaneDispT<T>::get_Previous(void)
{
  Word_xp::PanePtr prop;
  this->get_Previous(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_HorizontalPercentScrolled(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalPercentScrolled"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PaneDispT<T>::get_HorizontalPercentScrolled(void)
{
  long prop;
  this->get_HorizontalPercentScrolled((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::set_HorizontalPercentScrolled(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalPercentScrolled"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_VerticalPercentScrolled(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalPercentScrolled"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PaneDispT<T>::get_VerticalPercentScrolled(void)
{
  long prop;
  this->get_VerticalPercentScrolled((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::set_VerticalPercentScrolled(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalPercentScrolled"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_MinimumFontSize(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MinimumFontSize"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PaneDispT<T>::get_MinimumFontSize(void)
{
  long prop;
  this->get_MinimumFontSize((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::set_MinimumFontSize(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MinimumFontSize"), DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_BrowseToWindow(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BrowseToWindow"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
PaneDispT<T>::get_BrowseToWindow(void)
{
  VARIANT_BOOL prop;
  this->get_BrowseToWindow((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::set_BrowseToWindow(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BrowseToWindow"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_BrowseWidth(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BrowseWidth"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PaneDispT<T>::get_BrowseWidth(void)
{
  long prop;
  this->get_BrowseWidth((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PaneDispT<T>::Activate()
{
  _TDispID _dispid(*this, OLETEXT("Activate"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::Close()
{
  _TDispID _dispid(*this, OLETEXT("Close"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::LargeScroll(VARIANT* Down/*[in,opt]*/, VARIANT* Up/*[in,opt]*/, 
                          VARIANT* ToRight/*[in,opt]*/, VARIANT* ToLeft/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("LargeScroll"), DISPID(102));
  TAutoArgs<4> _args;
  _args[1] = Down /*[VT_VARIANT:1]*/;
  _args[2] = Up /*[VT_VARIANT:1]*/;
  _args[3] = ToRight /*[VT_VARIANT:1]*/;
  _args[4] = ToLeft /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::SmallScroll(VARIANT* Down/*[in,opt]*/, VARIANT* Up/*[in,opt]*/, 
                          VARIANT* ToRight/*[in,opt]*/, VARIANT* ToLeft/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmallScroll"), DISPID(103));
  TAutoArgs<4> _args;
  _args[1] = Down /*[VT_VARIANT:1]*/;
  _args[2] = Up /*[VT_VARIANT:1]*/;
  _args[3] = ToRight /*[VT_VARIANT:1]*/;
  _args[4] = ToLeft /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::AutoScroll(long Velocity/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoScroll"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = Velocity /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::PageScroll(VARIANT* Down/*[in,opt]*/, VARIANT* Up/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageScroll"), DISPID(105));
  TAutoArgs<2> _args;
  _args[1] = Down /*[VT_VARIANT:1]*/;
  _args[2] = Up /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::NewFrameset()
{
  _TDispID _dispid(*this, OLETEXT("NewFrameset"), DISPID(106));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::TOCInFrameset()
{
  _TDispID _dispid(*this, OLETEXT("TOCInFrameset"), DISPID(107));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
PaneDispT<T>::get_Frameset(Word_xp::Frameset** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Frameset"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frameset**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FramesetPtr __fastcall
PaneDispT<T>::get_Frameset(void)
{
  Word_xp::FramesetPtr prop;
  this->get_Frameset(&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Panes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095F-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
PanesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
PanesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PanesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PanesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PanesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
PanesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PanesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PanesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PanesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
PanesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PanesDispT<T>::Item(long Index/*[in]*/, Word_xp::Pane** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Pane**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Pane* __fastcall
PanesDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Pane* prop;
  this->Item(Index, (Word_xp::Pane**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PanesDispT<T>::Add(VARIANT* SplitVertical/*[in,opt]*/, Word_xp::Pane** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = SplitVertical /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Pane**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Pane* __fastcall
PanesDispT<T>::Add(VARIANT* SplitVertical/*[in,opt]*/)
{
  Word_xp::Pane* prop;
  this->Add(SplitVertical, (Word_xp::Pane**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Range
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095E-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Text(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Text"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
WordRangeDispT<T>::get_Text(void)
{
  BSTR prop;
  this->get_Text((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_Text(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Text"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_FormattedText(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattedText"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
WordRangeDispT<T>::get_FormattedText(void)
{
  Word_xp::WordRangePtr prop;
  this->get_FormattedText(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_FormattedText(Word_xp::WordRangePtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattedText"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Start(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Start"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_Start(void)
{
  long prop;
  this->get_Start((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_Start(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Start"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_End(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("End"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_End(void)
{
  long prop;
  this->get_End((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_End(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("End"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Font(Word_xp::WordFont** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordFont**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordFontPtr __fastcall
WordRangeDispT<T>::get_Font(void)
{
  Word_xp::WordFontPtr prop;
  this->get_Font(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_Font(Word_xp::WordFontPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordFont*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Duplicate(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Duplicate"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
WordRangeDispT<T>::get_Duplicate(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Duplicate(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_StoryType(Word_xp::WdStoryType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StoryType"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdStoryType __fastcall
WordRangeDispT<T>::get_StoryType(void)
{
  Word_xp::WdStoryType prop;
  this->get_StoryType((Word_xp::WdStoryType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Tables(Word_xp::Tables** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Tables"), DISPID(50));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Tables**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TablesPtr __fastcall
WordRangeDispT<T>::get_Tables(void)
{
  Word_xp::TablesPtr prop;
  this->get_Tables(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Words(Word_xp::Words** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Words"), DISPID(51));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Words**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordsPtr __fastcall
WordRangeDispT<T>::get_Words(void)
{
  Word_xp::WordsPtr prop;
  this->get_Words(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Sentences(Word_xp::Sentences** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Sentences"), DISPID(52));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Sentences**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SentencesPtr __fastcall
WordRangeDispT<T>::get_Sentences(void)
{
  Word_xp::SentencesPtr prop;
  this->get_Sentences(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Characters(Word_xp::Characters** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Characters"), DISPID(53));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Characters**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CharactersPtr __fastcall
WordRangeDispT<T>::get_Characters(void)
{
  Word_xp::CharactersPtr prop;
  this->get_Characters(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Footnotes(Word_xp::Footnotes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Footnotes"), DISPID(54));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Footnotes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FootnotesPtr __fastcall
WordRangeDispT<T>::get_Footnotes(void)
{
  Word_xp::FootnotesPtr prop;
  this->get_Footnotes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Endnotes(Word_xp::Endnotes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Endnotes"), DISPID(55));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Endnotes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::EndnotesPtr __fastcall
WordRangeDispT<T>::get_Endnotes(void)
{
  Word_xp::EndnotesPtr prop;
  this->get_Endnotes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Comments(Word_xp::Comments** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Comments"), DISPID(56));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Comments**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CommentsPtr __fastcall
WordRangeDispT<T>::get_Comments(void)
{
  Word_xp::CommentsPtr prop;
  this->get_Comments(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Cells(Word_xp::Cells** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Cells"), DISPID(57));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Cells**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CellsPtr __fastcall
WordRangeDispT<T>::get_Cells(void)
{
  Word_xp::CellsPtr prop;
  this->get_Cells(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Sections(Word_xp::Sections** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Sections"), DISPID(58));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Sections**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SectionsPtr __fastcall
WordRangeDispT<T>::get_Sections(void)
{
  Word_xp::SectionsPtr prop;
  this->get_Sections(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Paragraphs(Word_xp::Paragraphs** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Paragraphs"), DISPID(59));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Paragraphs**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ParagraphsPtr __fastcall
WordRangeDispT<T>::get_Paragraphs(void)
{
  Word_xp::ParagraphsPtr prop;
  this->get_Paragraphs(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
WordRangeDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(61));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
WordRangeDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_TextRetrievalMode(Word_xp::TextRetrievalMode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextRetrievalMode"), DISPID(62));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextRetrievalMode**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TextRetrievalModePtr __fastcall
WordRangeDispT<T>::get_TextRetrievalMode(void)
{
  Word_xp::TextRetrievalModePtr prop;
  this->get_TextRetrievalMode(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_TextRetrievalMode(Word_xp::TextRetrievalModePtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextRetrievalMode"), DISPID(62));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::TextRetrievalMode*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Fields(Word_xp::Fields** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Fields"), DISPID(64));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Fields**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FieldsPtr __fastcall
WordRangeDispT<T>::get_Fields(void)
{
  Word_xp::FieldsPtr prop;
  this->get_Fields(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_FormFields(Word_xp::FormFields** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormFields"), DISPID(65));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FormFields**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FormFieldsPtr __fastcall
WordRangeDispT<T>::get_FormFields(void)
{
  Word_xp::FormFieldsPtr prop;
  this->get_FormFields(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Frames(Word_xp::Frames** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Frames"), DISPID(66));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frames**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FramesPtr __fastcall
WordRangeDispT<T>::get_Frames(void)
{
  Word_xp::FramesPtr prop;
  this->get_Frames(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParagraphFormat"), DISPID(1102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordParagraphFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordParagraphFormatPtr __fastcall
WordRangeDispT<T>::get_ParagraphFormat(void)
{
  Word_xp::WordParagraphFormatPtr prop;
  this->get_ParagraphFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParagraphFormat"), DISPID(1102));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordParagraphFormat*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_ListFormat(Word_xp::ListFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListFormat"), DISPID(68));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListFormatPtr __fastcall
WordRangeDispT<T>::get_ListFormat(void)
{
  Word_xp::ListFormatPtr prop;
  this->get_ListFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Bookmarks(Word_xp::Bookmarks** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Bookmarks"), DISPID(75));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Bookmarks**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BookmarksPtr __fastcall
WordRangeDispT<T>::get_Bookmarks(void)
{
  Word_xp::BookmarksPtr prop;
  this->get_Bookmarks(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
WordRangeDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
WordRangeDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Bold(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Bold"), DISPID(130));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_Bold(void)
{
  long prop;
  this->get_Bold((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_Bold(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Bold"), DISPID(130));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Italic(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Italic"), DISPID(131));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_Italic(void)
{
  long prop;
  this->get_Italic((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_Italic(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Italic"), DISPID(131));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Underline(Word_xp::WdUnderline* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Underline"), DISPID(139));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdUnderline __fastcall
WordRangeDispT<T>::get_Underline(void)
{
  Word_xp::WdUnderline prop;
  this->get_Underline((Word_xp::WdUnderline*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_Underline(Word_xp::WdUnderline prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Underline"), DISPID(139));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_EmphasisMark(Word_xp::WdEmphasisMark* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmphasisMark"), DISPID(140));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdEmphasisMark __fastcall
WordRangeDispT<T>::get_EmphasisMark(void)
{
  Word_xp::WdEmphasisMark prop;
  this->get_EmphasisMark((Word_xp::WdEmphasisMark*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_EmphasisMark(Word_xp::WdEmphasisMark prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmphasisMark"), DISPID(140));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_DisableCharacterSpaceGrid(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableCharacterSpaceGrid"), DISPID(141));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordRangeDispT<T>::get_DisableCharacterSpaceGrid(void)
{
  VARIANT_BOOL prop;
  this->get_DisableCharacterSpaceGrid((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_DisableCharacterSpaceGrid(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableCharacterSpaceGrid"), DISPID(141));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Revisions(Word_xp::Revisions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Revisions"), DISPID(150));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Revisions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RevisionsPtr __fastcall
WordRangeDispT<T>::get_Revisions(void)
{
  Word_xp::RevisionsPtr prop;
  this->get_Revisions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Style(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(151));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
WordRangeDispT<T>::get_Style(void)
{
  VARIANT prop;
  this->get_Style((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_Style(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(151));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_StoryLength(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StoryLength"), DISPID(152));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_StoryLength(void)
{
  long prop;
  this->get_StoryLength((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(153));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
WordRangeDispT<T>::get_LanguageID(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageID((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(153));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_SynonymInfo(Word_xp::SynonymInfo** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SynonymInfo"), DISPID(155));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SynonymInfo**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SynonymInfoPtr __fastcall
WordRangeDispT<T>::get_SynonymInfo(void)
{
  Word_xp::SynonymInfoPtr prop;
  this->get_SynonymInfo(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Hyperlinks(Word_xp::Hyperlinks** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hyperlinks"), DISPID(156));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Hyperlinks**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HyperlinksPtr __fastcall
WordRangeDispT<T>::get_Hyperlinks(void)
{
  Word_xp::HyperlinksPtr prop;
  this->get_Hyperlinks(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_ListParagraphs(Word_xp::ListParagraphs** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListParagraphs"), DISPID(157));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListParagraphs**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListParagraphsPtr __fastcall
WordRangeDispT<T>::get_ListParagraphs(void)
{
  Word_xp::ListParagraphsPtr prop;
  this->get_ListParagraphs(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Subdocuments(Word_xp::Subdocuments** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Subdocuments"), DISPID(159));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Subdocuments**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SubdocumentsPtr __fastcall
WordRangeDispT<T>::get_Subdocuments(void)
{
  Word_xp::SubdocumentsPtr prop;
  this->get_Subdocuments(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_GrammarChecked(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GrammarChecked"), DISPID(260));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordRangeDispT<T>::get_GrammarChecked(void)
{
  VARIANT_BOOL prop;
  this->get_GrammarChecked((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_GrammarChecked(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GrammarChecked"), DISPID(260));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_SpellingChecked(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpellingChecked"), DISPID(261));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordRangeDispT<T>::get_SpellingChecked(void)
{
  VARIANT_BOOL prop;
  this->get_SpellingChecked((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_SpellingChecked(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpellingChecked"), DISPID(261));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_HighlightColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HighlightColorIndex"), DISPID(301));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
WordRangeDispT<T>::get_HighlightColorIndex(void)
{
  Word_xp::WdColorIndex prop;
  this->get_HighlightColorIndex((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_HighlightColorIndex(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HighlightColorIndex"), DISPID(301));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Columns(Word_xp::Columns** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Columns"), DISPID(302));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Columns**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColumnsPtr __fastcall
WordRangeDispT<T>::get_Columns(void)
{
  Word_xp::ColumnsPtr prop;
  this->get_Columns(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Rows(Word_xp::Rows** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Rows"), DISPID(303));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Rows**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RowsPtr __fastcall
WordRangeDispT<T>::get_Rows(void)
{
  Word_xp::RowsPtr prop;
  this->get_Rows(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_CanEdit(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanEdit"), DISPID(304));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_CanEdit(void)
{
  long prop;
  this->get_CanEdit((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_CanPaste(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanPaste"), DISPID(305));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_CanPaste(void)
{
  long prop;
  this->get_CanPaste((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_IsEndOfRowMark(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsEndOfRowMark"), DISPID(307));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordRangeDispT<T>::get_IsEndOfRowMark(void)
{
  VARIANT_BOOL prop;
  this->get_IsEndOfRowMark((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_BookmarkID(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BookmarkID"), DISPID(308));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_BookmarkID(void)
{
  long prop;
  this->get_BookmarkID((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_PreviousBookmarkID(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreviousBookmarkID"), DISPID(309));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_PreviousBookmarkID(void)
{
  long prop;
  this->get_PreviousBookmarkID((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Find(Word_xp::Find** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Find"), DISPID(262));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Find**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FindPtr __fastcall
WordRangeDispT<T>::get_Find(void)
{
  Word_xp::FindPtr prop;
  this->get_Find(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageSetup"), DISPID(1101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::PageSetup**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PageSetupPtr __fastcall
WordRangeDispT<T>::get_PageSetup(void)
{
  Word_xp::PageSetupPtr prop;
  this->get_PageSetup(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageSetup"), DISPID(1101));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::PageSetup*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_ShapeRange(Word_xp::ShapeRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShapeRange"), DISPID(311));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShapeRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapeRangePtr __fastcall
WordRangeDispT<T>::get_ShapeRange(void)
{
  Word_xp::ShapeRangePtr prop;
  this->get_ShapeRange(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Case(Word_xp::WdCharacterCase* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Case"), DISPID(312));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdCharacterCase __fastcall
WordRangeDispT<T>::get_Case(void)
{
  Word_xp::WdCharacterCase prop;
  this->get_Case((Word_xp::WdCharacterCase*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_Case(Word_xp::WdCharacterCase prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Case"), DISPID(312));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Information(Word_xp::WdInformation Type/*[in]*/, 
                                   VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Information"), DISPID(313));
  TAutoArgs<1> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
WordRangeDispT<T>::get_Information(Word_xp::WdInformation Type/*[in]*/)
{
  VARIANT prop;
  this->get_Information(Type, (VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_ReadabilityStatistics(Word_xp::ReadabilityStatistics** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadabilityStatistics"), DISPID(314));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ReadabilityStatistics**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ReadabilityStatisticsPtr __fastcall
WordRangeDispT<T>::get_ReadabilityStatistics(void)
{
  Word_xp::ReadabilityStatisticsPtr prop;
  this->get_ReadabilityStatistics(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_GrammaticalErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GrammaticalErrors"), DISPID(315));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ProofreadingErrors**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ProofreadingErrorsPtr __fastcall
WordRangeDispT<T>::get_GrammaticalErrors(void)
{
  Word_xp::ProofreadingErrorsPtr prop;
  this->get_GrammaticalErrors(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_SpellingErrors(Word_xp::ProofreadingErrors** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpellingErrors"), DISPID(316));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ProofreadingErrors**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ProofreadingErrorsPtr __fastcall
WordRangeDispT<T>::get_SpellingErrors(void)
{
  Word_xp::ProofreadingErrorsPtr prop;
  this->get_SpellingErrors(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Orientation(Word_xp::WdTextOrientation* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Orientation"), DISPID(317));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTextOrientation __fastcall
WordRangeDispT<T>::get_Orientation(void)
{
  Word_xp::WdTextOrientation prop;
  this->get_Orientation((Word_xp::WdTextOrientation*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_Orientation(Word_xp::WdTextOrientation prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Orientation"), DISPID(317));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_InlineShapes(Word_xp::InlineShapes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InlineShapes"), DISPID(319));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShapes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::InlineShapesPtr __fastcall
WordRangeDispT<T>::get_InlineShapes(void)
{
  Word_xp::InlineShapesPtr prop;
  this->get_InlineShapes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_NextStoryRange(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NextStoryRange"), DISPID(320));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
WordRangeDispT<T>::get_NextStoryRange(void)
{
  Word_xp::WordRangePtr prop;
  this->get_NextStoryRange(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDFarEast"), DISPID(321));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
WordRangeDispT<T>::get_LanguageIDFarEast(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageIDFarEast((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDFarEast"), DISPID(321));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_LanguageIDOther(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDOther"), DISPID(322));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
WordRangeDispT<T>::get_LanguageIDOther(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageIDOther((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_LanguageIDOther(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDOther"), DISPID(322));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::SetRange(long Start/*[in]*/, long End/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetRange"), DISPID(100));
  TAutoArgs<2> _args;
  _args[1] = Start /*[VT_I4:0]*/;
  _args[2] = End /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Collapse(VARIANT* Direction/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Collapse"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = Direction /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertBefore(BSTR Text/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertBefore"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = Text /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertAfter(BSTR Text/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertAfter"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = Text /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Next(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                        Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(105));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
WordRangeDispT<T>::Next(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->Next(Unit, Count, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Previous(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                            Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(106));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
WordRangeDispT<T>::Previous(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->Previous(Unit, Count, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::StartOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                           long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartOf"), DISPID(107));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Extend /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::StartOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/)
{
  long prop;
  this->StartOf(Unit, Extend, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::EndOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                         long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndOf"), DISPID(108));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Extend /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::EndOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/)
{
  long prop;
  this->EndOf(Unit, Extend, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Move(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                        long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Move"), DISPID(109));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::Move(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->Move(Unit, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::MoveStart(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                             long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveStart"), DISPID(110));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::MoveStart(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveStart(Unit, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::MoveEnd(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                           long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveEnd"), DISPID(111));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::MoveEnd(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveEnd(Unit, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::MoveWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                             long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveWhile"), DISPID(112));
  TAutoArgs<2> _args;
  _args[1] = Cset /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::MoveWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveWhile(Cset, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::MoveStartWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                  long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveStartWhile"), DISPID(113));
  TAutoArgs<2> _args;
  _args[1] = Cset /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::MoveStartWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveStartWhile(Cset, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::MoveEndWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveEndWhile"), DISPID(114));
  TAutoArgs<2> _args;
  _args[1] = Cset /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::MoveEndWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveEndWhile(Cset, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::MoveUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                             long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveUntil"), DISPID(115));
  TAutoArgs<2> _args;
  _args[1] = Cset /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::MoveUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveUntil(Cset, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::MoveStartUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                  long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveStartUntil"), DISPID(116));
  TAutoArgs<2> _args;
  _args[1] = Cset /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::MoveStartUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveStartUntil(Cset, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::MoveEndUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveEndUntil"), DISPID(117));
  TAutoArgs<2> _args;
  _args[1] = Cset /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::MoveEndUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveEndUntil(Cset, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Cut()
{
  _TDispID _dispid(*this, OLETEXT("Cut"), DISPID(119));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Copy()
{
  _TDispID _dispid(*this, OLETEXT("Copy"), DISPID(120));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Paste()
{
  _TDispID _dispid(*this, OLETEXT("Paste"), DISPID(121));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertBreak(VARIANT* Type/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertBreak"), DISPID(122));
  TAutoArgs<1> _args;
  _args[1] = Type /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertFile(BSTR FileName/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                              VARIANT* ConfirmConversions/*[in,opt]*/, VARIANT* Link/*[in,opt]*/, 
                              VARIANT* Attachment/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertFile"), DISPID(123));
  TAutoArgs<5> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = Range /*[VT_VARIANT:1]*/;
  _args[3] = ConfirmConversions /*[VT_VARIANT:1]*/;
  _args[4] = Link /*[VT_VARIANT:1]*/;
  _args[5] = Attachment /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InStory(Word_xp::WordRange* Range/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InStory"), DISPID(125));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordRangeDispT<T>::InStory(Word_xp::WordRange* Range/*[in]*/)
{
  VARIANT_BOOL prop;
  this->InStory(Range, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InRange(Word_xp::WordRange* Range/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InRange"), DISPID(126));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordRangeDispT<T>::InRange(Word_xp::WordRange* Range/*[in]*/)
{
  VARIANT_BOOL prop;
  this->InRange(Range, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Delete(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                          long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(127));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::Delete(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->Delete(Unit, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::WholeStory()
{
  _TDispID _dispid(*this, OLETEXT("WholeStory"), DISPID(128));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Expand(VARIANT* Unit/*[in,opt]*/, long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Expand"), DISPID(129));
  TAutoArgs<1> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::Expand(VARIANT* Unit/*[in,opt]*/)
{
  long prop;
  this->Expand(Unit, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertParagraph()
{
  _TDispID _dispid(*this, OLETEXT("InsertParagraph"), DISPID(160));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertParagraphAfter()
{
  _TDispID _dispid(*this, OLETEXT("InsertParagraphAfter"), DISPID(161));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::ConvertToTableOld(VARIANT* Separator/*[in,opt]*/, VARIANT* NumRows/*[in,opt]*/, 
                                     VARIANT* NumColumns/*[in,opt]*/, 
                                     VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                     VARIANT* Format/*[in,opt]*/, VARIANT* ApplyBorders/*[in,opt]*/
                                     , VARIANT* ApplyShading/*[in,opt]*/, 
                                     VARIANT* ApplyFont/*[in,opt]*/, VARIANT* ApplyColor/*[in,opt]*/
                                     , VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                     VARIANT* ApplyLastRow/*[in,opt]*/, 
                                     VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                     VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                     VARIANT* AutoFit/*[in,opt]*/, 
                                     Word_xp::Table** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToTableOld"), DISPID(162));
  TAutoArgs<14> _args;
  _args[1] = Separator /*[VT_VARIANT:1]*/;
  _args[2] = NumRows /*[VT_VARIANT:1]*/;
  _args[3] = NumColumns /*[VT_VARIANT:1]*/;
  _args[4] = InitialColumnWidth /*[VT_VARIANT:1]*/;
  _args[5] = Format /*[VT_VARIANT:1]*/;
  _args[6] = ApplyBorders /*[VT_VARIANT:1]*/;
  _args[7] = ApplyShading /*[VT_VARIANT:1]*/;
  _args[8] = ApplyFont /*[VT_VARIANT:1]*/;
  _args[9] = ApplyColor /*[VT_VARIANT:1]*/;
  _args[10] = ApplyHeadingRows /*[VT_VARIANT:1]*/;
  _args[11] = ApplyLastRow /*[VT_VARIANT:1]*/;
  _args[12] = ApplyFirstColumn /*[VT_VARIANT:1]*/;
  _args[13] = ApplyLastColumn /*[VT_VARIANT:1]*/;
  _args[14] = AutoFit /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Table**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Table* __fastcall
WordRangeDispT<T>::ConvertToTableOld(VARIANT* Separator/*[in,opt]*/, VARIANT* NumRows/*[in,opt]*/, 
                                     VARIANT* NumColumns/*[in,opt]*/, 
                                     VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                     VARIANT* Format/*[in,opt]*/, VARIANT* ApplyBorders/*[in,opt]*/, 
                                     VARIANT* ApplyShading/*[in,opt]*/, 
                                     VARIANT* ApplyFont/*[in,opt]*/, VARIANT* ApplyColor/*[in,opt]*/, 
                                     VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                     VARIANT* ApplyLastRow/*[in,opt]*/, 
                                     VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                     VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                     VARIANT* AutoFit/*[in,opt]*/)
{
  Word_xp::Table* prop;
  this->ConvertToTableOld(Separator, NumRows, NumColumns, InitialColumnWidth, Format, ApplyBorders, 
                          ApplyShading, ApplyFont, ApplyColor, ApplyHeadingRows, ApplyLastRow, 
                          ApplyFirstColumn, ApplyLastColumn, AutoFit, (Word_xp::Table**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertDateTimeOld(VARIANT* DateTimeFormat/*[in,opt]*/, 
                                     VARIANT* InsertAsField/*[in,opt]*/, 
                                     VARIANT* InsertAsFullWidth/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertDateTimeOld"), DISPID(163));
  TAutoArgs<3> _args;
  _args[1] = DateTimeFormat /*[VT_VARIANT:1]*/;
  _args[2] = InsertAsField /*[VT_VARIANT:1]*/;
  _args[3] = InsertAsFullWidth /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertSymbol(long CharacterNumber/*[in]*/, VARIANT* Font/*[in,opt]*/, 
                                VARIANT* Unicode/*[in,opt]*/, VARIANT* Bias/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertSymbol"), DISPID(164));
  TAutoArgs<4> _args;
  _args[1] = CharacterNumber /*[VT_I4:0]*/;
  _args[2] = Font /*[VT_VARIANT:1]*/;
  _args[3] = Unicode /*[VT_VARIANT:1]*/;
  _args[4] = Bias /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertCrossReference(VARIANT* ReferenceType/*[in]*/, 
                                        Word_xp::WdReferenceKind ReferenceKind/*[in]*/, 
                                        VARIANT* ReferenceItem/*[in]*/, 
                                        VARIANT* InsertAsHyperlink/*[in,opt]*/, 
                                        VARIANT* IncludePosition/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertCrossReference"), DISPID(165));
  TAutoArgs<5> _args;
  _args[1] = ReferenceType /*[VT_VARIANT:1]*/;
  _args[2] = (int)ReferenceKind /*[VT_USERDEFINED:0]*/;
  _args[3] = ReferenceItem /*[VT_VARIANT:1]*/;
  _args[4] = InsertAsHyperlink /*[VT_VARIANT:1]*/;
  _args[5] = IncludePosition /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertCaption(VARIANT* Label/*[in]*/, VARIANT* Title/*[in,opt]*/, 
                                 VARIANT* TitleAutoText/*[in,opt]*/, VARIANT* Position/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertCaption"), DISPID(166));
  TAutoArgs<4> _args;
  _args[1] = Label /*[VT_VARIANT:1]*/;
  _args[2] = Title /*[VT_VARIANT:1]*/;
  _args[3] = TitleAutoText /*[VT_VARIANT:1]*/;
  _args[4] = Position /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::CopyAsPicture()
{
  _TDispID _dispid(*this, OLETEXT("CopyAsPicture"), DISPID(167));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::SortOld(VARIANT* ExcludeHeader/*[in,opt]*/, VARIANT* FieldNumber/*[in,opt]*/, 
                           VARIANT* SortFieldType/*[in,opt]*/, VARIANT* SortOrder/*[in,opt]*/, 
                           VARIANT* FieldNumber2/*[in,opt]*/, VARIANT* SortFieldType2/*[in,opt]*/, 
                           VARIANT* SortOrder2/*[in,opt]*/, VARIANT* FieldNumber3/*[in,opt]*/, 
                           VARIANT* SortFieldType3/*[in,opt]*/, VARIANT* SortOrder3/*[in,opt]*/, 
                           VARIANT* SortColumn/*[in,opt]*/, VARIANT* Separator/*[in,opt]*/, 
                           VARIANT* CaseSensitive/*[in,opt]*/, VARIANT* LanguageID/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SortOld"), DISPID(168));
  TAutoArgs<14> _args;
  _args[1] = ExcludeHeader /*[VT_VARIANT:1]*/;
  _args[2] = FieldNumber /*[VT_VARIANT:1]*/;
  _args[3] = SortFieldType /*[VT_VARIANT:1]*/;
  _args[4] = SortOrder /*[VT_VARIANT:1]*/;
  _args[5] = FieldNumber2 /*[VT_VARIANT:1]*/;
  _args[6] = SortFieldType2 /*[VT_VARIANT:1]*/;
  _args[7] = SortOrder2 /*[VT_VARIANT:1]*/;
  _args[8] = FieldNumber3 /*[VT_VARIANT:1]*/;
  _args[9] = SortFieldType3 /*[VT_VARIANT:1]*/;
  _args[10] = SortOrder3 /*[VT_VARIANT:1]*/;
  _args[11] = SortColumn /*[VT_VARIANT:1]*/;
  _args[12] = Separator /*[VT_VARIANT:1]*/;
  _args[13] = CaseSensitive /*[VT_VARIANT:1]*/;
  _args[14] = LanguageID /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::SortAscending()
{
  _TDispID _dispid(*this, OLETEXT("SortAscending"), DISPID(169));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::SortDescending()
{
  _TDispID _dispid(*this, OLETEXT("SortDescending"), DISPID(170));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::IsEqual(Word_xp::WordRange* Range/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsEqual"), DISPID(171));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordRangeDispT<T>::IsEqual(Word_xp::WordRange* Range/*[in]*/)
{
  VARIANT_BOOL prop;
  this->IsEqual(Range, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Calculate(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Calculate"), DISPID(172));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
WordRangeDispT<T>::Calculate(void)
{
  float prop;
  this->Calculate((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                        VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                        Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GoTo"), DISPID(173));
  TAutoArgs<4> _args;
  _args[1] = What /*[VT_VARIANT:1]*/;
  _args[2] = Which /*[VT_VARIANT:1]*/;
  _args[3] = Count /*[VT_VARIANT:1]*/;
  _args[4] = Name /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
WordRangeDispT<T>::GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                        VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->GoTo(What, Which, Count, Name, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::GoToNext(Word_xp::WdGoToItem What/*[in]*/, 
                            Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GoToNext"), DISPID(174));
  TAutoArgs<1> _args;
  _args[1] = (int)What /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
WordRangeDispT<T>::GoToNext(Word_xp::WdGoToItem What/*[in]*/)
{
  Word_xp::WordRange* prop;
  this->GoToNext(What, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::GoToPrevious(Word_xp::WdGoToItem What/*[in]*/, 
                                Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GoToPrevious"), DISPID(175));
  TAutoArgs<1> _args;
  _args[1] = (int)What /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
WordRangeDispT<T>::GoToPrevious(Word_xp::WdGoToItem What/*[in]*/)
{
  Word_xp::WordRange* prop;
  this->GoToPrevious(What, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::PasteSpecial(VARIANT* IconIndex/*[in,opt]*/, VARIANT* Link/*[in,opt]*/, 
                                VARIANT* Placement/*[in,opt]*/, VARIANT* DisplayAsIcon/*[in,opt]*/, 
                                VARIANT* DataType/*[in,opt]*/, VARIANT* IconFileName/*[in,opt]*/, 
                                VARIANT* IconLabel/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteSpecial"), DISPID(176));
  TAutoArgs<7> _args;
  _args[1] = IconIndex /*[VT_VARIANT:1]*/;
  _args[2] = Link /*[VT_VARIANT:1]*/;
  _args[3] = Placement /*[VT_VARIANT:1]*/;
  _args[4] = DisplayAsIcon /*[VT_VARIANT:1]*/;
  _args[5] = DataType /*[VT_VARIANT:1]*/;
  _args[6] = IconFileName /*[VT_VARIANT:1]*/;
  _args[7] = IconLabel /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::LookupNameProperties()
{
  _TDispID _dispid(*this, OLETEXT("LookupNameProperties"), DISPID(177));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/, 
                                     long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ComputeStatistics"), DISPID(178));
  TAutoArgs<1> _args;
  _args[1] = (int)Statistic /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::ComputeStatistics(Word_xp::WdStatistic Statistic/*[in]*/)
{
  long prop;
  this->ComputeStatistics(Statistic, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Relocate(long Direction/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Relocate"), DISPID(179));
  TAutoArgs<1> _args;
  _args[1] = Direction /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::CheckSynonyms()
{
  _TDispID _dispid(*this, OLETEXT("CheckSynonyms"), DISPID(180));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::SubscribeTo(BSTR Edition/*[in]*/, VARIANT* Format/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SubscribeTo"), DISPID(181));
  TAutoArgs<2> _args;
  _args[1] = Edition /*[VT_BSTR:0]*/;
  _args[2] = Format /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::CreatePublisher(VARIANT* Edition/*[in,opt]*/, VARIANT* ContainsPICT/*[in,opt]*/, 
                                   VARIANT* ContainsRTF/*[in,opt]*/, 
                                   VARIANT* ContainsText/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreatePublisher"), DISPID(182));
  TAutoArgs<4> _args;
  _args[1] = Edition /*[VT_VARIANT:1]*/;
  _args[2] = ContainsPICT /*[VT_VARIANT:1]*/;
  _args[3] = ContainsRTF /*[VT_VARIANT:1]*/;
  _args[4] = ContainsText /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertAutoText()
{
  _TDispID _dispid(*this, OLETEXT("InsertAutoText"), DISPID(183));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertDatabase(VARIANT* Format/*[in,opt]*/, VARIANT* Style/*[in,opt]*/, 
                                  VARIANT* LinkToSource/*[in,opt]*/, VARIANT* Connection/*[in,opt]*/
                                  , VARIANT* SQLStatement/*[in,opt]*/, 
                                  VARIANT* SQLStatement1/*[in,opt]*/, 
                                  VARIANT* PasswordDocument/*[in,opt]*/, 
                                  VARIANT* PasswordTemplate/*[in,opt]*/, 
                                  VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                  VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                  VARIANT* DataSource/*[in,opt]*/, VARIANT* From/*[in,opt]*/, 
                                  VARIANT* To/*[in,opt]*/, VARIANT* IncludeFields/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertDatabase"), DISPID(194));
  TAutoArgs<14> _args;
  _args[1] = Format /*[VT_VARIANT:1]*/;
  _args[2] = Style /*[VT_VARIANT:1]*/;
  _args[3] = LinkToSource /*[VT_VARIANT:1]*/;
  _args[4] = Connection /*[VT_VARIANT:1]*/;
  _args[5] = SQLStatement /*[VT_VARIANT:1]*/;
  _args[6] = SQLStatement1 /*[VT_VARIANT:1]*/;
  _args[7] = PasswordDocument /*[VT_VARIANT:1]*/;
  _args[8] = PasswordTemplate /*[VT_VARIANT:1]*/;
  _args[9] = WritePasswordDocument /*[VT_VARIANT:1]*/;
  _args[10] = WritePasswordTemplate /*[VT_VARIANT:1]*/;
  _args[11] = DataSource /*[VT_VARIANT:1]*/;
  _args[12] = From /*[VT_VARIANT:1]*/;
  _args[13] = To /*[VT_VARIANT:1]*/;
  _args[14] = IncludeFields /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::AutoFormat()
{
  _TDispID _dispid(*this, OLETEXT("AutoFormat"), DISPID(195));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::CheckGrammar()
{
  _TDispID _dispid(*this, OLETEXT("CheckGrammar"), DISPID(204));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::CheckSpelling(VARIANT* CustomDictionary/*[in,opt]*/, 
                                 VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                 VARIANT* AlwaysSuggest/*[in,opt]*/, 
                                 VARIANT* CustomDictionary2/*[in,opt]*/, 
                                 VARIANT* CustomDictionary3/*[in,opt]*/, 
                                 VARIANT* CustomDictionary4/*[in,opt]*/, 
                                 VARIANT* CustomDictionary5/*[in,opt]*/, 
                                 VARIANT* CustomDictionary6/*[in,opt]*/, 
                                 VARIANT* CustomDictionary7/*[in,opt]*/, 
                                 VARIANT* CustomDictionary8/*[in,opt]*/, 
                                 VARIANT* CustomDictionary9/*[in,opt]*/, 
                                 VARIANT* CustomDictionary10/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckSpelling"), DISPID(205));
  TAutoArgs<12> _args;
  _args[1] = CustomDictionary /*[VT_VARIANT:1]*/;
  _args[2] = IgnoreUppercase /*[VT_VARIANT:1]*/;
  _args[3] = AlwaysSuggest /*[VT_VARIANT:1]*/;
  _args[4] = CustomDictionary2 /*[VT_VARIANT:1]*/;
  _args[5] = CustomDictionary3 /*[VT_VARIANT:1]*/;
  _args[6] = CustomDictionary4 /*[VT_VARIANT:1]*/;
  _args[7] = CustomDictionary5 /*[VT_VARIANT:1]*/;
  _args[8] = CustomDictionary6 /*[VT_VARIANT:1]*/;
  _args[9] = CustomDictionary7 /*[VT_VARIANT:1]*/;
  _args[10] = CustomDictionary8 /*[VT_VARIANT:1]*/;
  _args[11] = CustomDictionary9 /*[VT_VARIANT:1]*/;
  _args[12] = CustomDictionary10 /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::GetSpellingSuggestions(VARIANT* CustomDictionary/*[in,opt]*/, 
                                          VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                          VARIANT* MainDictionary/*[in,opt]*/, 
                                          VARIANT* SuggestionMode/*[in,opt]*/, 
                                          VARIANT* CustomDictionary2/*[in,opt]*/, 
                                          VARIANT* CustomDictionary3/*[in,opt]*/, 
                                          VARIANT* CustomDictionary4/*[in,opt]*/, 
                                          VARIANT* CustomDictionary5/*[in,opt]*/, 
                                          VARIANT* CustomDictionary6/*[in,opt]*/, 
                                          VARIANT* CustomDictionary7/*[in,opt]*/, 
                                          VARIANT* CustomDictionary8/*[in,opt]*/, 
                                          VARIANT* CustomDictionary9/*[in,opt]*/, 
                                          VARIANT* CustomDictionary10/*[in,opt]*/, 
                                          Word_xp::SpellingSuggestions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetSpellingSuggestions"), DISPID(209));
  TAutoArgs<13> _args;
  _args[1] = CustomDictionary /*[VT_VARIANT:1]*/;
  _args[2] = IgnoreUppercase /*[VT_VARIANT:1]*/;
  _args[3] = MainDictionary /*[VT_VARIANT:1]*/;
  _args[4] = SuggestionMode /*[VT_VARIANT:1]*/;
  _args[5] = CustomDictionary2 /*[VT_VARIANT:1]*/;
  _args[6] = CustomDictionary3 /*[VT_VARIANT:1]*/;
  _args[7] = CustomDictionary4 /*[VT_VARIANT:1]*/;
  _args[8] = CustomDictionary5 /*[VT_VARIANT:1]*/;
  _args[9] = CustomDictionary6 /*[VT_VARIANT:1]*/;
  _args[10] = CustomDictionary7 /*[VT_VARIANT:1]*/;
  _args[11] = CustomDictionary8 /*[VT_VARIANT:1]*/;
  _args[12] = CustomDictionary9 /*[VT_VARIANT:1]*/;
  _args[13] = CustomDictionary10 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SpellingSuggestions**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::SpellingSuggestions* __fastcall
WordRangeDispT<T>::GetSpellingSuggestions(VARIANT* CustomDictionary/*[in,opt]*/, 
                                          VARIANT* IgnoreUppercase/*[in,opt]*/, 
                                          VARIANT* MainDictionary/*[in,opt]*/, 
                                          VARIANT* SuggestionMode/*[in,opt]*/, 
                                          VARIANT* CustomDictionary2/*[in,opt]*/, 
                                          VARIANT* CustomDictionary3/*[in,opt]*/, 
                                          VARIANT* CustomDictionary4/*[in,opt]*/, 
                                          VARIANT* CustomDictionary5/*[in,opt]*/, 
                                          VARIANT* CustomDictionary6/*[in,opt]*/, 
                                          VARIANT* CustomDictionary7/*[in,opt]*/, 
                                          VARIANT* CustomDictionary8/*[in,opt]*/, 
                                          VARIANT* CustomDictionary9/*[in,opt]*/, 
                                          VARIANT* CustomDictionary10/*[in,opt]*/)
{
  Word_xp::SpellingSuggestions* prop;
  this->GetSpellingSuggestions(CustomDictionary, IgnoreUppercase, MainDictionary, SuggestionMode, 
                               CustomDictionary2, CustomDictionary3, CustomDictionary4, 
                               CustomDictionary5, CustomDictionary6, CustomDictionary7, 
                               CustomDictionary8, CustomDictionary9, CustomDictionary10, (Word_xp::SpellingSuggestions**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertParagraphBefore()
{
  _TDispID _dispid(*this, OLETEXT("InsertParagraphBefore"), DISPID(212));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::NextSubdocument()
{
  _TDispID _dispid(*this, OLETEXT("NextSubdocument"), DISPID(219));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::PreviousSubdocument()
{
  _TDispID _dispid(*this, OLETEXT("PreviousSubdocument"), DISPID(220));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::ConvertHangulAndHanja(VARIANT* ConversionsMode/*[in,opt]*/, 
                                         VARIANT* FastConversion/*[in,opt]*/, 
                                         VARIANT* CheckHangulEnding/*[in,opt]*/, 
                                         VARIANT* EnableRecentOrdering/*[in,opt]*/, 
                                         VARIANT* CustomDictionary/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertHangulAndHanja"), DISPID(221));
  TAutoArgs<5> _args;
  _args[1] = ConversionsMode /*[VT_VARIANT:1]*/;
  _args[2] = FastConversion /*[VT_VARIANT:1]*/;
  _args[3] = CheckHangulEnding /*[VT_VARIANT:1]*/;
  _args[4] = EnableRecentOrdering /*[VT_VARIANT:1]*/;
  _args[5] = CustomDictionary /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::PasteAsNestedTable()
{
  _TDispID _dispid(*this, OLETEXT("PasteAsNestedTable"), DISPID(222));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::ModifyEnclosure(VARIANT* Style/*[in]*/, VARIANT* Symbol/*[in,opt]*/, 
                                   VARIANT* EnclosedText/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ModifyEnclosure"), DISPID(223));
  TAutoArgs<3> _args;
  _args[1] = Style /*[VT_VARIANT:1]*/;
  _args[2] = Symbol /*[VT_VARIANT:1]*/;
  _args[3] = EnclosedText /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::PhoneticGuide(BSTR Text/*[in]*/, 
                                 Word_xp::WdPhoneticGuideAlignmentType Alignment/*[in,def,opt]*/, 
                                 long Raise/*[in,def,opt]*/, long FontSize/*[in,def,opt]*/, 
                                 BSTR FontName/*[in,def,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PhoneticGuide"), DISPID(224));
  TAutoArgs<5> _args;
  _args[1] = Text /*[VT_BSTR:0]*/;
  _args[2] = (int)Alignment /*[VT_USERDEFINED:0]*/;
  _args[3] = Raise /*[VT_I4:0]*/;
  _args[4] = FontSize /*[VT_I4:0]*/;
  _args[5] = FontName /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::InsertDateTime(VARIANT* DateTimeFormat/*[in,opt]*/, 
                                  VARIANT* InsertAsField/*[in,opt]*/, 
                                  VARIANT* InsertAsFullWidth/*[in,opt]*/, 
                                  VARIANT* DateLanguage/*[in,opt]*/, 
                                  VARIANT* CalendarType/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertDateTime"), DISPID(444));
  TAutoArgs<5> _args;
  _args[1] = DateTimeFormat /*[VT_VARIANT:1]*/;
  _args[2] = InsertAsField /*[VT_VARIANT:1]*/;
  _args[3] = InsertAsFullWidth /*[VT_VARIANT:1]*/;
  _args[4] = DateLanguage /*[VT_VARIANT:1]*/;
  _args[5] = CalendarType /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::Sort(VARIANT* ExcludeHeader/*[in,opt]*/, VARIANT* FieldNumber/*[in,opt]*/, 
                        VARIANT* SortFieldType/*[in,opt]*/, VARIANT* SortOrder/*[in,opt]*/, 
                        VARIANT* FieldNumber2/*[in,opt]*/, VARIANT* SortFieldType2/*[in,opt]*/, 
                        VARIANT* SortOrder2/*[in,opt]*/, VARIANT* FieldNumber3/*[in,opt]*/, 
                        VARIANT* SortFieldType3/*[in,opt]*/, VARIANT* SortOrder3/*[in,opt]*/, 
                        VARIANT* SortColumn/*[in,opt]*/, VARIANT* Separator/*[in,opt]*/, 
                        VARIANT* CaseSensitive/*[in,opt]*/, VARIANT* BidiSort/*[in,opt]*/, 
                        VARIANT* IgnoreThe/*[in,opt]*/, VARIANT* IgnoreKashida/*[in,opt]*/, 
                        VARIANT* IgnoreDiacritics/*[in,opt]*/, VARIANT* IgnoreHe/*[in,opt]*/, 
                        VARIANT* LanguageID/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Sort"), DISPID(484));
  TAutoArgs<19> _args;
  _args[1] = ExcludeHeader /*[VT_VARIANT:1]*/;
  _args[2] = FieldNumber /*[VT_VARIANT:1]*/;
  _args[3] = SortFieldType /*[VT_VARIANT:1]*/;
  _args[4] = SortOrder /*[VT_VARIANT:1]*/;
  _args[5] = FieldNumber2 /*[VT_VARIANT:1]*/;
  _args[6] = SortFieldType2 /*[VT_VARIANT:1]*/;
  _args[7] = SortOrder2 /*[VT_VARIANT:1]*/;
  _args[8] = FieldNumber3 /*[VT_VARIANT:1]*/;
  _args[9] = SortFieldType3 /*[VT_VARIANT:1]*/;
  _args[10] = SortOrder3 /*[VT_VARIANT:1]*/;
  _args[11] = SortColumn /*[VT_VARIANT:1]*/;
  _args[12] = Separator /*[VT_VARIANT:1]*/;
  _args[13] = CaseSensitive /*[VT_VARIANT:1]*/;
  _args[14] = BidiSort /*[VT_VARIANT:1]*/;
  _args[15] = IgnoreThe /*[VT_VARIANT:1]*/;
  _args[16] = IgnoreKashida /*[VT_VARIANT:1]*/;
  _args[17] = IgnoreDiacritics /*[VT_VARIANT:1]*/;
  _args[18] = IgnoreHe /*[VT_VARIANT:1]*/;
  _args[19] = LanguageID /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::DetectLanguage()
{
  _TDispID _dispid(*this, OLETEXT("DetectLanguage"), DISPID(203));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::ConvertToTable(VARIANT* Separator/*[in,opt]*/, VARIANT* NumRows/*[in,opt]*/, 
                                  VARIANT* NumColumns/*[in,opt]*/, 
                                  VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                  VARIANT* Format/*[in,opt]*/, VARIANT* ApplyBorders/*[in,opt]*/, 
                                  VARIANT* ApplyShading/*[in,opt]*/, VARIANT* ApplyFont/*[in,opt]*/
                                  , VARIANT* ApplyColor/*[in,opt]*/, 
                                  VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                  VARIANT* ApplyLastRow/*[in,opt]*/, 
                                  VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                  VARIANT* ApplyLastColumn/*[in,opt]*/, VARIANT* AutoFit/*[in,opt]*/
                                  , VARIANT* AutoFitBehavior/*[in,opt]*/, 
                                  VARIANT* DefaultTableBehavior/*[in,opt]*/, 
                                  Word_xp::Table** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToTable"), DISPID(498));
  TAutoArgs<16> _args;
  _args[1] = Separator /*[VT_VARIANT:1]*/;
  _args[2] = NumRows /*[VT_VARIANT:1]*/;
  _args[3] = NumColumns /*[VT_VARIANT:1]*/;
  _args[4] = InitialColumnWidth /*[VT_VARIANT:1]*/;
  _args[5] = Format /*[VT_VARIANT:1]*/;
  _args[6] = ApplyBorders /*[VT_VARIANT:1]*/;
  _args[7] = ApplyShading /*[VT_VARIANT:1]*/;
  _args[8] = ApplyFont /*[VT_VARIANT:1]*/;
  _args[9] = ApplyColor /*[VT_VARIANT:1]*/;
  _args[10] = ApplyHeadingRows /*[VT_VARIANT:1]*/;
  _args[11] = ApplyLastRow /*[VT_VARIANT:1]*/;
  _args[12] = ApplyFirstColumn /*[VT_VARIANT:1]*/;
  _args[13] = ApplyLastColumn /*[VT_VARIANT:1]*/;
  _args[14] = AutoFit /*[VT_VARIANT:1]*/;
  _args[15] = AutoFitBehavior /*[VT_VARIANT:1]*/;
  _args[16] = DefaultTableBehavior /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Table**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Table* __fastcall
WordRangeDispT<T>::ConvertToTable(VARIANT* Separator/*[in,opt]*/, VARIANT* NumRows/*[in,opt]*/, 
                                  VARIANT* NumColumns/*[in,opt]*/, 
                                  VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                  VARIANT* Format/*[in,opt]*/, VARIANT* ApplyBorders/*[in,opt]*/, 
                                  VARIANT* ApplyShading/*[in,opt]*/, VARIANT* ApplyFont/*[in,opt]*/, 
                                  VARIANT* ApplyColor/*[in,opt]*/, 
                                  VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                  VARIANT* ApplyLastRow/*[in,opt]*/, 
                                  VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                  VARIANT* ApplyLastColumn/*[in,opt]*/, VARIANT* AutoFit/*[in,opt]*/, 
                                  VARIANT* AutoFitBehavior/*[in,opt]*/, 
                                  VARIANT* DefaultTableBehavior/*[in,opt]*/)
{
  Word_xp::Table* prop;
  this->ConvertToTable(Separator, NumRows, NumColumns, InitialColumnWidth, Format, ApplyBorders, 
                       ApplyShading, ApplyFont, ApplyColor, ApplyHeadingRows, ApplyLastRow, 
                       ApplyFirstColumn, ApplyLastColumn, AutoFit, AutoFitBehavior, 
                       DefaultTableBehavior, (Word_xp::Table**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::TCSCConverter(Word_xp::WdTCSCConverterDirection WdTCSCConverterDirection/*[in,def,opt]*/
                                 , VARIANT_BOOL CommonTerms/*[in,def,opt]*/, 
                                 VARIANT_BOOL UseVariants/*[in,def,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("TCSCConverter"), DISPID(499));
  TAutoArgs<3> _args;
  _args[1] = (int)WdTCSCConverterDirection /*[VT_USERDEFINED:0]*/;
  _args[2] = CommonTerms /*[VT_BOOL:0]*/;
  _args[3] = UseVariants /*[VT_BOOL:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_LanguageDetected(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageDetected"), DISPID(263));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordRangeDispT<T>::get_LanguageDetected(void)
{
  VARIANT_BOOL prop;
  this->get_LanguageDetected((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_LanguageDetected(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageDetected"), DISPID(263));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_FitTextWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FitTextWidth"), DISPID(264));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
WordRangeDispT<T>::get_FitTextWidth(void)
{
  float prop;
  this->get_FitTextWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_FitTextWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FitTextWidth"), DISPID(264));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_HorizontalInVertical(Word_xp::WdHorizontalInVerticalType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalInVertical"), DISPID(265));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdHorizontalInVerticalType __fastcall
WordRangeDispT<T>::get_HorizontalInVertical(void)
{
  Word_xp::WdHorizontalInVerticalType prop;
  this->get_HorizontalInVertical((Word_xp::WdHorizontalInVerticalType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_HorizontalInVertical(Word_xp::WdHorizontalInVerticalType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalInVertical"), DISPID(265));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_TwoLinesInOne(Word_xp::WdTwoLinesInOneType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TwoLinesInOne"), DISPID(266));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTwoLinesInOneType __fastcall
WordRangeDispT<T>::get_TwoLinesInOne(void)
{
  Word_xp::WdTwoLinesInOneType prop;
  this->get_TwoLinesInOne((Word_xp::WdTwoLinesInOneType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_TwoLinesInOne(Word_xp::WdTwoLinesInOneType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TwoLinesInOne"), DISPID(266));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_CombineCharacters(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CombineCharacters"), DISPID(267));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordRangeDispT<T>::get_CombineCharacters(void)
{
  VARIANT_BOOL prop;
  this->get_CombineCharacters((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_CombineCharacters(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CombineCharacters"), DISPID(267));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_NoProofing(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoProofing"), DISPID(323));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_NoProofing(void)
{
  long prop;
  this->get_NoProofing((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_NoProofing(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoProofing"), DISPID(323));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_TopLevelTables(Word_xp::Tables** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopLevelTables"), DISPID(324));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Tables**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TablesPtr __fastcall
WordRangeDispT<T>::get_TopLevelTables(void)
{
  Word_xp::TablesPtr prop;
  this->get_TopLevelTables(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Scripts(Office_xp::Scripts** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Scripts"), DISPID(325));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::Scripts**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::ScriptsPtr __fastcall
WordRangeDispT<T>::get_Scripts(void)
{
  Office_xp::ScriptsPtr prop;
  this->get_Scripts(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_CharacterWidth(Word_xp::WdCharacterWidth* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterWidth"), DISPID(326));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdCharacterWidth __fastcall
WordRangeDispT<T>::get_CharacterWidth(void)
{
  Word_xp::WdCharacterWidth prop;
  this->get_CharacterWidth((Word_xp::WdCharacterWidth*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_CharacterWidth(Word_xp::WdCharacterWidth prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterWidth"), DISPID(326));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Kana(Word_xp::WdKana* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Kana"), DISPID(327));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdKana __fastcall
WordRangeDispT<T>::get_Kana(void)
{
  Word_xp::WdKana prop;
  this->get_Kana((Word_xp::WdKana*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_Kana(Word_xp::WdKana prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Kana"), DISPID(327));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_BoldBi(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BoldBi"), DISPID(400));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_BoldBi(void)
{
  long prop;
  this->get_BoldBi((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_BoldBi(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BoldBi"), DISPID(400));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_ItalicBi(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ItalicBi"), DISPID(401));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordRangeDispT<T>::get_ItalicBi(void)
{
  long prop;
  this->get_ItalicBi((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_ItalicBi(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ItalicBi"), DISPID(401));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_ID(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(405));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
WordRangeDispT<T>::get_ID(void)
{
  BSTR prop;
  this->get_ID((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_ID(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(405));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HTMLDivisions"), DISPID(406));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HTMLDivisions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HTMLDivisionsPtr __fastcall
WordRangeDispT<T>::get_HTMLDivisions(void)
{
  Word_xp::HTMLDivisionsPtr prop;
  this->get_HTMLDivisions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_SmartTags(Word_xp::SmartTags** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmartTags"), DISPID(407));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SmartTags**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SmartTagsPtr __fastcall
WordRangeDispT<T>::get_SmartTags(void)
{
  Word_xp::SmartTagsPtr prop;
  this->get_SmartTags(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_ShowAll(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowAll"), DISPID(408));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordRangeDispT<T>::get_ShowAll(void)
{
  VARIANT_BOOL prop;
  this->get_ShowAll((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::set_ShowAll(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowAll"), DISPID(408));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_Document(Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Document"), DISPID(409));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordDocumentPtr __fastcall
WordRangeDispT<T>::get_Document(void)
{
  Word_xp::WordDocumentPtr prop;
  this->get_Document(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_FootnoteOptions(Word_xp::FootnoteOptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FootnoteOptions"), DISPID(410));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FootnoteOptions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FootnoteOptionsPtr __fastcall
WordRangeDispT<T>::get_FootnoteOptions(void)
{
  Word_xp::FootnoteOptionsPtr prop;
  this->get_FootnoteOptions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::get_EndnoteOptions(Word_xp::EndnoteOptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndnoteOptions"), DISPID(411));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::EndnoteOptions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::EndnoteOptionsPtr __fastcall
WordRangeDispT<T>::get_EndnoteOptions(void)
{
  Word_xp::EndnoteOptionsPtr prop;
  this->get_EndnoteOptions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::PasteAndFormat(Word_xp::WdRecoveryType Type/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteAndFormat"), DISPID(412));
  TAutoArgs<1> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::PasteExcelTable(VARIANT_BOOL LinkedToExcel/*[in]*/, 
                                   VARIANT_BOOL WordFormatting/*[in]*/, VARIANT_BOOL RTF/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteExcelTable"), DISPID(413));
  TAutoArgs<3> _args;
  _args[1] = LinkedToExcel /*[VT_BOOL:0]*/;
  _args[2] = WordFormatting /*[VT_BOOL:0]*/;
  _args[3] = RTF /*[VT_BOOL:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordRangeDispT<T>::PasteAppendTable()
{
  _TDispID _dispid(*this, OLETEXT("PasteAppendTable"), DISPID(414));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  ListFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C0-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ListFormatDispT<T>::get_ListLevelNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListLevelNumber"), DISPID(68));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListFormatDispT<T>::get_ListLevelNumber(void)
{
  long prop;
  this->get_ListLevelNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::set_ListLevelNumber(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListLevelNumber"), DISPID(68));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::get_List(Word_xp::List** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("List"), DISPID(69));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::List**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListPtr __fastcall
ListFormatDispT<T>::get_List(void)
{
  Word_xp::ListPtr prop;
  this->get_List(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::get_ListTemplate(Word_xp::ListTemplate** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListTemplate"), DISPID(70));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListTemplate**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListTemplatePtr __fastcall
ListFormatDispT<T>::get_ListTemplate(void)
{
  Word_xp::ListTemplatePtr prop;
  this->get_ListTemplate(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::get_ListValue(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListValue"), DISPID(71));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListFormatDispT<T>::get_ListValue(void)
{
  long prop;
  this->get_ListValue((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::get_SingleList(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SingleList"), DISPID(72));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ListFormatDispT<T>::get_SingleList(void)
{
  VARIANT_BOOL prop;
  this->get_SingleList((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::get_SingleListTemplate(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SingleListTemplate"), DISPID(73));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ListFormatDispT<T>::get_SingleListTemplate(void)
{
  VARIANT_BOOL prop;
  this->get_SingleListTemplate((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::get_ListType(Word_xp::WdListType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListType"), DISPID(74));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdListType __fastcall
ListFormatDispT<T>::get_ListType(void)
{
  Word_xp::WdListType prop;
  this->get_ListType((Word_xp::WdListType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::get_ListString(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListString"), DISPID(75));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ListFormatDispT<T>::get_ListString(void)
{
  BSTR prop;
  this->get_ListString((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ListFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ListFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::CanContinuePreviousList(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                            Word_xp::WdContinue* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanContinuePreviousList"), DISPID(184));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::ListTemplate*)ListTemplate /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WdContinue __fastcall
ListFormatDispT<T>::CanContinuePreviousList(Word_xp::ListTemplate* ListTemplate/*[in]*/)
{
  Word_xp::WdContinue prop;
  this->CanContinuePreviousList(ListTemplate, (Word_xp::WdContinue*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::RemoveNumbers(VARIANT* NumberType/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("RemoveNumbers"), DISPID(185));
  TAutoArgs<1> _args;
  _args[1] = NumberType /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::ConvertNumbersToText(VARIANT* NumberType/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertNumbersToText"), DISPID(186));
  TAutoArgs<1> _args;
  _args[1] = NumberType /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, VARIANT* Level/*[in,opt]*/, 
                                       long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CountNumberedItems"), DISPID(187));
  TAutoArgs<2> _args;
  _args[1] = NumberType /*[VT_VARIANT:1]*/;
  _args[2] = Level /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
ListFormatDispT<T>::CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, VARIANT* Level/*[in,opt]*/)
{
  long prop;
  this->CountNumberedItems(NumberType, Level, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::ApplyBulletDefaultOld()
{
  _TDispID _dispid(*this, OLETEXT("ApplyBulletDefaultOld"), DISPID(188));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::ApplyNumberDefaultOld()
{
  _TDispID _dispid(*this, OLETEXT("ApplyNumberDefaultOld"), DISPID(189));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::ApplyOutlineNumberDefaultOld()
{
  _TDispID _dispid(*this, OLETEXT("ApplyOutlineNumberDefaultOld"), DISPID(190));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::ApplyListTemplateOld(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                         VARIANT* ContinuePreviousList/*[in,opt]*/, 
                                         VARIANT* ApplyTo/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyListTemplateOld"), DISPID(191));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Word_xp::ListTemplate*)ListTemplate /*[VT_USERDEFINED:1]*/;
  _args[2] = ContinuePreviousList /*[VT_VARIANT:1]*/;
  _args[3] = ApplyTo /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::ListOutdent()
{
  _TDispID _dispid(*this, OLETEXT("ListOutdent"), DISPID(210));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::ListIndent()
{
  _TDispID _dispid(*this, OLETEXT("ListIndent"), DISPID(211));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::ApplyBulletDefault(VARIANT* DefaultListBehavior/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyBulletDefault"), DISPID(212));
  TAutoArgs<1> _args;
  _args[1] = DefaultListBehavior /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::ApplyNumberDefault(VARIANT* DefaultListBehavior/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyNumberDefault"), DISPID(213));
  TAutoArgs<1> _args;
  _args[1] = DefaultListBehavior /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::ApplyOutlineNumberDefault(VARIANT* DefaultListBehavior/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyOutlineNumberDefault"), DISPID(214));
  TAutoArgs<1> _args;
  _args[1] = DefaultListBehavior /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::ApplyListTemplate(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                      VARIANT* ContinuePreviousList/*[in,opt]*/, 
                                      VARIANT* ApplyTo/*[in,opt]*/, 
                                      VARIANT* DefaultListBehavior/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyListTemplate"), DISPID(215));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Word_xp::ListTemplate*)ListTemplate /*[VT_USERDEFINED:1]*/;
  _args[2] = ContinuePreviousList /*[VT_VARIANT:1]*/;
  _args[3] = ApplyTo /*[VT_VARIANT:1]*/;
  _args[4] = DefaultListBehavior /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListFormatDispT<T>::get_ListPictureBullet(Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListPictureBullet"), DISPID(76));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::InlineShapePtr __fastcall
ListFormatDispT<T>::get_ListPictureBullet(void)
{
  Word_xp::InlineShapePtr prop;
  this->get_ListPictureBullet(&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Find
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B0-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FindDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FindDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FindDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FindDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_Forward(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Forward"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_Forward(void)
{
  VARIANT_BOOL prop;
  this->get_Forward((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_Forward(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Forward"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_Font(Word_xp::WordFont** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordFont**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordFontPtr __fastcall
FindDispT<T>::get_Font(void)
{
  Word_xp::WordFontPtr prop;
  this->get_Font(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_Font(Word_xp::WordFontPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordFont*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_Found(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Found"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_Found(void)
{
  VARIANT_BOOL prop;
  this->get_Found((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_MatchAllWordForms(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchAllWordForms"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_MatchAllWordForms(void)
{
  VARIANT_BOOL prop;
  this->get_MatchAllWordForms((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_MatchAllWordForms(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchAllWordForms"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_MatchCase(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchCase"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_MatchCase(void)
{
  VARIANT_BOOL prop;
  this->get_MatchCase((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_MatchCase(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchCase"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_MatchWildcards(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchWildcards"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_MatchWildcards(void)
{
  VARIANT_BOOL prop;
  this->get_MatchWildcards((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_MatchWildcards(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchWildcards"), DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_MatchSoundsLike(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchSoundsLike"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_MatchSoundsLike(void)
{
  VARIANT_BOOL prop;
  this->get_MatchSoundsLike((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_MatchSoundsLike(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchSoundsLike"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_MatchWholeWord(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchWholeWord"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_MatchWholeWord(void)
{
  VARIANT_BOOL prop;
  this->get_MatchWholeWord((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_MatchWholeWord(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchWholeWord"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_MatchFuzzy(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzy"), DISPID(40));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_MatchFuzzy(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzy((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_MatchFuzzy(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzy"), DISPID(40));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_MatchByte(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchByte"), DISPID(41));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_MatchByte(void)
{
  VARIANT_BOOL prop;
  this->get_MatchByte((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_MatchByte(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchByte"), DISPID(41));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParagraphFormat"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordParagraphFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordParagraphFormatPtr __fastcall
FindDispT<T>::get_ParagraphFormat(void)
{
  Word_xp::WordParagraphFormatPtr prop;
  this->get_ParagraphFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParagraphFormat"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordParagraphFormat*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_Style(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
FindDispT<T>::get_Style(void)
{
  VARIANT prop;
  this->get_Style((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_Style(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(19));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_Text(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Text"), DISPID(22));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FindDispT<T>::get_Text(void)
{
  BSTR prop;
  this->get_Text((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_Text(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Text"), DISPID(22));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(23));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
FindDispT<T>::get_LanguageID(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageID((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(23));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_Highlight(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Highlight"), DISPID(24));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FindDispT<T>::get_Highlight(void)
{
  long prop;
  this->get_Highlight((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_Highlight(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Highlight"), DISPID(24));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_Replacement(Word_xp::Replacement** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Replacement"), DISPID(25));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Replacement**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ReplacementPtr __fastcall
FindDispT<T>::get_Replacement(void)
{
  Word_xp::ReplacementPtr prop;
  this->get_Replacement(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_Frame(Word_xp::Frame** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Frame"), DISPID(26));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frame**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FramePtr __fastcall
FindDispT<T>::get_Frame(void)
{
  Word_xp::FramePtr prop;
  this->get_Frame(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_Wrap(Word_xp::WdFindWrap* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Wrap"), DISPID(27));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFindWrap __fastcall
FindDispT<T>::get_Wrap(void)
{
  Word_xp::WdFindWrap prop;
  this->get_Wrap((Word_xp::WdFindWrap*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_Wrap(Word_xp::WdFindWrap prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Wrap"), DISPID(27));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_Format(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(28));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_Format(void)
{
  VARIANT_BOOL prop;
  this->get_Format((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_Format(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(28));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDFarEast"), DISPID(29));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
FindDispT<T>::get_LanguageIDFarEast(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageIDFarEast((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDFarEast"), DISPID(29));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_LanguageIDOther(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDOther"), DISPID(60));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
FindDispT<T>::get_LanguageIDOther(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageIDOther((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_LanguageIDOther(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDOther"), DISPID(60));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_CorrectHangulEndings(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectHangulEndings"), DISPID(61));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_CorrectHangulEndings(void)
{
  VARIANT_BOOL prop;
  this->get_CorrectHangulEndings((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_CorrectHangulEndings(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectHangulEndings"), DISPID(61));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::ExecuteOld(VARIANT* FindText/*[in,opt]*/, VARIANT* MatchCase/*[in,opt]*/, 
                         VARIANT* MatchWholeWord/*[in,opt]*/, VARIANT* MatchWildcards/*[in,opt]*/, 
                         VARIANT* MatchSoundsLike/*[in,opt]*/, 
                         VARIANT* MatchAllWordForms/*[in,opt]*/, VARIANT* Forward/*[in,opt]*/, 
                         VARIANT* Wrap/*[in,opt]*/, VARIANT* Format/*[in,opt]*/, 
                         VARIANT* ReplaceWith/*[in,opt]*/, VARIANT* Replace/*[in,opt]*/, 
                         VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ExecuteOld"), DISPID(30));
  TAutoArgs<11> _args;
  _args[1] = FindText /*[VT_VARIANT:1]*/;
  _args[2] = MatchCase /*[VT_VARIANT:1]*/;
  _args[3] = MatchWholeWord /*[VT_VARIANT:1]*/;
  _args[4] = MatchWildcards /*[VT_VARIANT:1]*/;
  _args[5] = MatchSoundsLike /*[VT_VARIANT:1]*/;
  _args[6] = MatchAllWordForms /*[VT_VARIANT:1]*/;
  _args[7] = Forward /*[VT_VARIANT:1]*/;
  _args[8] = Wrap /*[VT_VARIANT:1]*/;
  _args[9] = Format /*[VT_VARIANT:1]*/;
  _args[10] = ReplaceWith /*[VT_VARIANT:1]*/;
  _args[11] = Replace /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::ExecuteOld(VARIANT* FindText/*[in,opt]*/, VARIANT* MatchCase/*[in,opt]*/, 
                         VARIANT* MatchWholeWord/*[in,opt]*/, VARIANT* MatchWildcards/*[in,opt]*/, 
                         VARIANT* MatchSoundsLike/*[in,opt]*/, 
                         VARIANT* MatchAllWordForms/*[in,opt]*/, VARIANT* Forward/*[in,opt]*/, 
                         VARIANT* Wrap/*[in,opt]*/, VARIANT* Format/*[in,opt]*/, 
                         VARIANT* ReplaceWith/*[in,opt]*/, VARIANT* Replace/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  this->ExecuteOld(FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, 
                   MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, Replace, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::ClearFormatting()
{
  _TDispID _dispid(*this, OLETEXT("ClearFormatting"), DISPID(31));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FindDispT<T>::SetAllFuzzyOptions()
{
  _TDispID _dispid(*this, OLETEXT("SetAllFuzzyOptions"), DISPID(32));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FindDispT<T>::ClearAllFuzzyOptions()
{
  _TDispID _dispid(*this, OLETEXT("ClearAllFuzzyOptions"), DISPID(33));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FindDispT<T>::Execute(VARIANT* FindText/*[in,opt]*/, VARIANT* MatchCase/*[in,opt]*/, 
                      VARIANT* MatchWholeWord/*[in,opt]*/, VARIANT* MatchWildcards/*[in,opt]*/, 
                      VARIANT* MatchSoundsLike/*[in,opt]*/, VARIANT* MatchAllWordForms/*[in,opt]*/, 
                      VARIANT* Forward/*[in,opt]*/, VARIANT* Wrap/*[in,opt]*/, 
                      VARIANT* Format/*[in,opt]*/, VARIANT* ReplaceWith/*[in,opt]*/, 
                      VARIANT* Replace/*[in,opt]*/, VARIANT* MatchKashida/*[in,opt]*/, 
                      VARIANT* MatchDiacritics/*[in,opt]*/, VARIANT* MatchAlefHamza/*[in,opt]*/, 
                      VARIANT* MatchControl/*[in,opt]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Execute"), DISPID(444));
  TAutoArgs<15> _args;
  _args[1] = FindText /*[VT_VARIANT:1]*/;
  _args[2] = MatchCase /*[VT_VARIANT:1]*/;
  _args[3] = MatchWholeWord /*[VT_VARIANT:1]*/;
  _args[4] = MatchWildcards /*[VT_VARIANT:1]*/;
  _args[5] = MatchSoundsLike /*[VT_VARIANT:1]*/;
  _args[6] = MatchAllWordForms /*[VT_VARIANT:1]*/;
  _args[7] = Forward /*[VT_VARIANT:1]*/;
  _args[8] = Wrap /*[VT_VARIANT:1]*/;
  _args[9] = Format /*[VT_VARIANT:1]*/;
  _args[10] = ReplaceWith /*[VT_VARIANT:1]*/;
  _args[11] = Replace /*[VT_VARIANT:1]*/;
  _args[12] = MatchKashida /*[VT_VARIANT:1]*/;
  _args[13] = MatchDiacritics /*[VT_VARIANT:1]*/;
  _args[14] = MatchAlefHamza /*[VT_VARIANT:1]*/;
  _args[15] = MatchControl /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::Execute(VARIANT* FindText/*[in,opt]*/, VARIANT* MatchCase/*[in,opt]*/, 
                      VARIANT* MatchWholeWord/*[in,opt]*/, VARIANT* MatchWildcards/*[in,opt]*/, 
                      VARIANT* MatchSoundsLike/*[in,opt]*/, VARIANT* MatchAllWordForms/*[in,opt]*/, 
                      VARIANT* Forward/*[in,opt]*/, VARIANT* Wrap/*[in,opt]*/, 
                      VARIANT* Format/*[in,opt]*/, VARIANT* ReplaceWith/*[in,opt]*/, 
                      VARIANT* Replace/*[in,opt]*/, VARIANT* MatchKashida/*[in,opt]*/, 
                      VARIANT* MatchDiacritics/*[in,opt]*/, VARIANT* MatchAlefHamza/*[in,opt]*/, 
                      VARIANT* MatchControl/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  this->Execute(FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, 
                MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, Replace, MatchKashida, 
                MatchDiacritics, MatchAlefHamza, MatchControl, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_NoProofing(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoProofing"), DISPID(34));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FindDispT<T>::get_NoProofing(void)
{
  long prop;
  this->get_NoProofing((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_NoProofing(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoProofing"), DISPID(34));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_MatchKashida(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchKashida"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_MatchKashida(void)
{
  VARIANT_BOOL prop;
  this->get_MatchKashida((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_MatchKashida(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchKashida"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_MatchDiacritics(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchDiacritics"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_MatchDiacritics(void)
{
  VARIANT_BOOL prop;
  this->get_MatchDiacritics((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_MatchDiacritics(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchDiacritics"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_MatchAlefHamza(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchAlefHamza"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_MatchAlefHamza(void)
{
  VARIANT_BOOL prop;
  this->get_MatchAlefHamza((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_MatchAlefHamza(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchAlefHamza"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FindDispT<T>::get_MatchControl(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchControl"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FindDispT<T>::get_MatchControl(void)
{
  VARIANT_BOOL prop;
  this->get_MatchControl((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FindDispT<T>::set_MatchControl(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchControl"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Replacement
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B1-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ReplacementDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ReplacementDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ReplacementDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ReplacementDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::get_Font(Word_xp::WordFont** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordFont**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordFontPtr __fastcall
ReplacementDispT<T>::get_Font(void)
{
  Word_xp::WordFontPtr prop;
  this->get_Font(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::set_Font(Word_xp::WordFontPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordFont*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParagraphFormat"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordParagraphFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordParagraphFormatPtr __fastcall
ReplacementDispT<T>::get_ParagraphFormat(void)
{
  Word_xp::WordParagraphFormatPtr prop;
  this->get_ParagraphFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParagraphFormat"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordParagraphFormat*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::get_Style(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
ReplacementDispT<T>::get_Style(void)
{
  VARIANT prop;
  this->get_Style((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::set_Style(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::get_Text(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Text"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ReplacementDispT<T>::get_Text(void)
{
  BSTR prop;
  this->get_Text((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::set_Text(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Text"), DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
ReplacementDispT<T>::get_LanguageID(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageID((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::get_Highlight(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Highlight"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ReplacementDispT<T>::get_Highlight(void)
{
  long prop;
  this->get_Highlight((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::set_Highlight(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Highlight"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::get_Frame(Word_xp::Frame** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Frame"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frame**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FramePtr __fastcall
ReplacementDispT<T>::get_Frame(void)
{
  Word_xp::FramePtr prop;
  this->get_Frame(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDFarEast"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
ReplacementDispT<T>::get_LanguageIDFarEast(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageIDFarEast((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDFarEast"), DISPID(19));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::ClearFormatting()
{
  _TDispID _dispid(*this, OLETEXT("ClearFormatting"), DISPID(20));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::get_NoProofing(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoProofing"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ReplacementDispT<T>::get_NoProofing(void)
{
  long prop;
  this->get_NoProofing((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReplacementDispT<T>::set_NoProofing(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoProofing"), DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Characters
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095D-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
CharactersDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
CharactersDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CharactersDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CharactersDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CharactersDispT<T>::get_First(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("First"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
CharactersDispT<T>::get_First(void)
{
  Word_xp::WordRangePtr prop;
  this->get_First(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CharactersDispT<T>::get_Last(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Last"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
CharactersDispT<T>::get_Last(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Last(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CharactersDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CharactersDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CharactersDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CharactersDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CharactersDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CharactersDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CharactersDispT<T>::Item(long Index/*[in]*/, Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
CharactersDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::WordRange* prop;
  this->Item(Index, (Word_xp::WordRange**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Words
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095C-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
WordsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
WordsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordsDispT<T>::get_First(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("First"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
WordsDispT<T>::get_First(void)
{
  Word_xp::WordRangePtr prop;
  this->get_First(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordsDispT<T>::get_Last(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Last"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
WordsDispT<T>::get_Last(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Last(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
WordsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
WordsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordsDispT<T>::Item(long Index/*[in]*/, Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
WordsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::WordRange* prop;
  this->Item(Index, (Word_xp::WordRange**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Sentences
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095B-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
SentencesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
SentencesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SentencesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SentencesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SentencesDispT<T>::get_First(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("First"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
SentencesDispT<T>::get_First(void)
{
  Word_xp::WordRangePtr prop;
  this->get_First(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SentencesDispT<T>::get_Last(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Last"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
SentencesDispT<T>::get_Last(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Last(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SentencesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
SentencesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SentencesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SentencesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SentencesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
SentencesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SentencesDispT<T>::Item(long Index/*[in]*/, Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
SentencesDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::WordRange* prop;
  this->Item(Index, (Word_xp::WordRange**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Sections
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002095A-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
SectionsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
SectionsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SectionsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionsDispT<T>::get_First(Word_xp::Section** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("First"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Section**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SectionPtr __fastcall
SectionsDispT<T>::get_First(void)
{
  Word_xp::SectionPtr prop;
  this->get_First(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionsDispT<T>::get_Last(Word_xp::Section** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Last"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Section**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SectionPtr __fastcall
SectionsDispT<T>::get_Last(void)
{
  Word_xp::SectionPtr prop;
  this->get_Last(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
SectionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SectionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
SectionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionsDispT<T>::get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageSetup"), DISPID(1101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::PageSetup**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PageSetupPtr __fastcall
SectionsDispT<T>::get_PageSetup(void)
{
  Word_xp::PageSetupPtr prop;
  this->get_PageSetup(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionsDispT<T>::set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageSetup"), DISPID(1101));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::PageSetup*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
SectionsDispT<T>::Item(long Index/*[in]*/, Word_xp::Section** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Section**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Section* __fastcall
SectionsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Section* prop;
  this->Item(Index, (Word_xp::Section**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionsDispT<T>::Add(VARIANT* Range/*[in,opt]*/, VARIANT* Start/*[in,opt]*/, 
                      Word_xp::Section** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(5));
  TAutoArgs<2> _args;
  _args[1] = Range /*[VT_VARIANT:1]*/;
  _args[2] = Start /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Section**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Section* __fastcall
SectionsDispT<T>::Add(VARIANT* Range/*[in,opt]*/, VARIANT* Start/*[in,opt]*/)
{
  Word_xp::Section* prop;
  this->Add(Range, Start, (Word_xp::Section**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Section
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020959-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
SectionDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
SectionDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
SectionDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SectionDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
SectionDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionDispT<T>::get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageSetup"), DISPID(1101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::PageSetup**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PageSetupPtr __fastcall
SectionDispT<T>::get_PageSetup(void)
{
  Word_xp::PageSetupPtr prop;
  this->get_PageSetup(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionDispT<T>::set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageSetup"), DISPID(1101));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::PageSetup*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
SectionDispT<T>::get_Headers(Word_xp::HeadersFooters** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Headers"), DISPID(121));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HeadersFooters**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HeadersFootersPtr __fastcall
SectionDispT<T>::get_Headers(void)
{
  Word_xp::HeadersFootersPtr prop;
  this->get_Headers(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionDispT<T>::get_Footers(Word_xp::HeadersFooters** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Footers"), DISPID(122));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HeadersFooters**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HeadersFootersPtr __fastcall
SectionDispT<T>::get_Footers(void)
{
  Word_xp::HeadersFootersPtr prop;
  this->get_Footers(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionDispT<T>::get_ProtectedForForms(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ProtectedForForms"), DISPID(123));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
SectionDispT<T>::get_ProtectedForForms(void)
{
  VARIANT_BOOL prop;
  this->get_ProtectedForForms((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionDispT<T>::set_ProtectedForForms(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ProtectedForForms"), DISPID(123));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
SectionDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(124));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SectionDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
SectionDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SectionDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Paragraphs
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020958-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ParagraphsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_First(Word_xp::Paragraph** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("First"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Paragraph**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ParagraphPtr __fastcall
ParagraphsDispT<T>::get_First(void)
{
  Word_xp::ParagraphPtr prop;
  this->get_First(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_Last(Word_xp::Paragraph** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Last"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Paragraph**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ParagraphPtr __fastcall
ParagraphsDispT<T>::get_Last(void)
{
  Word_xp::ParagraphPtr prop;
  this->get_Last(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ParagraphsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ParagraphsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_Format(Word_xp::WordParagraphFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(1102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordParagraphFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordParagraphFormatPtr __fastcall
ParagraphsDispT<T>::get_Format(void)
{
  Word_xp::WordParagraphFormatPtr prop;
  this->get_Format(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_Format(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(1102));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordParagraphFormat*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_TabStops(Word_xp::TabStops** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabStops"), DISPID(1103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TabStops**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TabStopsPtr __fastcall
ParagraphsDispT<T>::get_TabStops(void)
{
  Word_xp::TabStopsPtr prop;
  this->get_TabStops(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_TabStops(Word_xp::TabStopsPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabStops"), DISPID(1103));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::TabStops*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
ParagraphsDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_Style(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
ParagraphsDispT<T>::get_Style(void)
{
  VARIANT prop;
  this->get_Style((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_Style(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_Alignment(Word_xp::WdParagraphAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdParagraphAlignment __fastcall
ParagraphsDispT<T>::get_Alignment(void)
{
  Word_xp::WdParagraphAlignment prop;
  this->get_Alignment((Word_xp::WdParagraphAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_Alignment(Word_xp::WdParagraphAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_KeepTogether(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepTogether"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_KeepTogether(void)
{
  long prop;
  this->get_KeepTogether((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_KeepTogether(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepTogether"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_KeepWithNext(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepWithNext"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_KeepWithNext(void)
{
  long prop;
  this->get_KeepWithNext((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_KeepWithNext(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepWithNext"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_PageBreakBefore(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageBreakBefore"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_PageBreakBefore(void)
{
  long prop;
  this->get_PageBreakBefore((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_PageBreakBefore(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageBreakBefore"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_NoLineNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineNumber"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_NoLineNumber(void)
{
  long prop;
  this->get_NoLineNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_NoLineNumber(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineNumber"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_RightIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightIndent"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphsDispT<T>::get_RightIndent(void)
{
  float prop;
  this->get_RightIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_RightIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightIndent"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_LeftIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphsDispT<T>::get_LeftIndent(void)
{
  float prop;
  this->get_LeftIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_LeftIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_FirstLineIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstLineIndent"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphsDispT<T>::get_FirstLineIndent(void)
{
  float prop;
  this->get_FirstLineIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_FirstLineIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstLineIndent"), DISPID(108));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_LineSpacing(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineSpacing"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphsDispT<T>::get_LineSpacing(void)
{
  float prop;
  this->get_LineSpacing((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_LineSpacing(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineSpacing"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_LineSpacingRule(Word_xp::WdLineSpacing* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineSpacingRule"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLineSpacing __fastcall
ParagraphsDispT<T>::get_LineSpacingRule(void)
{
  Word_xp::WdLineSpacing prop;
  this->get_LineSpacingRule((Word_xp::WdLineSpacing*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_LineSpacingRule(Word_xp::WdLineSpacing prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineSpacingRule"), DISPID(110));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_SpaceBefore(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBefore"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphsDispT<T>::get_SpaceBefore(void)
{
  float prop;
  this->get_SpaceBefore((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_SpaceBefore(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBefore"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_SpaceAfter(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfter"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphsDispT<T>::get_SpaceAfter(void)
{
  float prop;
  this->get_SpaceAfter((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_SpaceAfter(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfter"), DISPID(112));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_Hyphenation(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hyphenation"), DISPID(113));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_Hyphenation(void)
{
  long prop;
  this->get_Hyphenation((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_Hyphenation(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hyphenation"), DISPID(113));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_WidowControl(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WidowControl"), DISPID(114));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_WidowControl(void)
{
  long prop;
  this->get_WidowControl((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_WidowControl(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WidowControl"), DISPID(114));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(116));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
ParagraphsDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_FarEastLineBreakControl(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakControl"), DISPID(117));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_FarEastLineBreakControl(void)
{
  long prop;
  this->get_FarEastLineBreakControl((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_FarEastLineBreakControl(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakControl"), DISPID(117));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_WordWrap(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WordWrap"), DISPID(118));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_WordWrap(void)
{
  long prop;
  this->get_WordWrap((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_WordWrap(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WordWrap"), DISPID(118));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_HangingPunctuation(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangingPunctuation"), DISPID(119));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_HangingPunctuation(void)
{
  long prop;
  this->get_HangingPunctuation((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_HangingPunctuation(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangingPunctuation"), DISPID(119));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_HalfWidthPunctuationOnTopOfLine(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HalfWidthPunctuationOnTopOfLine"), DISPID(120));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_HalfWidthPunctuationOnTopOfLine(void)
{
  long prop;
  this->get_HalfWidthPunctuationOnTopOfLine((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_HalfWidthPunctuationOnTopOfLine(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HalfWidthPunctuationOnTopOfLine"), DISPID(120));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_AddSpaceBetweenFarEastAndAlpha(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSpaceBetweenFarEastAndAlpha"), DISPID(121));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_AddSpaceBetweenFarEastAndAlpha(void)
{
  long prop;
  this->get_AddSpaceBetweenFarEastAndAlpha((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_AddSpaceBetweenFarEastAndAlpha(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSpaceBetweenFarEastAndAlpha"), DISPID(121));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_AddSpaceBetweenFarEastAndDigit(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSpaceBetweenFarEastAndDigit"), DISPID(122));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_AddSpaceBetweenFarEastAndDigit(void)
{
  long prop;
  this->get_AddSpaceBetweenFarEastAndDigit((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_AddSpaceBetweenFarEastAndDigit(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSpaceBetweenFarEastAndDigit"), DISPID(122));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_BaseLineAlignment(Word_xp::WdBaselineAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BaseLineAlignment"), DISPID(123));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdBaselineAlignment __fastcall
ParagraphsDispT<T>::get_BaseLineAlignment(void)
{
  Word_xp::WdBaselineAlignment prop;
  this->get_BaseLineAlignment((Word_xp::WdBaselineAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_BaseLineAlignment(Word_xp::WdBaselineAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BaseLineAlignment"), DISPID(123));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_AutoAdjustRightIndent(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoAdjustRightIndent"), DISPID(124));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_AutoAdjustRightIndent(void)
{
  long prop;
  this->get_AutoAdjustRightIndent((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_AutoAdjustRightIndent(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoAdjustRightIndent"), DISPID(124));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_DisableLineHeightGrid(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableLineHeightGrid"), DISPID(125));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_DisableLineHeightGrid(void)
{
  long prop;
  this->get_DisableLineHeightGrid((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_DisableLineHeightGrid(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableLineHeightGrid"), DISPID(125));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_OutlineLevel(Word_xp::WdOutlineLevel* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutlineLevel"), DISPID(202));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdOutlineLevel __fastcall
ParagraphsDispT<T>::get_OutlineLevel(void)
{
  Word_xp::WdOutlineLevel prop;
  this->get_OutlineLevel((Word_xp::WdOutlineLevel*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_OutlineLevel(Word_xp::WdOutlineLevel prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutlineLevel"), DISPID(202));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::Item(long Index/*[in]*/, Word_xp::Paragraph** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Paragraph**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Paragraph* __fastcall
ParagraphsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Paragraph* prop;
  this->Item(Index, (Word_xp::Paragraph**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::Add(VARIANT* Range/*[in,opt]*/, Word_xp::Paragraph** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = Range /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Paragraph**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Paragraph* __fastcall
ParagraphsDispT<T>::Add(VARIANT* Range/*[in,opt]*/)
{
  Word_xp::Paragraph* prop;
  this->Add(Range, (Word_xp::Paragraph**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::CloseUp()
{
  _TDispID _dispid(*this, OLETEXT("CloseUp"), DISPID(301));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::OpenUp()
{
  _TDispID _dispid(*this, OLETEXT("OpenUp"), DISPID(302));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::OpenOrCloseUp()
{
  _TDispID _dispid(*this, OLETEXT("OpenOrCloseUp"), DISPID(303));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::TabHangingIndent(short Count/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabHangingIndent"), DISPID(304));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I2:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::TabIndent(short Count/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabIndent"), DISPID(306));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I2:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::Reset()
{
  _TDispID _dispid(*this, OLETEXT("Reset"), DISPID(312));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::Space1()
{
  _TDispID _dispid(*this, OLETEXT("Space1"), DISPID(313));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::Space15()
{
  _TDispID _dispid(*this, OLETEXT("Space15"), DISPID(314));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::Space2()
{
  _TDispID _dispid(*this, OLETEXT("Space2"), DISPID(315));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::IndentCharWidth(short Count/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IndentCharWidth"), DISPID(320));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I2:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::IndentFirstLineCharWidth(short Count/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IndentFirstLineCharWidth"), DISPID(322));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I2:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::OutlinePromote()
{
  _TDispID _dispid(*this, OLETEXT("OutlinePromote"), DISPID(324));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::OutlineDemote()
{
  _TDispID _dispid(*this, OLETEXT("OutlineDemote"), DISPID(325));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::OutlineDemoteToBody()
{
  _TDispID _dispid(*this, OLETEXT("OutlineDemoteToBody"), DISPID(326));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::Indent()
{
  _TDispID _dispid(*this, OLETEXT("Indent"), DISPID(333));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::Outdent()
{
  _TDispID _dispid(*this, OLETEXT("Outdent"), DISPID(334));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_CharacterUnitRightIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitRightIndent"), DISPID(126));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphsDispT<T>::get_CharacterUnitRightIndent(void)
{
  float prop;
  this->get_CharacterUnitRightIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_CharacterUnitRightIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitRightIndent"), DISPID(126));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_CharacterUnitLeftIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitLeftIndent"), DISPID(127));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphsDispT<T>::get_CharacterUnitLeftIndent(void)
{
  float prop;
  this->get_CharacterUnitLeftIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_CharacterUnitLeftIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitLeftIndent"), DISPID(127));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_CharacterUnitFirstLineIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitFirstLineIndent"), DISPID(128));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphsDispT<T>::get_CharacterUnitFirstLineIndent(void)
{
  float prop;
  this->get_CharacterUnitFirstLineIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_CharacterUnitFirstLineIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitFirstLineIndent"), DISPID(128));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_LineUnitBefore(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineUnitBefore"), DISPID(129));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphsDispT<T>::get_LineUnitBefore(void)
{
  float prop;
  this->get_LineUnitBefore((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_LineUnitBefore(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineUnitBefore"), DISPID(129));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_LineUnitAfter(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineUnitAfter"), DISPID(130));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphsDispT<T>::get_LineUnitAfter(void)
{
  float prop;
  this->get_LineUnitAfter((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_LineUnitAfter(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineUnitAfter"), DISPID(130));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_ReadingOrder(Word_xp::WdReadingOrder* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadingOrder"), DISPID(131));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdReadingOrder __fastcall
ParagraphsDispT<T>::get_ReadingOrder(void)
{
  Word_xp::WdReadingOrder prop;
  this->get_ReadingOrder((Word_xp::WdReadingOrder*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_ReadingOrder(Word_xp::WdReadingOrder prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadingOrder"), DISPID(131));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_SpaceBeforeAuto(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBeforeAuto"), DISPID(132));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_SpaceBeforeAuto(void)
{
  long prop;
  this->get_SpaceBeforeAuto((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_SpaceBeforeAuto(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBeforeAuto"), DISPID(132));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::get_SpaceAfterAuto(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfterAuto"), DISPID(133));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphsDispT<T>::get_SpaceAfterAuto(void)
{
  long prop;
  this->get_SpaceAfterAuto((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::set_SpaceAfterAuto(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfterAuto"), DISPID(133));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::IncreaseSpacing()
{
  _TDispID _dispid(*this, OLETEXT("IncreaseSpacing"), DISPID(335));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphsDispT<T>::DecreaseSpacing()
{
  _TDispID _dispid(*this, OLETEXT("DecreaseSpacing"), DISPID(336));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Paragraph
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020957-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
ParagraphDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ParagraphDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ParagraphDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_Format(Word_xp::WordParagraphFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(1102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordParagraphFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordParagraphFormatPtr __fastcall
ParagraphDispT<T>::get_Format(void)
{
  Word_xp::WordParagraphFormatPtr prop;
  this->get_Format(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_Format(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(1102));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordParagraphFormat*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_TabStops(Word_xp::TabStops** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabStops"), DISPID(1103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TabStops**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TabStopsPtr __fastcall
ParagraphDispT<T>::get_TabStops(void)
{
  Word_xp::TabStopsPtr prop;
  this->get_TabStops(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_TabStops(Word_xp::TabStopsPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabStops"), DISPID(1103));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::TabStops*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
ParagraphDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_DropCap(Word_xp::DropCap** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DropCap"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DropCap**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DropCapPtr __fastcall
ParagraphDispT<T>::get_DropCap(void)
{
  Word_xp::DropCapPtr prop;
  this->get_DropCap(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_Style(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
ParagraphDispT<T>::get_Style(void)
{
  VARIANT prop;
  this->get_Style((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_Style(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_Alignment(Word_xp::WdParagraphAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdParagraphAlignment __fastcall
ParagraphDispT<T>::get_Alignment(void)
{
  Word_xp::WdParagraphAlignment prop;
  this->get_Alignment((Word_xp::WdParagraphAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_Alignment(Word_xp::WdParagraphAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_KeepTogether(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepTogether"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_KeepTogether(void)
{
  long prop;
  this->get_KeepTogether((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_KeepTogether(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepTogether"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_KeepWithNext(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepWithNext"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_KeepWithNext(void)
{
  long prop;
  this->get_KeepWithNext((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_KeepWithNext(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepWithNext"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_PageBreakBefore(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageBreakBefore"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_PageBreakBefore(void)
{
  long prop;
  this->get_PageBreakBefore((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_PageBreakBefore(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageBreakBefore"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_NoLineNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineNumber"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_NoLineNumber(void)
{
  long prop;
  this->get_NoLineNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_NoLineNumber(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineNumber"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_RightIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightIndent"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphDispT<T>::get_RightIndent(void)
{
  float prop;
  this->get_RightIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_RightIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightIndent"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_LeftIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphDispT<T>::get_LeftIndent(void)
{
  float prop;
  this->get_LeftIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_LeftIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_FirstLineIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstLineIndent"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphDispT<T>::get_FirstLineIndent(void)
{
  float prop;
  this->get_FirstLineIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_FirstLineIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstLineIndent"), DISPID(108));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_LineSpacing(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineSpacing"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphDispT<T>::get_LineSpacing(void)
{
  float prop;
  this->get_LineSpacing((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_LineSpacing(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineSpacing"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_LineSpacingRule(Word_xp::WdLineSpacing* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineSpacingRule"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLineSpacing __fastcall
ParagraphDispT<T>::get_LineSpacingRule(void)
{
  Word_xp::WdLineSpacing prop;
  this->get_LineSpacingRule((Word_xp::WdLineSpacing*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_LineSpacingRule(Word_xp::WdLineSpacing prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineSpacingRule"), DISPID(110));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_SpaceBefore(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBefore"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphDispT<T>::get_SpaceBefore(void)
{
  float prop;
  this->get_SpaceBefore((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_SpaceBefore(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBefore"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_SpaceAfter(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfter"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphDispT<T>::get_SpaceAfter(void)
{
  float prop;
  this->get_SpaceAfter((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_SpaceAfter(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfter"), DISPID(112));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_Hyphenation(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hyphenation"), DISPID(113));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_Hyphenation(void)
{
  long prop;
  this->get_Hyphenation((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_Hyphenation(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hyphenation"), DISPID(113));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_WidowControl(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WidowControl"), DISPID(114));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_WidowControl(void)
{
  long prop;
  this->get_WidowControl((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_WidowControl(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WidowControl"), DISPID(114));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(116));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
ParagraphDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_FarEastLineBreakControl(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakControl"), DISPID(117));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_FarEastLineBreakControl(void)
{
  long prop;
  this->get_FarEastLineBreakControl((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_FarEastLineBreakControl(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakControl"), DISPID(117));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_WordWrap(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WordWrap"), DISPID(118));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_WordWrap(void)
{
  long prop;
  this->get_WordWrap((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_WordWrap(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WordWrap"), DISPID(118));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_HangingPunctuation(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangingPunctuation"), DISPID(119));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_HangingPunctuation(void)
{
  long prop;
  this->get_HangingPunctuation((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_HangingPunctuation(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangingPunctuation"), DISPID(119));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_HalfWidthPunctuationOnTopOfLine(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HalfWidthPunctuationOnTopOfLine"), DISPID(120));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_HalfWidthPunctuationOnTopOfLine(void)
{
  long prop;
  this->get_HalfWidthPunctuationOnTopOfLine((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_HalfWidthPunctuationOnTopOfLine(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HalfWidthPunctuationOnTopOfLine"), DISPID(120));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_AddSpaceBetweenFarEastAndAlpha(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSpaceBetweenFarEastAndAlpha"), DISPID(121));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_AddSpaceBetweenFarEastAndAlpha(void)
{
  long prop;
  this->get_AddSpaceBetweenFarEastAndAlpha((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_AddSpaceBetweenFarEastAndAlpha(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSpaceBetweenFarEastAndAlpha"), DISPID(121));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_AddSpaceBetweenFarEastAndDigit(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSpaceBetweenFarEastAndDigit"), DISPID(122));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_AddSpaceBetweenFarEastAndDigit(void)
{
  long prop;
  this->get_AddSpaceBetweenFarEastAndDigit((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_AddSpaceBetweenFarEastAndDigit(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSpaceBetweenFarEastAndDigit"), DISPID(122));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_BaseLineAlignment(Word_xp::WdBaselineAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BaseLineAlignment"), DISPID(123));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdBaselineAlignment __fastcall
ParagraphDispT<T>::get_BaseLineAlignment(void)
{
  Word_xp::WdBaselineAlignment prop;
  this->get_BaseLineAlignment((Word_xp::WdBaselineAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_BaseLineAlignment(Word_xp::WdBaselineAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BaseLineAlignment"), DISPID(123));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_AutoAdjustRightIndent(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoAdjustRightIndent"), DISPID(124));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_AutoAdjustRightIndent(void)
{
  long prop;
  this->get_AutoAdjustRightIndent((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_AutoAdjustRightIndent(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoAdjustRightIndent"), DISPID(124));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_DisableLineHeightGrid(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableLineHeightGrid"), DISPID(125));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_DisableLineHeightGrid(void)
{
  long prop;
  this->get_DisableLineHeightGrid((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_DisableLineHeightGrid(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableLineHeightGrid"), DISPID(125));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_OutlineLevel(Word_xp::WdOutlineLevel* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutlineLevel"), DISPID(202));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdOutlineLevel __fastcall
ParagraphDispT<T>::get_OutlineLevel(void)
{
  Word_xp::WdOutlineLevel prop;
  this->get_OutlineLevel((Word_xp::WdOutlineLevel*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_OutlineLevel(Word_xp::WdOutlineLevel prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutlineLevel"), DISPID(202));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::CloseUp()
{
  _TDispID _dispid(*this, OLETEXT("CloseUp"), DISPID(301));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::OpenUp()
{
  _TDispID _dispid(*this, OLETEXT("OpenUp"), DISPID(302));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::OpenOrCloseUp()
{
  _TDispID _dispid(*this, OLETEXT("OpenOrCloseUp"), DISPID(303));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::TabHangingIndent(short Count/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabHangingIndent"), DISPID(304));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I2:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::TabIndent(short Count/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabIndent"), DISPID(306));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I2:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::Reset()
{
  _TDispID _dispid(*this, OLETEXT("Reset"), DISPID(312));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::Space1()
{
  _TDispID _dispid(*this, OLETEXT("Space1"), DISPID(313));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::Space15()
{
  _TDispID _dispid(*this, OLETEXT("Space15"), DISPID(314));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::Space2()
{
  _TDispID _dispid(*this, OLETEXT("Space2"), DISPID(315));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::IndentCharWidth(short Count/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IndentCharWidth"), DISPID(320));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I2:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::IndentFirstLineCharWidth(short Count/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IndentFirstLineCharWidth"), DISPID(322));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I2:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::Next(VARIANT* Count/*[in,opt]*/, Word_xp::Paragraph** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(324));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Paragraph**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Paragraph* __fastcall
ParagraphDispT<T>::Next(VARIANT* Count/*[in,opt]*/)
{
  Word_xp::Paragraph* prop;
  this->Next(Count, (Word_xp::Paragraph**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::Previous(VARIANT* Count/*[in,opt]*/, Word_xp::Paragraph** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(325));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Paragraph**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Paragraph* __fastcall
ParagraphDispT<T>::Previous(VARIANT* Count/*[in,opt]*/)
{
  Word_xp::Paragraph* prop;
  this->Previous(Count, (Word_xp::Paragraph**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::OutlinePromote()
{
  _TDispID _dispid(*this, OLETEXT("OutlinePromote"), DISPID(326));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::OutlineDemote()
{
  _TDispID _dispid(*this, OLETEXT("OutlineDemote"), DISPID(327));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::OutlineDemoteToBody()
{
  _TDispID _dispid(*this, OLETEXT("OutlineDemoteToBody"), DISPID(328));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::Indent()
{
  _TDispID _dispid(*this, OLETEXT("Indent"), DISPID(333));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::Outdent()
{
  _TDispID _dispid(*this, OLETEXT("Outdent"), DISPID(334));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_CharacterUnitRightIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitRightIndent"), DISPID(126));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphDispT<T>::get_CharacterUnitRightIndent(void)
{
  float prop;
  this->get_CharacterUnitRightIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_CharacterUnitRightIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitRightIndent"), DISPID(126));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_CharacterUnitLeftIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitLeftIndent"), DISPID(127));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphDispT<T>::get_CharacterUnitLeftIndent(void)
{
  float prop;
  this->get_CharacterUnitLeftIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_CharacterUnitLeftIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitLeftIndent"), DISPID(127));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_CharacterUnitFirstLineIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitFirstLineIndent"), DISPID(128));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphDispT<T>::get_CharacterUnitFirstLineIndent(void)
{
  float prop;
  this->get_CharacterUnitFirstLineIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_CharacterUnitFirstLineIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitFirstLineIndent"), DISPID(128));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_LineUnitBefore(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineUnitBefore"), DISPID(129));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphDispT<T>::get_LineUnitBefore(void)
{
  float prop;
  this->get_LineUnitBefore((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_LineUnitBefore(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineUnitBefore"), DISPID(129));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_LineUnitAfter(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineUnitAfter"), DISPID(130));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ParagraphDispT<T>::get_LineUnitAfter(void)
{
  float prop;
  this->get_LineUnitAfter((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_LineUnitAfter(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineUnitAfter"), DISPID(130));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_ReadingOrder(Word_xp::WdReadingOrder* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadingOrder"), DISPID(203));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdReadingOrder __fastcall
ParagraphDispT<T>::get_ReadingOrder(void)
{
  Word_xp::WdReadingOrder prop;
  this->get_ReadingOrder((Word_xp::WdReadingOrder*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_ReadingOrder(Word_xp::WdReadingOrder prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadingOrder"), DISPID(203));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_ID(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(204));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ParagraphDispT<T>::get_ID(void)
{
  BSTR prop;
  this->get_ID((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_ID(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(204));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_SpaceBeforeAuto(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBeforeAuto"), DISPID(132));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_SpaceBeforeAuto(void)
{
  long prop;
  this->get_SpaceBeforeAuto((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_SpaceBeforeAuto(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBeforeAuto"), DISPID(132));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_SpaceAfterAuto(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfterAuto"), DISPID(133));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ParagraphDispT<T>::get_SpaceAfterAuto(void)
{
  long prop;
  this->get_SpaceAfterAuto((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::set_SpaceAfterAuto(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfterAuto"), DISPID(133));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::get_IsStyleSeparator(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsStyleSeparator"), DISPID(134));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ParagraphDispT<T>::get_IsStyleSeparator(void)
{
  VARIANT_BOOL prop;
  this->get_IsStyleSeparator((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ParagraphDispT<T>::SelectNumber()
{
  _TDispID _dispid(*this, OLETEXT("SelectNumber"), DISPID(335));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  DropCap
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020956-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
DropCapDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
DropCapDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropCapDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DropCapDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropCapDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
DropCapDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropCapDispT<T>::get_Position(Word_xp::WdDropPosition* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Position"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdDropPosition __fastcall
DropCapDispT<T>::get_Position(void)
{
  Word_xp::WdDropPosition prop;
  this->get_Position((Word_xp::WdDropPosition*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropCapDispT<T>::set_Position(Word_xp::WdDropPosition prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Position"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DropCapDispT<T>::get_FontName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FontName"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
DropCapDispT<T>::get_FontName(void)
{
  BSTR prop;
  this->get_FontName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropCapDispT<T>::set_FontName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FontName"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DropCapDispT<T>::get_LinesToDrop(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinesToDrop"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DropCapDispT<T>::get_LinesToDrop(void)
{
  long prop;
  this->get_LinesToDrop((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropCapDispT<T>::set_LinesToDrop(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinesToDrop"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DropCapDispT<T>::get_DistanceFromText(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFromText"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
DropCapDispT<T>::get_DistanceFromText(void)
{
  float prop;
  this->get_DistanceFromText((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropCapDispT<T>::set_DistanceFromText(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFromText"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DropCapDispT<T>::Clear()
{
  _TDispID _dispid(*this, OLETEXT("Clear"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
DropCapDispT<T>::Enable()
{
  _TDispID _dispid(*this, OLETEXT("Enable"), DISPID(101));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  TabStops
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020955-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TabStopsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
TabStopsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TabStopsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TabStopsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TabStopsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TabStopsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopsDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::TabStop** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TabStop**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TabStop* __fastcall
TabStopsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::TabStop* prop;
  this->Item(Index, (Word_xp::TabStop**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopsDispT<T>::Add(float Position/*[in]*/, VARIANT* Alignment/*[in,opt]*/, 
                      VARIANT* Leader/*[in,opt]*/, Word_xp::TabStop** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(100));
  TAutoArgs<3> _args;
  _args[1] = Position /*[VT_R4:0]*/;
  _args[2] = Alignment /*[VT_VARIANT:1]*/;
  _args[3] = Leader /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TabStop**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TabStop* __fastcall
TabStopsDispT<T>::Add(float Position/*[in]*/, VARIANT* Alignment/*[in,opt]*/, 
                      VARIANT* Leader/*[in,opt]*/)
{
  Word_xp::TabStop* prop;
  this->Add(Position, Alignment, Leader, (Word_xp::TabStop**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopsDispT<T>::ClearAll()
{
  _TDispID _dispid(*this, OLETEXT("ClearAll"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TabStopsDispT<T>::Before(float Position/*[in]*/, Word_xp::TabStop** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Before"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = Position /*[VT_R4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TabStop**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TabStop* __fastcall
TabStopsDispT<T>::Before(float Position/*[in]*/)
{
  Word_xp::TabStop* prop;
  this->Before(Position, (Word_xp::TabStop**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopsDispT<T>::After(float Position/*[in]*/, Word_xp::TabStop** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("After"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = Position /*[VT_R4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TabStop**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TabStop* __fastcall
TabStopsDispT<T>::After(float Position/*[in]*/)
{
  Word_xp::TabStop* prop;
  this->After(Position, (Word_xp::TabStop**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  TabStop
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020954-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TabStopDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TabStopDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TabStopDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TabStopDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopDispT<T>::get_Alignment(Word_xp::WdTabAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTabAlignment __fastcall
TabStopDispT<T>::get_Alignment(void)
{
  Word_xp::WdTabAlignment prop;
  this->get_Alignment((Word_xp::WdTabAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopDispT<T>::set_Alignment(Word_xp::WdTabAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TabStopDispT<T>::get_Leader(Word_xp::WdTabLeader* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Leader"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTabLeader __fastcall
TabStopDispT<T>::get_Leader(void)
{
  Word_xp::WdTabLeader prop;
  this->get_Leader((Word_xp::WdTabLeader*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopDispT<T>::set_Leader(Word_xp::WdTabLeader prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Leader"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TabStopDispT<T>::get_Position(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Position"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TabStopDispT<T>::get_Position(void)
{
  float prop;
  this->get_Position((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopDispT<T>::set_Position(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Position"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TabStopDispT<T>::get_CustomTab(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CustomTab"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TabStopDispT<T>::get_CustomTab(void)
{
  VARIANT_BOOL prop;
  this->get_CustomTab((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopDispT<T>::get_Next(Word_xp::TabStop** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TabStop**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TabStopPtr __fastcall
TabStopDispT<T>::get_Next(void)
{
  Word_xp::TabStopPtr prop;
  this->get_Next(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopDispT<T>::get_Previous(Word_xp::TabStop** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TabStop**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TabStopPtr __fastcall
TabStopDispT<T>::get_Previous(void)
{
  Word_xp::TabStopPtr prop;
  this->get_Previous(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TabStopDispT<T>::Clear()
{
  _TDispID _dispid(*this, OLETEXT("Clear"), DISPID(200));
  return OleFunction(_dispid);
}

// *********************************************************************//
// SmartIntf: TCOM_ParagraphFormat
// Interface: _ParagraphFormat
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  return (*this)->get_Application(prop);
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TCOM_ParagraphFormatT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  OLECHECK(this->get_Application((Word_xp::WordApplicationPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  return (*this)->get_Creator(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_Creator(void)
{
  long prop;
  OLECHECK(this->get_Creator((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_Parent(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_ParagraphFormatT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_Duplicate(Word_xp::WordParagraphFormat** prop/*[out,retval]*/)
{
  return (*this)->get_Duplicate(prop);
}

template <class T> Word_xp::WordParagraphFormatPtr __fastcall
TCOM_ParagraphFormatT<T>::get_Duplicate(void)
{
  Word_xp::WordParagraphFormatPtr prop;
  OLECHECK(this->get_Duplicate((Word_xp::WordParagraphFormatPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_Style(VARIANT* prop/*[out,retval]*/)
{
  return (*this)->get_Style(prop);
}

template <class T> VARIANT __fastcall
TCOM_ParagraphFormatT<T>::get_Style(void)
{
  VARIANT prop;
  OLECHECK(this->get_Style((VARIANT*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_Style(VARIANT* prop/*[in]*/)
{
  return (*this)->set_Style(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_Alignment(Word_xp::WdParagraphAlignment* prop/*[out,retval]*/)
{
  return (*this)->get_Alignment(prop);
}

template <class T> Word_xp::WdParagraphAlignment __fastcall
TCOM_ParagraphFormatT<T>::get_Alignment(void)
{
  Word_xp::WdParagraphAlignment prop;
  OLECHECK(this->get_Alignment((Word_xp::WdParagraphAlignment*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_Alignment(Word_xp::WdParagraphAlignment prop/*[in]*/)
{
  return (*this)->set_Alignment(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_KeepTogether(long* prop/*[out,retval]*/)
{
  return (*this)->get_KeepTogether(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_KeepTogether(void)
{
  long prop;
  OLECHECK(this->get_KeepTogether((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_KeepTogether(long prop/*[in]*/)
{
  return (*this)->set_KeepTogether(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_KeepWithNext(long* prop/*[out,retval]*/)
{
  return (*this)->get_KeepWithNext(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_KeepWithNext(void)
{
  long prop;
  OLECHECK(this->get_KeepWithNext((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_KeepWithNext(long prop/*[in]*/)
{
  return (*this)->set_KeepWithNext(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_PageBreakBefore(long* prop/*[out,retval]*/)
{
  return (*this)->get_PageBreakBefore(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_PageBreakBefore(void)
{
  long prop;
  OLECHECK(this->get_PageBreakBefore((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_PageBreakBefore(long prop/*[in]*/)
{
  return (*this)->set_PageBreakBefore(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_NoLineNumber(long* prop/*[out,retval]*/)
{
  return (*this)->get_NoLineNumber(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_NoLineNumber(void)
{
  long prop;
  OLECHECK(this->get_NoLineNumber((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_NoLineNumber(long prop/*[in]*/)
{
  return (*this)->set_NoLineNumber(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_RightIndent(float* prop/*[out,retval]*/)
{
  return (*this)->get_RightIndent(prop);
}

template <class T> float __fastcall
TCOM_ParagraphFormatT<T>::get_RightIndent(void)
{
  float prop;
  OLECHECK(this->get_RightIndent((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_RightIndent(float prop/*[in]*/)
{
  return (*this)->set_RightIndent(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_LeftIndent(float* prop/*[out,retval]*/)
{
  return (*this)->get_LeftIndent(prop);
}

template <class T> float __fastcall
TCOM_ParagraphFormatT<T>::get_LeftIndent(void)
{
  float prop;
  OLECHECK(this->get_LeftIndent((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_LeftIndent(float prop/*[in]*/)
{
  return (*this)->set_LeftIndent(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_FirstLineIndent(float* prop/*[out,retval]*/)
{
  return (*this)->get_FirstLineIndent(prop);
}

template <class T> float __fastcall
TCOM_ParagraphFormatT<T>::get_FirstLineIndent(void)
{
  float prop;
  OLECHECK(this->get_FirstLineIndent((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_FirstLineIndent(float prop/*[in]*/)
{
  return (*this)->set_FirstLineIndent(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_LineSpacing(float* prop/*[out,retval]*/)
{
  return (*this)->get_LineSpacing(prop);
}

template <class T> float __fastcall
TCOM_ParagraphFormatT<T>::get_LineSpacing(void)
{
  float prop;
  OLECHECK(this->get_LineSpacing((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_LineSpacing(float prop/*[in]*/)
{
  return (*this)->set_LineSpacing(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_LineSpacingRule(Word_xp::WdLineSpacing* prop/*[out,retval]*/)
{
  return (*this)->get_LineSpacingRule(prop);
}

template <class T> Word_xp::WdLineSpacing __fastcall
TCOM_ParagraphFormatT<T>::get_LineSpacingRule(void)
{
  Word_xp::WdLineSpacing prop;
  OLECHECK(this->get_LineSpacingRule((Word_xp::WdLineSpacing*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_LineSpacingRule(Word_xp::WdLineSpacing prop/*[in]*/)
{
  return (*this)->set_LineSpacingRule(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_SpaceBefore(float* prop/*[out,retval]*/)
{
  return (*this)->get_SpaceBefore(prop);
}

template <class T> float __fastcall
TCOM_ParagraphFormatT<T>::get_SpaceBefore(void)
{
  float prop;
  OLECHECK(this->get_SpaceBefore((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_SpaceBefore(float prop/*[in]*/)
{
  return (*this)->set_SpaceBefore(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_SpaceAfter(float* prop/*[out,retval]*/)
{
  return (*this)->get_SpaceAfter(prop);
}

template <class T> float __fastcall
TCOM_ParagraphFormatT<T>::get_SpaceAfter(void)
{
  float prop;
  OLECHECK(this->get_SpaceAfter((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_SpaceAfter(float prop/*[in]*/)
{
  return (*this)->set_SpaceAfter(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_Hyphenation(long* prop/*[out,retval]*/)
{
  return (*this)->get_Hyphenation(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_Hyphenation(void)
{
  long prop;
  OLECHECK(this->get_Hyphenation((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_Hyphenation(long prop/*[in]*/)
{
  return (*this)->set_Hyphenation(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_WidowControl(long* prop/*[out,retval]*/)
{
  return (*this)->get_WidowControl(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_WidowControl(void)
{
  long prop;
  OLECHECK(this->get_WidowControl((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_WidowControl(long prop/*[in]*/)
{
  return (*this)->set_WidowControl(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_FarEastLineBreakControl(long* prop/*[out,retval]*/)
{
  return (*this)->get_FarEastLineBreakControl(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_FarEastLineBreakControl(void)
{
  long prop;
  OLECHECK(this->get_FarEastLineBreakControl((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_FarEastLineBreakControl(long prop/*[in]*/)
{
  return (*this)->set_FarEastLineBreakControl(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_WordWrap(long* prop/*[out,retval]*/)
{
  return (*this)->get_WordWrap(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_WordWrap(void)
{
  long prop;
  OLECHECK(this->get_WordWrap((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_WordWrap(long prop/*[in]*/)
{
  return (*this)->set_WordWrap(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_HangingPunctuation(long* prop/*[out,retval]*/)
{
  return (*this)->get_HangingPunctuation(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_HangingPunctuation(void)
{
  long prop;
  OLECHECK(this->get_HangingPunctuation((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_HangingPunctuation(long prop/*[in]*/)
{
  return (*this)->set_HangingPunctuation(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_HalfWidthPunctuationOnTopOfLine(long* prop/*[out,retval]*/)
{
  return (*this)->get_HalfWidthPunctuationOnTopOfLine(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_HalfWidthPunctuationOnTopOfLine(void)
{
  long prop;
  OLECHECK(this->get_HalfWidthPunctuationOnTopOfLine((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_HalfWidthPunctuationOnTopOfLine(long prop/*[in]*/)
{
  return (*this)->set_HalfWidthPunctuationOnTopOfLine(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_AddSpaceBetweenFarEastAndAlpha(long* prop/*[out,retval]*/)
{
  return (*this)->get_AddSpaceBetweenFarEastAndAlpha(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_AddSpaceBetweenFarEastAndAlpha(void)
{
  long prop;
  OLECHECK(this->get_AddSpaceBetweenFarEastAndAlpha((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_AddSpaceBetweenFarEastAndAlpha(long prop/*[in]*/)
{
  return (*this)->set_AddSpaceBetweenFarEastAndAlpha(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_AddSpaceBetweenFarEastAndDigit(long* prop/*[out,retval]*/)
{
  return (*this)->get_AddSpaceBetweenFarEastAndDigit(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_AddSpaceBetweenFarEastAndDigit(void)
{
  long prop;
  OLECHECK(this->get_AddSpaceBetweenFarEastAndDigit((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_AddSpaceBetweenFarEastAndDigit(long prop/*[in]*/)
{
  return (*this)->set_AddSpaceBetweenFarEastAndDigit(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_BaseLineAlignment(Word_xp::WdBaselineAlignment* prop/*[out,retval]*/)
{
  return (*this)->get_BaseLineAlignment(prop);
}

template <class T> Word_xp::WdBaselineAlignment __fastcall
TCOM_ParagraphFormatT<T>::get_BaseLineAlignment(void)
{
  Word_xp::WdBaselineAlignment prop;
  OLECHECK(this->get_BaseLineAlignment((Word_xp::WdBaselineAlignment*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_BaseLineAlignment(Word_xp::WdBaselineAlignment prop/*[in]*/)
{
  return (*this)->set_BaseLineAlignment(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_AutoAdjustRightIndent(long* prop/*[out,retval]*/)
{
  return (*this)->get_AutoAdjustRightIndent(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_AutoAdjustRightIndent(void)
{
  long prop;
  OLECHECK(this->get_AutoAdjustRightIndent((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_AutoAdjustRightIndent(long prop/*[in]*/)
{
  return (*this)->set_AutoAdjustRightIndent(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_DisableLineHeightGrid(long* prop/*[out,retval]*/)
{
  return (*this)->get_DisableLineHeightGrid(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_DisableLineHeightGrid(void)
{
  long prop;
  OLECHECK(this->get_DisableLineHeightGrid((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_DisableLineHeightGrid(long prop/*[in]*/)
{
  return (*this)->set_DisableLineHeightGrid(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_TabStops(Word_xp::TabStops** prop/*[out,retval]*/)
{
  return (*this)->get_TabStops(prop);
}

template <class T> Word_xp::TabStopsPtr __fastcall
TCOM_ParagraphFormatT<T>::get_TabStops(void)
{
  Word_xp::TabStopsPtr prop;
  OLECHECK(this->get_TabStops((Word_xp::TabStopsPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_TabStops(Word_xp::TabStopsPtr prop/*[in]*/)
{
  return (*this)->set_TabStops((TabStops*)prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_TabStops(Word_xp::TabStops* prop/*[in]*/)
{
  return (*this)->set_TabStops(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  return (*this)->get_Borders(prop);
}

template <class T> Word_xp::BordersPtr __fastcall
TCOM_ParagraphFormatT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  OLECHECK(this->get_Borders((Word_xp::BordersPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  return (*this)->set_Borders((Borders*)prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_Borders(Word_xp::Borders* prop/*[in]*/)
{
  return (*this)->set_Borders(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  return (*this)->get_Shading(prop);
}

template <class T> Word_xp::ShadingPtr __fastcall
TCOM_ParagraphFormatT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  OLECHECK(this->get_Shading((Word_xp::ShadingPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_OutlineLevel(Word_xp::WdOutlineLevel* prop/*[out,retval]*/)
{
  return (*this)->get_OutlineLevel(prop);
}

template <class T> Word_xp::WdOutlineLevel __fastcall
TCOM_ParagraphFormatT<T>::get_OutlineLevel(void)
{
  Word_xp::WdOutlineLevel prop;
  OLECHECK(this->get_OutlineLevel((Word_xp::WdOutlineLevel*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_OutlineLevel(Word_xp::WdOutlineLevel prop/*[in]*/)
{
  return (*this)->set_OutlineLevel(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::CloseUp(void)
{
  return (*this)->CloseUp();
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::OpenUp(void)
{
  return (*this)->OpenUp();
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::OpenOrCloseUp(void)
{
  return (*this)->OpenOrCloseUp();
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::TabHangingIndent(short Count/*[in]*/)
{
  return (*this)->TabHangingIndent(Count);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::TabIndent(short Count/*[in]*/)
{
  return (*this)->TabIndent(Count);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::Reset(void)
{
  return (*this)->Reset();
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::Space1(void)
{
  return (*this)->Space1();
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::Space15(void)
{
  return (*this)->Space15();
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::Space2(void)
{
  return (*this)->Space2();
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::IndentCharWidth(short Count/*[in]*/)
{
  return (*this)->IndentCharWidth(Count);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::IndentFirstLineCharWidth(short Count/*[in]*/)
{
  return (*this)->IndentFirstLineCharWidth(Count);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_CharacterUnitRightIndent(float* prop/*[out,retval]*/)
{
  return (*this)->get_CharacterUnitRightIndent(prop);
}

template <class T> float __fastcall
TCOM_ParagraphFormatT<T>::get_CharacterUnitRightIndent(void)
{
  float prop;
  OLECHECK(this->get_CharacterUnitRightIndent((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_CharacterUnitRightIndent(float prop/*[in]*/)
{
  return (*this)->set_CharacterUnitRightIndent(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_CharacterUnitLeftIndent(float* prop/*[out,retval]*/)
{
  return (*this)->get_CharacterUnitLeftIndent(prop);
}

template <class T> float __fastcall
TCOM_ParagraphFormatT<T>::get_CharacterUnitLeftIndent(void)
{
  float prop;
  OLECHECK(this->get_CharacterUnitLeftIndent((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_CharacterUnitLeftIndent(float prop/*[in]*/)
{
  return (*this)->set_CharacterUnitLeftIndent(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_CharacterUnitFirstLineIndent(float* prop/*[out,retval]*/)
{
  return (*this)->get_CharacterUnitFirstLineIndent(prop);
}

template <class T> float __fastcall
TCOM_ParagraphFormatT<T>::get_CharacterUnitFirstLineIndent(void)
{
  float prop;
  OLECHECK(this->get_CharacterUnitFirstLineIndent((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_CharacterUnitFirstLineIndent(float prop/*[in]*/)
{
  return (*this)->set_CharacterUnitFirstLineIndent(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_LineUnitBefore(float* prop/*[out,retval]*/)
{
  return (*this)->get_LineUnitBefore(prop);
}

template <class T> float __fastcall
TCOM_ParagraphFormatT<T>::get_LineUnitBefore(void)
{
  float prop;
  OLECHECK(this->get_LineUnitBefore((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_LineUnitBefore(float prop/*[in]*/)
{
  return (*this)->set_LineUnitBefore(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_LineUnitAfter(float* prop/*[out,retval]*/)
{
  return (*this)->get_LineUnitAfter(prop);
}

template <class T> float __fastcall
TCOM_ParagraphFormatT<T>::get_LineUnitAfter(void)
{
  float prop;
  OLECHECK(this->get_LineUnitAfter((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_LineUnitAfter(float prop/*[in]*/)
{
  return (*this)->set_LineUnitAfter(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_ReadingOrder(Word_xp::WdReadingOrder* prop/*[out,retval]*/)
{
  return (*this)->get_ReadingOrder(prop);
}

template <class T> Word_xp::WdReadingOrder __fastcall
TCOM_ParagraphFormatT<T>::get_ReadingOrder(void)
{
  Word_xp::WdReadingOrder prop;
  OLECHECK(this->get_ReadingOrder((Word_xp::WdReadingOrder*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_ReadingOrder(Word_xp::WdReadingOrder prop/*[in]*/)
{
  return (*this)->set_ReadingOrder(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_SpaceBeforeAuto(long* prop/*[out,retval]*/)
{
  return (*this)->get_SpaceBeforeAuto(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_SpaceBeforeAuto(void)
{
  long prop;
  OLECHECK(this->get_SpaceBeforeAuto((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_SpaceBeforeAuto(long prop/*[in]*/)
{
  return (*this)->set_SpaceBeforeAuto(prop);
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::get_SpaceAfterAuto(long* prop/*[out,retval]*/)
{
  return (*this)->get_SpaceAfterAuto(prop);
}

template <class T> long __fastcall
TCOM_ParagraphFormatT<T>::get_SpaceAfterAuto(void)
{
  long prop;
  OLECHECK(this->get_SpaceAfterAuto((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_ParagraphFormatT<T>::set_SpaceAfterAuto(long prop/*[in]*/)
{
  return (*this)->set_SpaceAfterAuto(prop);
}

// *********************************************************************//
// DispIntf:  _ParagraphFormat
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020953-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
_ParagraphFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_ParagraphFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_Duplicate(Word_xp::WordParagraphFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Duplicate"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordParagraphFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordParagraphFormatPtr __fastcall
_ParagraphFormatDispT<T>::get_Duplicate(void)
{
  Word_xp::WordParagraphFormatPtr prop;
  this->get_Duplicate(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_Style(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
_ParagraphFormatDispT<T>::get_Style(void)
{
  VARIANT prop;
  this->get_Style((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_Style(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_Alignment(Word_xp::WdParagraphAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdParagraphAlignment __fastcall
_ParagraphFormatDispT<T>::get_Alignment(void)
{
  Word_xp::WdParagraphAlignment prop;
  this->get_Alignment((Word_xp::WdParagraphAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_Alignment(Word_xp::WdParagraphAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_KeepTogether(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepTogether"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_KeepTogether(void)
{
  long prop;
  this->get_KeepTogether((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_KeepTogether(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepTogether"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_KeepWithNext(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepWithNext"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_KeepWithNext(void)
{
  long prop;
  this->get_KeepWithNext((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_KeepWithNext(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepWithNext"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_PageBreakBefore(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageBreakBefore"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_PageBreakBefore(void)
{
  long prop;
  this->get_PageBreakBefore((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_PageBreakBefore(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageBreakBefore"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_NoLineNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineNumber"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_NoLineNumber(void)
{
  long prop;
  this->get_NoLineNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_NoLineNumber(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoLineNumber"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_RightIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightIndent"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_ParagraphFormatDispT<T>::get_RightIndent(void)
{
  float prop;
  this->get_RightIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_RightIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightIndent"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_LeftIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_ParagraphFormatDispT<T>::get_LeftIndent(void)
{
  float prop;
  this->get_LeftIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_LeftIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_FirstLineIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstLineIndent"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_ParagraphFormatDispT<T>::get_FirstLineIndent(void)
{
  float prop;
  this->get_FirstLineIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_FirstLineIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstLineIndent"), DISPID(108));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_LineSpacing(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineSpacing"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_ParagraphFormatDispT<T>::get_LineSpacing(void)
{
  float prop;
  this->get_LineSpacing((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_LineSpacing(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineSpacing"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_LineSpacingRule(Word_xp::WdLineSpacing* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineSpacingRule"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLineSpacing __fastcall
_ParagraphFormatDispT<T>::get_LineSpacingRule(void)
{
  Word_xp::WdLineSpacing prop;
  this->get_LineSpacingRule((Word_xp::WdLineSpacing*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_LineSpacingRule(Word_xp::WdLineSpacing prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineSpacingRule"), DISPID(110));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_SpaceBefore(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBefore"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_ParagraphFormatDispT<T>::get_SpaceBefore(void)
{
  float prop;
  this->get_SpaceBefore((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_SpaceBefore(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBefore"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_SpaceAfter(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfter"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_ParagraphFormatDispT<T>::get_SpaceAfter(void)
{
  float prop;
  this->get_SpaceAfter((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_SpaceAfter(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfter"), DISPID(112));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_Hyphenation(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hyphenation"), DISPID(113));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_Hyphenation(void)
{
  long prop;
  this->get_Hyphenation((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_Hyphenation(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hyphenation"), DISPID(113));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_WidowControl(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WidowControl"), DISPID(114));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_WidowControl(void)
{
  long prop;
  this->get_WidowControl((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_WidowControl(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WidowControl"), DISPID(114));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_FarEastLineBreakControl(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakControl"), DISPID(117));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_FarEastLineBreakControl(void)
{
  long prop;
  this->get_FarEastLineBreakControl((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_FarEastLineBreakControl(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FarEastLineBreakControl"), DISPID(117));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_WordWrap(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WordWrap"), DISPID(118));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_WordWrap(void)
{
  long prop;
  this->get_WordWrap((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_WordWrap(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WordWrap"), DISPID(118));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_HangingPunctuation(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangingPunctuation"), DISPID(119));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_HangingPunctuation(void)
{
  long prop;
  this->get_HangingPunctuation((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_HangingPunctuation(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangingPunctuation"), DISPID(119));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_HalfWidthPunctuationOnTopOfLine(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HalfWidthPunctuationOnTopOfLine"), DISPID(120));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_HalfWidthPunctuationOnTopOfLine(void)
{
  long prop;
  this->get_HalfWidthPunctuationOnTopOfLine((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_HalfWidthPunctuationOnTopOfLine(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HalfWidthPunctuationOnTopOfLine"), DISPID(120));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_AddSpaceBetweenFarEastAndAlpha(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSpaceBetweenFarEastAndAlpha"), DISPID(121));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_AddSpaceBetweenFarEastAndAlpha(void)
{
  long prop;
  this->get_AddSpaceBetweenFarEastAndAlpha((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_AddSpaceBetweenFarEastAndAlpha(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSpaceBetweenFarEastAndAlpha"), DISPID(121));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_AddSpaceBetweenFarEastAndDigit(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSpaceBetweenFarEastAndDigit"), DISPID(122));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_AddSpaceBetweenFarEastAndDigit(void)
{
  long prop;
  this->get_AddSpaceBetweenFarEastAndDigit((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_AddSpaceBetweenFarEastAndDigit(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSpaceBetweenFarEastAndDigit"), DISPID(122));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_BaseLineAlignment(Word_xp::WdBaselineAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BaseLineAlignment"), DISPID(123));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdBaselineAlignment __fastcall
_ParagraphFormatDispT<T>::get_BaseLineAlignment(void)
{
  Word_xp::WdBaselineAlignment prop;
  this->get_BaseLineAlignment((Word_xp::WdBaselineAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_BaseLineAlignment(Word_xp::WdBaselineAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BaseLineAlignment"), DISPID(123));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_AutoAdjustRightIndent(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoAdjustRightIndent"), DISPID(124));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_AutoAdjustRightIndent(void)
{
  long prop;
  this->get_AutoAdjustRightIndent((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_AutoAdjustRightIndent(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoAdjustRightIndent"), DISPID(124));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_DisableLineHeightGrid(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableLineHeightGrid"), DISPID(125));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_DisableLineHeightGrid(void)
{
  long prop;
  this->get_DisableLineHeightGrid((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_DisableLineHeightGrid(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableLineHeightGrid"), DISPID(125));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_TabStops(Word_xp::TabStops** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabStops"), DISPID(1103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TabStops**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TabStopsPtr __fastcall
_ParagraphFormatDispT<T>::get_TabStops(void)
{
  Word_xp::TabStopsPtr prop;
  this->get_TabStops(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_TabStops(Word_xp::TabStopsPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabStops"), DISPID(1103));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::TabStops*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
_ParagraphFormatDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(1101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
_ParagraphFormatDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_OutlineLevel(Word_xp::WdOutlineLevel* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutlineLevel"), DISPID(202));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdOutlineLevel __fastcall
_ParagraphFormatDispT<T>::get_OutlineLevel(void)
{
  Word_xp::WdOutlineLevel prop;
  this->get_OutlineLevel((Word_xp::WdOutlineLevel*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_OutlineLevel(Word_xp::WdOutlineLevel prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutlineLevel"), DISPID(202));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::CloseUp()
{
  _TDispID _dispid(*this, OLETEXT("CloseUp"), DISPID(301));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::OpenUp()
{
  _TDispID _dispid(*this, OLETEXT("OpenUp"), DISPID(302));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::OpenOrCloseUp()
{
  _TDispID _dispid(*this, OLETEXT("OpenOrCloseUp"), DISPID(303));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::TabHangingIndent(short Count/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabHangingIndent"), DISPID(304));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I2:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::TabIndent(short Count/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabIndent"), DISPID(306));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I2:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::Reset()
{
  _TDispID _dispid(*this, OLETEXT("Reset"), DISPID(312));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::Space1()
{
  _TDispID _dispid(*this, OLETEXT("Space1"), DISPID(313));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::Space15()
{
  _TDispID _dispid(*this, OLETEXT("Space15"), DISPID(314));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::Space2()
{
  _TDispID _dispid(*this, OLETEXT("Space2"), DISPID(315));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::IndentCharWidth(short Count/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IndentCharWidth"), DISPID(320));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I2:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::IndentFirstLineCharWidth(short Count/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IndentFirstLineCharWidth"), DISPID(322));
  TAutoArgs<1> _args;
  _args[1] = Count /*[VT_I2:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_CharacterUnitRightIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitRightIndent"), DISPID(126));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_ParagraphFormatDispT<T>::get_CharacterUnitRightIndent(void)
{
  float prop;
  this->get_CharacterUnitRightIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_CharacterUnitRightIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitRightIndent"), DISPID(126));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_CharacterUnitLeftIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitLeftIndent"), DISPID(127));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_ParagraphFormatDispT<T>::get_CharacterUnitLeftIndent(void)
{
  float prop;
  this->get_CharacterUnitLeftIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_CharacterUnitLeftIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitLeftIndent"), DISPID(127));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_CharacterUnitFirstLineIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitFirstLineIndent"), DISPID(128));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_ParagraphFormatDispT<T>::get_CharacterUnitFirstLineIndent(void)
{
  float prop;
  this->get_CharacterUnitFirstLineIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_CharacterUnitFirstLineIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharacterUnitFirstLineIndent"), DISPID(128));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_LineUnitBefore(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineUnitBefore"), DISPID(129));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_ParagraphFormatDispT<T>::get_LineUnitBefore(void)
{
  float prop;
  this->get_LineUnitBefore((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_LineUnitBefore(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineUnitBefore"), DISPID(129));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_LineUnitAfter(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineUnitAfter"), DISPID(130));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_ParagraphFormatDispT<T>::get_LineUnitAfter(void)
{
  float prop;
  this->get_LineUnitAfter((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_LineUnitAfter(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineUnitAfter"), DISPID(130));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_ReadingOrder(Word_xp::WdReadingOrder* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadingOrder"), DISPID(131));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdReadingOrder __fastcall
_ParagraphFormatDispT<T>::get_ReadingOrder(void)
{
  Word_xp::WdReadingOrder prop;
  this->get_ReadingOrder((Word_xp::WdReadingOrder*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_ReadingOrder(Word_xp::WdReadingOrder prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadingOrder"), DISPID(131));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_SpaceBeforeAuto(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBeforeAuto"), DISPID(132));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_SpaceBeforeAuto(void)
{
  long prop;
  this->get_SpaceBeforeAuto((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_SpaceBeforeAuto(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBeforeAuto"), DISPID(132));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::get_SpaceAfterAuto(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfterAuto"), DISPID(133));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_ParagraphFormatDispT<T>::get_SpaceAfterAuto(void)
{
  long prop;
  this->get_SpaceAfterAuto((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_ParagraphFormatDispT<T>::set_SpaceAfterAuto(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfterAuto"), DISPID(133));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_Font
// Interface: _Font
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  return (*this)->get_Application(prop);
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TCOM_FontT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  OLECHECK(this->get_Application((Word_xp::WordApplicationPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  return (*this)->get_Creator(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_Creator(void)
{
  long prop;
  OLECHECK(this->get_Creator((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_Parent(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_FontT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Duplicate(Word_xp::WordFont** prop/*[out,retval]*/)
{
  return (*this)->get_Duplicate(prop);
}

template <class T> Word_xp::WordFontPtr __fastcall
TCOM_FontT<T>::get_Duplicate(void)
{
  Word_xp::WordFontPtr prop;
  OLECHECK(this->get_Duplicate((Word_xp::WordFontPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Bold(long* prop/*[out,retval]*/)
{
  return (*this)->get_Bold(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_Bold(void)
{
  long prop;
  OLECHECK(this->get_Bold((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Bold(long prop/*[in]*/)
{
  return (*this)->set_Bold(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Italic(long* prop/*[out,retval]*/)
{
  return (*this)->get_Italic(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_Italic(void)
{
  long prop;
  OLECHECK(this->get_Italic((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Italic(long prop/*[in]*/)
{
  return (*this)->set_Italic(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Hidden(long* prop/*[out,retval]*/)
{
  return (*this)->get_Hidden(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_Hidden(void)
{
  long prop;
  OLECHECK(this->get_Hidden((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Hidden(long prop/*[in]*/)
{
  return (*this)->set_Hidden(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_SmallCaps(long* prop/*[out,retval]*/)
{
  return (*this)->get_SmallCaps(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_SmallCaps(void)
{
  long prop;
  OLECHECK(this->get_SmallCaps((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_SmallCaps(long prop/*[in]*/)
{
  return (*this)->set_SmallCaps(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_AllCaps(long* prop/*[out,retval]*/)
{
  return (*this)->get_AllCaps(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_AllCaps(void)
{
  long prop;
  OLECHECK(this->get_AllCaps((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_AllCaps(long prop/*[in]*/)
{
  return (*this)->set_AllCaps(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_StrikeThrough(long* prop/*[out,retval]*/)
{
  return (*this)->get_StrikeThrough(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_StrikeThrough(void)
{
  long prop;
  OLECHECK(this->get_StrikeThrough((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_StrikeThrough(long prop/*[in]*/)
{
  return (*this)->set_StrikeThrough(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_DoubleStrikeThrough(long* prop/*[out,retval]*/)
{
  return (*this)->get_DoubleStrikeThrough(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_DoubleStrikeThrough(void)
{
  long prop;
  OLECHECK(this->get_DoubleStrikeThrough((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_DoubleStrikeThrough(long prop/*[in]*/)
{
  return (*this)->set_DoubleStrikeThrough(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_ColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  return (*this)->get_ColorIndex(prop);
}

template <class T> Word_xp::WdColorIndex __fastcall
TCOM_FontT<T>::get_ColorIndex(void)
{
  Word_xp::WdColorIndex prop;
  OLECHECK(this->get_ColorIndex((Word_xp::WdColorIndex*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_ColorIndex(Word_xp::WdColorIndex prop/*[in]*/)
{
  return (*this)->set_ColorIndex(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Subscript(long* prop/*[out,retval]*/)
{
  return (*this)->get_Subscript(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_Subscript(void)
{
  long prop;
  OLECHECK(this->get_Subscript((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Subscript(long prop/*[in]*/)
{
  return (*this)->set_Subscript(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Superscript(long* prop/*[out,retval]*/)
{
  return (*this)->get_Superscript(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_Superscript(void)
{
  long prop;
  OLECHECK(this->get_Superscript((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Superscript(long prop/*[in]*/)
{
  return (*this)->set_Superscript(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Underline(Word_xp::WdUnderline* prop/*[out,retval]*/)
{
  return (*this)->get_Underline(prop);
}

template <class T> Word_xp::WdUnderline __fastcall
TCOM_FontT<T>::get_Underline(void)
{
  Word_xp::WdUnderline prop;
  OLECHECK(this->get_Underline((Word_xp::WdUnderline*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Underline(Word_xp::WdUnderline prop/*[in]*/)
{
  return (*this)->set_Underline(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Size(float* prop/*[out,retval]*/)
{
  return (*this)->get_Size(prop);
}

template <class T> float __fastcall
TCOM_FontT<T>::get_Size(void)
{
  float prop;
  OLECHECK(this->get_Size((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Size(float prop/*[in]*/)
{
  return (*this)->set_Size(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Name(prop);
}

template <class T> BSTR __fastcall
TCOM_FontT<T>::get_Name(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Name((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Name(BSTR prop/*[in]*/)
{
  return (*this)->set_Name(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Position(long* prop/*[out,retval]*/)
{
  return (*this)->get_Position(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_Position(void)
{
  long prop;
  OLECHECK(this->get_Position((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Position(long prop/*[in]*/)
{
  return (*this)->set_Position(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Spacing(float* prop/*[out,retval]*/)
{
  return (*this)->get_Spacing(prop);
}

template <class T> float __fastcall
TCOM_FontT<T>::get_Spacing(void)
{
  float prop;
  OLECHECK(this->get_Spacing((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Spacing(float prop/*[in]*/)
{
  return (*this)->set_Spacing(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Scaling(long* prop/*[out,retval]*/)
{
  return (*this)->get_Scaling(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_Scaling(void)
{
  long prop;
  OLECHECK(this->get_Scaling((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Scaling(long prop/*[in]*/)
{
  return (*this)->set_Scaling(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Shadow(long* prop/*[out,retval]*/)
{
  return (*this)->get_Shadow(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_Shadow(void)
{
  long prop;
  OLECHECK(this->get_Shadow((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Shadow(long prop/*[in]*/)
{
  return (*this)->set_Shadow(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Outline(long* prop/*[out,retval]*/)
{
  return (*this)->get_Outline(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_Outline(void)
{
  long prop;
  OLECHECK(this->get_Outline((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Outline(long prop/*[in]*/)
{
  return (*this)->set_Outline(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Emboss(long* prop/*[out,retval]*/)
{
  return (*this)->get_Emboss(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_Emboss(void)
{
  long prop;
  OLECHECK(this->get_Emboss((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Emboss(long prop/*[in]*/)
{
  return (*this)->set_Emboss(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Kerning(float* prop/*[out,retval]*/)
{
  return (*this)->get_Kerning(prop);
}

template <class T> float __fastcall
TCOM_FontT<T>::get_Kerning(void)
{
  float prop;
  OLECHECK(this->get_Kerning((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Kerning(float prop/*[in]*/)
{
  return (*this)->set_Kerning(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Engrave(long* prop/*[out,retval]*/)
{
  return (*this)->get_Engrave(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_Engrave(void)
{
  long prop;
  OLECHECK(this->get_Engrave((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Engrave(long prop/*[in]*/)
{
  return (*this)->set_Engrave(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Animation(Word_xp::WdAnimation* prop/*[out,retval]*/)
{
  return (*this)->get_Animation(prop);
}

template <class T> Word_xp::WdAnimation __fastcall
TCOM_FontT<T>::get_Animation(void)
{
  Word_xp::WdAnimation prop;
  OLECHECK(this->get_Animation((Word_xp::WdAnimation*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Animation(Word_xp::WdAnimation prop/*[in]*/)
{
  return (*this)->set_Animation(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  return (*this)->get_Borders(prop);
}

template <class T> Word_xp::BordersPtr __fastcall
TCOM_FontT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  OLECHECK(this->get_Borders((Word_xp::BordersPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  return (*this)->set_Borders((Borders*)prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Borders(Word_xp::Borders* prop/*[in]*/)
{
  return (*this)->set_Borders(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  return (*this)->get_Shading(prop);
}

template <class T> Word_xp::ShadingPtr __fastcall
TCOM_FontT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  OLECHECK(this->get_Shading((Word_xp::ShadingPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_EmphasisMark(Word_xp::WdEmphasisMark* prop/*[out,retval]*/)
{
  return (*this)->get_EmphasisMark(prop);
}

template <class T> Word_xp::WdEmphasisMark __fastcall
TCOM_FontT<T>::get_EmphasisMark(void)
{
  Word_xp::WdEmphasisMark prop;
  OLECHECK(this->get_EmphasisMark((Word_xp::WdEmphasisMark*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_EmphasisMark(Word_xp::WdEmphasisMark prop/*[in]*/)
{
  return (*this)->set_EmphasisMark(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_DisableCharacterSpaceGrid(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_DisableCharacterSpaceGrid(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_FontT<T>::get_DisableCharacterSpaceGrid(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_DisableCharacterSpaceGrid((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_DisableCharacterSpaceGrid(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_DisableCharacterSpaceGrid(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_NameFarEast(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_NameFarEast(prop);
}

template <class T> BSTR __fastcall
TCOM_FontT<T>::get_NameFarEast(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_NameFarEast((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_NameFarEast(BSTR prop/*[in]*/)
{
  return (*this)->set_NameFarEast(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_NameAscii(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_NameAscii(prop);
}

template <class T> BSTR __fastcall
TCOM_FontT<T>::get_NameAscii(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_NameAscii((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_NameAscii(BSTR prop/*[in]*/)
{
  return (*this)->set_NameAscii(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_NameOther(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_NameOther(prop);
}

template <class T> BSTR __fastcall
TCOM_FontT<T>::get_NameOther(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_NameOther((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_NameOther(BSTR prop/*[in]*/)
{
  return (*this)->set_NameOther(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::Grow(void)
{
  return (*this)->Grow();
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::Shrink(void)
{
  return (*this)->Shrink();
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::Reset(void)
{
  return (*this)->Reset();
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::SetAsTemplateDefault(void)
{
  return (*this)->SetAsTemplateDefault();
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_Color(Word_xp::WdColor* prop/*[out,retval]*/)
{
  return (*this)->get_Color(prop);
}

template <class T> Word_xp::WdColor __fastcall
TCOM_FontT<T>::get_Color(void)
{
  Word_xp::WdColor prop;
  OLECHECK(this->get_Color((Word_xp::WdColor*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_Color(Word_xp::WdColor prop/*[in]*/)
{
  return (*this)->set_Color(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_BoldBi(long* prop/*[out,retval]*/)
{
  return (*this)->get_BoldBi(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_BoldBi(void)
{
  long prop;
  OLECHECK(this->get_BoldBi((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_BoldBi(long prop/*[in]*/)
{
  return (*this)->set_BoldBi(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_ItalicBi(long* prop/*[out,retval]*/)
{
  return (*this)->get_ItalicBi(prop);
}

template <class T> long __fastcall
TCOM_FontT<T>::get_ItalicBi(void)
{
  long prop;
  OLECHECK(this->get_ItalicBi((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_ItalicBi(long prop/*[in]*/)
{
  return (*this)->set_ItalicBi(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_SizeBi(float* prop/*[out,retval]*/)
{
  return (*this)->get_SizeBi(prop);
}

template <class T> float __fastcall
TCOM_FontT<T>::get_SizeBi(void)
{
  float prop;
  OLECHECK(this->get_SizeBi((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_SizeBi(float prop/*[in]*/)
{
  return (*this)->set_SizeBi(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_NameBi(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_NameBi(prop);
}

template <class T> BSTR __fastcall
TCOM_FontT<T>::get_NameBi(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_NameBi((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_NameBi(BSTR prop/*[in]*/)
{
  return (*this)->set_NameBi(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_ColorIndexBi(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  return (*this)->get_ColorIndexBi(prop);
}

template <class T> Word_xp::WdColorIndex __fastcall
TCOM_FontT<T>::get_ColorIndexBi(void)
{
  Word_xp::WdColorIndex prop;
  OLECHECK(this->get_ColorIndexBi((Word_xp::WdColorIndex*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_ColorIndexBi(Word_xp::WdColorIndex prop/*[in]*/)
{
  return (*this)->set_ColorIndexBi(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_DiacriticColor(Word_xp::WdColor* prop/*[out,retval]*/)
{
  return (*this)->get_DiacriticColor(prop);
}

template <class T> Word_xp::WdColor __fastcall
TCOM_FontT<T>::get_DiacriticColor(void)
{
  Word_xp::WdColor prop;
  OLECHECK(this->get_DiacriticColor((Word_xp::WdColor*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_DiacriticColor(Word_xp::WdColor prop/*[in]*/)
{
  return (*this)->set_DiacriticColor(prop);
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::get_UnderlineColor(Word_xp::WdColor* prop/*[out,retval]*/)
{
  return (*this)->get_UnderlineColor(prop);
}

template <class T> Word_xp::WdColor __fastcall
TCOM_FontT<T>::get_UnderlineColor(void)
{
  Word_xp::WdColor prop;
  OLECHECK(this->get_UnderlineColor((Word_xp::WdColor*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_FontT<T>::set_UnderlineColor(Word_xp::WdColor prop/*[in]*/)
{
  return (*this)->set_UnderlineColor(prop);
}

// *********************************************************************//
// DispIntf:  _Font
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020952-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
_FontDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
_FontDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_FontDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Duplicate(Word_xp::WordFont** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Duplicate"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordFont**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordFontPtr __fastcall
_FontDispT<T>::get_Duplicate(void)
{
  Word_xp::WordFontPtr prop;
  this->get_Duplicate(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Bold(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Bold"), DISPID(130));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_Bold(void)
{
  long prop;
  this->get_Bold((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Bold(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Bold"), DISPID(130));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Italic(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Italic"), DISPID(131));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_Italic(void)
{
  long prop;
  this->get_Italic((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Italic(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Italic"), DISPID(131));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Hidden(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hidden"), DISPID(132));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_Hidden(void)
{
  long prop;
  this->get_Hidden((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Hidden(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hidden"), DISPID(132));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_SmallCaps(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmallCaps"), DISPID(133));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_SmallCaps(void)
{
  long prop;
  this->get_SmallCaps((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_SmallCaps(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmallCaps"), DISPID(133));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_AllCaps(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllCaps"), DISPID(134));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_AllCaps(void)
{
  long prop;
  this->get_AllCaps((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_AllCaps(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllCaps"), DISPID(134));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_StrikeThrough(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StrikeThrough"), DISPID(135));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_StrikeThrough(void)
{
  long prop;
  this->get_StrikeThrough((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_StrikeThrough(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StrikeThrough"), DISPID(135));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_DoubleStrikeThrough(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DoubleStrikeThrough"), DISPID(136));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_DoubleStrikeThrough(void)
{
  long prop;
  this->get_DoubleStrikeThrough((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_DoubleStrikeThrough(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DoubleStrikeThrough"), DISPID(136));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_ColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColorIndex"), DISPID(137));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
_FontDispT<T>::get_ColorIndex(void)
{
  Word_xp::WdColorIndex prop;
  this->get_ColorIndex((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_ColorIndex(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColorIndex"), DISPID(137));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Subscript(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Subscript"), DISPID(138));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_Subscript(void)
{
  long prop;
  this->get_Subscript((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Subscript(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Subscript"), DISPID(138));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Superscript(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Superscript"), DISPID(139));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_Superscript(void)
{
  long prop;
  this->get_Superscript((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Superscript(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Superscript"), DISPID(139));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Underline(Word_xp::WdUnderline* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Underline"), DISPID(140));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdUnderline __fastcall
_FontDispT<T>::get_Underline(void)
{
  Word_xp::WdUnderline prop;
  this->get_Underline((Word_xp::WdUnderline*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Underline(Word_xp::WdUnderline prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Underline"), DISPID(140));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Size(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Size"), DISPID(141));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_FontDispT<T>::get_Size(void)
{
  float prop;
  this->get_Size((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Size(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Size"), DISPID(141));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(142));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_FontDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(142));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Position(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Position"), DISPID(143));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_Position(void)
{
  long prop;
  this->get_Position((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Position(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Position"), DISPID(143));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Spacing(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Spacing"), DISPID(144));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_FontDispT<T>::get_Spacing(void)
{
  float prop;
  this->get_Spacing((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Spacing(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Spacing"), DISPID(144));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Scaling(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Scaling"), DISPID(145));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_Scaling(void)
{
  long prop;
  this->get_Scaling((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Scaling(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Scaling"), DISPID(145));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Shadow(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shadow"), DISPID(146));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_Shadow(void)
{
  long prop;
  this->get_Shadow((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Shadow(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shadow"), DISPID(146));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Outline(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Outline"), DISPID(147));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_Outline(void)
{
  long prop;
  this->get_Outline((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Outline(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Outline"), DISPID(147));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Emboss(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Emboss"), DISPID(148));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_Emboss(void)
{
  long prop;
  this->get_Emboss((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Emboss(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Emboss"), DISPID(148));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Kerning(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Kerning"), DISPID(149));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_FontDispT<T>::get_Kerning(void)
{
  float prop;
  this->get_Kerning((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Kerning(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Kerning"), DISPID(149));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Engrave(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Engrave"), DISPID(150));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_Engrave(void)
{
  long prop;
  this->get_Engrave((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Engrave(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Engrave"), DISPID(150));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Animation(Word_xp::WdAnimation* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Animation"), DISPID(151));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdAnimation __fastcall
_FontDispT<T>::get_Animation(void)
{
  Word_xp::WdAnimation prop;
  this->get_Animation((Word_xp::WdAnimation*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Animation(Word_xp::WdAnimation prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Animation"), DISPID(151));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
_FontDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(153));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
_FontDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_EmphasisMark(Word_xp::WdEmphasisMark* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmphasisMark"), DISPID(154));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdEmphasisMark __fastcall
_FontDispT<T>::get_EmphasisMark(void)
{
  Word_xp::WdEmphasisMark prop;
  this->get_EmphasisMark((Word_xp::WdEmphasisMark*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_EmphasisMark(Word_xp::WdEmphasisMark prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmphasisMark"), DISPID(154));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_DisableCharacterSpaceGrid(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableCharacterSpaceGrid"), DISPID(155));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_FontDispT<T>::get_DisableCharacterSpaceGrid(void)
{
  VARIANT_BOOL prop;
  this->get_DisableCharacterSpaceGrid((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_DisableCharacterSpaceGrid(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableCharacterSpaceGrid"), DISPID(155));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_NameFarEast(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NameFarEast"), DISPID(156));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_FontDispT<T>::get_NameFarEast(void)
{
  BSTR prop;
  this->get_NameFarEast((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_NameFarEast(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NameFarEast"), DISPID(156));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_NameAscii(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NameAscii"), DISPID(157));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_FontDispT<T>::get_NameAscii(void)
{
  BSTR prop;
  this->get_NameAscii((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_NameAscii(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NameAscii"), DISPID(157));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_NameOther(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NameOther"), DISPID(158));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_FontDispT<T>::get_NameOther(void)
{
  BSTR prop;
  this->get_NameOther((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_NameOther(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NameOther"), DISPID(158));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::Grow()
{
  _TDispID _dispid(*this, OLETEXT("Grow"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::Shrink()
{
  _TDispID _dispid(*this, OLETEXT("Shrink"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::Reset()
{
  _TDispID _dispid(*this, OLETEXT("Reset"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::SetAsTemplateDefault()
{
  _TDispID _dispid(*this, OLETEXT("SetAsTemplateDefault"), DISPID(103));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_Color(Word_xp::WdColor* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Color"), DISPID(159));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColor __fastcall
_FontDispT<T>::get_Color(void)
{
  Word_xp::WdColor prop;
  this->get_Color((Word_xp::WdColor*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_Color(Word_xp::WdColor prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Color"), DISPID(159));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_BoldBi(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BoldBi"), DISPID(160));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_BoldBi(void)
{
  long prop;
  this->get_BoldBi((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_BoldBi(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BoldBi"), DISPID(160));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_ItalicBi(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ItalicBi"), DISPID(161));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_FontDispT<T>::get_ItalicBi(void)
{
  long prop;
  this->get_ItalicBi((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_ItalicBi(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ItalicBi"), DISPID(161));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_SizeBi(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SizeBi"), DISPID(162));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_FontDispT<T>::get_SizeBi(void)
{
  float prop;
  this->get_SizeBi((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_SizeBi(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SizeBi"), DISPID(162));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_NameBi(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NameBi"), DISPID(163));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_FontDispT<T>::get_NameBi(void)
{
  BSTR prop;
  this->get_NameBi((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_NameBi(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NameBi"), DISPID(163));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_ColorIndexBi(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColorIndexBi"), DISPID(164));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
_FontDispT<T>::get_ColorIndexBi(void)
{
  Word_xp::WdColorIndex prop;
  this->get_ColorIndexBi((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_ColorIndexBi(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColorIndexBi"), DISPID(164));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_DiacriticColor(Word_xp::WdColor* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DiacriticColor"), DISPID(165));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColor __fastcall
_FontDispT<T>::get_DiacriticColor(void)
{
  Word_xp::WdColor prop;
  this->get_DiacriticColor((Word_xp::WdColor*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_DiacriticColor(Word_xp::WdColor prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DiacriticColor"), DISPID(165));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_FontDispT<T>::get_UnderlineColor(Word_xp::WdColor* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UnderlineColor"), DISPID(166));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColor __fastcall
_FontDispT<T>::get_UnderlineColor(void)
{
  Word_xp::WdColor prop;
  this->get_UnderlineColor((Word_xp::WdColor*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_FontDispT<T>::set_UnderlineColor(Word_xp::WdColor prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UnderlineColor"), DISPID(166));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Table
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020951-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TableDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
TableDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TableDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TableDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_Columns(Word_xp::Columns** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Columns"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Columns**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColumnsPtr __fastcall
TableDispT<T>::get_Columns(void)
{
  Word_xp::ColumnsPtr prop;
  this->get_Columns(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_Rows(Word_xp::Rows** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Rows"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Rows**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RowsPtr __fastcall
TableDispT<T>::get_Rows(void)
{
  Word_xp::RowsPtr prop;
  this->get_Rows(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
TableDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
TableDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_Uniform(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Uniform"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableDispT<T>::get_Uniform(void)
{
  VARIANT_BOOL prop;
  this->get_Uniform((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_AutoFormatType(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatType"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableDispT<T>::get_AutoFormatType(void)
{
  long prop;
  this->get_AutoFormatType((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(200));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TableDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(9));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TableDispT<T>::SortOld(VARIANT* ExcludeHeader/*[in,opt]*/, VARIANT* FieldNumber/*[in,opt]*/, 
                       VARIANT* SortFieldType/*[in,opt]*/, VARIANT* SortOrder/*[in,opt]*/, 
                       VARIANT* FieldNumber2/*[in,opt]*/, VARIANT* SortFieldType2/*[in,opt]*/, 
                       VARIANT* SortOrder2/*[in,opt]*/, VARIANT* FieldNumber3/*[in,opt]*/, 
                       VARIANT* SortFieldType3/*[in,opt]*/, VARIANT* SortOrder3/*[in,opt]*/, 
                       VARIANT* CaseSensitive/*[in,opt]*/, VARIANT* LanguageID/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SortOld"), DISPID(10));
  TAutoArgs<12> _args;
  _args[1] = ExcludeHeader /*[VT_VARIANT:1]*/;
  _args[2] = FieldNumber /*[VT_VARIANT:1]*/;
  _args[3] = SortFieldType /*[VT_VARIANT:1]*/;
  _args[4] = SortOrder /*[VT_VARIANT:1]*/;
  _args[5] = FieldNumber2 /*[VT_VARIANT:1]*/;
  _args[6] = SortFieldType2 /*[VT_VARIANT:1]*/;
  _args[7] = SortOrder2 /*[VT_VARIANT:1]*/;
  _args[8] = FieldNumber3 /*[VT_VARIANT:1]*/;
  _args[9] = SortFieldType3 /*[VT_VARIANT:1]*/;
  _args[10] = SortOrder3 /*[VT_VARIANT:1]*/;
  _args[11] = CaseSensitive /*[VT_VARIANT:1]*/;
  _args[12] = LanguageID /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::SortAscending()
{
  _TDispID _dispid(*this, OLETEXT("SortAscending"), DISPID(12));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TableDispT<T>::SortDescending()
{
  _TDispID _dispid(*this, OLETEXT("SortDescending"), DISPID(13));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TableDispT<T>::AutoFormat(VARIANT* Format/*[in,opt]*/, VARIANT* ApplyBorders/*[in,opt]*/, 
                          VARIANT* ApplyShading/*[in,opt]*/, VARIANT* ApplyFont/*[in,opt]*/, 
                          VARIANT* ApplyColor/*[in,opt]*/, VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                          VARIANT* ApplyLastRow/*[in,opt]*/, VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                          VARIANT* ApplyLastColumn/*[in,opt]*/, VARIANT* AutoFit/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormat"), DISPID(14));
  TAutoArgs<10> _args;
  _args[1] = Format /*[VT_VARIANT:1]*/;
  _args[2] = ApplyBorders /*[VT_VARIANT:1]*/;
  _args[3] = ApplyShading /*[VT_VARIANT:1]*/;
  _args[4] = ApplyFont /*[VT_VARIANT:1]*/;
  _args[5] = ApplyColor /*[VT_VARIANT:1]*/;
  _args[6] = ApplyHeadingRows /*[VT_VARIANT:1]*/;
  _args[7] = ApplyLastRow /*[VT_VARIANT:1]*/;
  _args[8] = ApplyFirstColumn /*[VT_VARIANT:1]*/;
  _args[9] = ApplyLastColumn /*[VT_VARIANT:1]*/;
  _args[10] = AutoFit /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::UpdateAutoFormat()
{
  _TDispID _dispid(*this, OLETEXT("UpdateAutoFormat"), DISPID(15));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TableDispT<T>::ConvertToTextOld(VARIANT* Separator/*[in,opt]*/, 
                                Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToTextOld"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = Separator /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
TableDispT<T>::ConvertToTextOld(VARIANT* Separator/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->ConvertToTextOld(Separator, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::Cell(long Row/*[in]*/, long Column/*[in]*/, Word_xp::Cell** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Cell"), DISPID(17));
  TAutoArgs<2> _args;
  _args[1] = Row /*[VT_I4:0]*/;
  _args[2] = Column /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Cell**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Cell* __fastcall
TableDispT<T>::Cell(long Row/*[in]*/, long Column/*[in]*/)
{
  Word_xp::Cell* prop;
  this->Cell(Row, Column, (Word_xp::Cell**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::Split(VARIANT* BeforeRow/*[in]*/, Word_xp::Table** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Split"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = BeforeRow /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Table**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Table* __fastcall
TableDispT<T>::Split(VARIANT* BeforeRow/*[in]*/)
{
  Word_xp::Table* prop;
  this->Split(BeforeRow, (Word_xp::Table**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::ConvertToText(VARIANT* Separator/*[in,opt]*/, VARIANT* NestedTables/*[in,opt]*/, 
                             Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToText"), DISPID(19));
  TAutoArgs<2> _args;
  _args[1] = Separator /*[VT_VARIANT:1]*/;
  _args[2] = NestedTables /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
TableDispT<T>::ConvertToText(VARIANT* Separator/*[in,opt]*/, VARIANT* NestedTables/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->ConvertToText(Separator, NestedTables, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::AutoFitBehavior(Word_xp::WdAutoFitBehavior Behavior/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFitBehavior"), DISPID(20));
  TAutoArgs<1> _args;
  _args[1] = (int)Behavior /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::Sort(VARIANT* ExcludeHeader/*[in,opt]*/, VARIANT* FieldNumber/*[in,opt]*/, 
                    VARIANT* SortFieldType/*[in,opt]*/, VARIANT* SortOrder/*[in,opt]*/, 
                    VARIANT* FieldNumber2/*[in,opt]*/, VARIANT* SortFieldType2/*[in,opt]*/, 
                    VARIANT* SortOrder2/*[in,opt]*/, VARIANT* FieldNumber3/*[in,opt]*/, 
                    VARIANT* SortFieldType3/*[in,opt]*/, VARIANT* SortOrder3/*[in,opt]*/, 
                    VARIANT* CaseSensitive/*[in,opt]*/, VARIANT* BidiSort/*[in,opt]*/, 
                    VARIANT* IgnoreThe/*[in,opt]*/, VARIANT* IgnoreKashida/*[in,opt]*/, 
                    VARIANT* IgnoreDiacritics/*[in,opt]*/, VARIANT* IgnoreHe/*[in,opt]*/, 
                    VARIANT* LanguageID/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Sort"), DISPID(23));
  TAutoArgs<17> _args;
  _args[1] = ExcludeHeader /*[VT_VARIANT:1]*/;
  _args[2] = FieldNumber /*[VT_VARIANT:1]*/;
  _args[3] = SortFieldType /*[VT_VARIANT:1]*/;
  _args[4] = SortOrder /*[VT_VARIANT:1]*/;
  _args[5] = FieldNumber2 /*[VT_VARIANT:1]*/;
  _args[6] = SortFieldType2 /*[VT_VARIANT:1]*/;
  _args[7] = SortOrder2 /*[VT_VARIANT:1]*/;
  _args[8] = FieldNumber3 /*[VT_VARIANT:1]*/;
  _args[9] = SortFieldType3 /*[VT_VARIANT:1]*/;
  _args[10] = SortOrder3 /*[VT_VARIANT:1]*/;
  _args[11] = CaseSensitive /*[VT_VARIANT:1]*/;
  _args[12] = BidiSort /*[VT_VARIANT:1]*/;
  _args[13] = IgnoreThe /*[VT_VARIANT:1]*/;
  _args[14] = IgnoreKashida /*[VT_VARIANT:1]*/;
  _args[15] = IgnoreDiacritics /*[VT_VARIANT:1]*/;
  _args[16] = IgnoreHe /*[VT_VARIANT:1]*/;
  _args[17] = LanguageID /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_Tables(Word_xp::Tables** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Tables"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Tables**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TablesPtr __fastcall
TableDispT<T>::get_Tables(void)
{
  Word_xp::TablesPtr prop;
  this->get_Tables(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_NestingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NestingLevel"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableDispT<T>::get_NestingLevel(void)
{
  long prop;
  this->get_NestingLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_AllowPageBreaks(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowPageBreaks"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableDispT<T>::get_AllowPageBreaks(void)
{
  VARIANT_BOOL prop;
  this->get_AllowPageBreaks((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_AllowPageBreaks(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowPageBreaks"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_AllowAutoFit(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowAutoFit"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableDispT<T>::get_AllowAutoFit(void)
{
  VARIANT_BOOL prop;
  this->get_AllowAutoFit((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_AllowAutoFit(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowAutoFit"), DISPID(110));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_PreferredWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidth"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TableDispT<T>::get_PreferredWidth(void)
{
  float prop;
  this->get_PreferredWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_PreferredWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidth"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidthType"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPreferredWidthType __fastcall
TableDispT<T>::get_PreferredWidthType(void)
{
  Word_xp::WdPreferredWidthType prop;
  this->get_PreferredWidthType((Word_xp::WdPreferredWidthType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidthType"), DISPID(112));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_TopPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopPadding"), DISPID(113));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TableDispT<T>::get_TopPadding(void)
{
  float prop;
  this->get_TopPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_TopPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopPadding"), DISPID(113));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_BottomPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BottomPadding"), DISPID(114));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TableDispT<T>::get_BottomPadding(void)
{
  float prop;
  this->get_BottomPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_BottomPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BottomPadding"), DISPID(114));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_LeftPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftPadding"), DISPID(115));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TableDispT<T>::get_LeftPadding(void)
{
  float prop;
  this->get_LeftPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_LeftPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftPadding"), DISPID(115));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_RightPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightPadding"), DISPID(116));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TableDispT<T>::get_RightPadding(void)
{
  float prop;
  this->get_RightPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_RightPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightPadding"), DISPID(116));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_Spacing(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Spacing"), DISPID(117));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TableDispT<T>::get_Spacing(void)
{
  float prop;
  this->get_Spacing((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_Spacing(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Spacing"), DISPID(117));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_TableDirection(Word_xp::WdTableDirection* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableDirection"), DISPID(118));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTableDirection __fastcall
TableDispT<T>::get_TableDirection(void)
{
  Word_xp::WdTableDirection prop;
  this->get_TableDirection((Word_xp::WdTableDirection*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_TableDirection(Word_xp::WdTableDirection prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableDirection"), DISPID(118));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_ID(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(119));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TableDispT<T>::get_ID(void)
{
  BSTR prop;
  this->get_ID((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_ID(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(119));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_Style(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(201));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
TableDispT<T>::get_Style(void)
{
  VARIANT prop;
  this->get_Style((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_Style(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(201));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_ApplyStyleHeadingRows(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyStyleHeadingRows"), DISPID(202));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableDispT<T>::get_ApplyStyleHeadingRows(void)
{
  VARIANT_BOOL prop;
  this->get_ApplyStyleHeadingRows((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_ApplyStyleHeadingRows(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyStyleHeadingRows"), DISPID(202));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_ApplyStyleLastRow(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyStyleLastRow"), DISPID(203));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableDispT<T>::get_ApplyStyleLastRow(void)
{
  VARIANT_BOOL prop;
  this->get_ApplyStyleLastRow((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_ApplyStyleLastRow(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyStyleLastRow"), DISPID(203));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_ApplyStyleFirstColumn(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyStyleFirstColumn"), DISPID(204));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableDispT<T>::get_ApplyStyleFirstColumn(void)
{
  VARIANT_BOOL prop;
  this->get_ApplyStyleFirstColumn((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_ApplyStyleFirstColumn(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyStyleFirstColumn"), DISPID(204));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableDispT<T>::get_ApplyStyleLastColumn(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyStyleLastColumn"), DISPID(205));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableDispT<T>::get_ApplyStyleLastColumn(void)
{
  VARIANT_BOOL prop;
  this->get_ApplyStyleLastColumn((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableDispT<T>::set_ApplyStyleLastColumn(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyStyleLastColumn"), DISPID(205));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Row
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020950-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
RowDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
RowDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
RowDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RowDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
RowDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_AllowBreakAcrossPages(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowBreakAcrossPages"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RowDispT<T>::get_AllowBreakAcrossPages(void)
{
  long prop;
  this->get_AllowBreakAcrossPages((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::set_AllowBreakAcrossPages(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowBreakAcrossPages"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_Alignment(Word_xp::WdRowAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRowAlignment __fastcall
RowDispT<T>::get_Alignment(void)
{
  Word_xp::WdRowAlignment prop;
  this->get_Alignment((Word_xp::WdRowAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::set_Alignment(Word_xp::WdRowAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_HeadingFormat(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeadingFormat"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RowDispT<T>::get_HeadingFormat(void)
{
  long prop;
  this->get_HeadingFormat((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::set_HeadingFormat(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeadingFormat"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_SpaceBetweenColumns(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBetweenColumns"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
RowDispT<T>::get_SpaceBetweenColumns(void)
{
  float prop;
  this->get_SpaceBetweenColumns((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::set_SpaceBetweenColumns(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBetweenColumns"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_Height(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
RowDispT<T>::get_Height(void)
{
  float prop;
  this->get_Height((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::set_Height(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_HeightRule(Word_xp::WdRowHeightRule* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeightRule"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRowHeightRule __fastcall
RowDispT<T>::get_HeightRule(void)
{
  Word_xp::WdRowHeightRule prop;
  this->get_HeightRule((Word_xp::WdRowHeightRule*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::set_HeightRule(Word_xp::WdRowHeightRule prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeightRule"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_LeftIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
RowDispT<T>::get_LeftIndent(void)
{
  float prop;
  this->get_LeftIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::set_LeftIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_IsLast(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsLast"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
RowDispT<T>::get_IsLast(void)
{
  VARIANT_BOOL prop;
  this->get_IsLast((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_IsFirst(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsFirst"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
RowDispT<T>::get_IsFirst(void)
{
  VARIANT_BOOL prop;
  this->get_IsFirst((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RowDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_Cells(Word_xp::Cells** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Cells"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Cells**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CellsPtr __fastcall
RowDispT<T>::get_Cells(void)
{
  Word_xp::CellsPtr prop;
  this->get_Cells(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
RowDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
RowDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_Next(Word_xp::Row** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Row**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RowPtr __fastcall
RowDispT<T>::get_Next(void)
{
  Word_xp::RowPtr prop;
  this->get_Next(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_Previous(Word_xp::Row** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Row**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RowPtr __fastcall
RowDispT<T>::get_Previous(void)
{
  Word_xp::RowPtr prop;
  this->get_Previous(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
RowDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(200));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
RowDispT<T>::SetLeftIndent(float LeftIndent/*[in]*/, Word_xp::WdRulerStyle RulerStyle/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetLeftIndent"), DISPID(202));
  TAutoArgs<2> _args;
  _args[1] = LeftIndent /*[VT_R4:0]*/;
  _args[2] = (int)RulerStyle /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowDispT<T>::SetHeight(float RowHeight/*[in]*/, Word_xp::WdRowHeightRule HeightRule/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetHeight"), DISPID(203));
  TAutoArgs<2> _args;
  _args[1] = RowHeight /*[VT_R4:0]*/;
  _args[2] = (int)HeightRule /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowDispT<T>::ConvertToTextOld(VARIANT* Separator/*[in,opt]*/, 
                              Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToTextOld"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = Separator /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
RowDispT<T>::ConvertToTextOld(VARIANT* Separator/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->ConvertToTextOld(Separator, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::ConvertToText(VARIANT* Separator/*[in,opt]*/, VARIANT* NestedTables/*[in,opt]*/, 
                           Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToText"), DISPID(18));
  TAutoArgs<2> _args;
  _args[1] = Separator /*[VT_VARIANT:1]*/;
  _args[2] = NestedTables /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
RowDispT<T>::ConvertToText(VARIANT* Separator/*[in,opt]*/, VARIANT* NestedTables/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->ConvertToText(Separator, NestedTables, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_NestingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NestingLevel"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RowDispT<T>::get_NestingLevel(void)
{
  long prop;
  this->get_NestingLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::get_ID(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
RowDispT<T>::get_ID(void)
{
  BSTR prop;
  this->get_ID((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowDispT<T>::set_ID(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Column
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094F-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ColumnDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ColumnDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColumnDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ColumnDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_Width(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ColumnDispT<T>::get_Width(void)
{
  float prop;
  this->get_Width((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::set_Width(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_IsFirst(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsFirst"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ColumnDispT<T>::get_IsFirst(void)
{
  VARIANT_BOOL prop;
  this->get_IsFirst((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_IsLast(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsLast"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ColumnDispT<T>::get_IsLast(void)
{
  VARIANT_BOOL prop;
  this->get_IsLast((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColumnDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_Cells(Word_xp::Cells** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Cells"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Cells**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CellsPtr __fastcall
ColumnDispT<T>::get_Cells(void)
{
  Word_xp::CellsPtr prop;
  this->get_Cells(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
ColumnDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
ColumnDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_Next(Word_xp::Column** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Column**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColumnPtr __fastcall
ColumnDispT<T>::get_Next(void)
{
  Word_xp::ColumnPtr prop;
  this->get_Next(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_Previous(Word_xp::Column** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Column**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColumnPtr __fastcall
ColumnDispT<T>::get_Previous(void)
{
  Word_xp::ColumnPtr prop;
  this->get_Previous(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(200));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::SetWidth(float ColumnWidth/*[in]*/, Word_xp::WdRulerStyle RulerStyle/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetWidth"), DISPID(201));
  TAutoArgs<2> _args;
  _args[1] = ColumnWidth /*[VT_R4:0]*/;
  _args[2] = (int)RulerStyle /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::AutoFit()
{
  _TDispID _dispid(*this, OLETEXT("AutoFit"), DISPID(202));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::SortOld(VARIANT* ExcludeHeader/*[in,opt]*/, VARIANT* SortFieldType/*[in,opt]*/, 
                        VARIANT* SortOrder/*[in,opt]*/, VARIANT* CaseSensitive/*[in,opt]*/, 
                        VARIANT* LanguageID/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SortOld"), DISPID(203));
  TAutoArgs<5> _args;
  _args[1] = ExcludeHeader /*[VT_VARIANT:1]*/;
  _args[2] = SortFieldType /*[VT_VARIANT:1]*/;
  _args[3] = SortOrder /*[VT_VARIANT:1]*/;
  _args[4] = CaseSensitive /*[VT_VARIANT:1]*/;
  _args[5] = LanguageID /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::Sort(VARIANT* ExcludeHeader/*[in,opt]*/, VARIANT* SortFieldType/*[in,opt]*/, 
                     VARIANT* SortOrder/*[in,opt]*/, VARIANT* CaseSensitive/*[in,opt]*/, 
                     VARIANT* BidiSort/*[in,opt]*/, VARIANT* IgnoreThe/*[in,opt]*/, 
                     VARIANT* IgnoreKashida/*[in,opt]*/, VARIANT* IgnoreDiacritics/*[in,opt]*/, 
                     VARIANT* IgnoreHe/*[in,opt]*/, VARIANT* LanguageID/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Sort"), DISPID(204));
  TAutoArgs<10> _args;
  _args[1] = ExcludeHeader /*[VT_VARIANT:1]*/;
  _args[2] = SortFieldType /*[VT_VARIANT:1]*/;
  _args[3] = SortOrder /*[VT_VARIANT:1]*/;
  _args[4] = CaseSensitive /*[VT_VARIANT:1]*/;
  _args[5] = BidiSort /*[VT_VARIANT:1]*/;
  _args[6] = IgnoreThe /*[VT_VARIANT:1]*/;
  _args[7] = IgnoreKashida /*[VT_VARIANT:1]*/;
  _args[8] = IgnoreDiacritics /*[VT_VARIANT:1]*/;
  _args[9] = IgnoreHe /*[VT_VARIANT:1]*/;
  _args[10] = LanguageID /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_NestingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NestingLevel"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColumnDispT<T>::get_NestingLevel(void)
{
  long prop;
  this->get_NestingLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_PreferredWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidth"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ColumnDispT<T>::get_PreferredWidth(void)
{
  float prop;
  this->get_PreferredWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::set_PreferredWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidth"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidthType"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPreferredWidthType __fastcall
ColumnDispT<T>::get_PreferredWidthType(void)
{
  Word_xp::WdPreferredWidthType prop;
  this->get_PreferredWidthType((Word_xp::WdPreferredWidthType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnDispT<T>::set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidthType"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Cell
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094E-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
CellDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
CellDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CellDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CellDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CellDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_RowIndex(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RowIndex"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CellDispT<T>::get_RowIndex(void)
{
  long prop;
  this->get_RowIndex((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_ColumnIndex(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColumnIndex"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CellDispT<T>::get_ColumnIndex(void)
{
  long prop;
  this->get_ColumnIndex((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_Width(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CellDispT<T>::get_Width(void)
{
  float prop;
  this->get_Width((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_Width(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_Height(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CellDispT<T>::get_Height(void)
{
  float prop;
  this->get_Height((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_Height(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_HeightRule(Word_xp::WdRowHeightRule* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeightRule"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRowHeightRule __fastcall
CellDispT<T>::get_HeightRule(void)
{
  Word_xp::WdRowHeightRule prop;
  this->get_HeightRule((Word_xp::WdRowHeightRule*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_HeightRule(Word_xp::WdRowHeightRule prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeightRule"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_VerticalAlignment(Word_xp::WdCellVerticalAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalAlignment"), DISPID(1104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdCellVerticalAlignment __fastcall
CellDispT<T>::get_VerticalAlignment(void)
{
  Word_xp::WdCellVerticalAlignment prop;
  this->get_VerticalAlignment((Word_xp::WdCellVerticalAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_VerticalAlignment(Word_xp::WdCellVerticalAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalAlignment"), DISPID(1104));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_Column(Word_xp::Column** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Column"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Column**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColumnPtr __fastcall
CellDispT<T>::get_Column(void)
{
  Word_xp::ColumnPtr prop;
  this->get_Column(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_Row(Word_xp::Row** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Row"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Row**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RowPtr __fastcall
CellDispT<T>::get_Row(void)
{
  Word_xp::RowPtr prop;
  this->get_Row(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_Next(Word_xp::Cell** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Cell**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CellPtr __fastcall
CellDispT<T>::get_Next(void)
{
  Word_xp::CellPtr prop;
  this->get_Next(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_Previous(Word_xp::Cell** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Cell**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CellPtr __fastcall
CellDispT<T>::get_Previous(void)
{
  Word_xp::CellPtr prop;
  this->get_Previous(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
CellDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
CellDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
CellDispT<T>::Delete(VARIANT* ShiftCells/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(200));
  TAutoArgs<1> _args;
  _args[1] = ShiftCells /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::Formula(VARIANT* Formula/*[in,opt]*/, VARIANT* NumFormat/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Formula"), DISPID(201));
  TAutoArgs<2> _args;
  _args[1] = Formula /*[VT_VARIANT:1]*/;
  _args[2] = NumFormat /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::SetWidth(float ColumnWidth/*[in]*/, Word_xp::WdRulerStyle RulerStyle/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetWidth"), DISPID(202));
  TAutoArgs<2> _args;
  _args[1] = ColumnWidth /*[VT_R4:0]*/;
  _args[2] = (int)RulerStyle /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::SetHeight(VARIANT* RowHeight/*[in]*/, Word_xp::WdRowHeightRule HeightRule/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetHeight"), DISPID(203));
  TAutoArgs<2> _args;
  _args[1] = RowHeight /*[VT_VARIANT:1]*/;
  _args[2] = (int)HeightRule /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::Merge(Word_xp::Cell* MergeTo/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Merge"), DISPID(204));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Cell*)MergeTo /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::Split(VARIANT* NumRows/*[in,opt]*/, VARIANT* NumColumns/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Split"), DISPID(205));
  TAutoArgs<2> _args;
  _args[1] = NumRows /*[VT_VARIANT:1]*/;
  _args[2] = NumColumns /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::AutoSum()
{
  _TDispID _dispid(*this, OLETEXT("AutoSum"), DISPID(206));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_Tables(Word_xp::Tables** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Tables"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Tables**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TablesPtr __fastcall
CellDispT<T>::get_Tables(void)
{
  Word_xp::TablesPtr prop;
  this->get_Tables(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_NestingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NestingLevel"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CellDispT<T>::get_NestingLevel(void)
{
  long prop;
  this->get_NestingLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_WordWrap(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WordWrap"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
CellDispT<T>::get_WordWrap(void)
{
  VARIANT_BOOL prop;
  this->get_WordWrap((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_WordWrap(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WordWrap"), DISPID(108));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_PreferredWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidth"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CellDispT<T>::get_PreferredWidth(void)
{
  float prop;
  this->get_PreferredWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_PreferredWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidth"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_FitText(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FitText"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
CellDispT<T>::get_FitText(void)
{
  VARIANT_BOOL prop;
  this->get_FitText((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_FitText(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FitText"), DISPID(110));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_TopPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopPadding"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CellDispT<T>::get_TopPadding(void)
{
  float prop;
  this->get_TopPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_TopPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopPadding"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_BottomPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BottomPadding"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CellDispT<T>::get_BottomPadding(void)
{
  float prop;
  this->get_BottomPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_BottomPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BottomPadding"), DISPID(112));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_LeftPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftPadding"), DISPID(113));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CellDispT<T>::get_LeftPadding(void)
{
  float prop;
  this->get_LeftPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_LeftPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftPadding"), DISPID(113));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_RightPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightPadding"), DISPID(114));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CellDispT<T>::get_RightPadding(void)
{
  float prop;
  this->get_RightPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_RightPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightPadding"), DISPID(114));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_ID(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(115));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
CellDispT<T>::get_ID(void)
{
  BSTR prop;
  this->get_ID((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_ID(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(115));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellDispT<T>::get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidthType"), DISPID(116));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPreferredWidthType __fastcall
CellDispT<T>::get_PreferredWidthType(void)
{
  Word_xp::WdPreferredWidthType prop;
  this->get_PreferredWidthType((Word_xp::WdPreferredWidthType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellDispT<T>::set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidthType"), DISPID(116));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Tables
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094D-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TablesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
TablesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TablesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TablesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TablesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TablesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesDispT<T>::Item(long Index/*[in]*/, Word_xp::Table** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Table**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Table* __fastcall
TablesDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Table* prop;
  this->Item(Index, (Word_xp::Table**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesDispT<T>::AddOld(Word_xp::WordRange* Range/*[in]*/, long NumRows/*[in]*/, 
                       long NumColumns/*[in]*/, Word_xp::Table** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddOld"), DISPID(4));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = NumRows /*[VT_I4:0]*/;
  _args[3] = NumColumns /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Table**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Table* __fastcall
TablesDispT<T>::AddOld(Word_xp::WordRange* Range/*[in]*/, long NumRows/*[in]*/, 
                       long NumColumns/*[in]*/)
{
  Word_xp::Table* prop;
  this->AddOld(Range, NumRows, NumColumns, (Word_xp::Table**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, long NumRows/*[in]*/, long NumColumns/*[in]*/
                    , VARIANT* DefaultTableBehavior/*[in,opt]*/, 
                    VARIANT* AutoFitBehavior/*[in,opt]*/, Word_xp::Table** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(200));
  TAutoArgs<5> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = NumRows /*[VT_I4:0]*/;
  _args[3] = NumColumns /*[VT_I4:0]*/;
  _args[4] = DefaultTableBehavior /*[VT_VARIANT:1]*/;
  _args[5] = AutoFitBehavior /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Table**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Table* __fastcall
TablesDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, long NumRows/*[in]*/, long NumColumns/*[in]*/, 
                    VARIANT* DefaultTableBehavior/*[in,opt]*/, VARIANT* AutoFitBehavior/*[in,opt]*/)
{
  Word_xp::Table* prop;
  this->Add(Range, NumRows, NumColumns, DefaultTableBehavior, AutoFitBehavior, (Word_xp::Table**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesDispT<T>::get_NestingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NestingLevel"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TablesDispT<T>::get_NestingLevel(void)
{
  long prop;
  this->get_NestingLevel((long*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Rows
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094C-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
RowsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
RowsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RowsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_AllowBreakAcrossPages(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowBreakAcrossPages"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RowsDispT<T>::get_AllowBreakAcrossPages(void)
{
  long prop;
  this->get_AllowBreakAcrossPages((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_AllowBreakAcrossPages(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowBreakAcrossPages"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_Alignment(Word_xp::WdRowAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRowAlignment __fastcall
RowsDispT<T>::get_Alignment(void)
{
  Word_xp::WdRowAlignment prop;
  this->get_Alignment((Word_xp::WdRowAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_Alignment(Word_xp::WdRowAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_HeadingFormat(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeadingFormat"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RowsDispT<T>::get_HeadingFormat(void)
{
  long prop;
  this->get_HeadingFormat((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_HeadingFormat(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeadingFormat"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_SpaceBetweenColumns(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBetweenColumns"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
RowsDispT<T>::get_SpaceBetweenColumns(void)
{
  float prop;
  this->get_SpaceBetweenColumns((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_SpaceBetweenColumns(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBetweenColumns"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_Height(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
RowsDispT<T>::get_Height(void)
{
  float prop;
  this->get_Height((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_Height(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_HeightRule(Word_xp::WdRowHeightRule* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeightRule"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRowHeightRule __fastcall
RowsDispT<T>::get_HeightRule(void)
{
  Word_xp::WdRowHeightRule prop;
  this->get_HeightRule((Word_xp::WdRowHeightRule*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_HeightRule(Word_xp::WdRowHeightRule prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeightRule"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_LeftIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
RowsDispT<T>::get_LeftIndent(void)
{
  float prop;
  this->get_LeftIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_LeftIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_First(Word_xp::Row** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("First"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Row**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RowPtr __fastcall
RowsDispT<T>::get_First(void)
{
  Word_xp::RowPtr prop;
  this->get_First(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_Last(Word_xp::Row** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Last"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Row**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RowPtr __fastcall
RowsDispT<T>::get_Last(void)
{
  Word_xp::RowPtr prop;
  this->get_Last(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
RowsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RowsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
RowsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
RowsDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
RowsDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::Item(long Index/*[in]*/, Word_xp::Row** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Row**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Row* __fastcall
RowsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Row* prop;
  this->Item(Index, (Word_xp::Row**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::Add(VARIANT* BeforeRow/*[in,opt]*/, Word_xp::Row** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = BeforeRow /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Row**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Row* __fastcall
RowsDispT<T>::Add(VARIANT* BeforeRow/*[in,opt]*/)
{
  Word_xp::Row* prop;
  this->Add(BeforeRow, (Word_xp::Row**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(199));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(200));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::SetLeftIndent(float LeftIndent/*[in]*/, Word_xp::WdRulerStyle RulerStyle/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetLeftIndent"), DISPID(202));
  TAutoArgs<2> _args;
  _args[1] = LeftIndent /*[VT_R4:0]*/;
  _args[2] = (int)RulerStyle /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::SetHeight(float RowHeight/*[in]*/, Word_xp::WdRowHeightRule HeightRule/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetHeight"), DISPID(203));
  TAutoArgs<2> _args;
  _args[1] = RowHeight /*[VT_R4:0]*/;
  _args[2] = (int)HeightRule /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::ConvertToTextOld(VARIANT* Separator/*[in,opt]*/, 
                               Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToTextOld"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = Separator /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
RowsDispT<T>::ConvertToTextOld(VARIANT* Separator/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->ConvertToTextOld(Separator, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::DistributeHeight()
{
  _TDispID _dispid(*this, OLETEXT("DistributeHeight"), DISPID(206));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::ConvertToText(VARIANT* Separator/*[in,opt]*/, VARIANT* NestedTables/*[in,opt]*/, 
                            Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToText"), DISPID(210));
  TAutoArgs<2> _args;
  _args[1] = Separator /*[VT_VARIANT:1]*/;
  _args[2] = NestedTables /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
RowsDispT<T>::ConvertToText(VARIANT* Separator/*[in,opt]*/, VARIANT* NestedTables/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->ConvertToText(Separator, NestedTables, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_WrapAroundText(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WrapAroundText"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RowsDispT<T>::get_WrapAroundText(void)
{
  long prop;
  this->get_WrapAroundText((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_WrapAroundText(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WrapAroundText"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_DistanceTop(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceTop"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
RowsDispT<T>::get_DistanceTop(void)
{
  float prop;
  this->get_DistanceTop((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_DistanceTop(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceTop"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_DistanceBottom(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceBottom"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
RowsDispT<T>::get_DistanceBottom(void)
{
  float prop;
  this->get_DistanceBottom((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_DistanceBottom(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceBottom"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_DistanceLeft(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceLeft"), DISPID(20));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
RowsDispT<T>::get_DistanceLeft(void)
{
  float prop;
  this->get_DistanceLeft((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_DistanceLeft(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceLeft"), DISPID(20));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_DistanceRight(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceRight"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
RowsDispT<T>::get_DistanceRight(void)
{
  float prop;
  this->get_DistanceRight((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_DistanceRight(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceRight"), DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_HorizontalPosition(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalPosition"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
RowsDispT<T>::get_HorizontalPosition(void)
{
  float prop;
  this->get_HorizontalPosition((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_HorizontalPosition(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalPosition"), DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_VerticalPosition(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalPosition"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
RowsDispT<T>::get_VerticalPosition(void)
{
  float prop;
  this->get_VerticalPosition((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_VerticalPosition(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalPosition"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeHorizontalPosition"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRelativeHorizontalPosition __fastcall
RowsDispT<T>::get_RelativeHorizontalPosition(void)
{
  Word_xp::WdRelativeHorizontalPosition prop;
  this->get_RelativeHorizontalPosition((Word_xp::WdRelativeHorizontalPosition*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeHorizontalPosition"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeVerticalPosition"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRelativeVerticalPosition __fastcall
RowsDispT<T>::get_RelativeVerticalPosition(void)
{
  Word_xp::WdRelativeVerticalPosition prop;
  this->get_RelativeVerticalPosition((Word_xp::WdRelativeVerticalPosition*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeVerticalPosition"), DISPID(19));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_AllowOverlap(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowOverlap"), DISPID(22));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RowsDispT<T>::get_AllowOverlap(void)
{
  long prop;
  this->get_AllowOverlap((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_AllowOverlap(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowOverlap"), DISPID(22));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_NestingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NestingLevel"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RowsDispT<T>::get_NestingLevel(void)
{
  long prop;
  this->get_NestingLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::get_TableDirection(Word_xp::WdTableDirection* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableDirection"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTableDirection __fastcall
RowsDispT<T>::get_TableDirection(void)
{
  Word_xp::WdTableDirection prop;
  this->get_TableDirection((Word_xp::WdTableDirection*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RowsDispT<T>::set_TableDirection(Word_xp::WdTableDirection prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableDirection"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Columns
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094B-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ColumnsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ColumnsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColumnsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ColumnsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColumnsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ColumnsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::get_First(Word_xp::Column** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("First"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Column**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColumnPtr __fastcall
ColumnsDispT<T>::get_First(void)
{
  Word_xp::ColumnPtr prop;
  this->get_First(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::get_Last(Word_xp::Column** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Last"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Column**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColumnPtr __fastcall
ColumnsDispT<T>::get_Last(void)
{
  Word_xp::ColumnPtr prop;
  this->get_Last(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::get_Width(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ColumnsDispT<T>::get_Width(void)
{
  float prop;
  this->get_Width((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::set_Width(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
ColumnsDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
ColumnsDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::Item(long Index/*[in]*/, Word_xp::Column** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Column**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Column* __fastcall
ColumnsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Column* prop;
  this->Item(Index, (Word_xp::Column**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::Add(VARIANT* BeforeColumn/*[in,opt]*/, Word_xp::Column** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = BeforeColumn /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Column**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Column* __fastcall
ColumnsDispT<T>::Add(VARIANT* BeforeColumn/*[in,opt]*/)
{
  Word_xp::Column* prop;
  this->Add(BeforeColumn, (Word_xp::Column**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(199));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(200));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::SetWidth(float ColumnWidth/*[in]*/, Word_xp::WdRulerStyle RulerStyle/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetWidth"), DISPID(201));
  TAutoArgs<2> _args;
  _args[1] = ColumnWidth /*[VT_R4:0]*/;
  _args[2] = (int)RulerStyle /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::AutoFit()
{
  _TDispID _dispid(*this, OLETEXT("AutoFit"), DISPID(202));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::DistributeWidth()
{
  _TDispID _dispid(*this, OLETEXT("DistributeWidth"), DISPID(203));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::get_NestingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NestingLevel"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColumnsDispT<T>::get_NestingLevel(void)
{
  long prop;
  this->get_NestingLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::get_PreferredWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidth"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ColumnsDispT<T>::get_PreferredWidth(void)
{
  float prop;
  this->get_PreferredWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::set_PreferredWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidth"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidthType"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPreferredWidthType __fastcall
ColumnsDispT<T>::get_PreferredWidthType(void)
{
  Word_xp::WdPreferredWidthType prop;
  this->get_PreferredWidthType((Word_xp::WdPreferredWidthType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColumnsDispT<T>::set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidthType"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Cells
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002094A-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
CellsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
CellsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CellsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CellsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CellsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CellsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_Width(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CellsDispT<T>::get_Width(void)
{
  float prop;
  this->get_Width((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::set_Width(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_Height(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CellsDispT<T>::get_Height(void)
{
  float prop;
  this->get_Height((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::set_Height(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_HeightRule(Word_xp::WdRowHeightRule* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeightRule"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRowHeightRule __fastcall
CellsDispT<T>::get_HeightRule(void)
{
  Word_xp::WdRowHeightRule prop;
  this->get_HeightRule((Word_xp::WdRowHeightRule*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::set_HeightRule(Word_xp::WdRowHeightRule prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeightRule"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_VerticalAlignment(Word_xp::WdCellVerticalAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalAlignment"), DISPID(1104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdCellVerticalAlignment __fastcall
CellsDispT<T>::get_VerticalAlignment(void)
{
  Word_xp::WdCellVerticalAlignment prop;
  this->get_VerticalAlignment((Word_xp::WdCellVerticalAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::set_VerticalAlignment(Word_xp::WdCellVerticalAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalAlignment"), DISPID(1104));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
CellsDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
CellsDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::Item(long Index/*[in]*/, Word_xp::Cell** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Cell**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Cell* __fastcall
CellsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Cell* prop;
  this->Item(Index, (Word_xp::Cell**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::Add(VARIANT* BeforeCell/*[in,opt]*/, Word_xp::Cell** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = BeforeCell /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Cell**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Cell* __fastcall
CellsDispT<T>::Add(VARIANT* BeforeCell/*[in,opt]*/)
{
  Word_xp::Cell* prop;
  this->Add(BeforeCell, (Word_xp::Cell**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::Delete(VARIANT* ShiftCells/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(200));
  TAutoArgs<1> _args;
  _args[1] = ShiftCells /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::SetWidth(float ColumnWidth/*[in]*/, Word_xp::WdRulerStyle RulerStyle/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetWidth"), DISPID(202));
  TAutoArgs<2> _args;
  _args[1] = ColumnWidth /*[VT_R4:0]*/;
  _args[2] = (int)RulerStyle /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::SetHeight(VARIANT* RowHeight/*[in]*/, Word_xp::WdRowHeightRule HeightRule/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetHeight"), DISPID(203));
  TAutoArgs<2> _args;
  _args[1] = RowHeight /*[VT_VARIANT:1]*/;
  _args[2] = (int)HeightRule /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::Merge()
{
  _TDispID _dispid(*this, OLETEXT("Merge"), DISPID(204));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::Split(VARIANT* NumRows/*[in,opt]*/, VARIANT* NumColumns/*[in,opt]*/, 
                     VARIANT* MergeBeforeSplit/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Split"), DISPID(205));
  TAutoArgs<3> _args;
  _args[1] = NumRows /*[VT_VARIANT:1]*/;
  _args[2] = NumColumns /*[VT_VARIANT:1]*/;
  _args[3] = MergeBeforeSplit /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::DistributeHeight()
{
  _TDispID _dispid(*this, OLETEXT("DistributeHeight"), DISPID(206));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::DistributeWidth()
{
  _TDispID _dispid(*this, OLETEXT("DistributeWidth"), DISPID(207));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::AutoFit()
{
  _TDispID _dispid(*this, OLETEXT("AutoFit"), DISPID(208));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_NestingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NestingLevel"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CellsDispT<T>::get_NestingLevel(void)
{
  long prop;
  this->get_NestingLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_PreferredWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidth"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CellsDispT<T>::get_PreferredWidth(void)
{
  float prop;
  this->get_PreferredWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::set_PreferredWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidth"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CellsDispT<T>::get_PreferredWidthType(Word_xp::WdPreferredWidthType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidthType"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPreferredWidthType __fastcall
CellsDispT<T>::get_PreferredWidthType(void)
{
  Word_xp::WdPreferredWidthType prop;
  this->get_PreferredWidthType((Word_xp::WdPreferredWidthType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CellsDispT<T>::set_PreferredWidthType(Word_xp::WdPreferredWidthType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreferredWidthType"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  AutoCorrect
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020949-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
AutoCorrectDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoCorrectDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
AutoCorrectDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_CorrectDays(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectDays"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_CorrectDays(void)
{
  VARIANT_BOOL prop;
  this->get_CorrectDays((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_CorrectDays(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectDays"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_CorrectInitialCaps(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectInitialCaps"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_CorrectInitialCaps(void)
{
  VARIANT_BOOL prop;
  this->get_CorrectInitialCaps((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_CorrectInitialCaps(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectInitialCaps"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_CorrectSentenceCaps(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectSentenceCaps"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_CorrectSentenceCaps(void)
{
  VARIANT_BOOL prop;
  this->get_CorrectSentenceCaps((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_CorrectSentenceCaps(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectSentenceCaps"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_ReplaceText(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReplaceText"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_ReplaceText(void)
{
  VARIANT_BOOL prop;
  this->get_ReplaceText((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_ReplaceText(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReplaceText"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_Entries(Word_xp::AutoCorrectEntries** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Entries"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoCorrectEntries**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::AutoCorrectEntriesPtr __fastcall
AutoCorrectDispT<T>::get_Entries(void)
{
  Word_xp::AutoCorrectEntriesPtr prop;
  this->get_Entries(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_FirstLetterExceptions(Word_xp::FirstLetterExceptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstLetterExceptions"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FirstLetterExceptions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FirstLetterExceptionsPtr __fastcall
AutoCorrectDispT<T>::get_FirstLetterExceptions(void)
{
  Word_xp::FirstLetterExceptionsPtr prop;
  this->get_FirstLetterExceptions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_FirstLetterAutoAdd(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstLetterAutoAdd"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_FirstLetterAutoAdd(void)
{
  VARIANT_BOOL prop;
  this->get_FirstLetterAutoAdd((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_FirstLetterAutoAdd(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstLetterAutoAdd"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_TwoInitialCapsExceptions(Word_xp::TwoInitialCapsExceptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TwoInitialCapsExceptions"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TwoInitialCapsExceptions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TwoInitialCapsExceptionsPtr __fastcall
AutoCorrectDispT<T>::get_TwoInitialCapsExceptions(void)
{
  Word_xp::TwoInitialCapsExceptionsPtr prop;
  this->get_TwoInitialCapsExceptions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_TwoInitialCapsAutoAdd(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TwoInitialCapsAutoAdd"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_TwoInitialCapsAutoAdd(void)
{
  VARIANT_BOOL prop;
  this->get_TwoInitialCapsAutoAdd((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_TwoInitialCapsAutoAdd(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TwoInitialCapsAutoAdd"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_CorrectCapsLock(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectCapsLock"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_CorrectCapsLock(void)
{
  VARIANT_BOOL prop;
  this->get_CorrectCapsLock((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_CorrectCapsLock(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectCapsLock"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_CorrectHangulAndAlphabet(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectHangulAndAlphabet"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_CorrectHangulAndAlphabet(void)
{
  VARIANT_BOOL prop;
  this->get_CorrectHangulAndAlphabet((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_CorrectHangulAndAlphabet(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectHangulAndAlphabet"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_HangulAndAlphabetExceptions(Word_xp::HangulAndAlphabetExceptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangulAndAlphabetExceptions"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HangulAndAlphabetExceptions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HangulAndAlphabetExceptionsPtr __fastcall
AutoCorrectDispT<T>::get_HangulAndAlphabetExceptions(void)
{
  Word_xp::HangulAndAlphabetExceptionsPtr prop;
  this->get_HangulAndAlphabetExceptions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_HangulAndAlphabetAutoAdd(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangulAndAlphabetAutoAdd"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_HangulAndAlphabetAutoAdd(void)
{
  VARIANT_BOOL prop;
  this->get_HangulAndAlphabetAutoAdd((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_HangulAndAlphabetAutoAdd(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangulAndAlphabetAutoAdd"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_ReplaceTextFromSpellingChecker(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReplaceTextFromSpellingChecker"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_ReplaceTextFromSpellingChecker(void)
{
  VARIANT_BOOL prop;
  this->get_ReplaceTextFromSpellingChecker((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_ReplaceTextFromSpellingChecker(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReplaceTextFromSpellingChecker"), DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_OtherCorrectionsAutoAdd(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OtherCorrectionsAutoAdd"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_OtherCorrectionsAutoAdd(void)
{
  VARIANT_BOOL prop;
  this->get_OtherCorrectionsAutoAdd((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_OtherCorrectionsAutoAdd(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OtherCorrectionsAutoAdd"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_OtherCorrectionsExceptions(Word_xp::OtherCorrectionsExceptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OtherCorrectionsExceptions"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::OtherCorrectionsExceptions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::OtherCorrectionsExceptionsPtr __fastcall
AutoCorrectDispT<T>::get_OtherCorrectionsExceptions(void)
{
  Word_xp::OtherCorrectionsExceptionsPtr prop;
  this->get_OtherCorrectionsExceptions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_CorrectKeyboardSetting(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectKeyboardSetting"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_CorrectKeyboardSetting(void)
{
  VARIANT_BOOL prop;
  this->get_CorrectKeyboardSetting((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_CorrectKeyboardSetting(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectKeyboardSetting"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_CorrectTableCells(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectTableCells"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_CorrectTableCells(void)
{
  VARIANT_BOOL prop;
  this->get_CorrectTableCells((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_CorrectTableCells(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CorrectTableCells"), DISPID(19));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::get_DisplayAutoCorrectOptions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayAutoCorrectOptions"), DISPID(20));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectDispT<T>::get_DisplayAutoCorrectOptions(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayAutoCorrectOptions((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectDispT<T>::set_DisplayAutoCorrectOptions(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayAutoCorrectOptions"), DISPID(20));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  AutoCorrectEntries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020948-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
AutoCorrectEntriesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
AutoCorrectEntriesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntriesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoCorrectEntriesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntriesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
AutoCorrectEntriesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntriesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
AutoCorrectEntriesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntriesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoCorrectEntriesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntriesDispT<T>::Item(VARIANT* Index/*[in]*/, 
                                 Word_xp::AutoCorrectEntry** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoCorrectEntry**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::AutoCorrectEntry* __fastcall
AutoCorrectEntriesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::AutoCorrectEntry* prop;
  this->Item(Index, (Word_xp::AutoCorrectEntry**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntriesDispT<T>::Add(BSTR Name/*[in]*/, BSTR Value/*[in]*/, 
                                Word_xp::AutoCorrectEntry** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<2> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = Value /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoCorrectEntry**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::AutoCorrectEntry* __fastcall
AutoCorrectEntriesDispT<T>::Add(BSTR Name/*[in]*/, BSTR Value/*[in]*/)
{
  Word_xp::AutoCorrectEntry* prop;
  this->Add(Name, Value, (Word_xp::AutoCorrectEntry**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntriesDispT<T>::AddRichText(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/, 
                                        Word_xp::AutoCorrectEntry** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddRichText"), DISPID(102));
  TAutoArgs<2> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoCorrectEntry**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::AutoCorrectEntry* __fastcall
AutoCorrectEntriesDispT<T>::AddRichText(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/)
{
  Word_xp::AutoCorrectEntry* prop;
  this->AddRichText(Name, Range, (Word_xp::AutoCorrectEntry**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  AutoCorrectEntry
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020947-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
AutoCorrectEntryDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
AutoCorrectEntryDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntryDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoCorrectEntryDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntryDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
AutoCorrectEntryDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntryDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoCorrectEntryDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntryDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
AutoCorrectEntryDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntryDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectEntryDispT<T>::get_Value(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
AutoCorrectEntryDispT<T>::get_Value(void)
{
  BSTR prop;
  this->get_Value((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntryDispT<T>::set_Value(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCorrectEntryDispT<T>::get_RichText(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RichText"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCorrectEntryDispT<T>::get_RichText(void)
{
  VARIANT_BOOL prop;
  this->get_RichText((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCorrectEntryDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
AutoCorrectEntryDispT<T>::Apply(Word_xp::WordRange* Range/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Apply"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  FirstLetterExceptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020946-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FirstLetterExceptionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FirstLetterExceptionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FirstLetterExceptionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FirstLetterExceptionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FirstLetterExceptionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FirstLetterExceptionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FirstLetterExceptionsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
FirstLetterExceptionsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FirstLetterExceptionsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FirstLetterExceptionsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FirstLetterExceptionsDispT<T>::Item(VARIANT* Index/*[in]*/, 
                                    Word_xp::FirstLetterException** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FirstLetterException**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::FirstLetterException* __fastcall
FirstLetterExceptionsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::FirstLetterException* prop;
  this->Item(Index, (Word_xp::FirstLetterException**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FirstLetterExceptionsDispT<T>::Add(BSTR Name/*[in]*/, 
                                   Word_xp::FirstLetterException** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FirstLetterException**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::FirstLetterException* __fastcall
FirstLetterExceptionsDispT<T>::Add(BSTR Name/*[in]*/)
{
  Word_xp::FirstLetterException* prop;
  this->Add(Name, (Word_xp::FirstLetterException**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  FirstLetterException
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020945-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FirstLetterExceptionDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FirstLetterExceptionDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FirstLetterExceptionDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FirstLetterExceptionDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FirstLetterExceptionDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FirstLetterExceptionDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FirstLetterExceptionDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FirstLetterExceptionDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FirstLetterExceptionDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FirstLetterExceptionDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FirstLetterExceptionDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(101));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  TwoInitialCapsExceptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020944-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TwoInitialCapsExceptionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TwoInitialCapsExceptionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TwoInitialCapsExceptionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TwoInitialCapsExceptionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TwoInitialCapsExceptionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TwoInitialCapsExceptionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TwoInitialCapsExceptionsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
TwoInitialCapsExceptionsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TwoInitialCapsExceptionsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TwoInitialCapsExceptionsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TwoInitialCapsExceptionsDispT<T>::Item(VARIANT* Index/*[in]*/, 
                                       Word_xp::TwoInitialCapsException** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TwoInitialCapsException**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TwoInitialCapsException* __fastcall
TwoInitialCapsExceptionsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::TwoInitialCapsException* prop;
  this->Item(Index, (Word_xp::TwoInitialCapsException**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TwoInitialCapsExceptionsDispT<T>::Add(BSTR Name/*[in]*/, 
                                      Word_xp::TwoInitialCapsException** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TwoInitialCapsException**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TwoInitialCapsException* __fastcall
TwoInitialCapsExceptionsDispT<T>::Add(BSTR Name/*[in]*/)
{
  Word_xp::TwoInitialCapsException* prop;
  this->Add(Name, (Word_xp::TwoInitialCapsException**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  TwoInitialCapsException
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020943-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TwoInitialCapsExceptionDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TwoInitialCapsExceptionDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TwoInitialCapsExceptionDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TwoInitialCapsExceptionDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TwoInitialCapsExceptionDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TwoInitialCapsExceptionDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TwoInitialCapsExceptionDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TwoInitialCapsExceptionDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TwoInitialCapsExceptionDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TwoInitialCapsExceptionDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TwoInitialCapsExceptionDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(101));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Footnotes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020942-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FootnotesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
FootnotesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FootnotesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FootnotesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FootnotesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FootnotesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::get_Location(Word_xp::WdFootnoteLocation* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Location"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFootnoteLocation __fastcall
FootnotesDispT<T>::get_Location(void)
{
  Word_xp::WdFootnoteLocation prop;
  this->get_Location((Word_xp::WdFootnoteLocation*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::set_Location(Word_xp::WdFootnoteLocation prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Location"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::get_NumberStyle(Word_xp::WdNoteNumberStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdNoteNumberStyle __fastcall
FootnotesDispT<T>::get_NumberStyle(void)
{
  Word_xp::WdNoteNumberStyle prop;
  this->get_NumberStyle((Word_xp::WdNoteNumberStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::set_NumberStyle(Word_xp::WdNoteNumberStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::get_StartingNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartingNumber"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FootnotesDispT<T>::get_StartingNumber(void)
{
  long prop;
  this->get_StartingNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::set_StartingNumber(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartingNumber"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::get_NumberingRule(Word_xp::WdNumberingRule* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberingRule"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdNumberingRule __fastcall
FootnotesDispT<T>::get_NumberingRule(void)
{
  Word_xp::WdNumberingRule prop;
  this->get_NumberingRule((Word_xp::WdNumberingRule*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::set_NumberingRule(Word_xp::WdNumberingRule prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberingRule"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::get_Separator(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Separator"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
FootnotesDispT<T>::get_Separator(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Separator(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::get_ContinuationSeparator(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ContinuationSeparator"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
FootnotesDispT<T>::get_ContinuationSeparator(void)
{
  Word_xp::WordRangePtr prop;
  this->get_ContinuationSeparator(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::get_ContinuationNotice(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ContinuationNotice"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
FootnotesDispT<T>::get_ContinuationNotice(void)
{
  Word_xp::WordRangePtr prop;
  this->get_ContinuationNotice(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::Item(long Index/*[in]*/, Word_xp::Footnote** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Footnote**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Footnote* __fastcall
FootnotesDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Footnote* prop;
  this->Item(Index, (Word_xp::Footnote**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Reference/*[in,opt]*/, 
                       VARIANT* Text/*[in,opt]*/, Word_xp::Footnote** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(4));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Reference /*[VT_VARIANT:1]*/;
  _args[3] = Text /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Footnote**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Footnote* __fastcall
FootnotesDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Reference/*[in,opt]*/, 
                       VARIANT* Text/*[in,opt]*/)
{
  Word_xp::Footnote* prop;
  this->Add(Range, Reference, Text, (Word_xp::Footnote**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::Convert()
{
  _TDispID _dispid(*this, OLETEXT("Convert"), DISPID(5));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::SwapWithEndnotes()
{
  _TDispID _dispid(*this, OLETEXT("SwapWithEndnotes"), DISPID(6));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::ResetSeparator()
{
  _TDispID _dispid(*this, OLETEXT("ResetSeparator"), DISPID(7));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::ResetContinuationSeparator()
{
  _TDispID _dispid(*this, OLETEXT("ResetContinuationSeparator"), DISPID(8));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FootnotesDispT<T>::ResetContinuationNotice()
{
  _TDispID _dispid(*this, OLETEXT("ResetContinuationNotice"), DISPID(9));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Endnotes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020941-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
EndnotesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
EndnotesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EndnotesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
EndnotesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EndnotesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
EndnotesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::get_Location(Word_xp::WdEndnoteLocation* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Location"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdEndnoteLocation __fastcall
EndnotesDispT<T>::get_Location(void)
{
  Word_xp::WdEndnoteLocation prop;
  this->get_Location((Word_xp::WdEndnoteLocation*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::set_Location(Word_xp::WdEndnoteLocation prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Location"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::get_NumberStyle(Word_xp::WdNoteNumberStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdNoteNumberStyle __fastcall
EndnotesDispT<T>::get_NumberStyle(void)
{
  Word_xp::WdNoteNumberStyle prop;
  this->get_NumberStyle((Word_xp::WdNoteNumberStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::set_NumberStyle(Word_xp::WdNoteNumberStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::get_StartingNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartingNumber"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EndnotesDispT<T>::get_StartingNumber(void)
{
  long prop;
  this->get_StartingNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::set_StartingNumber(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartingNumber"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::get_NumberingRule(Word_xp::WdNumberingRule* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberingRule"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdNumberingRule __fastcall
EndnotesDispT<T>::get_NumberingRule(void)
{
  Word_xp::WdNumberingRule prop;
  this->get_NumberingRule((Word_xp::WdNumberingRule*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::set_NumberingRule(Word_xp::WdNumberingRule prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberingRule"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::get_Separator(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Separator"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
EndnotesDispT<T>::get_Separator(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Separator(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::get_ContinuationSeparator(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ContinuationSeparator"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
EndnotesDispT<T>::get_ContinuationSeparator(void)
{
  Word_xp::WordRangePtr prop;
  this->get_ContinuationSeparator(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::get_ContinuationNotice(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ContinuationNotice"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
EndnotesDispT<T>::get_ContinuationNotice(void)
{
  Word_xp::WordRangePtr prop;
  this->get_ContinuationNotice(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::Item(long Index/*[in]*/, Word_xp::Endnote** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Endnote**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Endnote* __fastcall
EndnotesDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Endnote* prop;
  this->Item(Index, (Word_xp::Endnote**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Reference/*[in,opt]*/, 
                      VARIANT* Text/*[in,opt]*/, Word_xp::Endnote** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(4));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Reference /*[VT_VARIANT:1]*/;
  _args[3] = Text /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Endnote**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Endnote* __fastcall
EndnotesDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Reference/*[in,opt]*/, 
                      VARIANT* Text/*[in,opt]*/)
{
  Word_xp::Endnote* prop;
  this->Add(Range, Reference, Text, (Word_xp::Endnote**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::Convert()
{
  _TDispID _dispid(*this, OLETEXT("Convert"), DISPID(5));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::SwapWithFootnotes()
{
  _TDispID _dispid(*this, OLETEXT("SwapWithFootnotes"), DISPID(6));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::ResetSeparator()
{
  _TDispID _dispid(*this, OLETEXT("ResetSeparator"), DISPID(7));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::ResetContinuationSeparator()
{
  _TDispID _dispid(*this, OLETEXT("ResetContinuationSeparator"), DISPID(8));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
EndnotesDispT<T>::ResetContinuationNotice()
{
  _TDispID _dispid(*this, OLETEXT("ResetContinuationNotice"), DISPID(9));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Comments
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020940-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
CommentsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
CommentsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CommentsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CommentsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CommentsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CommentsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentsDispT<T>::get_ShowBy(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowBy"), DISPID(1003));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
CommentsDispT<T>::get_ShowBy(void)
{
  BSTR prop;
  this->get_ShowBy((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentsDispT<T>::set_ShowBy(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowBy"), DISPID(1003));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CommentsDispT<T>::Item(long Index/*[in]*/, Word_xp::Comment** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Comment**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Comment* __fastcall
CommentsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Comment* prop;
  this->Item(Index, (Word_xp::Comment**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentsDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Text/*[in,opt]*/, 
                      Word_xp::Comment** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(4));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Text /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Comment**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Comment* __fastcall
CommentsDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Text/*[in,opt]*/)
{
  Word_xp::Comment* prop;
  this->Add(Range, Text, (Word_xp::Comment**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Footnote
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093F-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FootnoteDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FootnoteDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FootnoteDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FootnoteDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
FootnoteDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteDispT<T>::get_Reference(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Reference"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
FootnoteDispT<T>::get_Reference(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Reference(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FootnoteDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(10));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Endnote
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093E-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
EndnoteDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
EndnoteDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EndnoteDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
EndnoteDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
EndnoteDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteDispT<T>::get_Reference(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Reference"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
EndnoteDispT<T>::get_Reference(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Reference(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EndnoteDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(10));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Comment
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093D-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
CommentDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CommentDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CommentDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CommentDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(1003));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
CommentDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentDispT<T>::get_Reference(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Reference"), DISPID(1004));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
CommentDispT<T>::get_Reference(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Reference(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentDispT<T>::get_Scope(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Scope"), DISPID(1005));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
CommentDispT<T>::get_Scope(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Scope(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1006));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CommentDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentDispT<T>::get_Author(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Author"), DISPID(1007));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
CommentDispT<T>::get_Author(void)
{
  BSTR prop;
  this->get_Author((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentDispT<T>::set_Author(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Author"), DISPID(1007));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CommentDispT<T>::get_Initial(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Initial"), DISPID(1008));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
CommentDispT<T>::get_Initial(void)
{
  BSTR prop;
  this->get_Initial((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentDispT<T>::set_Initial(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Initial"), DISPID(1008));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CommentDispT<T>::get_ShowTip(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowTip"), DISPID(1009));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
CommentDispT<T>::get_ShowTip(void)
{
  VARIANT_BOOL prop;
  this->get_ShowTip((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CommentDispT<T>::set_ShowTip(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowTip"), DISPID(1009));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CommentDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(10));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
CommentDispT<T>::Edit()
{
  _TDispID _dispid(*this, OLETEXT("Edit"), DISPID(1011));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
CommentDispT<T>::get_Date(DATE* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Date"), DISPID(1010));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DATE:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> DATE __fastcall
CommentDispT<T>::get_Date(void)
{
  DATE prop;
  this->get_Date((DATE*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Borders
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093C-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
BordersDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
BordersDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BordersDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
BordersDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
BordersDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BordersDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_Enable(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Enable"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BordersDispT<T>::get_Enable(void)
{
  long prop;
  this->get_Enable((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_Enable(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Enable"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_DistanceFromTop(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFromTop"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BordersDispT<T>::get_DistanceFromTop(void)
{
  long prop;
  this->get_DistanceFromTop((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_DistanceFromTop(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFromTop"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_Shadow(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shadow"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BordersDispT<T>::get_Shadow(void)
{
  VARIANT_BOOL prop;
  this->get_Shadow((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_Shadow(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shadow"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_InsideLineStyle(Word_xp::WdLineStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsideLineStyle"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLineStyle __fastcall
BordersDispT<T>::get_InsideLineStyle(void)
{
  Word_xp::WdLineStyle prop;
  this->get_InsideLineStyle((Word_xp::WdLineStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_InsideLineStyle(Word_xp::WdLineStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsideLineStyle"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_OutsideLineStyle(Word_xp::WdLineStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutsideLineStyle"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLineStyle __fastcall
BordersDispT<T>::get_OutsideLineStyle(void)
{
  Word_xp::WdLineStyle prop;
  this->get_OutsideLineStyle((Word_xp::WdLineStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_OutsideLineStyle(Word_xp::WdLineStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutsideLineStyle"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_InsideLineWidth(Word_xp::WdLineWidth* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsideLineWidth"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLineWidth __fastcall
BordersDispT<T>::get_InsideLineWidth(void)
{
  Word_xp::WdLineWidth prop;
  this->get_InsideLineWidth((Word_xp::WdLineWidth*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_InsideLineWidth(Word_xp::WdLineWidth prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsideLineWidth"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_OutsideLineWidth(Word_xp::WdLineWidth* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutsideLineWidth"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLineWidth __fastcall
BordersDispT<T>::get_OutsideLineWidth(void)
{
  Word_xp::WdLineWidth prop;
  this->get_OutsideLineWidth((Word_xp::WdLineWidth*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_OutsideLineWidth(Word_xp::WdLineWidth prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutsideLineWidth"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_InsideColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsideColorIndex"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
BordersDispT<T>::get_InsideColorIndex(void)
{
  Word_xp::WdColorIndex prop;
  this->get_InsideColorIndex((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_InsideColorIndex(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsideColorIndex"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_OutsideColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutsideColorIndex"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
BordersDispT<T>::get_OutsideColorIndex(void)
{
  Word_xp::WdColorIndex prop;
  this->get_OutsideColorIndex((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_OutsideColorIndex(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutsideColorIndex"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_DistanceFromLeft(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFromLeft"), DISPID(20));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BordersDispT<T>::get_DistanceFromLeft(void)
{
  long prop;
  this->get_DistanceFromLeft((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_DistanceFromLeft(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFromLeft"), DISPID(20));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_DistanceFromBottom(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFromBottom"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BordersDispT<T>::get_DistanceFromBottom(void)
{
  long prop;
  this->get_DistanceFromBottom((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_DistanceFromBottom(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFromBottom"), DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_DistanceFromRight(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFromRight"), DISPID(22));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BordersDispT<T>::get_DistanceFromRight(void)
{
  long prop;
  this->get_DistanceFromRight((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_DistanceFromRight(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFromRight"), DISPID(22));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_AlwaysInFront(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AlwaysInFront"), DISPID(23));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BordersDispT<T>::get_AlwaysInFront(void)
{
  VARIANT_BOOL prop;
  this->get_AlwaysInFront((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_AlwaysInFront(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AlwaysInFront"), DISPID(23));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_SurroundHeader(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SurroundHeader"), DISPID(24));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BordersDispT<T>::get_SurroundHeader(void)
{
  VARIANT_BOOL prop;
  this->get_SurroundHeader((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_SurroundHeader(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SurroundHeader"), DISPID(24));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_SurroundFooter(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SurroundFooter"), DISPID(25));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BordersDispT<T>::get_SurroundFooter(void)
{
  VARIANT_BOOL prop;
  this->get_SurroundFooter((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_SurroundFooter(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SurroundFooter"), DISPID(25));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_JoinBorders(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("JoinBorders"), DISPID(26));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BordersDispT<T>::get_JoinBorders(void)
{
  VARIANT_BOOL prop;
  this->get_JoinBorders((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_JoinBorders(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("JoinBorders"), DISPID(26));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_HasHorizontal(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasHorizontal"), DISPID(27));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BordersDispT<T>::get_HasHorizontal(void)
{
  VARIANT_BOOL prop;
  this->get_HasHorizontal((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_HasVertical(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasVertical"), DISPID(28));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BordersDispT<T>::get_HasVertical(void)
{
  VARIANT_BOOL prop;
  this->get_HasVertical((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_DistanceFrom(Word_xp::WdBorderDistanceFrom* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFrom"), DISPID(29));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdBorderDistanceFrom __fastcall
BordersDispT<T>::get_DistanceFrom(void)
{
  Word_xp::WdBorderDistanceFrom prop;
  this->get_DistanceFrom((Word_xp::WdBorderDistanceFrom*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_DistanceFrom(Word_xp::WdBorderDistanceFrom prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFrom"), DISPID(29));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_EnableFirstPageInSection(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnableFirstPageInSection"), DISPID(30));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BordersDispT<T>::get_EnableFirstPageInSection(void)
{
  VARIANT_BOOL prop;
  this->get_EnableFirstPageInSection((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_EnableFirstPageInSection(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnableFirstPageInSection"), DISPID(30));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_EnableOtherPagesInSection(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnableOtherPagesInSection"), DISPID(31));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BordersDispT<T>::get_EnableOtherPagesInSection(void)
{
  VARIANT_BOOL prop;
  this->get_EnableOtherPagesInSection((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_EnableOtherPagesInSection(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnableOtherPagesInSection"), DISPID(31));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::Item(Word_xp::WdBorderType Index/*[in]*/, Word_xp::Border** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = (int)Index /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Border**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Border* __fastcall
BordersDispT<T>::Item(Word_xp::WdBorderType Index/*[in]*/)
{
  Word_xp::Border* prop;
  this->Item(Index, (Word_xp::Border**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::ApplyPageBordersToAllSections()
{
  _TDispID _dispid(*this, OLETEXT("ApplyPageBordersToAllSections"), DISPID(2000));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_InsideColor(Word_xp::WdColor* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsideColor"), DISPID(32));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColor __fastcall
BordersDispT<T>::get_InsideColor(void)
{
  Word_xp::WdColor prop;
  this->get_InsideColor((Word_xp::WdColor*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_InsideColor(Word_xp::WdColor prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsideColor"), DISPID(32));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BordersDispT<T>::get_OutsideColor(Word_xp::WdColor* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutsideColor"), DISPID(33));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColor __fastcall
BordersDispT<T>::get_OutsideColor(void)
{
  Word_xp::WdColor prop;
  this->get_OutsideColor((Word_xp::WdColor*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BordersDispT<T>::set_OutsideColor(Word_xp::WdColor prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutsideColor"), DISPID(33));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Border
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093B-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
BorderDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
BorderDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BorderDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BorderDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BorderDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
BorderDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BorderDispT<T>::get_Visible(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BorderDispT<T>::get_Visible(void)
{
  VARIANT_BOOL prop;
  this->get_Visible((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BorderDispT<T>::set_Visible(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BorderDispT<T>::get_ColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColorIndex"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
BorderDispT<T>::get_ColorIndex(void)
{
  Word_xp::WdColorIndex prop;
  this->get_ColorIndex((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BorderDispT<T>::set_ColorIndex(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColorIndex"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BorderDispT<T>::get_Inside(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Inside"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
BorderDispT<T>::get_Inside(void)
{
  VARIANT_BOOL prop;
  this->get_Inside((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BorderDispT<T>::get_LineStyle(Word_xp::WdLineStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineStyle"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLineStyle __fastcall
BorderDispT<T>::get_LineStyle(void)
{
  Word_xp::WdLineStyle prop;
  this->get_LineStyle((Word_xp::WdLineStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BorderDispT<T>::set_LineStyle(Word_xp::WdLineStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineStyle"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BorderDispT<T>::get_LineWidth(Word_xp::WdLineWidth* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineWidth"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLineWidth __fastcall
BorderDispT<T>::get_LineWidth(void)
{
  Word_xp::WdLineWidth prop;
  this->get_LineWidth((Word_xp::WdLineWidth*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BorderDispT<T>::set_LineWidth(Word_xp::WdLineWidth prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineWidth"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BorderDispT<T>::get_ArtStyle(Word_xp::WdPageBorderArt* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ArtStyle"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPageBorderArt __fastcall
BorderDispT<T>::get_ArtStyle(void)
{
  Word_xp::WdPageBorderArt prop;
  this->get_ArtStyle((Word_xp::WdPageBorderArt*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BorderDispT<T>::set_ArtStyle(Word_xp::WdPageBorderArt prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ArtStyle"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BorderDispT<T>::get_ArtWidth(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ArtWidth"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BorderDispT<T>::get_ArtWidth(void)
{
  long prop;
  this->get_ArtWidth((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BorderDispT<T>::set_ArtWidth(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ArtWidth"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BorderDispT<T>::get_Color(Word_xp::WdColor* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Color"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColor __fastcall
BorderDispT<T>::get_Color(void)
{
  Word_xp::WdColor prop;
  this->get_Color((Word_xp::WdColor*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BorderDispT<T>::set_Color(Word_xp::WdColor prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Color"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Shading
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002093A-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ShadingDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ShadingDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadingDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShadingDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadingDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ShadingDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadingDispT<T>::get_ForegroundPatternColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ForegroundPatternColorIndex"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
ShadingDispT<T>::get_ForegroundPatternColorIndex(void)
{
  Word_xp::WdColorIndex prop;
  this->get_ForegroundPatternColorIndex((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadingDispT<T>::set_ForegroundPatternColorIndex(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ForegroundPatternColorIndex"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShadingDispT<T>::get_BackgroundPatternColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BackgroundPatternColorIndex"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
ShadingDispT<T>::get_BackgroundPatternColorIndex(void)
{
  Word_xp::WdColorIndex prop;
  this->get_BackgroundPatternColorIndex((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadingDispT<T>::set_BackgroundPatternColorIndex(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BackgroundPatternColorIndex"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShadingDispT<T>::get_Texture(Word_xp::WdTextureIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Texture"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTextureIndex __fastcall
ShadingDispT<T>::get_Texture(void)
{
  Word_xp::WdTextureIndex prop;
  this->get_Texture((Word_xp::WdTextureIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadingDispT<T>::set_Texture(Word_xp::WdTextureIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Texture"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShadingDispT<T>::get_ForegroundPatternColor(Word_xp::WdColor* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ForegroundPatternColor"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColor __fastcall
ShadingDispT<T>::get_ForegroundPatternColor(void)
{
  Word_xp::WdColor prop;
  this->get_ForegroundPatternColor((Word_xp::WdColor*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadingDispT<T>::set_ForegroundPatternColor(Word_xp::WdColor prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ForegroundPatternColor"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShadingDispT<T>::get_BackgroundPatternColor(Word_xp::WdColor* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BackgroundPatternColor"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColor __fastcall
ShadingDispT<T>::get_BackgroundPatternColor(void)
{
  Word_xp::WdColor prop;
  this->get_BackgroundPatternColor((Word_xp::WdColor*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadingDispT<T>::set_BackgroundPatternColor(Word_xp::WdColor prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BackgroundPatternColor"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  TextRetrievalMode
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020939-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TextRetrievalModeDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TextRetrievalModeDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextRetrievalModeDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextRetrievalModeDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextRetrievalModeDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TextRetrievalModeDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextRetrievalModeDispT<T>::get_ViewType(Word_xp::WdViewType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ViewType"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdViewType __fastcall
TextRetrievalModeDispT<T>::get_ViewType(void)
{
  Word_xp::WdViewType prop;
  this->get_ViewType((Word_xp::WdViewType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextRetrievalModeDispT<T>::set_ViewType(Word_xp::WdViewType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ViewType"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextRetrievalModeDispT<T>::get_Duplicate(Word_xp::TextRetrievalMode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Duplicate"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextRetrievalMode**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TextRetrievalModePtr __fastcall
TextRetrievalModeDispT<T>::get_Duplicate(void)
{
  Word_xp::TextRetrievalModePtr prop;
  this->get_Duplicate(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextRetrievalModeDispT<T>::get_IncludeHiddenText(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeHiddenText"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TextRetrievalModeDispT<T>::get_IncludeHiddenText(void)
{
  VARIANT_BOOL prop;
  this->get_IncludeHiddenText((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextRetrievalModeDispT<T>::set_IncludeHiddenText(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeHiddenText"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextRetrievalModeDispT<T>::get_IncludeFieldCodes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeFieldCodes"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TextRetrievalModeDispT<T>::get_IncludeFieldCodes(void)
{
  VARIANT_BOOL prop;
  this->get_IncludeFieldCodes((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextRetrievalModeDispT<T>::set_IncludeFieldCodes(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeFieldCodes"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  AutoTextEntries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020937-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
AutoTextEntriesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
AutoTextEntriesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntriesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoTextEntriesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntriesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
AutoTextEntriesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntriesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
AutoTextEntriesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntriesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoTextEntriesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntriesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::AutoTextEntry** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoTextEntry**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::AutoTextEntry* __fastcall
AutoTextEntriesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::AutoTextEntry* prop;
  this->Item(Index, (Word_xp::AutoTextEntry**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntriesDispT<T>::Add(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/, 
                             Word_xp::AutoTextEntry** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<2> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoTextEntry**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::AutoTextEntry* __fastcall
AutoTextEntriesDispT<T>::Add(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/)
{
  Word_xp::AutoTextEntry* prop;
  this->Add(Name, Range, (Word_xp::AutoTextEntry**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntriesDispT<T>::AppendToSpike(Word_xp::WordRange* Range/*[in]*/, 
                                       Word_xp::AutoTextEntry** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AppendToSpike"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoTextEntry**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::AutoTextEntry* __fastcall
AutoTextEntriesDispT<T>::AppendToSpike(Word_xp::WordRange* Range/*[in]*/)
{
  Word_xp::AutoTextEntry* prop;
  this->AppendToSpike(Range, (Word_xp::AutoTextEntry**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  AutoTextEntry
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020936-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
AutoTextEntryDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
AutoTextEntryDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntryDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoTextEntryDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntryDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
AutoTextEntryDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntryDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoTextEntryDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntryDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
AutoTextEntryDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntryDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoTextEntryDispT<T>::get_StyleName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StyleName"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
AutoTextEntryDispT<T>::get_StyleName(void)
{
  BSTR prop;
  this->get_StyleName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntryDispT<T>::get_Value(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
AutoTextEntryDispT<T>::get_Value(void)
{
  BSTR prop;
  this->get_Value((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoTextEntryDispT<T>::set_Value(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoTextEntryDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
AutoTextEntryDispT<T>::Insert(Word_xp::WordRange* Where/*[in]*/, VARIANT* RichText/*[in,opt]*/, 
                              Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Insert"), DISPID(102));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Where /*[VT_USERDEFINED:1]*/;
  _args[2] = RichText /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
AutoTextEntryDispT<T>::Insert(Word_xp::WordRange* Where/*[in]*/, VARIANT* RichText/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->Insert(Where, RichText, (Word_xp::WordRange**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  System
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020935-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
SYSTEMDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SYSTEMDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
SYSTEMDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_OperatingSystem(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OperatingSystem"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SYSTEMDispT<T>::get_OperatingSystem(void)
{
  BSTR prop;
  this->get_OperatingSystem((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_ProcessorType(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ProcessorType"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SYSTEMDispT<T>::get_ProcessorType(void)
{
  BSTR prop;
  this->get_ProcessorType((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_Version(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Version"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SYSTEMDispT<T>::get_Version(void)
{
  BSTR prop;
  this->get_Version((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_FreeDiskSpace(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FreeDiskSpace"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SYSTEMDispT<T>::get_FreeDiskSpace(void)
{
  long prop;
  this->get_FreeDiskSpace((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_Country(Word_xp::WdCountry* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Country"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdCountry __fastcall
SYSTEMDispT<T>::get_Country(void)
{
  Word_xp::WdCountry prop;
  this->get_Country((Word_xp::WdCountry*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_LanguageDesignation(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageDesignation"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SYSTEMDispT<T>::get_LanguageDesignation(void)
{
  BSTR prop;
  this->get_LanguageDesignation((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_HorizontalResolution(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalResolution"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SYSTEMDispT<T>::get_HorizontalResolution(void)
{
  long prop;
  this->get_HorizontalResolution((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_VerticalResolution(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalResolution"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SYSTEMDispT<T>::get_VerticalResolution(void)
{
  long prop;
  this->get_VerticalResolution((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_ProfileString(BSTR Section/*[in]*/, BSTR Key/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ProfileString"), DISPID(9));
  TAutoArgs<2> _args;
  _args[1] = Section /*[VT_BSTR:0]*/;
  _args[2] = Key /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SYSTEMDispT<T>::get_ProfileString(BSTR Section/*[in]*/, BSTR Key/*[in]*/)
{
  BSTR prop;
  this->get_ProfileString(Section, Key, (BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::set_ProfileString(BSTR Section/*[in]*/, BSTR Key/*[in]*/, BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ProfileString"), DISPID(9));
  TAutoArgs<3> _args;
  _args[1] = Section /*[VT_BSTR:0]*/;
  _args[2] = Key /*[VT_BSTR:0]*/;
  _args[3] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_PrivateProfileString(BSTR FileName/*[in]*/, BSTR Section/*[in]*/, 
                                         BSTR Key/*[in]*/, BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrivateProfileString"), DISPID(10));
  TAutoArgs<3> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = Section /*[VT_BSTR:0]*/;
  _args[3] = Key /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SYSTEMDispT<T>::get_PrivateProfileString(BSTR FileName/*[in]*/, BSTR Section/*[in]*/, 
                                         BSTR Key/*[in]*/)
{
  BSTR prop;
  this->get_PrivateProfileString(FileName, Section, Key, (BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::set_PrivateProfileString(BSTR FileName/*[in]*/, BSTR Section/*[in]*/, 
                                         BSTR Key/*[in]*/, BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrivateProfileString"), DISPID(10));
  TAutoArgs<4> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = Section /*[VT_BSTR:0]*/;
  _args[3] = Key /*[VT_BSTR:0]*/;
  _args[4] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_MathCoprocessorInstalled(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MathCoprocessorInstalled"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
SYSTEMDispT<T>::get_MathCoprocessorInstalled(void)
{
  VARIANT_BOOL prop;
  this->get_MathCoprocessorInstalled((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_ComputerType(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ComputerType"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SYSTEMDispT<T>::get_ComputerType(void)
{
  BSTR prop;
  this->get_ComputerType((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_MacintoshName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MacintoshName"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SYSTEMDispT<T>::get_MacintoshName(void)
{
  BSTR prop;
  this->get_MacintoshName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_QuickDrawInstalled(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("QuickDrawInstalled"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
SYSTEMDispT<T>::get_QuickDrawInstalled(void)
{
  VARIANT_BOOL prop;
  this->get_QuickDrawInstalled((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::get_Cursor(Word_xp::WdCursorType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Cursor"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdCursorType __fastcall
SYSTEMDispT<T>::get_Cursor(void)
{
  Word_xp::WdCursorType prop;
  this->get_Cursor((Word_xp::WdCursorType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::set_Cursor(Word_xp::WdCursorType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Cursor"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::MSInfo()
{
  _TDispID _dispid(*this, OLETEXT("MSInfo"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
SYSTEMDispT<T>::Connect(BSTR Path/*[in]*/, VARIANT* Drive/*[in,opt]*/, VARIANT* Password/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Connect"), DISPID(102));
  TAutoArgs<3> _args;
  _args[1] = Path /*[VT_BSTR:0]*/;
  _args[2] = Drive /*[VT_VARIANT:1]*/;
  _args[3] = Password /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  OLEFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020933-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
OLEFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
OLEFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
OLEFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_ClassType(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ClassType"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
OLEFormatDispT<T>::get_ClassType(void)
{
  BSTR prop;
  this->get_ClassType((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::set_ClassType(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ClassType"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_DisplayAsIcon(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayAsIcon"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OLEFormatDispT<T>::get_DisplayAsIcon(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayAsIcon((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::set_DisplayAsIcon(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayAsIcon"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_IconName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IconName"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
OLEFormatDispT<T>::get_IconName(void)
{
  BSTR prop;
  this->get_IconName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::set_IconName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IconName"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_IconPath(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IconPath"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
OLEFormatDispT<T>::get_IconPath(void)
{
  BSTR prop;
  this->get_IconPath((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_IconIndex(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IconIndex"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
OLEFormatDispT<T>::get_IconIndex(void)
{
  long prop;
  this->get_IconIndex((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::set_IconIndex(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IconIndex"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_IconLabel(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IconLabel"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
OLEFormatDispT<T>::get_IconLabel(void)
{
  BSTR prop;
  this->get_IconLabel((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::set_IconLabel(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IconLabel"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_Label(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Label"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
OLEFormatDispT<T>::get_Label(void)
{
  BSTR prop;
  this->get_Label((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_Object(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Object"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
OLEFormatDispT<T>::get_Object(void)
{
  LPDISPATCH prop;
  this->get_Object((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_ProgID(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ProgID"), DISPID(22));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
OLEFormatDispT<T>::get_ProgID(void)
{
  BSTR prop;
  this->get_ProgID((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::Activate()
{
  _TDispID _dispid(*this, OLETEXT("Activate"), DISPID(104));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::Edit()
{
  _TDispID _dispid(*this, OLETEXT("Edit"), DISPID(106));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::Open()
{
  _TDispID _dispid(*this, OLETEXT("Open"), DISPID(107));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::DoVerb(VARIANT* VerbIndex/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("DoVerb"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = VerbIndex /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::ConvertTo(VARIANT* ClassType/*[in,opt]*/, VARIANT* DisplayAsIcon/*[in,opt]*/, 
                             VARIANT* IconFileName/*[in,opt]*/, VARIANT* IconIndex/*[in,opt]*/, 
                             VARIANT* IconLabel/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertTo"), DISPID(110));
  TAutoArgs<5> _args;
  _args[1] = ClassType /*[VT_VARIANT:1]*/;
  _args[2] = DisplayAsIcon /*[VT_VARIANT:1]*/;
  _args[3] = IconFileName /*[VT_VARIANT:1]*/;
  _args[4] = IconIndex /*[VT_VARIANT:1]*/;
  _args[5] = IconLabel /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::ActivateAs(BSTR ClassType/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActivateAs"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = ClassType /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::get_PreserveFormattingOnUpdate(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreserveFormattingOnUpdate"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OLEFormatDispT<T>::get_PreserveFormattingOnUpdate(void)
{
  VARIANT_BOOL prop;
  this->get_PreserveFormattingOnUpdate((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OLEFormatDispT<T>::set_PreserveFormattingOnUpdate(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreserveFormattingOnUpdate"), DISPID(112));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  LinkFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020931-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
LinkFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
LinkFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
LinkFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
LinkFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::get_AutoUpdate(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoUpdate"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
LinkFormatDispT<T>::get_AutoUpdate(void)
{
  VARIANT_BOOL prop;
  this->get_AutoUpdate((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::set_AutoUpdate(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoUpdate"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::get_SourceName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SourceName"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
LinkFormatDispT<T>::get_SourceName(void)
{
  BSTR prop;
  this->get_SourceName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::get_SourcePath(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SourcePath"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
LinkFormatDispT<T>::get_SourcePath(void)
{
  BSTR prop;
  this->get_SourcePath((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::get_Locked(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Locked"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
LinkFormatDispT<T>::get_Locked(void)
{
  VARIANT_BOOL prop;
  this->get_Locked((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::set_Locked(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Locked"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::get_Type(Word_xp::WdLinkType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLinkType __fastcall
LinkFormatDispT<T>::get_Type(void)
{
  Word_xp::WdLinkType prop;
  this->get_Type((Word_xp::WdLinkType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::get_SourceFullName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SourceFullName"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
LinkFormatDispT<T>::get_SourceFullName(void)
{
  BSTR prop;
  this->get_SourceFullName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::set_SourceFullName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SourceFullName"), DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::get_SavePictureWithDocument(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SavePictureWithDocument"), DISPID(22));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
LinkFormatDispT<T>::get_SavePictureWithDocument(void)
{
  VARIANT_BOOL prop;
  this->get_SavePictureWithDocument((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::set_SavePictureWithDocument(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SavePictureWithDocument"), DISPID(22));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::BreakLink()
{
  _TDispID _dispid(*this, OLETEXT("BreakLink"), DISPID(104));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
LinkFormatDispT<T>::_Update()
{
  _TDispID _dispid(*this, OLETEXT("Update"), DISPID(105));
  return OleFunction(_dispid);
}

// *********************************************************************//
// SmartIntf: TCOM_OLEControl
// Interface: _OLEControl
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::get_Left(float* prop/*[out,retval]*/)
{
  return (*this)->get_Left(prop);
}

template <class T> float __fastcall
TCOM_OLEControlT<T>::get_Left(void)
{
  float prop;
  OLECHECK(this->get_Left((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::set_Left(float prop/*[in]*/)
{
  return (*this)->set_Left(prop);
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::get_Top(float* prop/*[out,retval]*/)
{
  return (*this)->get_Top(prop);
}

template <class T> float __fastcall
TCOM_OLEControlT<T>::get_Top(void)
{
  float prop;
  OLECHECK(this->get_Top((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::set_Top(float prop/*[in]*/)
{
  return (*this)->set_Top(prop);
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::get_Height(float* prop/*[out,retval]*/)
{
  return (*this)->get_Height(prop);
}

template <class T> float __fastcall
TCOM_OLEControlT<T>::get_Height(void)
{
  float prop;
  OLECHECK(this->get_Height((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::set_Height(float prop/*[in]*/)
{
  return (*this)->set_Height(prop);
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::get_Width(float* prop/*[out,retval]*/)
{
  return (*this)->get_Width(prop);
}

template <class T> float __fastcall
TCOM_OLEControlT<T>::get_Width(void)
{
  float prop;
  OLECHECK(this->get_Width((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::set_Width(float prop/*[in]*/)
{
  return (*this)->set_Width(prop);
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Name(prop);
}

template <class T> BSTR __fastcall
TCOM_OLEControlT<T>::get_Name(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Name((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::set_Name(BSTR prop/*[in]*/)
{
  return (*this)->set_Name(prop);
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::get_Automation(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_Automation(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_OLEControlT<T>::get_Automation(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_Automation((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::Select(void)
{
  return (*this)->Select();
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::Copy(void)
{
  return (*this)->Copy();
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::Cut(void)
{
  return (*this)->Cut();
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::Delete(void)
{
  return (*this)->Delete();
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::Activate(void)
{
  return (*this)->Activate();
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::get_AltHTML(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_AltHTML(prop);
}

template <class T> BSTR __fastcall
TCOM_OLEControlT<T>::get_AltHTML(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_AltHTML((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_OLEControlT<T>::set_AltHTML(BSTR prop/*[in]*/)
{
  return (*this)->set_AltHTML(prop);
}

// *********************************************************************//
// DispIntf:  _OLEControl
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {000209A4-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
_OLEControlDispT<T>::get_Left(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Left"), DISPID(-2147417853));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_OLEControlDispT<T>::get_Left(void)
{
  float prop;
  this->get_Left((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::set_Left(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Left"), DISPID(-2147417853));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::get_Top(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Top"), DISPID(-2147417852));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_OLEControlDispT<T>::get_Top(void)
{
  float prop;
  this->get_Top((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::set_Top(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Top"), DISPID(-2147417852));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::get_Height(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(-2147417851));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_OLEControlDispT<T>::get_Height(void)
{
  float prop;
  this->get_Height((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::set_Height(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(-2147417851));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::get_Width(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(-2147417850));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_OLEControlDispT<T>::get_Width(void)
{
  float prop;
  this->get_Width((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::set_Width(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(-2147417850));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(-2147418112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_OLEControlDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(-2147418112));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::get_Automation(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Automation"), DISPID(-2147417849));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_OLEControlDispT<T>::get_Automation(void)
{
  LPDISPATCH prop;
  this->get_Automation((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(-2147417568));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::Copy()
{
  _TDispID _dispid(*this, OLETEXT("Copy"), DISPID(-2147417560));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::Cut()
{
  _TDispID _dispid(*this, OLETEXT("Cut"), DISPID(-2147417559));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(-2147417520));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::Activate()
{
  _TDispID _dispid(*this, OLETEXT("Activate"), DISPID(-2147417519));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::get_AltHTML(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AltHTML"), DISPID(-2147415101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_OLEControlDispT<T>::get_AltHTML(void)
{
  BSTR prop;
  this->get_AltHTML((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_OLEControlDispT<T>::set_AltHTML(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AltHTML"), DISPID(-2147415101));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Fields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020930-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FieldsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FieldsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FieldsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FieldsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FieldsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldsDispT<T>::get_Locked(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Locked"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FieldsDispT<T>::get_Locked(void)
{
  long prop;
  this->get_Locked((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldsDispT<T>::set_Locked(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Locked"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FieldsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
FieldsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldsDispT<T>::Item(long Index/*[in]*/, Word_xp::Field** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Field**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Field* __fastcall
FieldsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Field* prop;
  this->Item(Index, (Word_xp::Field**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldsDispT<T>::ToggleShowCodes()
{
  _TDispID _dispid(*this, OLETEXT("ToggleShowCodes"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FieldsDispT<T>::_Update(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Update"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
FieldsDispT<T>::_Update(void)
{
  long prop;
  this->_Update((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldsDispT<T>::Unlink()
{
  _TDispID _dispid(*this, OLETEXT("Unlink"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FieldsDispT<T>::UpdateSource()
{
  _TDispID _dispid(*this, OLETEXT("UpdateSource"), DISPID(104));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FieldsDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Type/*[in,opt]*/, 
                    VARIANT* Text/*[in,opt]*/, VARIANT* PreserveFormatting/*[in,opt]*/, 
                    Word_xp::Field** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(105));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Type /*[VT_VARIANT:1]*/;
  _args[3] = Text /*[VT_VARIANT:1]*/;
  _args[4] = PreserveFormatting /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Field**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Field* __fastcall
FieldsDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Type/*[in,opt]*/, 
                    VARIANT* Text/*[in,opt]*/, VARIANT* PreserveFormatting/*[in,opt]*/)
{
  Word_xp::Field* prop;
  this->Add(Range, Type, Text, PreserveFormatting, (Word_xp::Field**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Field
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092F-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FieldDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FieldDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FieldDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FieldDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_Code(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Code"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
FieldDispT<T>::get_Code(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Code(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::set_Code(Word_xp::WordRangePtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Code"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_Type(Word_xp::WdFieldType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFieldType __fastcall
FieldDispT<T>::get_Type(void)
{
  Word_xp::WdFieldType prop;
  this->get_Type((Word_xp::WdFieldType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_Locked(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Locked"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FieldDispT<T>::get_Locked(void)
{
  VARIANT_BOOL prop;
  this->get_Locked((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::set_Locked(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Locked"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_Kind(Word_xp::WdFieldKind* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Kind"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFieldKind __fastcall
FieldDispT<T>::get_Kind(void)
{
  Word_xp::WdFieldKind prop;
  this->get_Kind((Word_xp::WdFieldKind*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_Result(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Result"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
FieldDispT<T>::get_Result(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Result(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::set_Result(Word_xp::WordRangePtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Result"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_Data(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Data"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FieldDispT<T>::get_Data(void)
{
  BSTR prop;
  this->get_Data((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::set_Data(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Data"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_Next(Word_xp::Field** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Field**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FieldPtr __fastcall
FieldDispT<T>::get_Next(void)
{
  Word_xp::FieldPtr prop;
  this->get_Next(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_Previous(Word_xp::Field** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Field**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FieldPtr __fastcall
FieldDispT<T>::get_Previous(void)
{
  Word_xp::FieldPtr prop;
  this->get_Previous(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FieldDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_ShowCodes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowCodes"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FieldDispT<T>::get_ShowCodes(void)
{
  VARIANT_BOOL prop;
  this->get_ShowCodes((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::set_ShowCodes(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowCodes"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_LinkFormat(Word_xp::LinkFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinkFormat"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::LinkFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::LinkFormatPtr __fastcall
FieldDispT<T>::get_LinkFormat(void)
{
  Word_xp::LinkFormatPtr prop;
  this->get_LinkFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_OLEFormat(Word_xp::OLEFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OLEFormat"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::OLEFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::OLEFormatPtr __fastcall
FieldDispT<T>::get_OLEFormat(void)
{
  Word_xp::OLEFormatPtr prop;
  this->get_OLEFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::get_InlineShape(Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InlineShape"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::InlineShapePtr __fastcall
FieldDispT<T>::get_InlineShape(void)
{
  Word_xp::InlineShapePtr prop;
  this->get_InlineShape(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FieldDispT<T>::_Update(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Update"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FieldDispT<T>::_Update(void)
{
  VARIANT_BOOL prop;
  this->_Update((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FieldDispT<T>::Unlink()
{
  _TDispID _dispid(*this, OLETEXT("Unlink"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FieldDispT<T>::UpdateSource()
{
  _TDispID _dispid(*this, OLETEXT("UpdateSource"), DISPID(103));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FieldDispT<T>::DoClick()
{
  _TDispID _dispid(*this, OLETEXT("DoClick"), DISPID(104));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FieldDispT<T>::Copy()
{
  _TDispID _dispid(*this, OLETEXT("Copy"), DISPID(105));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FieldDispT<T>::Cut()
{
  _TDispID _dispid(*this, OLETEXT("Cut"), DISPID(106));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FieldDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(107));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Browser
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092E-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
BrowserDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
BrowserDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BrowserDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
BrowserDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BrowserDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
BrowserDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BrowserDispT<T>::get_Target(Word_xp::WdBrowseTarget* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Target"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdBrowseTarget __fastcall
BrowserDispT<T>::get_Target(void)
{
  Word_xp::WdBrowseTarget prop;
  this->get_Target((Word_xp::WdBrowseTarget*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
BrowserDispT<T>::set_Target(Word_xp::WdBrowseTarget prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Target"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
BrowserDispT<T>::Next()
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
BrowserDispT<T>::Previous()
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(102));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Styles
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092D-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
StylesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
StylesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StylesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
StylesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StylesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
StylesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StylesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
StylesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StylesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
StylesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StylesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Style** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Style**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Style* __fastcall
StylesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Style* prop;
  this->Item(Index, (Word_xp::Style**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StylesDispT<T>::Add(BSTR Name/*[in]*/, VARIANT* Type/*[in,opt]*/, 
                    Word_xp::Style** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(100));
  TAutoArgs<2> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = Type /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Style**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Style* __fastcall
StylesDispT<T>::Add(BSTR Name/*[in]*/, VARIANT* Type/*[in,opt]*/)
{
  Word_xp::Style* prop;
  this->Add(Name, Type, (Word_xp::Style**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Style
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092C-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
StyleDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
StyleDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
StyleDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
StyleDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_NameLocal(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NameLocal"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
StyleDispT<T>::get_NameLocal(void)
{
  BSTR prop;
  this->get_NameLocal((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_NameLocal(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NameLocal"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_BaseStyle(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BaseStyle"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
StyleDispT<T>::get_BaseStyle(void)
{
  VARIANT prop;
  this->get_BaseStyle((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_BaseStyle(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BaseStyle"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_Description(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Description"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
StyleDispT<T>::get_Description(void)
{
  BSTR prop;
  this->get_Description((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_Type(Word_xp::WdStyleType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdStyleType __fastcall
StyleDispT<T>::get_Type(void)
{
  Word_xp::WdStyleType prop;
  this->get_Type((Word_xp::WdStyleType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_BuiltIn(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BuiltIn"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
StyleDispT<T>::get_BuiltIn(void)
{
  VARIANT_BOOL prop;
  this->get_BuiltIn((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_NextParagraphStyle(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NextParagraphStyle"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
StyleDispT<T>::get_NextParagraphStyle(void)
{
  VARIANT prop;
  this->get_NextParagraphStyle((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_NextParagraphStyle(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NextParagraphStyle"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_InUse(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InUse"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
StyleDispT<T>::get_InUse(void)
{
  VARIANT_BOOL prop;
  this->get_InUse((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
StyleDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
StyleDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParagraphFormat"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordParagraphFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordParagraphFormatPtr __fastcall
StyleDispT<T>::get_ParagraphFormat(void)
{
  Word_xp::WordParagraphFormatPtr prop;
  this->get_ParagraphFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParagraphFormat"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordParagraphFormat*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_Font(Word_xp::WordFont** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordFont**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordFontPtr __fastcall
StyleDispT<T>::get_Font(void)
{
  Word_xp::WordFontPtr prop;
  this->get_Font(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_Font(Word_xp::WordFontPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordFont*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_Frame(Word_xp::Frame** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Frame"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frame**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FramePtr __fastcall
StyleDispT<T>::get_Frame(void)
{
  Word_xp::FramePtr prop;
  this->get_Frame(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
StyleDispT<T>::get_LanguageID(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageID((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_AutomaticallyUpdate(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutomaticallyUpdate"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
StyleDispT<T>::get_AutomaticallyUpdate(void)
{
  VARIANT_BOOL prop;
  this->get_AutomaticallyUpdate((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_AutomaticallyUpdate(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutomaticallyUpdate"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_ListTemplate(Word_xp::ListTemplate** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListTemplate"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListTemplate**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListTemplatePtr __fastcall
StyleDispT<T>::get_ListTemplate(void)
{
  Word_xp::ListTemplatePtr prop;
  this->get_ListTemplate(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_ListLevelNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListLevelNumber"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
StyleDispT<T>::get_ListLevelNumber(void)
{
  long prop;
  this->get_ListLevelNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDFarEast"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
StyleDispT<T>::get_LanguageIDFarEast(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageIDFarEast((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDFarEast"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_Hidden(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hidden"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
StyleDispT<T>::get_Hidden(void)
{
  VARIANT_BOOL prop;
  this->get_Hidden((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_Hidden(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hidden"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::LinkToListTemplate(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                  VARIANT* ListLevelNumber/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinkToListTemplate"), DISPID(101));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::ListTemplate*)ListTemplate /*[VT_USERDEFINED:1]*/;
  _args[2] = ListLevelNumber /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_NoProofing(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoProofing"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
StyleDispT<T>::get_NoProofing(void)
{
  long prop;
  this->get_NoProofing((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_NoProofing(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoProofing"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_LinkStyle(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinkStyle"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
StyleDispT<T>::get_LinkStyle(void)
{
  VARIANT prop;
  this->get_LinkStyle((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_LinkStyle(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinkStyle"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_Visibility(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visibility"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
StyleDispT<T>::get_Visibility(void)
{
  VARIANT_BOOL prop;
  this->get_Visibility((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_Visibility(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visibility"), DISPID(19));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_NoSpaceBetweenParagraphsOfSameStyle(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoSpaceBetweenParagraphsOfSameStyle"), DISPID(20));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
StyleDispT<T>::get_NoSpaceBetweenParagraphsOfSameStyle(void)
{
  VARIANT_BOOL prop;
  this->get_NoSpaceBetweenParagraphsOfSameStyle((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleDispT<T>::set_NoSpaceBetweenParagraphsOfSameStyle(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoSpaceBetweenParagraphsOfSameStyle"), DISPID(20));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleDispT<T>::get_Table(Word_xp::TableStyle** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Table"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TableStyle**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TableStylePtr __fastcall
StyleDispT<T>::get_Table(void)
{
  Word_xp::TableStylePtr prop;
  this->get_Table(&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Frames
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092B-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FramesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FramesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FramesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FramesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
FramesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FramesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesDispT<T>::Item(long Index/*[in]*/, Word_xp::Frame** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frame**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Frame* __fastcall
FramesDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Frame* prop;
  this->Item(Index, (Word_xp::Frame**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, Word_xp::Frame** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frame**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Frame* __fastcall
FramesDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/)
{
  Word_xp::Frame* prop;
  this->Add(Range, (Word_xp::Frame**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(101));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Frame
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002092A-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FrameDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FrameDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FrameDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FrameDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_HeightRule(Word_xp::WdFrameSizeRule* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeightRule"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFrameSizeRule __fastcall
FrameDispT<T>::get_HeightRule(void)
{
  Word_xp::WdFrameSizeRule prop;
  this->get_HeightRule((Word_xp::WdFrameSizeRule*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_HeightRule(Word_xp::WdFrameSizeRule prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeightRule"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_WidthRule(Word_xp::WdFrameSizeRule* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WidthRule"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFrameSizeRule __fastcall
FrameDispT<T>::get_WidthRule(void)
{
  Word_xp::WdFrameSizeRule prop;
  this->get_WidthRule((Word_xp::WdFrameSizeRule*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_WidthRule(Word_xp::WdFrameSizeRule prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WidthRule"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_HorizontalDistanceFromText(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalDistanceFromText"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
FrameDispT<T>::get_HorizontalDistanceFromText(void)
{
  float prop;
  this->get_HorizontalDistanceFromText((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_HorizontalDistanceFromText(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalDistanceFromText"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_Height(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
FrameDispT<T>::get_Height(void)
{
  float prop;
  this->get_Height((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_Height(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_HorizontalPosition(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalPosition"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
FrameDispT<T>::get_HorizontalPosition(void)
{
  float prop;
  this->get_HorizontalPosition((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_HorizontalPosition(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalPosition"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_LockAnchor(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LockAnchor"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FrameDispT<T>::get_LockAnchor(void)
{
  VARIANT_BOOL prop;
  this->get_LockAnchor((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_LockAnchor(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LockAnchor"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeHorizontalPosition"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRelativeHorizontalPosition __fastcall
FrameDispT<T>::get_RelativeHorizontalPosition(void)
{
  Word_xp::WdRelativeHorizontalPosition prop;
  this->get_RelativeHorizontalPosition((Word_xp::WdRelativeHorizontalPosition*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeHorizontalPosition"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeVerticalPosition"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRelativeVerticalPosition __fastcall
FrameDispT<T>::get_RelativeVerticalPosition(void)
{
  Word_xp::WdRelativeVerticalPosition prop;
  this->get_RelativeVerticalPosition((Word_xp::WdRelativeVerticalPosition*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeVerticalPosition"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_VerticalDistanceFromText(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalDistanceFromText"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
FrameDispT<T>::get_VerticalDistanceFromText(void)
{
  float prop;
  this->get_VerticalDistanceFromText((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_VerticalDistanceFromText(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalDistanceFromText"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_VerticalPosition(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalPosition"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
FrameDispT<T>::get_VerticalPosition(void)
{
  float prop;
  this->get_VerticalPosition((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_VerticalPosition(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalPosition"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_Width(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
FrameDispT<T>::get_Width(void)
{
  float prop;
  this->get_Width((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_Width(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_TextWrap(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextWrap"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FrameDispT<T>::get_TextWrap(void)
{
  VARIANT_BOOL prop;
  this->get_TextWrap((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_TextWrap(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextWrap"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
FrameDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
FrameDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
FrameDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FrameDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::Copy()
{
  _TDispID _dispid(*this, OLETEXT("Copy"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FrameDispT<T>::Cut()
{
  _TDispID _dispid(*this, OLETEXT("Cut"), DISPID(102));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  FormFields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020929-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FormFieldsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FormFieldsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FormFieldsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FormFieldsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FormFieldsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldsDispT<T>::get_Shaded(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shaded"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FormFieldsDispT<T>::get_Shaded(void)
{
  VARIANT_BOOL prop;
  this->get_Shaded((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldsDispT<T>::set_Shaded(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shaded"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FormFieldsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
FormFieldsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldsDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::FormField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FormField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::FormField* __fastcall
FormFieldsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::FormField* prop;
  this->Item(Index, (Word_xp::FormField**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldsDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, Word_xp::WdFieldType Type/*[in]*/, 
                        Word_xp::FormField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = (int)Type /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FormField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::FormField* __fastcall
FormFieldsDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, Word_xp::WdFieldType Type/*[in]*/)
{
  Word_xp::FormField* prop;
  this->Add(Range, Type, (Word_xp::FormField**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  FormField
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020928-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FormFieldDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FormFieldDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FormFieldDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_Type(Word_xp::WdFieldType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFieldType __fastcall
FormFieldDispT<T>::get_Type(void)
{
  Word_xp::WdFieldType prop;
  this->get_Type((Word_xp::WdFieldType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FormFieldDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_EntryMacro(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EntryMacro"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FormFieldDispT<T>::get_EntryMacro(void)
{
  BSTR prop;
  this->get_EntryMacro((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::set_EntryMacro(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EntryMacro"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_ExitMacro(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ExitMacro"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FormFieldDispT<T>::get_ExitMacro(void)
{
  BSTR prop;
  this->get_ExitMacro((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::set_ExitMacro(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ExitMacro"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_OwnHelp(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OwnHelp"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FormFieldDispT<T>::get_OwnHelp(void)
{
  VARIANT_BOOL prop;
  this->get_OwnHelp((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::set_OwnHelp(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OwnHelp"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_OwnStatus(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OwnStatus"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FormFieldDispT<T>::get_OwnStatus(void)
{
  VARIANT_BOOL prop;
  this->get_OwnStatus((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::set_OwnStatus(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OwnStatus"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_HelpText(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HelpText"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FormFieldDispT<T>::get_HelpText(void)
{
  BSTR prop;
  this->get_HelpText((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::set_HelpText(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HelpText"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_StatusText(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StatusText"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FormFieldDispT<T>::get_StatusText(void)
{
  BSTR prop;
  this->get_StatusText((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::set_StatusText(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StatusText"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_Enabled(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Enabled"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FormFieldDispT<T>::get_Enabled(void)
{
  VARIANT_BOOL prop;
  this->get_Enabled((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::set_Enabled(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Enabled"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_Result(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Result"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FormFieldDispT<T>::get_Result(void)
{
  BSTR prop;
  this->get_Result((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::set_Result(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Result"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_TextInput(Word_xp::TextInput** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextInput"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextInput**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TextInputPtr __fastcall
FormFieldDispT<T>::get_TextInput(void)
{
  Word_xp::TextInputPtr prop;
  this->get_TextInput(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_CheckBox(Word_xp::CheckBox** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckBox"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CheckBox**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CheckBoxPtr __fastcall
FormFieldDispT<T>::get_CheckBox(void)
{
  Word_xp::CheckBoxPtr prop;
  this->get_CheckBox(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_DropDown(Word_xp::DropDown** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DropDown"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DropDown**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DropDownPtr __fastcall
FormFieldDispT<T>::get_DropDown(void)
{
  Word_xp::DropDownPtr prop;
  this->get_DropDown(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_Next(Word_xp::FormField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FormField**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FormFieldPtr __fastcall
FormFieldDispT<T>::get_Next(void)
{
  Word_xp::FormFieldPtr prop;
  this->get_Next(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_Previous(Word_xp::FormField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FormField**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FormFieldPtr __fastcall
FormFieldDispT<T>::get_Previous(void)
{
  Word_xp::FormFieldPtr prop;
  this->get_Previous(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_CalculateOnExit(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CalculateOnExit"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FormFieldDispT<T>::get_CalculateOnExit(void)
{
  VARIANT_BOOL prop;
  this->get_CalculateOnExit((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::set_CalculateOnExit(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CalculateOnExit"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
FormFieldDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::Copy()
{
  _TDispID _dispid(*this, OLETEXT("Copy"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::Cut()
{
  _TDispID _dispid(*this, OLETEXT("Cut"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FormFieldDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(103));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  TextInput
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020927-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TextInputDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TextInputDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextInputDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextInputDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextInputDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TextInputDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextInputDispT<T>::get_Valid(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Valid"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TextInputDispT<T>::get_Valid(void)
{
  VARIANT_BOOL prop;
  this->get_Valid((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextInputDispT<T>::get_Default(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Default"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TextInputDispT<T>::get_Default(void)
{
  BSTR prop;
  this->get_Default((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextInputDispT<T>::set_Default(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Default"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextInputDispT<T>::get_Type(Word_xp::WdTextFormFieldType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTextFormFieldType __fastcall
TextInputDispT<T>::get_Type(void)
{
  Word_xp::WdTextFormFieldType prop;
  this->get_Type((Word_xp::WdTextFormFieldType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextInputDispT<T>::get_Format(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TextInputDispT<T>::get_Format(void)
{
  BSTR prop;
  this->get_Format((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextInputDispT<T>::get_Width(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextInputDispT<T>::get_Width(void)
{
  long prop;
  this->get_Width((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextInputDispT<T>::set_Width(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextInputDispT<T>::Clear()
{
  _TDispID _dispid(*this, OLETEXT("Clear"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TextInputDispT<T>::EditType(Word_xp::WdTextFormFieldType Type/*[in]*/, VARIANT* Default/*[in,opt]*/
                            , VARIANT* Format/*[in,opt]*/, VARIANT* Enabled/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("EditType"), DISPID(102));
  TAutoArgs<4> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  _args[2] = Default /*[VT_VARIANT:1]*/;
  _args[3] = Format /*[VT_VARIANT:1]*/;
  _args[4] = Enabled /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  CheckBox
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020926-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
CheckBoxDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CheckBoxDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CheckBoxDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CheckBoxDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CheckBoxDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CheckBoxDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CheckBoxDispT<T>::get_Valid(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Valid"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
CheckBoxDispT<T>::get_Valid(void)
{
  VARIANT_BOOL prop;
  this->get_Valid((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CheckBoxDispT<T>::get_AutoSize(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoSize"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
CheckBoxDispT<T>::get_AutoSize(void)
{
  VARIANT_BOOL prop;
  this->get_AutoSize((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CheckBoxDispT<T>::set_AutoSize(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoSize"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CheckBoxDispT<T>::get_Size(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Size"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CheckBoxDispT<T>::get_Size(void)
{
  float prop;
  this->get_Size((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CheckBoxDispT<T>::set_Size(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Size"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CheckBoxDispT<T>::get_Default(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Default"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
CheckBoxDispT<T>::get_Default(void)
{
  VARIANT_BOOL prop;
  this->get_Default((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CheckBoxDispT<T>::set_Default(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Default"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CheckBoxDispT<T>::get_Value(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
CheckBoxDispT<T>::get_Value(void)
{
  VARIANT_BOOL prop;
  this->get_Value((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CheckBoxDispT<T>::set_Value(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  DropDown
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020925-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
DropDownDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
DropDownDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropDownDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DropDownDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropDownDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
DropDownDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropDownDispT<T>::get_Valid(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Valid"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DropDownDispT<T>::get_Valid(void)
{
  VARIANT_BOOL prop;
  this->get_Valid((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropDownDispT<T>::get_Default(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Default"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DropDownDispT<T>::get_Default(void)
{
  long prop;
  this->get_Default((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropDownDispT<T>::set_Default(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Default"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DropDownDispT<T>::get_Value(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DropDownDispT<T>::get_Value(void)
{
  long prop;
  this->get_Value((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DropDownDispT<T>::set_Value(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DropDownDispT<T>::get_ListEntries(Word_xp::ListEntries** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListEntries"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListEntries**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListEntriesPtr __fastcall
DropDownDispT<T>::get_ListEntries(void)
{
  Word_xp::ListEntriesPtr prop;
  this->get_ListEntries(&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  ListEntries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020924-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ListEntriesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ListEntriesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListEntriesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListEntriesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListEntriesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ListEntriesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListEntriesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ListEntriesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListEntriesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListEntriesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListEntriesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::ListEntry** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListEntry**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ListEntry* __fastcall
ListEntriesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::ListEntry* prop;
  this->Item(Index, (Word_xp::ListEntry**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListEntriesDispT<T>::Add(BSTR Name/*[in]*/, VARIANT* Index/*[in,opt]*/, 
                         Word_xp::ListEntry** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<2> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListEntry**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ListEntry* __fastcall
ListEntriesDispT<T>::Add(BSTR Name/*[in]*/, VARIANT* Index/*[in,opt]*/)
{
  Word_xp::ListEntry* prop;
  this->Add(Name, Index, (Word_xp::ListEntry**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListEntriesDispT<T>::Clear()
{
  _TDispID _dispid(*this, OLETEXT("Clear"), DISPID(102));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  ListEntry
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020923-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ListEntryDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ListEntryDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListEntryDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListEntryDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListEntryDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ListEntryDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListEntryDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListEntryDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListEntryDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ListEntryDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListEntryDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListEntryDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(11));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  TablesOfFigures
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020922-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TablesOfFiguresDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TablesOfFiguresDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfFiguresDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TablesOfFiguresDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfFiguresDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TablesOfFiguresDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfFiguresDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
TablesOfFiguresDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfFiguresDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TablesOfFiguresDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfFiguresDispT<T>::get_Format(Word_xp::WdTofFormat* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTofFormat __fastcall
TablesOfFiguresDispT<T>::get_Format(void)
{
  Word_xp::WdTofFormat prop;
  this->get_Format((Word_xp::WdTofFormat*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfFiguresDispT<T>::set_Format(Word_xp::WdTofFormat prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TablesOfFiguresDispT<T>::Item(long Index/*[in]*/, Word_xp::TableOfFigures** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TableOfFigures**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TableOfFigures* __fastcall
TablesOfFiguresDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::TableOfFigures* prop;
  this->Item(Index, (Word_xp::TableOfFigures**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfFiguresDispT<T>::AddOld(Word_xp::WordRange* Range/*[in]*/, VARIANT* Caption/*[in,opt]*/, 
                                VARIANT* IncludeLabel/*[in,opt]*/, 
                                VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                VARIANT* AddedStyles/*[in,opt]*/, 
                                Word_xp::TableOfFigures** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddOld"), DISPID(100));
  TAutoArgs<11> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Caption /*[VT_VARIANT:1]*/;
  _args[3] = IncludeLabel /*[VT_VARIANT:1]*/;
  _args[4] = UseHeadingStyles /*[VT_VARIANT:1]*/;
  _args[5] = UpperHeadingLevel /*[VT_VARIANT:1]*/;
  _args[6] = LowerHeadingLevel /*[VT_VARIANT:1]*/;
  _args[7] = UseFields /*[VT_VARIANT:1]*/;
  _args[8] = TableID /*[VT_VARIANT:1]*/;
  _args[9] = RightAlignPageNumbers /*[VT_VARIANT:1]*/;
  _args[10] = IncludePageNumbers /*[VT_VARIANT:1]*/;
  _args[11] = AddedStyles /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TableOfFigures**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TableOfFigures* __fastcall
TablesOfFiguresDispT<T>::AddOld(Word_xp::WordRange* Range/*[in]*/, VARIANT* Caption/*[in,opt]*/, 
                                VARIANT* IncludeLabel/*[in,opt]*/, 
                                VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                VARIANT* AddedStyles/*[in,opt]*/)
{
  Word_xp::TableOfFigures* prop;
  this->AddOld(Range, Caption, IncludeLabel, UseHeadingStyles, UpperHeadingLevel, LowerHeadingLevel, 
               UseFields, TableID, RightAlignPageNumbers, IncludePageNumbers, AddedStyles, (Word_xp::TableOfFigures**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfFiguresDispT<T>::MarkEntry(Word_xp::WordRange* Range/*[in]*/, VARIANT* Entry/*[in,opt]*/, 
                                   VARIANT* EntryAutoText/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/
                                   , VARIANT* Level/*[in,opt]*/, 
                                   Word_xp::Field** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarkEntry"), DISPID(101));
  TAutoArgs<5> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Entry /*[VT_VARIANT:1]*/;
  _args[3] = EntryAutoText /*[VT_VARIANT:1]*/;
  _args[4] = TableID /*[VT_VARIANT:1]*/;
  _args[5] = Level /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Field**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Field* __fastcall
TablesOfFiguresDispT<T>::MarkEntry(Word_xp::WordRange* Range/*[in]*/, VARIANT* Entry/*[in,opt]*/, 
                                   VARIANT* EntryAutoText/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                   VARIANT* Level/*[in,opt]*/)
{
  Word_xp::Field* prop;
  this->MarkEntry(Range, Entry, EntryAutoText, TableID, Level, (Word_xp::Field**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfFiguresDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Caption/*[in,opt]*/, 
                             VARIANT* IncludeLabel/*[in,opt]*/, 
                             VARIANT* UseHeadingStyles/*[in,opt]*/, 
                             VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                             VARIANT* LowerHeadingLevel/*[in,opt]*/, VARIANT* UseFields/*[in,opt]*/
                             , VARIANT* TableID/*[in,opt]*/, 
                             VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                             VARIANT* IncludePageNumbers/*[in,opt]*/, 
                             VARIANT* AddedStyles/*[in,opt]*/, VARIANT* UseHyperlinks/*[in,opt]*/, 
                             VARIANT* HidePageNumbersInWeb/*[in,opt]*/, 
                             Word_xp::TableOfFigures** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(444));
  TAutoArgs<13> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Caption /*[VT_VARIANT:1]*/;
  _args[3] = IncludeLabel /*[VT_VARIANT:1]*/;
  _args[4] = UseHeadingStyles /*[VT_VARIANT:1]*/;
  _args[5] = UpperHeadingLevel /*[VT_VARIANT:1]*/;
  _args[6] = LowerHeadingLevel /*[VT_VARIANT:1]*/;
  _args[7] = UseFields /*[VT_VARIANT:1]*/;
  _args[8] = TableID /*[VT_VARIANT:1]*/;
  _args[9] = RightAlignPageNumbers /*[VT_VARIANT:1]*/;
  _args[10] = IncludePageNumbers /*[VT_VARIANT:1]*/;
  _args[11] = AddedStyles /*[VT_VARIANT:1]*/;
  _args[12] = UseHyperlinks /*[VT_VARIANT:1]*/;
  _args[13] = HidePageNumbersInWeb /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TableOfFigures**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TableOfFigures* __fastcall
TablesOfFiguresDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Caption/*[in,opt]*/, 
                             VARIANT* IncludeLabel/*[in,opt]*/, 
                             VARIANT* UseHeadingStyles/*[in,opt]*/, 
                             VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                             VARIANT* LowerHeadingLevel/*[in,opt]*/, VARIANT* UseFields/*[in,opt]*/, 
                             VARIANT* TableID/*[in,opt]*/, 
                             VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                             VARIANT* IncludePageNumbers/*[in,opt]*/, 
                             VARIANT* AddedStyles/*[in,opt]*/, VARIANT* UseHyperlinks/*[in,opt]*/, 
                             VARIANT* HidePageNumbersInWeb/*[in,opt]*/)
{
  Word_xp::TableOfFigures* prop;
  this->Add(Range, Caption, IncludeLabel, UseHeadingStyles, UpperHeadingLevel, LowerHeadingLevel, 
            UseFields, TableID, RightAlignPageNumbers, IncludePageNumbers, AddedStyles, 
            UseHyperlinks, HidePageNumbersInWeb, (Word_xp::TableOfFigures**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  TableOfFigures
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020921-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TableOfFiguresDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableOfFiguresDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TableOfFiguresDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_Caption(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Caption"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TableOfFiguresDispT<T>::get_Caption(void)
{
  BSTR prop;
  this->get_Caption((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::set_Caption(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Caption"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_IncludeLabel(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeLabel"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfFiguresDispT<T>::get_IncludeLabel(void)
{
  VARIANT_BOOL prop;
  this->get_IncludeLabel((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::set_IncludeLabel(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeLabel"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_RightAlignPageNumbers(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightAlignPageNumbers"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfFiguresDispT<T>::get_RightAlignPageNumbers(void)
{
  VARIANT_BOOL prop;
  this->get_RightAlignPageNumbers((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::set_RightAlignPageNumbers(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightAlignPageNumbers"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_UseHeadingStyles(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseHeadingStyles"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfFiguresDispT<T>::get_UseHeadingStyles(void)
{
  VARIANT_BOOL prop;
  this->get_UseHeadingStyles((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::set_UseHeadingStyles(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseHeadingStyles"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_LowerHeadingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LowerHeadingLevel"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableOfFiguresDispT<T>::get_LowerHeadingLevel(void)
{
  long prop;
  this->get_LowerHeadingLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::set_LowerHeadingLevel(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LowerHeadingLevel"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_UpperHeadingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpperHeadingLevel"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableOfFiguresDispT<T>::get_UpperHeadingLevel(void)
{
  long prop;
  this->get_UpperHeadingLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::set_UpperHeadingLevel(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpperHeadingLevel"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_IncludePageNumbers(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludePageNumbers"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfFiguresDispT<T>::get_IncludePageNumbers(void)
{
  VARIANT_BOOL prop;
  this->get_IncludePageNumbers((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::set_IncludePageNumbers(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludePageNumbers"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
TableOfFiguresDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_UseFields(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseFields"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfFiguresDispT<T>::get_UseFields(void)
{
  VARIANT_BOOL prop;
  this->get_UseFields((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::set_UseFields(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseFields"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_TableID(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableID"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TableOfFiguresDispT<T>::get_TableID(void)
{
  BSTR prop;
  this->get_TableID((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::set_TableID(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableID"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_HeadingStyles(Word_xp::HeadingStyles** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeadingStyles"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HeadingStyles**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HeadingStylesPtr __fastcall
TableOfFiguresDispT<T>::get_HeadingStyles(void)
{
  Word_xp::HeadingStylesPtr prop;
  this->get_HeadingStyles(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_TabLeader(Word_xp::WdTabLeader* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabLeader"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTabLeader __fastcall
TableOfFiguresDispT<T>::get_TabLeader(void)
{
  Word_xp::WdTabLeader prop;
  this->get_TabLeader((Word_xp::WdTabLeader*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::set_TabLeader(Word_xp::WdTabLeader prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabLeader"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::UpdatePageNumbers()
{
  _TDispID _dispid(*this, OLETEXT("UpdatePageNumbers"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::_Update()
{
  _TDispID _dispid(*this, OLETEXT("Update"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_UseHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseHyperlinks"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfFiguresDispT<T>::get_UseHyperlinks(void)
{
  VARIANT_BOOL prop;
  this->get_UseHyperlinks((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::set_UseHyperlinks(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseHyperlinks"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::get_HidePageNumbersInWeb(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HidePageNumbersInWeb"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfFiguresDispT<T>::get_HidePageNumbersInWeb(void)
{
  VARIANT_BOOL prop;
  this->get_HidePageNumbersInWeb((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfFiguresDispT<T>::set_HidePageNumbersInWeb(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HidePageNumbersInWeb"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  MailMerge
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020920-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MailMergeDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MailMergeDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_MainDocumentType(Word_xp::WdMailMergeMainDocType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MainDocumentType"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdMailMergeMainDocType __fastcall
MailMergeDispT<T>::get_MainDocumentType(void)
{
  Word_xp::WdMailMergeMainDocType prop;
  this->get_MainDocumentType((Word_xp::WdMailMergeMainDocType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::set_MainDocumentType(Word_xp::WdMailMergeMainDocType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MainDocumentType"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_State(Word_xp::WdMailMergeState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("State"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdMailMergeState __fastcall
MailMergeDispT<T>::get_State(void)
{
  Word_xp::WdMailMergeState prop;
  this->get_State((Word_xp::WdMailMergeState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_Destination(Word_xp::WdMailMergeDestination* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Destination"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdMailMergeDestination __fastcall
MailMergeDispT<T>::get_Destination(void)
{
  Word_xp::WdMailMergeDestination prop;
  this->get_Destination((Word_xp::WdMailMergeDestination*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::set_Destination(Word_xp::WdMailMergeDestination prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Destination"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_DataSource(Word_xp::MailMergeDataSource** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DataSource"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeDataSource**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::MailMergeDataSourcePtr __fastcall
MailMergeDispT<T>::get_DataSource(void)
{
  Word_xp::MailMergeDataSourcePtr prop;
  this->get_DataSource(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_Fields(Word_xp::MailMergeFields** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Fields"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeFields**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::MailMergeFieldsPtr __fastcall
MailMergeDispT<T>::get_Fields(void)
{
  Word_xp::MailMergeFieldsPtr prop;
  this->get_Fields(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_ViewMailMergeFieldCodes(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ViewMailMergeFieldCodes"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeDispT<T>::get_ViewMailMergeFieldCodes(void)
{
  long prop;
  this->get_ViewMailMergeFieldCodes((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::set_ViewMailMergeFieldCodes(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ViewMailMergeFieldCodes"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_SuppressBlankLines(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SuppressBlankLines"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
MailMergeDispT<T>::get_SuppressBlankLines(void)
{
  VARIANT_BOOL prop;
  this->get_SuppressBlankLines((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::set_SuppressBlankLines(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SuppressBlankLines"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_MailAsAttachment(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailAsAttachment"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
MailMergeDispT<T>::get_MailAsAttachment(void)
{
  VARIANT_BOOL prop;
  this->get_MailAsAttachment((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::set_MailAsAttachment(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailAsAttachment"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_MailAddressFieldName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailAddressFieldName"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailMergeDispT<T>::get_MailAddressFieldName(void)
{
  BSTR prop;
  this->get_MailAddressFieldName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::set_MailAddressFieldName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailAddressFieldName"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_MailSubject(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailSubject"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailMergeDispT<T>::get_MailSubject(void)
{
  BSTR prop;
  this->get_MailSubject((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::set_MailSubject(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailSubject"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::CreateDataSource(VARIANT* Name/*[in,opt]*/, VARIANT* PasswordDocument/*[in,opt]*/
                                    , VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                    VARIANT* HeaderRecord/*[in,opt]*/, VARIANT* MSQuery/*[in,opt]*/
                                    , VARIANT* SQLStatement/*[in,opt]*/, 
                                    VARIANT* SQLStatement1/*[in,opt]*/, 
                                    VARIANT* Connection/*[in,opt]*/, 
                                    VARIANT* LinkToSource/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateDataSource"), DISPID(101));
  TAutoArgs<9> _args;
  _args[1] = Name /*[VT_VARIANT:1]*/;
  _args[2] = PasswordDocument /*[VT_VARIANT:1]*/;
  _args[3] = WritePasswordDocument /*[VT_VARIANT:1]*/;
  _args[4] = HeaderRecord /*[VT_VARIANT:1]*/;
  _args[5] = MSQuery /*[VT_VARIANT:1]*/;
  _args[6] = SQLStatement /*[VT_VARIANT:1]*/;
  _args[7] = SQLStatement1 /*[VT_VARIANT:1]*/;
  _args[8] = Connection /*[VT_VARIANT:1]*/;
  _args[9] = LinkToSource /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::CreateHeaderSource(BSTR Name/*[in]*/, VARIANT* PasswordDocument/*[in,opt]*/, 
                                      VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                      VARIANT* HeaderRecord/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateHeaderSource"), DISPID(102));
  TAutoArgs<4> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = PasswordDocument /*[VT_VARIANT:1]*/;
  _args[3] = WritePasswordDocument /*[VT_VARIANT:1]*/;
  _args[4] = HeaderRecord /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::OpenDataSource2000(BSTR Name/*[in]*/, VARIANT* Format/*[in,opt]*/, 
                                      VARIANT* ConfirmConversions/*[in,opt]*/, 
                                      VARIANT* ReadOnly/*[in,opt]*/, 
                                      VARIANT* LinkToSource/*[in,opt]*/, 
                                      VARIANT* AddToRecentFiles/*[in,opt]*/, 
                                      VARIANT* PasswordDocument/*[in,opt]*/, 
                                      VARIANT* PasswordTemplate/*[in,opt]*/, 
                                      VARIANT* Revert/*[in,opt]*/, 
                                      VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                      VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                      VARIANT* Connection/*[in,opt]*/, 
                                      VARIANT* SQLStatement/*[in,opt]*/, 
                                      VARIANT* SQLStatement1/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("OpenDataSource2000"), DISPID(103));
  TAutoArgs<14> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = Format /*[VT_VARIANT:1]*/;
  _args[3] = ConfirmConversions /*[VT_VARIANT:1]*/;
  _args[4] = ReadOnly /*[VT_VARIANT:1]*/;
  _args[5] = LinkToSource /*[VT_VARIANT:1]*/;
  _args[6] = AddToRecentFiles /*[VT_VARIANT:1]*/;
  _args[7] = PasswordDocument /*[VT_VARIANT:1]*/;
  _args[8] = PasswordTemplate /*[VT_VARIANT:1]*/;
  _args[9] = Revert /*[VT_VARIANT:1]*/;
  _args[10] = WritePasswordDocument /*[VT_VARIANT:1]*/;
  _args[11] = WritePasswordTemplate /*[VT_VARIANT:1]*/;
  _args[12] = Connection /*[VT_VARIANT:1]*/;
  _args[13] = SQLStatement /*[VT_VARIANT:1]*/;
  _args[14] = SQLStatement1 /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::OpenHeaderSource2000(BSTR Name/*[in]*/, VARIANT* Format/*[in,opt]*/, 
                                        VARIANT* ConfirmConversions/*[in,opt]*/, 
                                        VARIANT* ReadOnly/*[in,opt]*/, 
                                        VARIANT* AddToRecentFiles/*[in,opt]*/, 
                                        VARIANT* PasswordDocument/*[in,opt]*/, 
                                        VARIANT* PasswordTemplate/*[in,opt]*/, 
                                        VARIANT* Revert/*[in,opt]*/, 
                                        VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                        VARIANT* WritePasswordTemplate/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("OpenHeaderSource2000"), DISPID(104));
  TAutoArgs<10> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = Format /*[VT_VARIANT:1]*/;
  _args[3] = ConfirmConversions /*[VT_VARIANT:1]*/;
  _args[4] = ReadOnly /*[VT_VARIANT:1]*/;
  _args[5] = AddToRecentFiles /*[VT_VARIANT:1]*/;
  _args[6] = PasswordDocument /*[VT_VARIANT:1]*/;
  _args[7] = PasswordTemplate /*[VT_VARIANT:1]*/;
  _args[8] = Revert /*[VT_VARIANT:1]*/;
  _args[9] = WritePasswordDocument /*[VT_VARIANT:1]*/;
  _args[10] = WritePasswordTemplate /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::Execute(VARIANT* Pause/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Execute"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = Pause /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::Check()
{
  _TDispID _dispid(*this, OLETEXT("Check"), DISPID(106));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::EditDataSource()
{
  _TDispID _dispid(*this, OLETEXT("EditDataSource"), DISPID(107));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::EditHeaderSource()
{
  _TDispID _dispid(*this, OLETEXT("EditHeaderSource"), DISPID(108));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::EditMainDocument()
{
  _TDispID _dispid(*this, OLETEXT("EditMainDocument"), DISPID(109));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::UseAddressBook(BSTR Type/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseAddressBook"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = Type /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_HighlightMergeFields(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HighlightMergeFields"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
MailMergeDispT<T>::get_HighlightMergeFields(void)
{
  VARIANT_BOOL prop;
  this->get_HighlightMergeFields((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::set_HighlightMergeFields(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HighlightMergeFields"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_MailFormat(Word_xp::WdMailMergeMailFormat* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailFormat"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdMailMergeMailFormat __fastcall
MailMergeDispT<T>::get_MailFormat(void)
{
  Word_xp::WdMailMergeMailFormat prop;
  this->get_MailFormat((Word_xp::WdMailMergeMailFormat*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::set_MailFormat(Word_xp::WdMailMergeMailFormat prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailFormat"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_ShowSendToCustom(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowSendToCustom"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailMergeDispT<T>::get_ShowSendToCustom(void)
{
  BSTR prop;
  this->get_ShowSendToCustom((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::set_ShowSendToCustom(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowSendToCustom"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::get_WizardState(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WizardState"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeDispT<T>::get_WizardState(void)
{
  long prop;
  this->get_WizardState((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::set_WizardState(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WizardState"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::OpenDataSource(BSTR Name/*[in]*/, VARIANT* Format/*[in,opt]*/, 
                                  VARIANT* ConfirmConversions/*[in,opt]*/, 
                                  VARIANT* ReadOnly/*[in,opt]*/, VARIANT* LinkToSource/*[in,opt]*/, 
                                  VARIANT* AddToRecentFiles/*[in,opt]*/, 
                                  VARIANT* PasswordDocument/*[in,opt]*/, 
                                  VARIANT* PasswordTemplate/*[in,opt]*/, VARIANT* Revert/*[in,opt]*/
                                  , VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                  VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                  VARIANT* Connection/*[in,opt]*/, VARIANT* SQLStatement/*[in,opt]*/
                                  , VARIANT* SQLStatement1/*[in,opt]*/, 
                                  VARIANT* OpenExclusive/*[in,opt]*/, VARIANT* SubType/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("OpenDataSource"), DISPID(112));
  TAutoArgs<16> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = Format /*[VT_VARIANT:1]*/;
  _args[3] = ConfirmConversions /*[VT_VARIANT:1]*/;
  _args[4] = ReadOnly /*[VT_VARIANT:1]*/;
  _args[5] = LinkToSource /*[VT_VARIANT:1]*/;
  _args[6] = AddToRecentFiles /*[VT_VARIANT:1]*/;
  _args[7] = PasswordDocument /*[VT_VARIANT:1]*/;
  _args[8] = PasswordTemplate /*[VT_VARIANT:1]*/;
  _args[9] = Revert /*[VT_VARIANT:1]*/;
  _args[10] = WritePasswordDocument /*[VT_VARIANT:1]*/;
  _args[11] = WritePasswordTemplate /*[VT_VARIANT:1]*/;
  _args[12] = Connection /*[VT_VARIANT:1]*/;
  _args[13] = SQLStatement /*[VT_VARIANT:1]*/;
  _args[14] = SQLStatement1 /*[VT_VARIANT:1]*/;
  _args[15] = OpenExclusive /*[VT_VARIANT:1]*/;
  _args[16] = SubType /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::OpenHeaderSource(BSTR Name/*[in]*/, VARIANT* Format/*[in,opt]*/, 
                                    VARIANT* ConfirmConversions/*[in,opt]*/, 
                                    VARIANT* ReadOnly/*[in,opt]*/, 
                                    VARIANT* AddToRecentFiles/*[in,opt]*/, 
                                    VARIANT* PasswordDocument/*[in,opt]*/, 
                                    VARIANT* PasswordTemplate/*[in,opt]*/, 
                                    VARIANT* Revert/*[in,opt]*/, 
                                    VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                    VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                    VARIANT* OpenExclusive/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("OpenHeaderSource"), DISPID(113));
  TAutoArgs<11> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = Format /*[VT_VARIANT:1]*/;
  _args[3] = ConfirmConversions /*[VT_VARIANT:1]*/;
  _args[4] = ReadOnly /*[VT_VARIANT:1]*/;
  _args[5] = AddToRecentFiles /*[VT_VARIANT:1]*/;
  _args[6] = PasswordDocument /*[VT_VARIANT:1]*/;
  _args[7] = PasswordTemplate /*[VT_VARIANT:1]*/;
  _args[8] = Revert /*[VT_VARIANT:1]*/;
  _args[9] = WritePasswordDocument /*[VT_VARIANT:1]*/;
  _args[10] = WritePasswordTemplate /*[VT_VARIANT:1]*/;
  _args[11] = OpenExclusive /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDispT<T>::ShowWizard(VARIANT* InitialState/*[in]*/, VARIANT* ShowDocumentStep/*[in,opt]*/, 
                              VARIANT* ShowTemplateStep/*[in,opt]*/, 
                              VARIANT* ShowDataStep/*[in,opt]*/, VARIANT* ShowWriteStep/*[in,opt]*/
                              , VARIANT* ShowPreviewStep/*[in,opt]*/, 
                              VARIANT* ShowMergeStep/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowWizard"), DISPID(114));
  TAutoArgs<7> _args;
  _args[1] = InitialState /*[VT_VARIANT:1]*/;
  _args[2] = ShowDocumentStep /*[VT_VARIANT:1]*/;
  _args[3] = ShowTemplateStep /*[VT_VARIANT:1]*/;
  _args[4] = ShowDataStep /*[VT_VARIANT:1]*/;
  _args[5] = ShowWriteStep /*[VT_VARIANT:1]*/;
  _args[6] = ShowPreviewStep /*[VT_VARIANT:1]*/;
  _args[7] = ShowMergeStep /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  MailMergeFields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091F-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MailMergeFieldsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeFieldsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MailMergeFieldsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
MailMergeFieldsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeFieldsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::Item(long Index/*[in]*/, Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeField* __fastcall
MailMergeFieldsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::MailMergeField* prop;
  this->Item(Index, (Word_xp::MailMergeField**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                             Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeField* __fastcall
MailMergeFieldsDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/)
{
  Word_xp::MailMergeField* prop;
  this->Add(Range, Name, (Word_xp::MailMergeField**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::AddAsk(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                VARIANT* Prompt/*[in,opt]*/, VARIANT* DefaultAskText/*[in,opt]*/, 
                                VARIANT* AskOnce/*[in,opt]*/, 
                                Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddAsk"), DISPID(102));
  TAutoArgs<5> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Name /*[VT_BSTR:0]*/;
  _args[3] = Prompt /*[VT_VARIANT:1]*/;
  _args[4] = DefaultAskText /*[VT_VARIANT:1]*/;
  _args[5] = AskOnce /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeField* __fastcall
MailMergeFieldsDispT<T>::AddAsk(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                VARIANT* Prompt/*[in,opt]*/, VARIANT* DefaultAskText/*[in,opt]*/, 
                                VARIANT* AskOnce/*[in,opt]*/)
{
  Word_xp::MailMergeField* prop;
  this->AddAsk(Range, Name, Prompt, DefaultAskText, AskOnce, (Word_xp::MailMergeField**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::AddFillIn(Word_xp::WordRange* Range/*[in]*/, VARIANT* Prompt/*[in,opt]*/, 
                                   VARIANT* DefaultFillInText/*[in,opt]*/, 
                                   VARIANT* AskOnce/*[in,opt]*/, 
                                   Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddFillIn"), DISPID(103));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Prompt /*[VT_VARIANT:1]*/;
  _args[3] = DefaultFillInText /*[VT_VARIANT:1]*/;
  _args[4] = AskOnce /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeField* __fastcall
MailMergeFieldsDispT<T>::AddFillIn(Word_xp::WordRange* Range/*[in]*/, VARIANT* Prompt/*[in,opt]*/, 
                                   VARIANT* DefaultFillInText/*[in,opt]*/, 
                                   VARIANT* AskOnce/*[in,opt]*/)
{
  Word_xp::MailMergeField* prop;
  this->AddFillIn(Range, Prompt, DefaultFillInText, AskOnce, (Word_xp::MailMergeField**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::AddIf(Word_xp::WordRange* Range/*[in]*/, BSTR MergeField/*[in]*/, 
                               Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                               VARIANT* CompareTo/*[in,opt]*/, VARIANT* TrueAutoText/*[in,opt]*/, 
                               VARIANT* TrueText/*[in,opt]*/, VARIANT* FalseAutoText/*[in,opt]*/, 
                               VARIANT* FalseText/*[in,opt]*/, 
                               Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddIf"), DISPID(104));
  TAutoArgs<8> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = MergeField /*[VT_BSTR:0]*/;
  _args[3] = (int)Comparison /*[VT_USERDEFINED:0]*/;
  _args[4] = CompareTo /*[VT_VARIANT:1]*/;
  _args[5] = TrueAutoText /*[VT_VARIANT:1]*/;
  _args[6] = TrueText /*[VT_VARIANT:1]*/;
  _args[7] = FalseAutoText /*[VT_VARIANT:1]*/;
  _args[8] = FalseText /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeField* __fastcall
MailMergeFieldsDispT<T>::AddIf(Word_xp::WordRange* Range/*[in]*/, BSTR MergeField/*[in]*/, 
                               Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                               VARIANT* CompareTo/*[in,opt]*/, VARIANT* TrueAutoText/*[in,opt]*/, 
                               VARIANT* TrueText/*[in,opt]*/, VARIANT* FalseAutoText/*[in,opt]*/, 
                               VARIANT* FalseText/*[in,opt]*/)
{
  Word_xp::MailMergeField* prop;
  this->AddIf(Range, MergeField, Comparison, CompareTo, TrueAutoText, TrueText, FalseAutoText, 
              FalseText, (Word_xp::MailMergeField**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::AddMergeRec(Word_xp::WordRange* Range/*[in]*/, 
                                     Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddMergeRec"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeField* __fastcall
MailMergeFieldsDispT<T>::AddMergeRec(Word_xp::WordRange* Range/*[in]*/)
{
  Word_xp::MailMergeField* prop;
  this->AddMergeRec(Range, (Word_xp::MailMergeField**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::AddMergeSeq(Word_xp::WordRange* Range/*[in]*/, 
                                     Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddMergeSeq"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeField* __fastcall
MailMergeFieldsDispT<T>::AddMergeSeq(Word_xp::WordRange* Range/*[in]*/)
{
  Word_xp::MailMergeField* prop;
  this->AddMergeSeq(Range, (Word_xp::MailMergeField**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::AddNext(Word_xp::WordRange* Range/*[in]*/, 
                                 Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddNext"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeField* __fastcall
MailMergeFieldsDispT<T>::AddNext(Word_xp::WordRange* Range/*[in]*/)
{
  Word_xp::MailMergeField* prop;
  this->AddNext(Range, (Word_xp::MailMergeField**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::AddNextIf(Word_xp::WordRange* Range/*[in]*/, BSTR MergeField/*[in]*/, 
                                   Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                   VARIANT* CompareTo/*[in,opt]*/, 
                                   Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddNextIf"), DISPID(108));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = MergeField /*[VT_BSTR:0]*/;
  _args[3] = (int)Comparison /*[VT_USERDEFINED:0]*/;
  _args[4] = CompareTo /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeField* __fastcall
MailMergeFieldsDispT<T>::AddNextIf(Word_xp::WordRange* Range/*[in]*/, BSTR MergeField/*[in]*/, 
                                   Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                   VARIANT* CompareTo/*[in,opt]*/)
{
  Word_xp::MailMergeField* prop;
  this->AddNextIf(Range, MergeField, Comparison, CompareTo, (Word_xp::MailMergeField**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::AddSet(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                VARIANT* ValueText/*[in,opt]*/, VARIANT* ValueAutoText/*[in,opt]*/, 
                                Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSet"), DISPID(109));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Name /*[VT_BSTR:0]*/;
  _args[3] = ValueText /*[VT_VARIANT:1]*/;
  _args[4] = ValueAutoText /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeField* __fastcall
MailMergeFieldsDispT<T>::AddSet(Word_xp::WordRange* Range/*[in]*/, BSTR Name/*[in]*/, 
                                VARIANT* ValueText/*[in,opt]*/, VARIANT* ValueAutoText/*[in,opt]*/)
{
  Word_xp::MailMergeField* prop;
  this->AddSet(Range, Name, ValueText, ValueAutoText, (Word_xp::MailMergeField**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldsDispT<T>::AddSkipIf(Word_xp::WordRange* Range/*[in]*/, BSTR MergeField/*[in]*/, 
                                   Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                   VARIANT* CompareTo/*[in,opt]*/, 
                                   Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddSkipIf"), DISPID(110));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = MergeField /*[VT_BSTR:0]*/;
  _args[3] = (int)Comparison /*[VT_USERDEFINED:0]*/;
  _args[4] = CompareTo /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeField* __fastcall
MailMergeFieldsDispT<T>::AddSkipIf(Word_xp::WordRange* Range/*[in]*/, BSTR MergeField/*[in]*/, 
                                   Word_xp::WdMailMergeComparison Comparison/*[in]*/, 
                                   VARIANT* CompareTo/*[in,opt]*/)
{
  Word_xp::MailMergeField* prop;
  this->AddSkipIf(Range, MergeField, Comparison, CompareTo, (Word_xp::MailMergeField**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  MailMergeField
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091E-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MailMergeFieldDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeFieldDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MailMergeFieldDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::get_Type(Word_xp::WdFieldType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFieldType __fastcall
MailMergeFieldDispT<T>::get_Type(void)
{
  Word_xp::WdFieldType prop;
  this->get_Type((Word_xp::WdFieldType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::get_Locked(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Locked"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
MailMergeFieldDispT<T>::get_Locked(void)
{
  VARIANT_BOOL prop;
  this->get_Locked((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::set_Locked(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Locked"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::get_Code(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Code"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
MailMergeFieldDispT<T>::get_Code(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Code(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::set_Code(Word_xp::WordRangePtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Code"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::get_Next(Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::MailMergeFieldPtr __fastcall
MailMergeFieldDispT<T>::get_Next(void)
{
  Word_xp::MailMergeFieldPtr prop;
  this->get_Next(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::get_Previous(Word_xp::MailMergeField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeField**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::MailMergeFieldPtr __fastcall
MailMergeFieldDispT<T>::get_Previous(void)
{
  Word_xp::MailMergeFieldPtr prop;
  this->get_Previous(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::Copy()
{
  _TDispID _dispid(*this, OLETEXT("Copy"), DISPID(105));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::Cut()
{
  _TDispID _dispid(*this, OLETEXT("Cut"), DISPID(106));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMergeFieldDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(107));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  MailMergeDataSource
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091D-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MailMergeDataSourceDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeDataSourceDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MailMergeDataSourceDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailMergeDataSourceDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_HeaderSourceName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeaderSourceName"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailMergeDataSourceDispT<T>::get_HeaderSourceName(void)
{
  BSTR prop;
  this->get_HeaderSourceName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_Type(Word_xp::WdMailMergeDataSource* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdMailMergeDataSource __fastcall
MailMergeDataSourceDispT<T>::get_Type(void)
{
  Word_xp::WdMailMergeDataSource prop;
  this->get_Type((Word_xp::WdMailMergeDataSource*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_HeaderSourceType(Word_xp::WdMailMergeDataSource* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeaderSourceType"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdMailMergeDataSource __fastcall
MailMergeDataSourceDispT<T>::get_HeaderSourceType(void)
{
  Word_xp::WdMailMergeDataSource prop;
  this->get_HeaderSourceType((Word_xp::WdMailMergeDataSource*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_ConnectString(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConnectString"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailMergeDataSourceDispT<T>::get_ConnectString(void)
{
  BSTR prop;
  this->get_ConnectString((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_QueryString(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("QueryString"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailMergeDataSourceDispT<T>::get_QueryString(void)
{
  BSTR prop;
  this->get_QueryString((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::set_QueryString(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("QueryString"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_ActiveRecord(Word_xp::WdMailMergeActiveRecord* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveRecord"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdMailMergeActiveRecord __fastcall
MailMergeDataSourceDispT<T>::get_ActiveRecord(void)
{
  Word_xp::WdMailMergeActiveRecord prop;
  this->get_ActiveRecord((Word_xp::WdMailMergeActiveRecord*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::set_ActiveRecord(Word_xp::WdMailMergeActiveRecord prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveRecord"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_FirstRecord(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstRecord"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeDataSourceDispT<T>::get_FirstRecord(void)
{
  long prop;
  this->get_FirstRecord((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::set_FirstRecord(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstRecord"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_LastRecord(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LastRecord"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeDataSourceDispT<T>::get_LastRecord(void)
{
  long prop;
  this->get_LastRecord((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::set_LastRecord(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LastRecord"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_FieldNames(Word_xp::MailMergeFieldNames** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FieldNames"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeFieldNames**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::MailMergeFieldNamesPtr __fastcall
MailMergeDataSourceDispT<T>::get_FieldNames(void)
{
  Word_xp::MailMergeFieldNamesPtr prop;
  this->get_FieldNames(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_DataFields(Word_xp::MailMergeDataFields** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DataFields"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeDataFields**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::MailMergeDataFieldsPtr __fastcall
MailMergeDataSourceDispT<T>::get_DataFields(void)
{
  Word_xp::MailMergeDataFieldsPtr prop;
  this->get_DataFields(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::FindRecord2000(BSTR FindText/*[in]*/, BSTR Field/*[in]*/, 
                                            VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FindRecord2000"), DISPID(101));
  TAutoArgs<2> _args;
  _args[1] = FindText /*[VT_BSTR:0]*/;
  _args[2] = Field /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
MailMergeDataSourceDispT<T>::FindRecord2000(BSTR FindText/*[in]*/, BSTR Field/*[in]*/)
{
  VARIANT_BOOL prop;
  this->FindRecord2000(FindText, Field, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_RecordCount(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecordCount"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeDataSourceDispT<T>::get_RecordCount(void)
{
  long prop;
  this->get_RecordCount((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_Included(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Included"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
MailMergeDataSourceDispT<T>::get_Included(void)
{
  VARIANT_BOOL prop;
  this->get_Included((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::set_Included(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Included"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_InvalidAddress(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InvalidAddress"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
MailMergeDataSourceDispT<T>::get_InvalidAddress(void)
{
  VARIANT_BOOL prop;
  this->get_InvalidAddress((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::set_InvalidAddress(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InvalidAddress"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_InvalidComments(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InvalidComments"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailMergeDataSourceDispT<T>::get_InvalidComments(void)
{
  BSTR prop;
  this->get_InvalidComments((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::set_InvalidComments(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InvalidComments"), DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_MappedDataFields(Word_xp::MappedDataFields** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MappedDataFields"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MappedDataFields**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::MappedDataFieldsPtr __fastcall
MailMergeDataSourceDispT<T>::get_MappedDataFields(void)
{
  Word_xp::MappedDataFieldsPtr prop;
  this->get_MappedDataFields(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::get_TableName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableName"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailMergeDataSourceDispT<T>::get_TableName(void)
{
  BSTR prop;
  this->get_TableName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::FindRecord(BSTR FindText/*[in]*/, VARIANT* Field/*[in,opt]*/, 
                                        VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FindRecord"), DISPID(102));
  TAutoArgs<2> _args;
  _args[1] = FindText /*[VT_BSTR:0]*/;
  _args[2] = Field /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
MailMergeDataSourceDispT<T>::FindRecord(BSTR FindText/*[in]*/, VARIANT* Field/*[in,opt]*/)
{
  VARIANT_BOOL prop;
  this->FindRecord(FindText, Field, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::SetAllIncludedFlags(VARIANT_BOOL Included/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetAllIncludedFlags"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = Included /*[VT_BOOL:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::SetAllErrorFlags(VARIANT_BOOL Invalid/*[in]*/, 
                                              BSTR InvalidComment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetAllErrorFlags"), DISPID(104));
  TAutoArgs<2> _args;
  _args[1] = Invalid /*[VT_BOOL:0]*/;
  _args[2] = InvalidComment /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailMergeDataSourceDispT<T>::Close()
{
  _TDispID _dispid(*this, OLETEXT("Close"), DISPID(105));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  MailMergeFieldNames
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091C-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
MailMergeFieldNamesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MailMergeFieldNamesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldNamesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeFieldNamesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldNamesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MailMergeFieldNamesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldNamesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
MailMergeFieldNamesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldNamesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeFieldNamesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldNamesDispT<T>::Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::MailMergeFieldName** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeFieldName**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeFieldName* __fastcall
MailMergeFieldNamesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::MailMergeFieldName* prop;
  this->Item(Index, (Word_xp::MailMergeFieldName**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  MailMergeFieldName
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091B-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
MailMergeFieldNameDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MailMergeFieldNameDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldNameDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeFieldNameDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldNameDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MailMergeFieldNameDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldNameDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailMergeFieldNameDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeFieldNameDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeFieldNameDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  MailMergeDataFields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002091A-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
MailMergeDataFieldsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MailMergeDataFieldsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataFieldsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeDataFieldsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataFieldsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MailMergeDataFieldsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataFieldsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
MailMergeDataFieldsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataFieldsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeDataFieldsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataFieldsDispT<T>::Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::MailMergeDataField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MailMergeDataField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MailMergeDataField* __fastcall
MailMergeDataFieldsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::MailMergeDataField* prop;
  this->Item(Index, (Word_xp::MailMergeDataField**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  MailMergeDataField
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020919-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
MailMergeDataFieldDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MailMergeDataFieldDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataFieldDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeDataFieldDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataFieldDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MailMergeDataFieldDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataFieldDispT<T>::get_Value(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailMergeDataFieldDispT<T>::get_Value(void)
{
  BSTR prop;
  this->get_Value((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataFieldDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailMergeDataFieldDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMergeDataFieldDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMergeDataFieldDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Envelope
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020918-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
EnvelopeDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EnvelopeDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
EnvelopeDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_Address(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Address"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
EnvelopeDispT<T>::get_Address(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Address(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_ReturnAddress(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnAddress"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
EnvelopeDispT<T>::get_ReturnAddress(void)
{
  Word_xp::WordRangePtr prop;
  this->get_ReturnAddress(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_DefaultPrintBarCode(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultPrintBarCode"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EnvelopeDispT<T>::get_DefaultPrintBarCode(void)
{
  VARIANT_BOOL prop;
  this->get_DefaultPrintBarCode((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_DefaultPrintBarCode(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultPrintBarCode"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_DefaultPrintFIMA(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultPrintFIMA"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EnvelopeDispT<T>::get_DefaultPrintFIMA(void)
{
  VARIANT_BOOL prop;
  this->get_DefaultPrintFIMA((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_DefaultPrintFIMA(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultPrintFIMA"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_DefaultHeight(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultHeight"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_DefaultHeight(void)
{
  float prop;
  this->get_DefaultHeight((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_DefaultHeight(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultHeight"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_DefaultWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultWidth"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_DefaultWidth(void)
{
  float prop;
  this->get_DefaultWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_DefaultWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultWidth"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_DefaultSize(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultSize"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
EnvelopeDispT<T>::get_DefaultSize(void)
{
  BSTR prop;
  this->get_DefaultSize((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_DefaultSize(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultSize"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_DefaultOmitReturnAddress(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultOmitReturnAddress"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EnvelopeDispT<T>::get_DefaultOmitReturnAddress(void)
{
  VARIANT_BOOL prop;
  this->get_DefaultOmitReturnAddress((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_DefaultOmitReturnAddress(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultOmitReturnAddress"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_FeedSource(Word_xp::WdPaperTray* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FeedSource"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPaperTray __fastcall
EnvelopeDispT<T>::get_FeedSource(void)
{
  Word_xp::WdPaperTray prop;
  this->get_FeedSource((Word_xp::WdPaperTray*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_FeedSource(Word_xp::WdPaperTray prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FeedSource"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_AddressFromLeft(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddressFromLeft"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_AddressFromLeft(void)
{
  float prop;
  this->get_AddressFromLeft((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_AddressFromLeft(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddressFromLeft"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_AddressFromTop(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddressFromTop"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_AddressFromTop(void)
{
  float prop;
  this->get_AddressFromTop((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_AddressFromTop(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddressFromTop"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_ReturnAddressFromLeft(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnAddressFromLeft"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_ReturnAddressFromLeft(void)
{
  float prop;
  this->get_ReturnAddressFromLeft((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_ReturnAddressFromLeft(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnAddressFromLeft"), DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_ReturnAddressFromTop(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnAddressFromTop"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_ReturnAddressFromTop(void)
{
  float prop;
  this->get_ReturnAddressFromTop((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_ReturnAddressFromTop(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnAddressFromTop"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_AddressStyle(Word_xp::Style** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddressStyle"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Style**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::StylePtr __fastcall
EnvelopeDispT<T>::get_AddressStyle(void)
{
  Word_xp::StylePtr prop;
  this->get_AddressStyle(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_ReturnAddressStyle(Word_xp::Style** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnAddressStyle"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Style**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::StylePtr __fastcall
EnvelopeDispT<T>::get_ReturnAddressStyle(void)
{
  Word_xp::StylePtr prop;
  this->get_ReturnAddressStyle(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_DefaultOrientation(Word_xp::WdEnvelopeOrientation* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultOrientation"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdEnvelopeOrientation __fastcall
EnvelopeDispT<T>::get_DefaultOrientation(void)
{
  Word_xp::WdEnvelopeOrientation prop;
  this->get_DefaultOrientation((Word_xp::WdEnvelopeOrientation*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_DefaultOrientation(Word_xp::WdEnvelopeOrientation prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultOrientation"), DISPID(19));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_DefaultFaceUp(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultFaceUp"), DISPID(20));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EnvelopeDispT<T>::get_DefaultFaceUp(void)
{
  VARIANT_BOOL prop;
  this->get_DefaultFaceUp((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_DefaultFaceUp(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultFaceUp"), DISPID(20));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::Insert2000(VARIANT* ExtractAddress/*[in,opt]*/, VARIANT* Address/*[in,opt]*/, 
                             VARIANT* AutoText/*[in,opt]*/, VARIANT* OmitReturnAddress/*[in,opt]*/, 
                             VARIANT* ReturnAddress/*[in,opt]*/, VARIANT* ReturnAutoText/*[in,opt]*/
                             , VARIANT* PrintBarCode/*[in,opt]*/, VARIANT* PrintFIMA/*[in,opt]*/, 
                             VARIANT* Size/*[in,opt]*/, VARIANT* Height/*[in,opt]*/, 
                             VARIANT* Width/*[in,opt]*/, VARIANT* FeedSource/*[in,opt]*/, 
                             VARIANT* AddressFromLeft/*[in,opt]*/, 
                             VARIANT* AddressFromTop/*[in,opt]*/, 
                             VARIANT* ReturnAddressFromLeft/*[in,opt]*/, 
                             VARIANT* ReturnAddressFromTop/*[in,opt]*/, 
                             VARIANT* DefaultFaceUp/*[in,opt]*/, 
                             VARIANT* DefaultOrientation/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Insert2000"), DISPID(101));
  TAutoArgs<18> _args;
  _args[1] = ExtractAddress /*[VT_VARIANT:1]*/;
  _args[2] = Address /*[VT_VARIANT:1]*/;
  _args[3] = AutoText /*[VT_VARIANT:1]*/;
  _args[4] = OmitReturnAddress /*[VT_VARIANT:1]*/;
  _args[5] = ReturnAddress /*[VT_VARIANT:1]*/;
  _args[6] = ReturnAutoText /*[VT_VARIANT:1]*/;
  _args[7] = PrintBarCode /*[VT_VARIANT:1]*/;
  _args[8] = PrintFIMA /*[VT_VARIANT:1]*/;
  _args[9] = Size /*[VT_VARIANT:1]*/;
  _args[10] = Height /*[VT_VARIANT:1]*/;
  _args[11] = Width /*[VT_VARIANT:1]*/;
  _args[12] = FeedSource /*[VT_VARIANT:1]*/;
  _args[13] = AddressFromLeft /*[VT_VARIANT:1]*/;
  _args[14] = AddressFromTop /*[VT_VARIANT:1]*/;
  _args[15] = ReturnAddressFromLeft /*[VT_VARIANT:1]*/;
  _args[16] = ReturnAddressFromTop /*[VT_VARIANT:1]*/;
  _args[17] = DefaultFaceUp /*[VT_VARIANT:1]*/;
  _args[18] = DefaultOrientation /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::PrintOut2000(VARIANT* ExtractAddress/*[in,opt]*/, VARIANT* Address/*[in,opt]*/, 
                               VARIANT* AutoText/*[in,opt]*/, VARIANT* OmitReturnAddress/*[in,opt]*/
                               , VARIANT* ReturnAddress/*[in,opt]*/, 
                               VARIANT* ReturnAutoText/*[in,opt]*/, 
                               VARIANT* PrintBarCode/*[in,opt]*/, VARIANT* PrintFIMA/*[in,opt]*/, 
                               VARIANT* Size/*[in,opt]*/, VARIANT* Height/*[in,opt]*/, 
                               VARIANT* Width/*[in,opt]*/, VARIANT* FeedSource/*[in,opt]*/, 
                               VARIANT* AddressFromLeft/*[in,opt]*/, 
                               VARIANT* AddressFromTop/*[in,opt]*/, 
                               VARIANT* ReturnAddressFromLeft/*[in,opt]*/, 
                               VARIANT* ReturnAddressFromTop/*[in,opt]*/, 
                               VARIANT* DefaultFaceUp/*[in,opt]*/, 
                               VARIANT* DefaultOrientation/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOut2000"), DISPID(102));
  TAutoArgs<18> _args;
  _args[1] = ExtractAddress /*[VT_VARIANT:1]*/;
  _args[2] = Address /*[VT_VARIANT:1]*/;
  _args[3] = AutoText /*[VT_VARIANT:1]*/;
  _args[4] = OmitReturnAddress /*[VT_VARIANT:1]*/;
  _args[5] = ReturnAddress /*[VT_VARIANT:1]*/;
  _args[6] = ReturnAutoText /*[VT_VARIANT:1]*/;
  _args[7] = PrintBarCode /*[VT_VARIANT:1]*/;
  _args[8] = PrintFIMA /*[VT_VARIANT:1]*/;
  _args[9] = Size /*[VT_VARIANT:1]*/;
  _args[10] = Height /*[VT_VARIANT:1]*/;
  _args[11] = Width /*[VT_VARIANT:1]*/;
  _args[12] = FeedSource /*[VT_VARIANT:1]*/;
  _args[13] = AddressFromLeft /*[VT_VARIANT:1]*/;
  _args[14] = AddressFromTop /*[VT_VARIANT:1]*/;
  _args[15] = ReturnAddressFromLeft /*[VT_VARIANT:1]*/;
  _args[16] = ReturnAddressFromTop /*[VT_VARIANT:1]*/;
  _args[17] = DefaultFaceUp /*[VT_VARIANT:1]*/;
  _args[18] = DefaultOrientation /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::UpdateDocument()
{
  _TDispID _dispid(*this, OLETEXT("UpdateDocument"), DISPID(103));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::Options()
{
  _TDispID _dispid(*this, OLETEXT("Options"), DISPID(104));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_Vertical(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Vertical"), DISPID(22));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EnvelopeDispT<T>::get_Vertical(void)
{
  VARIANT_BOOL prop;
  this->get_Vertical((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_Vertical(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Vertical"), DISPID(22));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_RecipientNamefromLeft(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientNamefromLeft"), DISPID(23));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_RecipientNamefromLeft(void)
{
  float prop;
  this->get_RecipientNamefromLeft((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_RecipientNamefromLeft(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientNamefromLeft"), DISPID(23));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_RecipientNamefromTop(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientNamefromTop"), DISPID(24));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_RecipientNamefromTop(void)
{
  float prop;
  this->get_RecipientNamefromTop((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_RecipientNamefromTop(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientNamefromTop"), DISPID(24));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_RecipientPostalfromLeft(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientPostalfromLeft"), DISPID(25));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_RecipientPostalfromLeft(void)
{
  float prop;
  this->get_RecipientPostalfromLeft((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_RecipientPostalfromLeft(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientPostalfromLeft"), DISPID(25));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_RecipientPostalfromTop(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientPostalfromTop"), DISPID(26));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_RecipientPostalfromTop(void)
{
  float prop;
  this->get_RecipientPostalfromTop((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_RecipientPostalfromTop(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientPostalfromTop"), DISPID(26));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_SenderNamefromLeft(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderNamefromLeft"), DISPID(27));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_SenderNamefromLeft(void)
{
  float prop;
  this->get_SenderNamefromLeft((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_SenderNamefromLeft(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderNamefromLeft"), DISPID(27));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_SenderNamefromTop(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderNamefromTop"), DISPID(28));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_SenderNamefromTop(void)
{
  float prop;
  this->get_SenderNamefromTop((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_SenderNamefromTop(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderNamefromTop"), DISPID(28));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_SenderPostalfromLeft(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderPostalfromLeft"), DISPID(29));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_SenderPostalfromLeft(void)
{
  float prop;
  this->get_SenderPostalfromLeft((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_SenderPostalfromLeft(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderPostalfromLeft"), DISPID(29));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::get_SenderPostalfromTop(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderPostalfromTop"), DISPID(30));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
EnvelopeDispT<T>::get_SenderPostalfromTop(void)
{
  float prop;
  this->get_SenderPostalfromTop((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::set_SenderPostalfromTop(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderPostalfromTop"), DISPID(30));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::Insert(VARIANT* ExtractAddress/*[in,opt]*/, VARIANT* Address/*[in,opt]*/, 
                         VARIANT* AutoText/*[in,opt]*/, VARIANT* OmitReturnAddress/*[in,opt]*/, 
                         VARIANT* ReturnAddress/*[in,opt]*/, VARIANT* ReturnAutoText/*[in,opt]*/, 
                         VARIANT* PrintBarCode/*[in,opt]*/, VARIANT* PrintFIMA/*[in,opt]*/, 
                         VARIANT* Size/*[in,opt]*/, VARIANT* Height/*[in,opt]*/, 
                         VARIANT* Width/*[in,opt]*/, VARIANT* FeedSource/*[in,opt]*/, 
                         VARIANT* AddressFromLeft/*[in,opt]*/, VARIANT* AddressFromTop/*[in,opt]*/, 
                         VARIANT* ReturnAddressFromLeft/*[in,opt]*/, 
                         VARIANT* ReturnAddressFromTop/*[in,opt]*/, 
                         VARIANT* DefaultFaceUp/*[in,opt]*/, VARIANT* DefaultOrientation/*[in,opt]*/
                         , VARIANT* PrintEPostage/*[in,opt]*/, VARIANT* Vertical/*[in,opt]*/, 
                         VARIANT* RecipientNamefromLeft/*[in,opt]*/, 
                         VARIANT* RecipientNamefromTop/*[in,opt]*/, 
                         VARIANT* RecipientPostalfromLeft/*[in,opt]*/, 
                         VARIANT* RecipientPostalfromTop/*[in,opt]*/, 
                         VARIANT* SenderNamefromLeft/*[in,opt]*/, 
                         VARIANT* SenderNamefromTop/*[in,opt]*/, 
                         VARIANT* SenderPostalfromLeft/*[in,opt]*/, 
                         VARIANT* SenderPostalfromTop/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Insert"), DISPID(105));
  TAutoArgs<28> _args;
  _args[1] = ExtractAddress /*[VT_VARIANT:1]*/;
  _args[2] = Address /*[VT_VARIANT:1]*/;
  _args[3] = AutoText /*[VT_VARIANT:1]*/;
  _args[4] = OmitReturnAddress /*[VT_VARIANT:1]*/;
  _args[5] = ReturnAddress /*[VT_VARIANT:1]*/;
  _args[6] = ReturnAutoText /*[VT_VARIANT:1]*/;
  _args[7] = PrintBarCode /*[VT_VARIANT:1]*/;
  _args[8] = PrintFIMA /*[VT_VARIANT:1]*/;
  _args[9] = Size /*[VT_VARIANT:1]*/;
  _args[10] = Height /*[VT_VARIANT:1]*/;
  _args[11] = Width /*[VT_VARIANT:1]*/;
  _args[12] = FeedSource /*[VT_VARIANT:1]*/;
  _args[13] = AddressFromLeft /*[VT_VARIANT:1]*/;
  _args[14] = AddressFromTop /*[VT_VARIANT:1]*/;
  _args[15] = ReturnAddressFromLeft /*[VT_VARIANT:1]*/;
  _args[16] = ReturnAddressFromTop /*[VT_VARIANT:1]*/;
  _args[17] = DefaultFaceUp /*[VT_VARIANT:1]*/;
  _args[18] = DefaultOrientation /*[VT_VARIANT:1]*/;
  _args[19] = PrintEPostage /*[VT_VARIANT:1]*/;
  _args[20] = Vertical /*[VT_VARIANT:1]*/;
  _args[21] = RecipientNamefromLeft /*[VT_VARIANT:1]*/;
  _args[22] = RecipientNamefromTop /*[VT_VARIANT:1]*/;
  _args[23] = RecipientPostalfromLeft /*[VT_VARIANT:1]*/;
  _args[24] = RecipientPostalfromTop /*[VT_VARIANT:1]*/;
  _args[25] = SenderNamefromLeft /*[VT_VARIANT:1]*/;
  _args[26] = SenderNamefromTop /*[VT_VARIANT:1]*/;
  _args[27] = SenderPostalfromLeft /*[VT_VARIANT:1]*/;
  _args[28] = SenderPostalfromTop /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
EnvelopeDispT<T>::PrintOut(VARIANT* ExtractAddress/*[in,opt]*/, VARIANT* Address/*[in,opt]*/, 
                           VARIANT* AutoText/*[in,opt]*/, VARIANT* OmitReturnAddress/*[in,opt]*/, 
                           VARIANT* ReturnAddress/*[in,opt]*/, VARIANT* ReturnAutoText/*[in,opt]*/, 
                           VARIANT* PrintBarCode/*[in,opt]*/, VARIANT* PrintFIMA/*[in,opt]*/, 
                           VARIANT* Size/*[in,opt]*/, VARIANT* Height/*[in,opt]*/, 
                           VARIANT* Width/*[in,opt]*/, VARIANT* FeedSource/*[in,opt]*/, 
                           VARIANT* AddressFromLeft/*[in,opt]*/, VARIANT* AddressFromTop/*[in,opt]*/
                           , VARIANT* ReturnAddressFromLeft/*[in,opt]*/, 
                           VARIANT* ReturnAddressFromTop/*[in,opt]*/, 
                           VARIANT* DefaultFaceUp/*[in,opt]*/, 
                           VARIANT* DefaultOrientation/*[in,opt]*/, 
                           VARIANT* PrintEPostage/*[in,opt]*/, VARIANT* Vertical/*[in,opt]*/, 
                           VARIANT* RecipientNamefromLeft/*[in,opt]*/, 
                           VARIANT* RecipientNamefromTop/*[in,opt]*/, 
                           VARIANT* RecipientPostalfromLeft/*[in,opt]*/, 
                           VARIANT* RecipientPostalfromTop/*[in,opt]*/, 
                           VARIANT* SenderNamefromLeft/*[in,opt]*/, 
                           VARIANT* SenderNamefromTop/*[in,opt]*/, 
                           VARIANT* SenderPostalfromLeft/*[in,opt]*/, 
                           VARIANT* SenderPostalfromTop/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOut"), DISPID(106));
  TAutoArgs<28> _args;
  _args[1] = ExtractAddress /*[VT_VARIANT:1]*/;
  _args[2] = Address /*[VT_VARIANT:1]*/;
  _args[3] = AutoText /*[VT_VARIANT:1]*/;
  _args[4] = OmitReturnAddress /*[VT_VARIANT:1]*/;
  _args[5] = ReturnAddress /*[VT_VARIANT:1]*/;
  _args[6] = ReturnAutoText /*[VT_VARIANT:1]*/;
  _args[7] = PrintBarCode /*[VT_VARIANT:1]*/;
  _args[8] = PrintFIMA /*[VT_VARIANT:1]*/;
  _args[9] = Size /*[VT_VARIANT:1]*/;
  _args[10] = Height /*[VT_VARIANT:1]*/;
  _args[11] = Width /*[VT_VARIANT:1]*/;
  _args[12] = FeedSource /*[VT_VARIANT:1]*/;
  _args[13] = AddressFromLeft /*[VT_VARIANT:1]*/;
  _args[14] = AddressFromTop /*[VT_VARIANT:1]*/;
  _args[15] = ReturnAddressFromLeft /*[VT_VARIANT:1]*/;
  _args[16] = ReturnAddressFromTop /*[VT_VARIANT:1]*/;
  _args[17] = DefaultFaceUp /*[VT_VARIANT:1]*/;
  _args[18] = DefaultOrientation /*[VT_VARIANT:1]*/;
  _args[19] = PrintEPostage /*[VT_VARIANT:1]*/;
  _args[20] = Vertical /*[VT_VARIANT:1]*/;
  _args[21] = RecipientNamefromLeft /*[VT_VARIANT:1]*/;
  _args[22] = RecipientNamefromTop /*[VT_VARIANT:1]*/;
  _args[23] = RecipientPostalfromLeft /*[VT_VARIANT:1]*/;
  _args[24] = RecipientPostalfromTop /*[VT_VARIANT:1]*/;
  _args[25] = SenderNamefromLeft /*[VT_VARIANT:1]*/;
  _args[26] = SenderNamefromTop /*[VT_VARIANT:1]*/;
  _args[27] = SenderPostalfromLeft /*[VT_VARIANT:1]*/;
  _args[28] = SenderPostalfromTop /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  MailingLabel
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020917-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
MailingLabelDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MailingLabelDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailingLabelDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MailingLabelDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::get_DefaultPrintBarCode(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultPrintBarCode"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
MailingLabelDispT<T>::get_DefaultPrintBarCode(void)
{
  VARIANT_BOOL prop;
  this->get_DefaultPrintBarCode((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::set_DefaultPrintBarCode(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultPrintBarCode"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::get_DefaultLaserTray(Word_xp::WdPaperTray* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultLaserTray"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPaperTray __fastcall
MailingLabelDispT<T>::get_DefaultLaserTray(void)
{
  Word_xp::WdPaperTray prop;
  this->get_DefaultLaserTray((Word_xp::WdPaperTray*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::set_DefaultLaserTray(Word_xp::WdPaperTray prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultLaserTray"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::get_CustomLabels(Word_xp::CustomLabels** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CustomLabels"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CustomLabels**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CustomLabelsPtr __fastcall
MailingLabelDispT<T>::get_CustomLabels(void)
{
  Word_xp::CustomLabelsPtr prop;
  this->get_CustomLabels(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::get_DefaultLabelName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultLabelName"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailingLabelDispT<T>::get_DefaultLabelName(void)
{
  BSTR prop;
  this->get_DefaultLabelName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::set_DefaultLabelName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultLabelName"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::CreateNewDocument2000(VARIANT* Name/*[in,opt]*/, VARIANT* Address/*[in,opt]*/
                                            , VARIANT* AutoText/*[in,opt]*/, 
                                            VARIANT* ExtractAddress/*[in,opt]*/, 
                                            VARIANT* LaserTray/*[in,opt]*/, 
                                            Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateNewDocument2000"), DISPID(101));
  TAutoArgs<5> _args;
  _args[1] = Name /*[VT_VARIANT:1]*/;
  _args[2] = Address /*[VT_VARIANT:1]*/;
  _args[3] = AutoText /*[VT_VARIANT:1]*/;
  _args[4] = ExtractAddress /*[VT_VARIANT:1]*/;
  _args[5] = LaserTray /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordDocument* __fastcall
MailingLabelDispT<T>::CreateNewDocument2000(VARIANT* Name/*[in,opt]*/, VARIANT* Address/*[in,opt]*/, 
                                            VARIANT* AutoText/*[in,opt]*/, 
                                            VARIANT* ExtractAddress/*[in,opt]*/, 
                                            VARIANT* LaserTray/*[in,opt]*/)
{
  Word_xp::WordDocument* prop;
  this->CreateNewDocument2000(Name, Address, AutoText, ExtractAddress, LaserTray, (Word_xp::WordDocument**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::PrintOut2000(VARIANT* Name/*[in,opt]*/, VARIANT* Address/*[in,opt]*/, 
                                   VARIANT* ExtractAddress/*[in,opt]*/, 
                                   VARIANT* LaserTray/*[in,opt]*/, VARIANT* SingleLabel/*[in,opt]*/
                                   , VARIANT* Row/*[in,opt]*/, VARIANT* Column/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOut2000"), DISPID(102));
  TAutoArgs<7> _args;
  _args[1] = Name /*[VT_VARIANT:1]*/;
  _args[2] = Address /*[VT_VARIANT:1]*/;
  _args[3] = ExtractAddress /*[VT_VARIANT:1]*/;
  _args[4] = LaserTray /*[VT_VARIANT:1]*/;
  _args[5] = SingleLabel /*[VT_VARIANT:1]*/;
  _args[6] = Row /*[VT_VARIANT:1]*/;
  _args[7] = Column /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::LabelOptions()
{
  _TDispID _dispid(*this, OLETEXT("LabelOptions"), DISPID(103));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::CreateNewDocument(VARIANT* Name/*[in,opt]*/, VARIANT* Address/*[in,opt]*/, 
                                        VARIANT* AutoText/*[in,opt]*/, 
                                        VARIANT* ExtractAddress/*[in,opt]*/, 
                                        VARIANT* LaserTray/*[in,opt]*/, 
                                        VARIANT* PrintEPostageLabel/*[in,opt]*/, 
                                        VARIANT* Vertical/*[in,opt]*/, 
                                        Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateNewDocument"), DISPID(104));
  TAutoArgs<7> _args;
  _args[1] = Name /*[VT_VARIANT:1]*/;
  _args[2] = Address /*[VT_VARIANT:1]*/;
  _args[3] = AutoText /*[VT_VARIANT:1]*/;
  _args[4] = ExtractAddress /*[VT_VARIANT:1]*/;
  _args[5] = LaserTray /*[VT_VARIANT:1]*/;
  _args[6] = PrintEPostageLabel /*[VT_VARIANT:1]*/;
  _args[7] = Vertical /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordDocument* __fastcall
MailingLabelDispT<T>::CreateNewDocument(VARIANT* Name/*[in,opt]*/, VARIANT* Address/*[in,opt]*/, 
                                        VARIANT* AutoText/*[in,opt]*/, 
                                        VARIANT* ExtractAddress/*[in,opt]*/, 
                                        VARIANT* LaserTray/*[in,opt]*/, 
                                        VARIANT* PrintEPostageLabel/*[in,opt]*/, 
                                        VARIANT* Vertical/*[in,opt]*/)
{
  Word_xp::WordDocument* prop;
  this->CreateNewDocument(Name, Address, AutoText, ExtractAddress, LaserTray, PrintEPostageLabel, 
                          Vertical, (Word_xp::WordDocument**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::PrintOut(VARIANT* Name/*[in,opt]*/, VARIANT* Address/*[in,opt]*/, 
                               VARIANT* ExtractAddress/*[in,opt]*/, VARIANT* LaserTray/*[in,opt]*/, 
                               VARIANT* SingleLabel/*[in,opt]*/, VARIANT* Row/*[in,opt]*/, 
                               VARIANT* Column/*[in,opt]*/, VARIANT* PrintEPostageLabel/*[in,opt]*/
                               , VARIANT* Vertical/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOut"), DISPID(105));
  TAutoArgs<9> _args;
  _args[1] = Name /*[VT_VARIANT:1]*/;
  _args[2] = Address /*[VT_VARIANT:1]*/;
  _args[3] = ExtractAddress /*[VT_VARIANT:1]*/;
  _args[4] = LaserTray /*[VT_VARIANT:1]*/;
  _args[5] = SingleLabel /*[VT_VARIANT:1]*/;
  _args[6] = Row /*[VT_VARIANT:1]*/;
  _args[7] = Column /*[VT_VARIANT:1]*/;
  _args[8] = PrintEPostageLabel /*[VT_VARIANT:1]*/;
  _args[9] = Vertical /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::get_Vertical(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Vertical"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
MailingLabelDispT<T>::get_Vertical(void)
{
  VARIANT_BOOL prop;
  this->get_Vertical((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailingLabelDispT<T>::set_Vertical(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Vertical"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  CustomLabels
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020916-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
CustomLabelsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CustomLabelsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CustomLabelsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CustomLabelsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
CustomLabelsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CustomLabelsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelsDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::CustomLabel** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CustomLabel**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::CustomLabel* __fastcall
CustomLabelsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::CustomLabel* prop;
  this->Item(Index, (Word_xp::CustomLabel**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelsDispT<T>::Add(BSTR Name/*[in]*/, VARIANT* DotMatrix/*[in,opt]*/, 
                          Word_xp::CustomLabel** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<2> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = DotMatrix /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CustomLabel**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::CustomLabel* __fastcall
CustomLabelsDispT<T>::Add(BSTR Name/*[in]*/, VARIANT* DotMatrix/*[in,opt]*/)
{
  Word_xp::CustomLabel* prop;
  this->Add(Name, DotMatrix, (Word_xp::CustomLabel**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  CustomLabel
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020915-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CustomLabelDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CustomLabelDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CustomLabelDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CustomLabelDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
CustomLabelDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_TopMargin(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopMargin"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CustomLabelDispT<T>::get_TopMargin(void)
{
  float prop;
  this->get_TopMargin((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::set_TopMargin(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopMargin"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_SideMargin(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SideMargin"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CustomLabelDispT<T>::get_SideMargin(void)
{
  float prop;
  this->get_SideMargin((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::set_SideMargin(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SideMargin"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_Height(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CustomLabelDispT<T>::get_Height(void)
{
  float prop;
  this->get_Height((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::set_Height(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_Width(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CustomLabelDispT<T>::get_Width(void)
{
  float prop;
  this->get_Width((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::set_Width(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_VerticalPitch(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalPitch"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CustomLabelDispT<T>::get_VerticalPitch(void)
{
  float prop;
  this->get_VerticalPitch((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::set_VerticalPitch(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalPitch"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_HorizontalPitch(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalPitch"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CustomLabelDispT<T>::get_HorizontalPitch(void)
{
  float prop;
  this->get_HorizontalPitch((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::set_HorizontalPitch(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalPitch"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_NumberAcross(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberAcross"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CustomLabelDispT<T>::get_NumberAcross(void)
{
  long prop;
  this->get_NumberAcross((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::set_NumberAcross(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberAcross"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_NumberDown(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberDown"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CustomLabelDispT<T>::get_NumberDown(void)
{
  long prop;
  this->get_NumberDown((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::set_NumberDown(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberDown"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_DotMatrix(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DotMatrix"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
CustomLabelDispT<T>::get_DotMatrix(void)
{
  VARIANT_BOOL prop;
  this->get_DotMatrix((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_PageSize(Word_xp::WdCustomLabelPageSize* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageSize"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdCustomLabelPageSize __fastcall
CustomLabelDispT<T>::get_PageSize(void)
{
  Word_xp::WdCustomLabelPageSize prop;
  this->get_PageSize((Word_xp::WdCustomLabelPageSize*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::set_PageSize(Word_xp::WdCustomLabelPageSize prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageSize"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::get_Valid(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Valid"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
CustomLabelDispT<T>::get_Valid(void)
{
  VARIANT_BOOL prop;
  this->get_Valid((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomLabelDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(101));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  TablesOfContents
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020914-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TablesOfContentsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TablesOfContentsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfContentsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TablesOfContentsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfContentsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TablesOfContentsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfContentsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
TablesOfContentsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfContentsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TablesOfContentsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfContentsDispT<T>::get_Format(Word_xp::WdTocFormat* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTocFormat __fastcall
TablesOfContentsDispT<T>::get_Format(void)
{
  Word_xp::WdTocFormat prop;
  this->get_Format((Word_xp::WdTocFormat*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfContentsDispT<T>::set_Format(Word_xp::WdTocFormat prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TablesOfContentsDispT<T>::Item(long Index/*[in]*/, Word_xp::TableOfContents** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TableOfContents**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TableOfContents* __fastcall
TablesOfContentsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::TableOfContents* prop;
  this->Item(Index, (Word_xp::TableOfContents**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfContentsDispT<T>::AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                 VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                 VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                 VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                 VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                 VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                 VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                 VARIANT* AddedStyles/*[in,opt]*/, 
                                 Word_xp::TableOfContents** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddOld"), DISPID(100));
  TAutoArgs<9> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = UseHeadingStyles /*[VT_VARIANT:1]*/;
  _args[3] = UpperHeadingLevel /*[VT_VARIANT:1]*/;
  _args[4] = LowerHeadingLevel /*[VT_VARIANT:1]*/;
  _args[5] = UseFields /*[VT_VARIANT:1]*/;
  _args[6] = TableID /*[VT_VARIANT:1]*/;
  _args[7] = RightAlignPageNumbers /*[VT_VARIANT:1]*/;
  _args[8] = IncludePageNumbers /*[VT_VARIANT:1]*/;
  _args[9] = AddedStyles /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TableOfContents**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TableOfContents* __fastcall
TablesOfContentsDispT<T>::AddOld(Word_xp::WordRange* Range/*[in]*/, 
                                 VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                 VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                 VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                 VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                 VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                 VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                 VARIANT* AddedStyles/*[in,opt]*/)
{
  Word_xp::TableOfContents* prop;
  this->AddOld(Range, UseHeadingStyles, UpperHeadingLevel, LowerHeadingLevel, UseFields, TableID, 
               RightAlignPageNumbers, IncludePageNumbers, AddedStyles, (Word_xp::TableOfContents**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfContentsDispT<T>::MarkEntry(Word_xp::WordRange* Range/*[in]*/, VARIANT* Entry/*[in,opt]*/, 
                                    VARIANT* EntryAutoText/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/
                                    , VARIANT* Level/*[in,opt]*/, 
                                    Word_xp::Field** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarkEntry"), DISPID(101));
  TAutoArgs<5> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Entry /*[VT_VARIANT:1]*/;
  _args[3] = EntryAutoText /*[VT_VARIANT:1]*/;
  _args[4] = TableID /*[VT_VARIANT:1]*/;
  _args[5] = Level /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Field**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Field* __fastcall
TablesOfContentsDispT<T>::MarkEntry(Word_xp::WordRange* Range/*[in]*/, VARIANT* Entry/*[in,opt]*/, 
                                    VARIANT* EntryAutoText/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                    VARIANT* Level/*[in,opt]*/)
{
  Word_xp::Field* prop;
  this->MarkEntry(Range, Entry, EntryAutoText, TableID, Level, (Word_xp::Field**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfContentsDispT<T>::Add2000(Word_xp::WordRange* Range/*[in]*/, 
                                  VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                  VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                  VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                  VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                  VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                  VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                  VARIANT* AddedStyles/*[in,opt]*/, 
                                  VARIANT* UseHyperlinks/*[in,opt]*/, 
                                  VARIANT* HidePageNumbersInWeb/*[in,opt]*/, 
                                  Word_xp::TableOfContents** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add2000"), DISPID(102));
  TAutoArgs<11> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = UseHeadingStyles /*[VT_VARIANT:1]*/;
  _args[3] = UpperHeadingLevel /*[VT_VARIANT:1]*/;
  _args[4] = LowerHeadingLevel /*[VT_VARIANT:1]*/;
  _args[5] = UseFields /*[VT_VARIANT:1]*/;
  _args[6] = TableID /*[VT_VARIANT:1]*/;
  _args[7] = RightAlignPageNumbers /*[VT_VARIANT:1]*/;
  _args[8] = IncludePageNumbers /*[VT_VARIANT:1]*/;
  _args[9] = AddedStyles /*[VT_VARIANT:1]*/;
  _args[10] = UseHyperlinks /*[VT_VARIANT:1]*/;
  _args[11] = HidePageNumbersInWeb /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TableOfContents**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TableOfContents* __fastcall
TablesOfContentsDispT<T>::Add2000(Word_xp::WordRange* Range/*[in]*/, 
                                  VARIANT* UseHeadingStyles/*[in,opt]*/, 
                                  VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                                  VARIANT* LowerHeadingLevel/*[in,opt]*/, 
                                  VARIANT* UseFields/*[in,opt]*/, VARIANT* TableID/*[in,opt]*/, 
                                  VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                                  VARIANT* IncludePageNumbers/*[in,opt]*/, 
                                  VARIANT* AddedStyles/*[in,opt]*/, 
                                  VARIANT* UseHyperlinks/*[in,opt]*/, 
                                  VARIANT* HidePageNumbersInWeb/*[in,opt]*/)
{
  Word_xp::TableOfContents* prop;
  this->Add2000(Range, UseHeadingStyles, UpperHeadingLevel, LowerHeadingLevel, UseFields, TableID, 
                RightAlignPageNumbers, IncludePageNumbers, AddedStyles, UseHyperlinks, 
                HidePageNumbersInWeb, (Word_xp::TableOfContents**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfContentsDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, 
                              VARIANT* UseHeadingStyles/*[in,opt]*/, 
                              VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                              VARIANT* LowerHeadingLevel/*[in,opt]*/, VARIANT* UseFields/*[in,opt]*/
                              , VARIANT* TableID/*[in,opt]*/, 
                              VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                              VARIANT* IncludePageNumbers/*[in,opt]*/, 
                              VARIANT* AddedStyles/*[in,opt]*/, VARIANT* UseHyperlinks/*[in,opt]*/, 
                              VARIANT* HidePageNumbersInWeb/*[in,opt]*/, 
                              VARIANT* UseOutlineLevels/*[in,opt]*/, 
                              Word_xp::TableOfContents** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(103));
  TAutoArgs<12> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = UseHeadingStyles /*[VT_VARIANT:1]*/;
  _args[3] = UpperHeadingLevel /*[VT_VARIANT:1]*/;
  _args[4] = LowerHeadingLevel /*[VT_VARIANT:1]*/;
  _args[5] = UseFields /*[VT_VARIANT:1]*/;
  _args[6] = TableID /*[VT_VARIANT:1]*/;
  _args[7] = RightAlignPageNumbers /*[VT_VARIANT:1]*/;
  _args[8] = IncludePageNumbers /*[VT_VARIANT:1]*/;
  _args[9] = AddedStyles /*[VT_VARIANT:1]*/;
  _args[10] = UseHyperlinks /*[VT_VARIANT:1]*/;
  _args[11] = HidePageNumbersInWeb /*[VT_VARIANT:1]*/;
  _args[12] = UseOutlineLevels /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TableOfContents**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TableOfContents* __fastcall
TablesOfContentsDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, 
                              VARIANT* UseHeadingStyles/*[in,opt]*/, 
                              VARIANT* UpperHeadingLevel/*[in,opt]*/, 
                              VARIANT* LowerHeadingLevel/*[in,opt]*/, VARIANT* UseFields/*[in,opt]*/, 
                              VARIANT* TableID/*[in,opt]*/, 
                              VARIANT* RightAlignPageNumbers/*[in,opt]*/, 
                              VARIANT* IncludePageNumbers/*[in,opt]*/, 
                              VARIANT* AddedStyles/*[in,opt]*/, VARIANT* UseHyperlinks/*[in,opt]*/, 
                              VARIANT* HidePageNumbersInWeb/*[in,opt]*/, 
                              VARIANT* UseOutlineLevels/*[in,opt]*/)
{
  Word_xp::TableOfContents* prop;
  this->Add(Range, UseHeadingStyles, UpperHeadingLevel, LowerHeadingLevel, UseFields, TableID, 
            RightAlignPageNumbers, IncludePageNumbers, AddedStyles, UseHyperlinks, 
            HidePageNumbersInWeb, UseOutlineLevels, (Word_xp::TableOfContents**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  TableOfContents
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020913-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TableOfContentsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableOfContentsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TableOfContentsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_UseHeadingStyles(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseHeadingStyles"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfContentsDispT<T>::get_UseHeadingStyles(void)
{
  VARIANT_BOOL prop;
  this->get_UseHeadingStyles((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::set_UseHeadingStyles(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseHeadingStyles"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_UseFields(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseFields"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfContentsDispT<T>::get_UseFields(void)
{
  VARIANT_BOOL prop;
  this->get_UseFields((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::set_UseFields(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseFields"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_UpperHeadingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpperHeadingLevel"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableOfContentsDispT<T>::get_UpperHeadingLevel(void)
{
  long prop;
  this->get_UpperHeadingLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::set_UpperHeadingLevel(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpperHeadingLevel"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_LowerHeadingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LowerHeadingLevel"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableOfContentsDispT<T>::get_LowerHeadingLevel(void)
{
  long prop;
  this->get_LowerHeadingLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::set_LowerHeadingLevel(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LowerHeadingLevel"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_TableID(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableID"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TableOfContentsDispT<T>::get_TableID(void)
{
  BSTR prop;
  this->get_TableID((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::set_TableID(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableID"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_HeadingStyles(Word_xp::HeadingStyles** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeadingStyles"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HeadingStyles**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HeadingStylesPtr __fastcall
TableOfContentsDispT<T>::get_HeadingStyles(void)
{
  Word_xp::HeadingStylesPtr prop;
  this->get_HeadingStyles(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_RightAlignPageNumbers(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightAlignPageNumbers"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfContentsDispT<T>::get_RightAlignPageNumbers(void)
{
  VARIANT_BOOL prop;
  this->get_RightAlignPageNumbers((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::set_RightAlignPageNumbers(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightAlignPageNumbers"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_IncludePageNumbers(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludePageNumbers"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfContentsDispT<T>::get_IncludePageNumbers(void)
{
  VARIANT_BOOL prop;
  this->get_IncludePageNumbers((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::set_IncludePageNumbers(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludePageNumbers"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
TableOfContentsDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_TabLeader(Word_xp::WdTabLeader* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabLeader"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTabLeader __fastcall
TableOfContentsDispT<T>::get_TabLeader(void)
{
  Word_xp::WdTabLeader prop;
  this->get_TabLeader((Word_xp::WdTabLeader*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::set_TabLeader(Word_xp::WdTabLeader prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabLeader"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::UpdatePageNumbers()
{
  _TDispID _dispid(*this, OLETEXT("UpdatePageNumbers"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::_Update()
{
  _TDispID _dispid(*this, OLETEXT("Update"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_UseHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseHyperlinks"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfContentsDispT<T>::get_UseHyperlinks(void)
{
  VARIANT_BOOL prop;
  this->get_UseHyperlinks((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::set_UseHyperlinks(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseHyperlinks"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::get_HidePageNumbersInWeb(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HidePageNumbersInWeb"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfContentsDispT<T>::get_HidePageNumbersInWeb(void)
{
  VARIANT_BOOL prop;
  this->get_HidePageNumbersInWeb((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfContentsDispT<T>::set_HidePageNumbersInWeb(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HidePageNumbersInWeb"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  TablesOfAuthorities
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020912-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TablesOfAuthoritiesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TablesOfAuthoritiesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TablesOfAuthoritiesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TablesOfAuthoritiesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
TablesOfAuthoritiesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TablesOfAuthoritiesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesDispT<T>::get_Format(Word_xp::WdToaFormat* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdToaFormat __fastcall
TablesOfAuthoritiesDispT<T>::get_Format(void)
{
  Word_xp::WdToaFormat prop;
  this->get_Format((Word_xp::WdToaFormat*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesDispT<T>::set_Format(Word_xp::WdToaFormat prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesDispT<T>::Item(long Index/*[in]*/, 
                                  Word_xp::TableOfAuthorities** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TableOfAuthorities**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TableOfAuthorities* __fastcall
TablesOfAuthoritiesDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::TableOfAuthorities* prop;
  this->Item(Index, (Word_xp::TableOfAuthorities**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Category/*[in,opt]*/, 
                                 VARIANT* Bookmark/*[in,opt]*/, VARIANT* Passim/*[in,opt]*/, 
                                 VARIANT* KeepEntryFormatting/*[in,opt]*/, 
                                 VARIANT* Separator/*[in,opt]*/, 
                                 VARIANT* IncludeSequenceName/*[in,opt]*/, 
                                 VARIANT* EntrySeparator/*[in,opt]*/, 
                                 VARIANT* PageRangeSeparator/*[in,opt]*/, 
                                 VARIANT* IncludeCategoryHeader/*[in,opt]*/, 
                                 VARIANT* PageNumberSeparator/*[in,opt]*/, 
                                 Word_xp::TableOfAuthorities** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(100));
  TAutoArgs<11> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Category /*[VT_VARIANT:1]*/;
  _args[3] = Bookmark /*[VT_VARIANT:1]*/;
  _args[4] = Passim /*[VT_VARIANT:1]*/;
  _args[5] = KeepEntryFormatting /*[VT_VARIANT:1]*/;
  _args[6] = Separator /*[VT_VARIANT:1]*/;
  _args[7] = IncludeSequenceName /*[VT_VARIANT:1]*/;
  _args[8] = EntrySeparator /*[VT_VARIANT:1]*/;
  _args[9] = PageRangeSeparator /*[VT_VARIANT:1]*/;
  _args[10] = IncludeCategoryHeader /*[VT_VARIANT:1]*/;
  _args[11] = PageNumberSeparator /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TableOfAuthorities**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TableOfAuthorities* __fastcall
TablesOfAuthoritiesDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* Category/*[in,opt]*/, 
                                 VARIANT* Bookmark/*[in,opt]*/, VARIANT* Passim/*[in,opt]*/, 
                                 VARIANT* KeepEntryFormatting/*[in,opt]*/, 
                                 VARIANT* Separator/*[in,opt]*/, 
                                 VARIANT* IncludeSequenceName/*[in,opt]*/, 
                                 VARIANT* EntrySeparator/*[in,opt]*/, 
                                 VARIANT* PageRangeSeparator/*[in,opt]*/, 
                                 VARIANT* IncludeCategoryHeader/*[in,opt]*/, 
                                 VARIANT* PageNumberSeparator/*[in,opt]*/)
{
  Word_xp::TableOfAuthorities* prop;
  this->Add(Range, Category, Bookmark, Passim, KeepEntryFormatting, Separator, IncludeSequenceName, 
            EntrySeparator, PageRangeSeparator, IncludeCategoryHeader, PageNumberSeparator, (Word_xp::TableOfAuthorities**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesDispT<T>::NextCitation(BSTR ShortCitation/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NextCitation"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = ShortCitation /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesDispT<T>::MarkCitation(Word_xp::WordRange* Range/*[in]*/, 
                                          BSTR ShortCitation/*[in]*/, 
                                          VARIANT* LongCitation/*[in,opt]*/, 
                                          VARIANT* LongCitationAutoText/*[in,opt]*/, 
                                          VARIANT* Category/*[in,opt]*/, 
                                          Word_xp::Field** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarkCitation"), DISPID(101));
  TAutoArgs<5> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = ShortCitation /*[VT_BSTR:0]*/;
  _args[3] = LongCitation /*[VT_VARIANT:1]*/;
  _args[4] = LongCitationAutoText /*[VT_VARIANT:1]*/;
  _args[5] = Category /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Field**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Field* __fastcall
TablesOfAuthoritiesDispT<T>::MarkCitation(Word_xp::WordRange* Range/*[in]*/, 
                                          BSTR ShortCitation/*[in]*/, 
                                          VARIANT* LongCitation/*[in,opt]*/, 
                                          VARIANT* LongCitationAutoText/*[in,opt]*/, 
                                          VARIANT* Category/*[in,opt]*/)
{
  Word_xp::Field* prop;
  this->MarkCitation(Range, ShortCitation, LongCitation, LongCitationAutoText, Category, (Word_xp::Field**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesDispT<T>::MarkAllCitations(BSTR ShortCitation/*[in]*/, 
                                              VARIANT* LongCitation/*[in,opt]*/, 
                                              VARIANT* LongCitationAutoText/*[in,opt]*/, 
                                              VARIANT* Category/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarkAllCitations"), DISPID(102));
  TAutoArgs<4> _args;
  _args[1] = ShortCitation /*[VT_BSTR:0]*/;
  _args[2] = LongCitation /*[VT_VARIANT:1]*/;
  _args[3] = LongCitationAutoText /*[VT_VARIANT:1]*/;
  _args[4] = Category /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  TableOfAuthorities
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020911-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TableOfAuthoritiesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableOfAuthoritiesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TableOfAuthoritiesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_Passim(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Passim"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfAuthoritiesDispT<T>::get_Passim(void)
{
  VARIANT_BOOL prop;
  this->get_Passim((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::set_Passim(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Passim"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_KeepEntryFormatting(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepEntryFormatting"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfAuthoritiesDispT<T>::get_KeepEntryFormatting(void)
{
  VARIANT_BOOL prop;
  this->get_KeepEntryFormatting((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::set_KeepEntryFormatting(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeepEntryFormatting"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_Category(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Category"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableOfAuthoritiesDispT<T>::get_Category(void)
{
  long prop;
  this->get_Category((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::set_Category(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Category"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_Bookmark(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Bookmark"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TableOfAuthoritiesDispT<T>::get_Bookmark(void)
{
  BSTR prop;
  this->get_Bookmark((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::set_Bookmark(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Bookmark"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_Separator(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Separator"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TableOfAuthoritiesDispT<T>::get_Separator(void)
{
  BSTR prop;
  this->get_Separator((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::set_Separator(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Separator"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_IncludeSequenceName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeSequenceName"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TableOfAuthoritiesDispT<T>::get_IncludeSequenceName(void)
{
  BSTR prop;
  this->get_IncludeSequenceName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::set_IncludeSequenceName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeSequenceName"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_EntrySeparator(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EntrySeparator"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TableOfAuthoritiesDispT<T>::get_EntrySeparator(void)
{
  BSTR prop;
  this->get_EntrySeparator((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::set_EntrySeparator(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EntrySeparator"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_PageRangeSeparator(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageRangeSeparator"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TableOfAuthoritiesDispT<T>::get_PageRangeSeparator(void)
{
  BSTR prop;
  this->get_PageRangeSeparator((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::set_PageRangeSeparator(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageRangeSeparator"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_IncludeCategoryHeader(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeCategoryHeader"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableOfAuthoritiesDispT<T>::get_IncludeCategoryHeader(void)
{
  VARIANT_BOOL prop;
  this->get_IncludeCategoryHeader((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::set_IncludeCategoryHeader(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeCategoryHeader"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_PageNumberSeparator(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageNumberSeparator"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TableOfAuthoritiesDispT<T>::get_PageNumberSeparator(void)
{
  BSTR prop;
  this->get_PageNumberSeparator((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::set_PageNumberSeparator(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageNumberSeparator"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
TableOfAuthoritiesDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::get_TabLeader(Word_xp::WdTabLeader* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabLeader"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTabLeader __fastcall
TableOfAuthoritiesDispT<T>::get_TabLeader(void)
{
  Word_xp::WdTabLeader prop;
  this->get_TabLeader((Word_xp::WdTabLeader*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::set_TabLeader(Word_xp::WdTabLeader prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabLeader"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesDispT<T>::_Update()
{
  _TDispID _dispid(*this, OLETEXT("Update"), DISPID(101));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Dialogs
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020910-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
DialogsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
DialogsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DialogsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DialogsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DialogsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
DialogsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DialogsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
DialogsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DialogsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DialogsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DialogsDispT<T>::Item(Word_xp::WdWordDialog Index/*[in]*/, Word_xp::Dialog** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = (int)Index /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dialog**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Dialog* __fastcall
DialogsDispT<T>::Item(Word_xp::WdWordDialog Index/*[in]*/)
{
  Word_xp::Dialog* prop;
  this->Item(Index, (Word_xp::Dialog**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Dialog
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {000209B8-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
DialogDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(32003));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
DialogDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DialogDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(32004));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DialogDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DialogDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(32005));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
DialogDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DialogDispT<T>::get_DefaultTab(Word_xp::WdWordDialogTab* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTab"), DISPID(32002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdWordDialogTab __fastcall
DialogDispT<T>::get_DefaultTab(void)
{
  Word_xp::WdWordDialogTab prop;
  this->get_DefaultTab((Word_xp::WdWordDialogTab*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DialogDispT<T>::set_DefaultTab(Word_xp::WdWordDialogTab prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTab"), DISPID(32002));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DialogDispT<T>::get_Type(Word_xp::WdWordDialog* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdWordDialog __fastcall
DialogDispT<T>::get_Type(void)
{
  Word_xp::WdWordDialog prop;
  this->get_Type((Word_xp::WdWordDialog*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DialogDispT<T>::Show(VARIANT* TimeOut/*[in,opt]*/, long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Show"), DISPID(336));
  TAutoArgs<1> _args;
  _args[1] = TimeOut /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
DialogDispT<T>::Show(VARIANT* TimeOut/*[in,opt]*/)
{
  long prop;
  this->Show(TimeOut, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DialogDispT<T>::Display(VARIANT* TimeOut/*[in,opt]*/, long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Display"), DISPID(338));
  TAutoArgs<1> _args;
  _args[1] = TimeOut /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
DialogDispT<T>::Display(VARIANT* TimeOut/*[in,opt]*/)
{
  long prop;
  this->Display(TimeOut, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DialogDispT<T>::Execute()
{
  _TDispID _dispid(*this, OLETEXT("Execute"), DISPID(32001));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
DialogDispT<T>::_Update()
{
  _TDispID _dispid(*this, OLETEXT("Update"), DISPID(302));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
DialogDispT<T>::get_CommandName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CommandName"), DISPID(32006));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
DialogDispT<T>::get_CommandName(void)
{
  BSTR prop;
  this->get_CommandName((BSTR*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  PageSetup
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020971-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
PageSetupDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PageSetupDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
PageSetupDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_TopMargin(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopMargin"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PageSetupDispT<T>::get_TopMargin(void)
{
  float prop;
  this->get_TopMargin((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_TopMargin(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopMargin"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_BottomMargin(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BottomMargin"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PageSetupDispT<T>::get_BottomMargin(void)
{
  float prop;
  this->get_BottomMargin((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_BottomMargin(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BottomMargin"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_LeftMargin(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftMargin"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PageSetupDispT<T>::get_LeftMargin(void)
{
  float prop;
  this->get_LeftMargin((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_LeftMargin(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftMargin"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_RightMargin(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightMargin"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PageSetupDispT<T>::get_RightMargin(void)
{
  float prop;
  this->get_RightMargin((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_RightMargin(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightMargin"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_Gutter(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Gutter"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PageSetupDispT<T>::get_Gutter(void)
{
  float prop;
  this->get_Gutter((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_Gutter(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Gutter"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_PageWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageWidth"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PageSetupDispT<T>::get_PageWidth(void)
{
  float prop;
  this->get_PageWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_PageWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageWidth"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_PageHeight(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageHeight"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PageSetupDispT<T>::get_PageHeight(void)
{
  float prop;
  this->get_PageHeight((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_PageHeight(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageHeight"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_Orientation(Word_xp::WdOrientation* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Orientation"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdOrientation __fastcall
PageSetupDispT<T>::get_Orientation(void)
{
  Word_xp::WdOrientation prop;
  this->get_Orientation((Word_xp::WdOrientation*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_Orientation(Word_xp::WdOrientation prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Orientation"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_FirstPageTray(Word_xp::WdPaperTray* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstPageTray"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPaperTray __fastcall
PageSetupDispT<T>::get_FirstPageTray(void)
{
  Word_xp::WdPaperTray prop;
  this->get_FirstPageTray((Word_xp::WdPaperTray*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_FirstPageTray(Word_xp::WdPaperTray prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstPageTray"), DISPID(108));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_OtherPagesTray(Word_xp::WdPaperTray* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OtherPagesTray"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPaperTray __fastcall
PageSetupDispT<T>::get_OtherPagesTray(void)
{
  Word_xp::WdPaperTray prop;
  this->get_OtherPagesTray((Word_xp::WdPaperTray*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_OtherPagesTray(Word_xp::WdPaperTray prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OtherPagesTray"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_VerticalAlignment(Word_xp::WdVerticalAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalAlignment"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdVerticalAlignment __fastcall
PageSetupDispT<T>::get_VerticalAlignment(void)
{
  Word_xp::WdVerticalAlignment prop;
  this->get_VerticalAlignment((Word_xp::WdVerticalAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_VerticalAlignment(Word_xp::WdVerticalAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalAlignment"), DISPID(110));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_MirrorMargins(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MirrorMargins"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PageSetupDispT<T>::get_MirrorMargins(void)
{
  long prop;
  this->get_MirrorMargins((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_MirrorMargins(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MirrorMargins"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_HeaderDistance(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeaderDistance"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PageSetupDispT<T>::get_HeaderDistance(void)
{
  float prop;
  this->get_HeaderDistance((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_HeaderDistance(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeaderDistance"), DISPID(112));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_FooterDistance(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FooterDistance"), DISPID(113));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PageSetupDispT<T>::get_FooterDistance(void)
{
  float prop;
  this->get_FooterDistance((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_FooterDistance(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FooterDistance"), DISPID(113));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_SectionStart(Word_xp::WdSectionStart* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SectionStart"), DISPID(114));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSectionStart __fastcall
PageSetupDispT<T>::get_SectionStart(void)
{
  Word_xp::WdSectionStart prop;
  this->get_SectionStart((Word_xp::WdSectionStart*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_SectionStart(Word_xp::WdSectionStart prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SectionStart"), DISPID(114));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_OddAndEvenPagesHeaderFooter(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OddAndEvenPagesHeaderFooter"), DISPID(115));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PageSetupDispT<T>::get_OddAndEvenPagesHeaderFooter(void)
{
  long prop;
  this->get_OddAndEvenPagesHeaderFooter((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_OddAndEvenPagesHeaderFooter(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OddAndEvenPagesHeaderFooter"), DISPID(115));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_DifferentFirstPageHeaderFooter(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DifferentFirstPageHeaderFooter"), DISPID(116));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PageSetupDispT<T>::get_DifferentFirstPageHeaderFooter(void)
{
  long prop;
  this->get_DifferentFirstPageHeaderFooter((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_DifferentFirstPageHeaderFooter(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DifferentFirstPageHeaderFooter"), DISPID(116));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_SuppressEndnotes(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SuppressEndnotes"), DISPID(117));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PageSetupDispT<T>::get_SuppressEndnotes(void)
{
  long prop;
  this->get_SuppressEndnotes((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_SuppressEndnotes(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SuppressEndnotes"), DISPID(117));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_LineNumbering(Word_xp::LineNumbering** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineNumbering"), DISPID(118));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::LineNumbering**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::LineNumberingPtr __fastcall
PageSetupDispT<T>::get_LineNumbering(void)
{
  Word_xp::LineNumberingPtr prop;
  this->get_LineNumbering(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_LineNumbering(Word_xp::LineNumberingPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineNumbering"), DISPID(118));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::LineNumbering*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_TextColumns(Word_xp::TextColumns** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextColumns"), DISPID(119));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextColumns**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TextColumnsPtr __fastcall
PageSetupDispT<T>::get_TextColumns(void)
{
  Word_xp::TextColumnsPtr prop;
  this->get_TextColumns(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_TextColumns(Word_xp::TextColumnsPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextColumns"), DISPID(119));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::TextColumns*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_PaperSize(Word_xp::WdPaperSize* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PaperSize"), DISPID(120));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPaperSize __fastcall
PageSetupDispT<T>::get_PaperSize(void)
{
  Word_xp::WdPaperSize prop;
  this->get_PaperSize((Word_xp::WdPaperSize*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_PaperSize(Word_xp::WdPaperSize prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PaperSize"), DISPID(120));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_TwoPagesOnOne(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TwoPagesOnOne"), DISPID(121));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
PageSetupDispT<T>::get_TwoPagesOnOne(void)
{
  VARIANT_BOOL prop;
  this->get_TwoPagesOnOne((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_TwoPagesOnOne(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TwoPagesOnOne"), DISPID(121));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_GutterOnTop(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GutterOnTop"), DISPID(122));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
PageSetupDispT<T>::get_GutterOnTop(void)
{
  VARIANT_BOOL prop;
  this->get_GutterOnTop((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_GutterOnTop(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GutterOnTop"), DISPID(122));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_CharsLine(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharsLine"), DISPID(123));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PageSetupDispT<T>::get_CharsLine(void)
{
  float prop;
  this->get_CharsLine((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_CharsLine(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CharsLine"), DISPID(123));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_LinesPage(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinesPage"), DISPID(124));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PageSetupDispT<T>::get_LinesPage(void)
{
  float prop;
  this->get_LinesPage((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_LinesPage(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinesPage"), DISPID(124));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_ShowGrid(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowGrid"), DISPID(128));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
PageSetupDispT<T>::get_ShowGrid(void)
{
  VARIANT_BOOL prop;
  this->get_ShowGrid((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_ShowGrid(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowGrid"), DISPID(128));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::TogglePortrait()
{
  _TDispID _dispid(*this, OLETEXT("TogglePortrait"), DISPID(201));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::SetAsTemplateDefault()
{
  _TDispID _dispid(*this, OLETEXT("SetAsTemplateDefault"), DISPID(202));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_GutterStyle(Word_xp::WdGutterStyleOld* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GutterStyle"), DISPID(129));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdGutterStyleOld __fastcall
PageSetupDispT<T>::get_GutterStyle(void)
{
  Word_xp::WdGutterStyleOld prop;
  this->get_GutterStyle((Word_xp::WdGutterStyleOld*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_GutterStyle(Word_xp::WdGutterStyleOld prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GutterStyle"), DISPID(129));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_SectionDirection(Word_xp::WdSectionDirection* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SectionDirection"), DISPID(130));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSectionDirection __fastcall
PageSetupDispT<T>::get_SectionDirection(void)
{
  Word_xp::WdSectionDirection prop;
  this->get_SectionDirection((Word_xp::WdSectionDirection*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_SectionDirection(Word_xp::WdSectionDirection prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SectionDirection"), DISPID(130));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_LayoutMode(Word_xp::WdLayoutMode* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LayoutMode"), DISPID(131));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLayoutMode __fastcall
PageSetupDispT<T>::get_LayoutMode(void)
{
  Word_xp::WdLayoutMode prop;
  this->get_LayoutMode((Word_xp::WdLayoutMode*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_LayoutMode(Word_xp::WdLayoutMode prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LayoutMode"), DISPID(131));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_GutterPos(Word_xp::WdGutterStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GutterPos"), DISPID(1222));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdGutterStyle __fastcall
PageSetupDispT<T>::get_GutterPos(void)
{
  Word_xp::WdGutterStyle prop;
  this->get_GutterPos((Word_xp::WdGutterStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_GutterPos(Word_xp::WdGutterStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GutterPos"), DISPID(1222));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_BookFoldPrinting(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BookFoldPrinting"), DISPID(1223));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
PageSetupDispT<T>::get_BookFoldPrinting(void)
{
  VARIANT_BOOL prop;
  this->get_BookFoldPrinting((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_BookFoldPrinting(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BookFoldPrinting"), DISPID(1223));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_BookFoldRevPrinting(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BookFoldRevPrinting"), DISPID(1224));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
PageSetupDispT<T>::get_BookFoldRevPrinting(void)
{
  VARIANT_BOOL prop;
  this->get_BookFoldRevPrinting((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_BookFoldRevPrinting(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BookFoldRevPrinting"), DISPID(1224));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::get_BookFoldPrintingSheets(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BookFoldPrintingSheets"), DISPID(1225));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PageSetupDispT<T>::get_BookFoldPrintingSheets(void)
{
  long prop;
  this->get_BookFoldPrintingSheets((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageSetupDispT<T>::set_BookFoldPrintingSheets(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BookFoldPrintingSheets"), DISPID(1225));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  LineNumbering
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020972-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
LineNumberingDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
LineNumberingDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineNumberingDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
LineNumberingDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineNumberingDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
LineNumberingDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineNumberingDispT<T>::get_RestartMode(Word_xp::WdNumberingRule* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RestartMode"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdNumberingRule __fastcall
LineNumberingDispT<T>::get_RestartMode(void)
{
  Word_xp::WdNumberingRule prop;
  this->get_RestartMode((Word_xp::WdNumberingRule*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineNumberingDispT<T>::set_RestartMode(Word_xp::WdNumberingRule prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RestartMode"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineNumberingDispT<T>::get_StartingNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartingNumber"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
LineNumberingDispT<T>::get_StartingNumber(void)
{
  long prop;
  this->get_StartingNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineNumberingDispT<T>::set_StartingNumber(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartingNumber"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineNumberingDispT<T>::get_DistanceFromText(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFromText"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
LineNumberingDispT<T>::get_DistanceFromText(void)
{
  float prop;
  this->get_DistanceFromText((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineNumberingDispT<T>::set_DistanceFromText(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceFromText"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineNumberingDispT<T>::get_CountBy(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CountBy"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
LineNumberingDispT<T>::get_CountBy(void)
{
  long prop;
  this->get_CountBy((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineNumberingDispT<T>::set_CountBy(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CountBy"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineNumberingDispT<T>::get_Active(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Active"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
LineNumberingDispT<T>::get_Active(void)
{
  long prop;
  this->get_Active((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineNumberingDispT<T>::set_Active(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Active"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  TextColumns
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020973-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TextColumnsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
TextColumnsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextColumnsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TextColumnsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextColumnsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TextColumnsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::get_EvenlySpaced(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EvenlySpaced"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextColumnsDispT<T>::get_EvenlySpaced(void)
{
  long prop;
  this->get_EvenlySpaced((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::set_EvenlySpaced(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EvenlySpaced"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::get_LineBetween(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineBetween"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextColumnsDispT<T>::get_LineBetween(void)
{
  long prop;
  this->get_LineBetween((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::set_LineBetween(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LineBetween"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::get_Width(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TextColumnsDispT<T>::get_Width(void)
{
  float prop;
  this->get_Width((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::set_Width(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::get_Spacing(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Spacing"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TextColumnsDispT<T>::get_Spacing(void)
{
  float prop;
  this->get_Spacing((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::set_Spacing(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Spacing"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::Item(long Index/*[in]*/, Word_xp::TextColumn** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextColumn**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TextColumn* __fastcall
TextColumnsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::TextColumn* prop;
  this->Item(Index, (Word_xp::TextColumn**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::Add(VARIANT* Width/*[in,opt]*/, VARIANT* Spacing/*[in,opt]*/, 
                         VARIANT* EvenlySpaced/*[in,opt]*/, 
                         Word_xp::TextColumn** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(201));
  TAutoArgs<3> _args;
  _args[1] = Width /*[VT_VARIANT:1]*/;
  _args[2] = Spacing /*[VT_VARIANT:1]*/;
  _args[3] = EvenlySpaced /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextColumn**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TextColumn* __fastcall
TextColumnsDispT<T>::Add(VARIANT* Width/*[in,opt]*/, VARIANT* Spacing/*[in,opt]*/, 
                         VARIANT* EvenlySpaced/*[in,opt]*/)
{
  Word_xp::TextColumn* prop;
  this->Add(Width, Spacing, EvenlySpaced, (Word_xp::TextColumn**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::SetCount(long NumColumns/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetCount"), DISPID(202));
  TAutoArgs<1> _args;
  _args[1] = NumColumns /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::get_FlowDirection(Word_xp::WdFlowDirection* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FlowDirection"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFlowDirection __fastcall
TextColumnsDispT<T>::get_FlowDirection(void)
{
  Word_xp::WdFlowDirection prop;
  this->get_FlowDirection((Word_xp::WdFlowDirection*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnsDispT<T>::set_FlowDirection(Word_xp::WdFlowDirection prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FlowDirection"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  TextColumn
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020974-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TextColumnDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TextColumnDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextColumnDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TextColumnDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnDispT<T>::get_Width(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TextColumnDispT<T>::get_Width(void)
{
  float prop;
  this->get_Width((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnDispT<T>::set_Width(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextColumnDispT<T>::get_SpaceAfter(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfter"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TextColumnDispT<T>::get_SpaceAfter(void)
{
  float prop;
  this->get_SpaceAfter((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextColumnDispT<T>::set_SpaceAfter(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfter"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Selection
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020975-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Text(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Text"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
WordSelectionDispT<T>::get_Text(void)
{
  BSTR prop;
  this->get_Text((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_Text(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Text"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_FormattedText(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattedText"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
WordSelectionDispT<T>::get_FormattedText(void)
{
  Word_xp::WordRangePtr prop;
  this->get_FormattedText(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_FormattedText(Word_xp::WordRangePtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormattedText"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Start(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Start"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::get_Start(void)
{
  long prop;
  this->get_Start((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_Start(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Start"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_End(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("End"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::get_End(void)
{
  long prop;
  this->get_End((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_End(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("End"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Font(Word_xp::WordFont** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordFont**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordFontPtr __fastcall
WordSelectionDispT<T>::get_Font(void)
{
  Word_xp::WordFontPtr prop;
  this->get_Font(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_Font(Word_xp::WordFontPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordFont*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Type(Word_xp::WdSelectionType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSelectionType __fastcall
WordSelectionDispT<T>::get_Type(void)
{
  Word_xp::WdSelectionType prop;
  this->get_Type((Word_xp::WdSelectionType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_StoryType(Word_xp::WdStoryType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StoryType"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdStoryType __fastcall
WordSelectionDispT<T>::get_StoryType(void)
{
  Word_xp::WdStoryType prop;
  this->get_StoryType((Word_xp::WdStoryType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Style(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
WordSelectionDispT<T>::get_Style(void)
{
  VARIANT prop;
  this->get_Style((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_Style(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Tables(Word_xp::Tables** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Tables"), DISPID(50));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Tables**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TablesPtr __fastcall
WordSelectionDispT<T>::get_Tables(void)
{
  Word_xp::TablesPtr prop;
  this->get_Tables(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Words(Word_xp::Words** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Words"), DISPID(51));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Words**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordsPtr __fastcall
WordSelectionDispT<T>::get_Words(void)
{
  Word_xp::WordsPtr prop;
  this->get_Words(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Sentences(Word_xp::Sentences** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Sentences"), DISPID(52));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Sentences**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SentencesPtr __fastcall
WordSelectionDispT<T>::get_Sentences(void)
{
  Word_xp::SentencesPtr prop;
  this->get_Sentences(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Characters(Word_xp::Characters** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Characters"), DISPID(53));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Characters**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CharactersPtr __fastcall
WordSelectionDispT<T>::get_Characters(void)
{
  Word_xp::CharactersPtr prop;
  this->get_Characters(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Footnotes(Word_xp::Footnotes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Footnotes"), DISPID(54));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Footnotes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FootnotesPtr __fastcall
WordSelectionDispT<T>::get_Footnotes(void)
{
  Word_xp::FootnotesPtr prop;
  this->get_Footnotes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Endnotes(Word_xp::Endnotes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Endnotes"), DISPID(55));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Endnotes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::EndnotesPtr __fastcall
WordSelectionDispT<T>::get_Endnotes(void)
{
  Word_xp::EndnotesPtr prop;
  this->get_Endnotes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Comments(Word_xp::Comments** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Comments"), DISPID(56));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Comments**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CommentsPtr __fastcall
WordSelectionDispT<T>::get_Comments(void)
{
  Word_xp::CommentsPtr prop;
  this->get_Comments(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Cells(Word_xp::Cells** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Cells"), DISPID(57));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Cells**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CellsPtr __fastcall
WordSelectionDispT<T>::get_Cells(void)
{
  Word_xp::CellsPtr prop;
  this->get_Cells(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Sections(Word_xp::Sections** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Sections"), DISPID(58));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Sections**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SectionsPtr __fastcall
WordSelectionDispT<T>::get_Sections(void)
{
  Word_xp::SectionsPtr prop;
  this->get_Sections(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Paragraphs(Word_xp::Paragraphs** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Paragraphs"), DISPID(59));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Paragraphs**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ParagraphsPtr __fastcall
WordSelectionDispT<T>::get_Paragraphs(void)
{
  Word_xp::ParagraphsPtr prop;
  this->get_Paragraphs(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
WordSelectionDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(61));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
WordSelectionDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Fields(Word_xp::Fields** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Fields"), DISPID(64));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Fields**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FieldsPtr __fastcall
WordSelectionDispT<T>::get_Fields(void)
{
  Word_xp::FieldsPtr prop;
  this->get_Fields(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_FormFields(Word_xp::FormFields** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormFields"), DISPID(65));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FormFields**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FormFieldsPtr __fastcall
WordSelectionDispT<T>::get_FormFields(void)
{
  Word_xp::FormFieldsPtr prop;
  this->get_FormFields(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Frames(Word_xp::Frames** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Frames"), DISPID(66));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frames**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FramesPtr __fastcall
WordSelectionDispT<T>::get_Frames(void)
{
  Word_xp::FramesPtr prop;
  this->get_Frames(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParagraphFormat"), DISPID(1102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordParagraphFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordParagraphFormatPtr __fastcall
WordSelectionDispT<T>::get_ParagraphFormat(void)
{
  Word_xp::WordParagraphFormatPtr prop;
  this->get_ParagraphFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParagraphFormat"), DISPID(1102));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordParagraphFormat*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_PageSetup(Word_xp::PageSetup** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageSetup"), DISPID(1101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::PageSetup**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PageSetupPtr __fastcall
WordSelectionDispT<T>::get_PageSetup(void)
{
  Word_xp::PageSetupPtr prop;
  this->get_PageSetup(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_PageSetup(Word_xp::PageSetupPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageSetup"), DISPID(1101));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::PageSetup*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Bookmarks(Word_xp::Bookmarks** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Bookmarks"), DISPID(75));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Bookmarks**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BookmarksPtr __fastcall
WordSelectionDispT<T>::get_Bookmarks(void)
{
  Word_xp::BookmarksPtr prop;
  this->get_Bookmarks(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_StoryLength(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StoryLength"), DISPID(152));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::get_StoryLength(void)
{
  long prop;
  this->get_StoryLength((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(153));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
WordSelectionDispT<T>::get_LanguageID(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageID((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(153));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_LanguageIDFarEast(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDFarEast"), DISPID(154));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
WordSelectionDispT<T>::get_LanguageIDFarEast(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageIDFarEast((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_LanguageIDFarEast(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDFarEast"), DISPID(154));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_LanguageIDOther(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDOther"), DISPID(155));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
WordSelectionDispT<T>::get_LanguageIDOther(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageIDOther((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_LanguageIDOther(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageIDOther"), DISPID(155));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Hyperlinks(Word_xp::Hyperlinks** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hyperlinks"), DISPID(156));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Hyperlinks**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HyperlinksPtr __fastcall
WordSelectionDispT<T>::get_Hyperlinks(void)
{
  Word_xp::HyperlinksPtr prop;
  this->get_Hyperlinks(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Columns(Word_xp::Columns** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Columns"), DISPID(302));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Columns**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColumnsPtr __fastcall
WordSelectionDispT<T>::get_Columns(void)
{
  Word_xp::ColumnsPtr prop;
  this->get_Columns(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Rows(Word_xp::Rows** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Rows"), DISPID(303));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Rows**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::RowsPtr __fastcall
WordSelectionDispT<T>::get_Rows(void)
{
  Word_xp::RowsPtr prop;
  this->get_Rows(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_HeaderFooter(Word_xp::HeaderFooter** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeaderFooter"), DISPID(306));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HeaderFooter**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HeaderFooterPtr __fastcall
WordSelectionDispT<T>::get_HeaderFooter(void)
{
  Word_xp::HeaderFooterPtr prop;
  this->get_HeaderFooter(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_IsEndOfRowMark(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsEndOfRowMark"), DISPID(307));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordSelectionDispT<T>::get_IsEndOfRowMark(void)
{
  VARIANT_BOOL prop;
  this->get_IsEndOfRowMark((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_BookmarkID(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BookmarkID"), DISPID(308));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::get_BookmarkID(void)
{
  long prop;
  this->get_BookmarkID((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_PreviousBookmarkID(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreviousBookmarkID"), DISPID(309));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::get_PreviousBookmarkID(void)
{
  long prop;
  this->get_PreviousBookmarkID((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Find(Word_xp::Find** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Find"), DISPID(262));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Find**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FindPtr __fastcall
WordSelectionDispT<T>::get_Find(void)
{
  Word_xp::FindPtr prop;
  this->get_Find(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(400));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
WordSelectionDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Information(Word_xp::WdInformation Type/*[in]*/, 
                                       VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Information"), DISPID(401));
  TAutoArgs<1> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
WordSelectionDispT<T>::get_Information(Word_xp::WdInformation Type/*[in]*/)
{
  VARIANT prop;
  this->get_Information(Type, (VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Flags(Word_xp::WdSelectionFlags* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Flags"), DISPID(402));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSelectionFlags __fastcall
WordSelectionDispT<T>::get_Flags(void)
{
  Word_xp::WdSelectionFlags prop;
  this->get_Flags((Word_xp::WdSelectionFlags*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_Flags(Word_xp::WdSelectionFlags prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Flags"), DISPID(402));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Active(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Active"), DISPID(403));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordSelectionDispT<T>::get_Active(void)
{
  VARIANT_BOOL prop;
  this->get_Active((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_StartIsActive(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartIsActive"), DISPID(404));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordSelectionDispT<T>::get_StartIsActive(void)
{
  VARIANT_BOOL prop;
  this->get_StartIsActive((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_StartIsActive(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartIsActive"), DISPID(404));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_IPAtEndOfLine(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IPAtEndOfLine"), DISPID(405));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordSelectionDispT<T>::get_IPAtEndOfLine(void)
{
  VARIANT_BOOL prop;
  this->get_IPAtEndOfLine((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_ExtendMode(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ExtendMode"), DISPID(406));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordSelectionDispT<T>::get_ExtendMode(void)
{
  VARIANT_BOOL prop;
  this->get_ExtendMode((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_ExtendMode(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ExtendMode"), DISPID(406));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_ColumnSelectMode(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColumnSelectMode"), DISPID(407));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordSelectionDispT<T>::get_ColumnSelectMode(void)
{
  VARIANT_BOOL prop;
  this->get_ColumnSelectMode((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_ColumnSelectMode(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColumnSelectMode"), DISPID(407));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Orientation(Word_xp::WdTextOrientation* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Orientation"), DISPID(410));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTextOrientation __fastcall
WordSelectionDispT<T>::get_Orientation(void)
{
  Word_xp::WdTextOrientation prop;
  this->get_Orientation((Word_xp::WdTextOrientation*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_Orientation(Word_xp::WdTextOrientation prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Orientation"), DISPID(410));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_InlineShapes(Word_xp::InlineShapes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InlineShapes"), DISPID(411));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShapes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::InlineShapesPtr __fastcall
WordSelectionDispT<T>::get_InlineShapes(void)
{
  Word_xp::InlineShapesPtr prop;
  this->get_InlineShapes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
WordSelectionDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
WordSelectionDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_Document(Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Document"), DISPID(1003));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordDocumentPtr __fastcall
WordSelectionDispT<T>::get_Document(void)
{
  Word_xp::WordDocumentPtr prop;
  this->get_Document(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_ShapeRange(Word_xp::ShapeRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShapeRange"), DISPID(1004));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShapeRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapeRangePtr __fastcall
WordSelectionDispT<T>::get_ShapeRange(void)
{
  Word_xp::ShapeRangePtr prop;
  this->get_ShapeRange(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SetRange(long Start/*[in]*/, long End/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetRange"), DISPID(100));
  TAutoArgs<2> _args;
  _args[1] = Start /*[VT_I4:0]*/;
  _args[2] = End /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Collapse(VARIANT* Direction/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Collapse"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = Direction /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertBefore(BSTR Text/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertBefore"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = Text /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertAfter(BSTR Text/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertAfter"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = Text /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Next(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                            Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(105));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
WordSelectionDispT<T>::Next(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->Next(Unit, Count, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Previous(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(106));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
WordSelectionDispT<T>::Previous(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->Previous(Unit, Count, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::StartOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                               long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartOf"), DISPID(107));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Extend /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::StartOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/)
{
  long prop;
  this->StartOf(Unit, Extend, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::EndOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                             long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndOf"), DISPID(108));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Extend /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::EndOf(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/)
{
  long prop;
  this->EndOf(Unit, Extend, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Move(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                            long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Move"), DISPID(109));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::Move(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->Move(Unit, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::MoveStart(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                 long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveStart"), DISPID(110));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::MoveStart(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveStart(Unit, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::MoveEnd(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                               long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveEnd"), DISPID(111));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::MoveEnd(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveEnd(Unit, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::MoveWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                 long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveWhile"), DISPID(112));
  TAutoArgs<2> _args;
  _args[1] = Cset /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::MoveWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveWhile(Cset, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::MoveStartWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                      long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveStartWhile"), DISPID(113));
  TAutoArgs<2> _args;
  _args[1] = Cset /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::MoveStartWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveStartWhile(Cset, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::MoveEndWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                    long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveEndWhile"), DISPID(114));
  TAutoArgs<2> _args;
  _args[1] = Cset /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::MoveEndWhile(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveEndWhile(Cset, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::MoveUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                 long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveUntil"), DISPID(115));
  TAutoArgs<2> _args;
  _args[1] = Cset /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::MoveUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveUntil(Cset, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::MoveStartUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                      long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveStartUntil"), DISPID(116));
  TAutoArgs<2> _args;
  _args[1] = Cset /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::MoveStartUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveStartUntil(Cset, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::MoveEndUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/, 
                                    long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveEndUntil"), DISPID(117));
  TAutoArgs<2> _args;
  _args[1] = Cset /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::MoveEndUntil(VARIANT* Cset/*[in]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->MoveEndUntil(Cset, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Cut()
{
  _TDispID _dispid(*this, OLETEXT("Cut"), DISPID(119));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Copy()
{
  _TDispID _dispid(*this, OLETEXT("Copy"), DISPID(120));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Paste()
{
  _TDispID _dispid(*this, OLETEXT("Paste"), DISPID(121));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertBreak(VARIANT* Type/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertBreak"), DISPID(122));
  TAutoArgs<1> _args;
  _args[1] = Type /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertFile(BSTR FileName/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                                  VARIANT* ConfirmConversions/*[in,opt]*/, VARIANT* Link/*[in,opt]*/
                                  , VARIANT* Attachment/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertFile"), DISPID(123));
  TAutoArgs<5> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = Range /*[VT_VARIANT:1]*/;
  _args[3] = ConfirmConversions /*[VT_VARIANT:1]*/;
  _args[4] = Link /*[VT_VARIANT:1]*/;
  _args[5] = Attachment /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InStory(Word_xp::WordRange* Range/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InStory"), DISPID(125));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordSelectionDispT<T>::InStory(Word_xp::WordRange* Range/*[in]*/)
{
  VARIANT_BOOL prop;
  this->InStory(Range, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InRange(Word_xp::WordRange* Range/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InRange"), DISPID(126));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordSelectionDispT<T>::InRange(Word_xp::WordRange* Range/*[in]*/)
{
  VARIANT_BOOL prop;
  this->InRange(Range, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Delete(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                              long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(127));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::Delete(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/)
{
  long prop;
  this->Delete(Unit, Count, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Expand(VARIANT* Unit/*[in,opt]*/, long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Expand"), DISPID(129));
  TAutoArgs<1> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::Expand(VARIANT* Unit/*[in,opt]*/)
{
  long prop;
  this->Expand(Unit, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertParagraph()
{
  _TDispID _dispid(*this, OLETEXT("InsertParagraph"), DISPID(160));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertParagraphAfter()
{
  _TDispID _dispid(*this, OLETEXT("InsertParagraphAfter"), DISPID(161));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::ConvertToTableOld(VARIANT* Separator/*[in,opt]*/, 
                                         VARIANT* NumRows/*[in,opt]*/, 
                                         VARIANT* NumColumns/*[in,opt]*/, 
                                         VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                         VARIANT* Format/*[in,opt]*/, 
                                         VARIANT* ApplyBorders/*[in,opt]*/, 
                                         VARIANT* ApplyShading/*[in,opt]*/, 
                                         VARIANT* ApplyFont/*[in,opt]*/, 
                                         VARIANT* ApplyColor/*[in,opt]*/, 
                                         VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                         VARIANT* ApplyLastRow/*[in,opt]*/, 
                                         VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                         VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                         VARIANT* AutoFit/*[in,opt]*/, 
                                         Word_xp::Table** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToTableOld"), DISPID(162));
  TAutoArgs<14> _args;
  _args[1] = Separator /*[VT_VARIANT:1]*/;
  _args[2] = NumRows /*[VT_VARIANT:1]*/;
  _args[3] = NumColumns /*[VT_VARIANT:1]*/;
  _args[4] = InitialColumnWidth /*[VT_VARIANT:1]*/;
  _args[5] = Format /*[VT_VARIANT:1]*/;
  _args[6] = ApplyBorders /*[VT_VARIANT:1]*/;
  _args[7] = ApplyShading /*[VT_VARIANT:1]*/;
  _args[8] = ApplyFont /*[VT_VARIANT:1]*/;
  _args[9] = ApplyColor /*[VT_VARIANT:1]*/;
  _args[10] = ApplyHeadingRows /*[VT_VARIANT:1]*/;
  _args[11] = ApplyLastRow /*[VT_VARIANT:1]*/;
  _args[12] = ApplyFirstColumn /*[VT_VARIANT:1]*/;
  _args[13] = ApplyLastColumn /*[VT_VARIANT:1]*/;
  _args[14] = AutoFit /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Table**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Table* __fastcall
WordSelectionDispT<T>::ConvertToTableOld(VARIANT* Separator/*[in,opt]*/, 
                                         VARIANT* NumRows/*[in,opt]*/, 
                                         VARIANT* NumColumns/*[in,opt]*/, 
                                         VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                         VARIANT* Format/*[in,opt]*/, 
                                         VARIANT* ApplyBorders/*[in,opt]*/, 
                                         VARIANT* ApplyShading/*[in,opt]*/, 
                                         VARIANT* ApplyFont/*[in,opt]*/, 
                                         VARIANT* ApplyColor/*[in,opt]*/, 
                                         VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                         VARIANT* ApplyLastRow/*[in,opt]*/, 
                                         VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                         VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                         VARIANT* AutoFit/*[in,opt]*/)
{
  Word_xp::Table* prop;
  this->ConvertToTableOld(Separator, NumRows, NumColumns, InitialColumnWidth, Format, ApplyBorders, 
                          ApplyShading, ApplyFont, ApplyColor, ApplyHeadingRows, ApplyLastRow, 
                          ApplyFirstColumn, ApplyLastColumn, AutoFit, (Word_xp::Table**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertDateTimeOld(VARIANT* DateTimeFormat/*[in,opt]*/, 
                                         VARIANT* InsertAsField/*[in,opt]*/, 
                                         VARIANT* InsertAsFullWidth/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertDateTimeOld"), DISPID(163));
  TAutoArgs<3> _args;
  _args[1] = DateTimeFormat /*[VT_VARIANT:1]*/;
  _args[2] = InsertAsField /*[VT_VARIANT:1]*/;
  _args[3] = InsertAsFullWidth /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertSymbol(long CharacterNumber/*[in]*/, VARIANT* Font/*[in,opt]*/, 
                                    VARIANT* Unicode/*[in,opt]*/, VARIANT* Bias/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertSymbol"), DISPID(164));
  TAutoArgs<4> _args;
  _args[1] = CharacterNumber /*[VT_I4:0]*/;
  _args[2] = Font /*[VT_VARIANT:1]*/;
  _args[3] = Unicode /*[VT_VARIANT:1]*/;
  _args[4] = Bias /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertCrossReference(VARIANT* ReferenceType/*[in]*/, 
                                            Word_xp::WdReferenceKind ReferenceKind/*[in]*/, 
                                            VARIANT* ReferenceItem/*[in]*/, 
                                            VARIANT* InsertAsHyperlink/*[in,opt]*/, 
                                            VARIANT* IncludePosition/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertCrossReference"), DISPID(165));
  TAutoArgs<5> _args;
  _args[1] = ReferenceType /*[VT_VARIANT:1]*/;
  _args[2] = (int)ReferenceKind /*[VT_USERDEFINED:0]*/;
  _args[3] = ReferenceItem /*[VT_VARIANT:1]*/;
  _args[4] = InsertAsHyperlink /*[VT_VARIANT:1]*/;
  _args[5] = IncludePosition /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertCaption(VARIANT* Label/*[in]*/, VARIANT* Title/*[in,opt]*/, 
                                     VARIANT* TitleAutoText/*[in,opt]*/, 
                                     VARIANT* Position/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertCaption"), DISPID(166));
  TAutoArgs<4> _args;
  _args[1] = Label /*[VT_VARIANT:1]*/;
  _args[2] = Title /*[VT_VARIANT:1]*/;
  _args[3] = TitleAutoText /*[VT_VARIANT:1]*/;
  _args[4] = Position /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::CopyAsPicture()
{
  _TDispID _dispid(*this, OLETEXT("CopyAsPicture"), DISPID(167));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SortOld(VARIANT* ExcludeHeader/*[in,opt]*/, VARIANT* FieldNumber/*[in,opt]*/
                               , VARIANT* SortFieldType/*[in,opt]*/, VARIANT* SortOrder/*[in,opt]*/
                               , VARIANT* FieldNumber2/*[in,opt]*/, 
                               VARIANT* SortFieldType2/*[in,opt]*/, VARIANT* SortOrder2/*[in,opt]*/
                               , VARIANT* FieldNumber3/*[in,opt]*/, 
                               VARIANT* SortFieldType3/*[in,opt]*/, VARIANT* SortOrder3/*[in,opt]*/
                               , VARIANT* SortColumn/*[in,opt]*/, VARIANT* Separator/*[in,opt]*/, 
                               VARIANT* CaseSensitive/*[in,opt]*/, VARIANT* LanguageID/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SortOld"), DISPID(168));
  TAutoArgs<14> _args;
  _args[1] = ExcludeHeader /*[VT_VARIANT:1]*/;
  _args[2] = FieldNumber /*[VT_VARIANT:1]*/;
  _args[3] = SortFieldType /*[VT_VARIANT:1]*/;
  _args[4] = SortOrder /*[VT_VARIANT:1]*/;
  _args[5] = FieldNumber2 /*[VT_VARIANT:1]*/;
  _args[6] = SortFieldType2 /*[VT_VARIANT:1]*/;
  _args[7] = SortOrder2 /*[VT_VARIANT:1]*/;
  _args[8] = FieldNumber3 /*[VT_VARIANT:1]*/;
  _args[9] = SortFieldType3 /*[VT_VARIANT:1]*/;
  _args[10] = SortOrder3 /*[VT_VARIANT:1]*/;
  _args[11] = SortColumn /*[VT_VARIANT:1]*/;
  _args[12] = Separator /*[VT_VARIANT:1]*/;
  _args[13] = CaseSensitive /*[VT_VARIANT:1]*/;
  _args[14] = LanguageID /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SortAscending()
{
  _TDispID _dispid(*this, OLETEXT("SortAscending"), DISPID(169));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SortDescending()
{
  _TDispID _dispid(*this, OLETEXT("SortDescending"), DISPID(170));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::IsEqual(Word_xp::WordRange* Range/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsEqual"), DISPID(171));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordSelectionDispT<T>::IsEqual(Word_xp::WordRange* Range/*[in]*/)
{
  VARIANT_BOOL prop;
  this->IsEqual(Range, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Calculate(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Calculate"), DISPID(172));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
WordSelectionDispT<T>::Calculate(void)
{
  float prop;
  this->Calculate((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                            VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                            Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GoTo"), DISPID(173));
  TAutoArgs<4> _args;
  _args[1] = What /*[VT_VARIANT:1]*/;
  _args[2] = Which /*[VT_VARIANT:1]*/;
  _args[3] = Count /*[VT_VARIANT:1]*/;
  _args[4] = Name /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
WordSelectionDispT<T>::GoTo(VARIANT* What/*[in,opt]*/, VARIANT* Which/*[in,opt]*/, 
                            VARIANT* Count/*[in,opt]*/, VARIANT* Name/*[in,opt]*/)
{
  Word_xp::WordRange* prop;
  this->GoTo(What, Which, Count, Name, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::GoToNext(Word_xp::WdGoToItem What/*[in]*/, 
                                Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GoToNext"), DISPID(174));
  TAutoArgs<1> _args;
  _args[1] = (int)What /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
WordSelectionDispT<T>::GoToNext(Word_xp::WdGoToItem What/*[in]*/)
{
  Word_xp::WordRange* prop;
  this->GoToNext(What, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::GoToPrevious(Word_xp::WdGoToItem What/*[in]*/, 
                                    Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GoToPrevious"), DISPID(175));
  TAutoArgs<1> _args;
  _args[1] = (int)What /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
WordSelectionDispT<T>::GoToPrevious(Word_xp::WdGoToItem What/*[in]*/)
{
  Word_xp::WordRange* prop;
  this->GoToPrevious(What, (Word_xp::WordRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::PasteSpecial(VARIANT* IconIndex/*[in,opt]*/, VARIANT* Link/*[in,opt]*/, 
                                    VARIANT* Placement/*[in,opt]*/, 
                                    VARIANT* DisplayAsIcon/*[in,opt]*/, 
                                    VARIANT* DataType/*[in,opt]*/, VARIANT* IconFileName/*[in,opt]*/
                                    , VARIANT* IconLabel/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteSpecial"), DISPID(176));
  TAutoArgs<7> _args;
  _args[1] = IconIndex /*[VT_VARIANT:1]*/;
  _args[2] = Link /*[VT_VARIANT:1]*/;
  _args[3] = Placement /*[VT_VARIANT:1]*/;
  _args[4] = DisplayAsIcon /*[VT_VARIANT:1]*/;
  _args[5] = DataType /*[VT_VARIANT:1]*/;
  _args[6] = IconFileName /*[VT_VARIANT:1]*/;
  _args[7] = IconLabel /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::PreviousField(Word_xp::Field** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreviousField"), DISPID(177));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Field**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Field* __fastcall
WordSelectionDispT<T>::PreviousField(void)
{
  Word_xp::Field* prop;
  this->PreviousField((Word_xp::Field**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::NextField(Word_xp::Field** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NextField"), DISPID(178));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Field**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Field* __fastcall
WordSelectionDispT<T>::NextField(void)
{
  Word_xp::Field* prop;
  this->NextField((Word_xp::Field**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertParagraphBefore()
{
  _TDispID _dispid(*this, OLETEXT("InsertParagraphBefore"), DISPID(212));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertCells(VARIANT* ShiftCells/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertCells"), DISPID(214));
  TAutoArgs<1> _args;
  _args[1] = ShiftCells /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Extend(VARIANT* Character/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Extend"), DISPID(300));
  TAutoArgs<1> _args;
  _args[1] = Character /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Shrink()
{
  _TDispID _dispid(*this, OLETEXT("Shrink"), DISPID(301));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::MoveLeft(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                VARIANT* Extend/*[in,opt]*/, long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveLeft"), DISPID(500));
  TAutoArgs<3> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  _args[3] = Extend /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::MoveLeft(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                VARIANT* Extend/*[in,opt]*/)
{
  long prop;
  this->MoveLeft(Unit, Count, Extend, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::MoveRight(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                 VARIANT* Extend/*[in,opt]*/, long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveRight"), DISPID(501));
  TAutoArgs<3> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  _args[3] = Extend /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::MoveRight(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                 VARIANT* Extend/*[in,opt]*/)
{
  long prop;
  this->MoveRight(Unit, Count, Extend, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::MoveUp(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                              VARIANT* Extend/*[in,opt]*/, long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveUp"), DISPID(502));
  TAutoArgs<3> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  _args[3] = Extend /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::MoveUp(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                              VARIANT* Extend/*[in,opt]*/)
{
  long prop;
  this->MoveUp(Unit, Count, Extend, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::MoveDown(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                VARIANT* Extend/*[in,opt]*/, long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveDown"), DISPID(503));
  TAutoArgs<3> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Count /*[VT_VARIANT:1]*/;
  _args[3] = Extend /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::MoveDown(VARIANT* Unit/*[in,opt]*/, VARIANT* Count/*[in,opt]*/, 
                                VARIANT* Extend/*[in,opt]*/)
{
  long prop;
  this->MoveDown(Unit, Count, Extend, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::HomeKey(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                               long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HomeKey"), DISPID(504));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Extend /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::HomeKey(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/)
{
  long prop;
  this->HomeKey(Unit, Extend, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::EndKey(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/, 
                              long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndKey"), DISPID(505));
  TAutoArgs<2> _args;
  _args[1] = Unit /*[VT_VARIANT:1]*/;
  _args[2] = Extend /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::EndKey(VARIANT* Unit/*[in,opt]*/, VARIANT* Extend/*[in,opt]*/)
{
  long prop;
  this->EndKey(Unit, Extend, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::EscapeKey()
{
  _TDispID _dispid(*this, OLETEXT("EscapeKey"), DISPID(506));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::TypeText(BSTR Text/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TypeText"), DISPID(507));
  TAutoArgs<1> _args;
  _args[1] = Text /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::CopyFormat()
{
  _TDispID _dispid(*this, OLETEXT("CopyFormat"), DISPID(509));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::PasteFormat()
{
  _TDispID _dispid(*this, OLETEXT("PasteFormat"), DISPID(510));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::TypeParagraph()
{
  _TDispID _dispid(*this, OLETEXT("TypeParagraph"), DISPID(512));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::TypeBackspace()
{
  _TDispID _dispid(*this, OLETEXT("TypeBackspace"), DISPID(513));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::NextSubdocument()
{
  _TDispID _dispid(*this, OLETEXT("NextSubdocument"), DISPID(514));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::PreviousSubdocument()
{
  _TDispID _dispid(*this, OLETEXT("PreviousSubdocument"), DISPID(515));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SelectColumn()
{
  _TDispID _dispid(*this, OLETEXT("SelectColumn"), DISPID(516));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SelectCurrentFont()
{
  _TDispID _dispid(*this, OLETEXT("SelectCurrentFont"), DISPID(517));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SelectCurrentAlignment()
{
  _TDispID _dispid(*this, OLETEXT("SelectCurrentAlignment"), DISPID(518));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SelectCurrentSpacing()
{
  _TDispID _dispid(*this, OLETEXT("SelectCurrentSpacing"), DISPID(519));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SelectCurrentIndent()
{
  _TDispID _dispid(*this, OLETEXT("SelectCurrentIndent"), DISPID(520));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SelectCurrentTabs()
{
  _TDispID _dispid(*this, OLETEXT("SelectCurrentTabs"), DISPID(521));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SelectCurrentColor()
{
  _TDispID _dispid(*this, OLETEXT("SelectCurrentColor"), DISPID(522));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::CreateTextbox()
{
  _TDispID _dispid(*this, OLETEXT("CreateTextbox"), DISPID(523));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::WholeStory()
{
  _TDispID _dispid(*this, OLETEXT("WholeStory"), DISPID(524));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SelectRow()
{
  _TDispID _dispid(*this, OLETEXT("SelectRow"), DISPID(525));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SplitTable()
{
  _TDispID _dispid(*this, OLETEXT("SplitTable"), DISPID(526));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertRows(VARIANT* NumRows/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertRows"), DISPID(528));
  TAutoArgs<1> _args;
  _args[1] = NumRows /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertColumns()
{
  _TDispID _dispid(*this, OLETEXT("InsertColumns"), DISPID(529));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertFormula(VARIANT* Formula/*[in,opt]*/, VARIANT* NumberFormat/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertFormula"), DISPID(530));
  TAutoArgs<2> _args;
  _args[1] = Formula /*[VT_VARIANT:1]*/;
  _args[2] = NumberFormat /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::NextRevision(VARIANT* Wrap/*[in,opt]*/, 
                                    Word_xp::Revision** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NextRevision"), DISPID(531));
  TAutoArgs<1> _args;
  _args[1] = Wrap /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Revision**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Revision* __fastcall
WordSelectionDispT<T>::NextRevision(VARIANT* Wrap/*[in,opt]*/)
{
  Word_xp::Revision* prop;
  this->NextRevision(Wrap, (Word_xp::Revision**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::PreviousRevision(VARIANT* Wrap/*[in,opt]*/, 
                                        Word_xp::Revision** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PreviousRevision"), DISPID(532));
  TAutoArgs<1> _args;
  _args[1] = Wrap /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Revision**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Revision* __fastcall
WordSelectionDispT<T>::PreviousRevision(VARIANT* Wrap/*[in,opt]*/)
{
  Word_xp::Revision* prop;
  this->PreviousRevision(Wrap, (Word_xp::Revision**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::PasteAsNestedTable()
{
  _TDispID _dispid(*this, OLETEXT("PasteAsNestedTable"), DISPID(533));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::CreateAutoTextEntry(BSTR Name/*[in]*/, BSTR StyleName/*[in]*/, 
                                           Word_xp::AutoTextEntry** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateAutoTextEntry"), DISPID(534));
  TAutoArgs<2> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = StyleName /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoTextEntry**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::AutoTextEntry* __fastcall
WordSelectionDispT<T>::CreateAutoTextEntry(BSTR Name/*[in]*/, BSTR StyleName/*[in]*/)
{
  Word_xp::AutoTextEntry* prop;
  this->CreateAutoTextEntry(Name, StyleName, (Word_xp::AutoTextEntry**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::DetectLanguage()
{
  _TDispID _dispid(*this, OLETEXT("DetectLanguage"), DISPID(535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::SelectCell()
{
  _TDispID _dispid(*this, OLETEXT("SelectCell"), DISPID(536));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertRowsBelow(VARIANT* NumRows/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertRowsBelow"), DISPID(537));
  TAutoArgs<1> _args;
  _args[1] = NumRows /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertColumnsRight()
{
  _TDispID _dispid(*this, OLETEXT("InsertColumnsRight"), DISPID(538));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertRowsAbove(VARIANT* NumRows/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertRowsAbove"), DISPID(539));
  TAutoArgs<1> _args;
  _args[1] = NumRows /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::RtlRun()
{
  _TDispID _dispid(*this, OLETEXT("RtlRun"), DISPID(600));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::LtrRun()
{
  _TDispID _dispid(*this, OLETEXT("LtrRun"), DISPID(601));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::BoldRun()
{
  _TDispID _dispid(*this, OLETEXT("BoldRun"), DISPID(602));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::ItalicRun()
{
  _TDispID _dispid(*this, OLETEXT("ItalicRun"), DISPID(603));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::RtlPara()
{
  _TDispID _dispid(*this, OLETEXT("RtlPara"), DISPID(605));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::LtrPara()
{
  _TDispID _dispid(*this, OLETEXT("LtrPara"), DISPID(606));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertDateTime(VARIANT* DateTimeFormat/*[in,opt]*/, 
                                      VARIANT* InsertAsField/*[in,opt]*/, 
                                      VARIANT* InsertAsFullWidth/*[in,opt]*/, 
                                      VARIANT* DateLanguage/*[in,opt]*/, 
                                      VARIANT* CalendarType/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertDateTime"), DISPID(444));
  TAutoArgs<5> _args;
  _args[1] = DateTimeFormat /*[VT_VARIANT:1]*/;
  _args[2] = InsertAsField /*[VT_VARIANT:1]*/;
  _args[3] = InsertAsFullWidth /*[VT_VARIANT:1]*/;
  _args[4] = DateLanguage /*[VT_VARIANT:1]*/;
  _args[5] = CalendarType /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Sort2000(VARIANT* ExcludeHeader/*[in,opt]*/, VARIANT* FieldNumber/*[in,opt]*/
                                , VARIANT* SortFieldType/*[in,opt]*/, VARIANT* SortOrder/*[in,opt]*/
                                , VARIANT* FieldNumber2/*[in,opt]*/, 
                                VARIANT* SortFieldType2/*[in,opt]*/, VARIANT* SortOrder2/*[in,opt]*/
                                , VARIANT* FieldNumber3/*[in,opt]*/, 
                                VARIANT* SortFieldType3/*[in,opt]*/, VARIANT* SortOrder3/*[in,opt]*/
                                , VARIANT* SortColumn/*[in,opt]*/, VARIANT* Separator/*[in,opt]*/, 
                                VARIANT* CaseSensitive/*[in,opt]*/, VARIANT* BidiSort/*[in,opt]*/, 
                                VARIANT* IgnoreThe/*[in,opt]*/, VARIANT* IgnoreKashida/*[in,opt]*/, 
                                VARIANT* IgnoreDiacritics/*[in,opt]*/, VARIANT* IgnoreHe/*[in,opt]*/
                                , VARIANT* LanguageID/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Sort2000"), DISPID(445));
  TAutoArgs<19> _args;
  _args[1] = ExcludeHeader /*[VT_VARIANT:1]*/;
  _args[2] = FieldNumber /*[VT_VARIANT:1]*/;
  _args[3] = SortFieldType /*[VT_VARIANT:1]*/;
  _args[4] = SortOrder /*[VT_VARIANT:1]*/;
  _args[5] = FieldNumber2 /*[VT_VARIANT:1]*/;
  _args[6] = SortFieldType2 /*[VT_VARIANT:1]*/;
  _args[7] = SortOrder2 /*[VT_VARIANT:1]*/;
  _args[8] = FieldNumber3 /*[VT_VARIANT:1]*/;
  _args[9] = SortFieldType3 /*[VT_VARIANT:1]*/;
  _args[10] = SortOrder3 /*[VT_VARIANT:1]*/;
  _args[11] = SortColumn /*[VT_VARIANT:1]*/;
  _args[12] = Separator /*[VT_VARIANT:1]*/;
  _args[13] = CaseSensitive /*[VT_VARIANT:1]*/;
  _args[14] = BidiSort /*[VT_VARIANT:1]*/;
  _args[15] = IgnoreThe /*[VT_VARIANT:1]*/;
  _args[16] = IgnoreKashida /*[VT_VARIANT:1]*/;
  _args[17] = IgnoreDiacritics /*[VT_VARIANT:1]*/;
  _args[18] = IgnoreHe /*[VT_VARIANT:1]*/;
  _args[19] = LanguageID /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::ConvertToTable(VARIANT* Separator/*[in,opt]*/, VARIANT* NumRows/*[in,opt]*/, 
                                      VARIANT* NumColumns/*[in,opt]*/, 
                                      VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                      VARIANT* Format/*[in,opt]*/, VARIANT* ApplyBorders/*[in,opt]*/
                                      , VARIANT* ApplyShading/*[in,opt]*/, 
                                      VARIANT* ApplyFont/*[in,opt]*/, 
                                      VARIANT* ApplyColor/*[in,opt]*/, 
                                      VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                      VARIANT* ApplyLastRow/*[in,opt]*/, 
                                      VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                      VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                      VARIANT* AutoFit/*[in,opt]*/, 
                                      VARIANT* AutoFitBehavior/*[in,opt]*/, 
                                      VARIANT* DefaultTableBehavior/*[in,opt]*/, 
                                      Word_xp::Table** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToTable"), DISPID(457));
  TAutoArgs<16> _args;
  _args[1] = Separator /*[VT_VARIANT:1]*/;
  _args[2] = NumRows /*[VT_VARIANT:1]*/;
  _args[3] = NumColumns /*[VT_VARIANT:1]*/;
  _args[4] = InitialColumnWidth /*[VT_VARIANT:1]*/;
  _args[5] = Format /*[VT_VARIANT:1]*/;
  _args[6] = ApplyBorders /*[VT_VARIANT:1]*/;
  _args[7] = ApplyShading /*[VT_VARIANT:1]*/;
  _args[8] = ApplyFont /*[VT_VARIANT:1]*/;
  _args[9] = ApplyColor /*[VT_VARIANT:1]*/;
  _args[10] = ApplyHeadingRows /*[VT_VARIANT:1]*/;
  _args[11] = ApplyLastRow /*[VT_VARIANT:1]*/;
  _args[12] = ApplyFirstColumn /*[VT_VARIANT:1]*/;
  _args[13] = ApplyLastColumn /*[VT_VARIANT:1]*/;
  _args[14] = AutoFit /*[VT_VARIANT:1]*/;
  _args[15] = AutoFitBehavior /*[VT_VARIANT:1]*/;
  _args[16] = DefaultTableBehavior /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Table**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Table* __fastcall
WordSelectionDispT<T>::ConvertToTable(VARIANT* Separator/*[in,opt]*/, VARIANT* NumRows/*[in,opt]*/, 
                                      VARIANT* NumColumns/*[in,opt]*/, 
                                      VARIANT* InitialColumnWidth/*[in,opt]*/, 
                                      VARIANT* Format/*[in,opt]*/, VARIANT* ApplyBorders/*[in,opt]*/, 
                                      VARIANT* ApplyShading/*[in,opt]*/, 
                                      VARIANT* ApplyFont/*[in,opt]*/, 
                                      VARIANT* ApplyColor/*[in,opt]*/, 
                                      VARIANT* ApplyHeadingRows/*[in,opt]*/, 
                                      VARIANT* ApplyLastRow/*[in,opt]*/, 
                                      VARIANT* ApplyFirstColumn/*[in,opt]*/, 
                                      VARIANT* ApplyLastColumn/*[in,opt]*/, 
                                      VARIANT* AutoFit/*[in,opt]*/, 
                                      VARIANT* AutoFitBehavior/*[in,opt]*/, 
                                      VARIANT* DefaultTableBehavior/*[in,opt]*/)
{
  Word_xp::Table* prop;
  this->ConvertToTable(Separator, NumRows, NumColumns, InitialColumnWidth, Format, ApplyBorders, 
                       ApplyShading, ApplyFont, ApplyColor, ApplyHeadingRows, ApplyLastRow, 
                       ApplyFirstColumn, ApplyLastColumn, AutoFit, AutoFitBehavior, 
                       DefaultTableBehavior, (Word_xp::Table**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_NoProofing(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoProofing"), DISPID(1005));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WordSelectionDispT<T>::get_NoProofing(void)
{
  long prop;
  this->get_NoProofing((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_NoProofing(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoProofing"), DISPID(1005));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_TopLevelTables(Word_xp::Tables** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopLevelTables"), DISPID(1006));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Tables**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TablesPtr __fastcall
WordSelectionDispT<T>::get_TopLevelTables(void)
{
  Word_xp::TablesPtr prop;
  this->get_TopLevelTables(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_LanguageDetected(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageDetected"), DISPID(1007));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordSelectionDispT<T>::get_LanguageDetected(void)
{
  VARIANT_BOOL prop;
  this->get_LanguageDetected((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_LanguageDetected(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageDetected"), DISPID(1007));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_FitTextWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FitTextWidth"), DISPID(1008));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
WordSelectionDispT<T>::get_FitTextWidth(void)
{
  float prop;
  this->get_FitTextWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::set_FitTextWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FitTextWidth"), DISPID(1008));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::ClearFormatting()
{
  _TDispID _dispid(*this, OLETEXT("ClearFormatting"), DISPID(1009));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::PasteAppendTable()
{
  _TDispID _dispid(*this, OLETEXT("PasteAppendTable"), DISPID(1010));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HTMLDivisions"), DISPID(1011));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HTMLDivisions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HTMLDivisionsPtr __fastcall
WordSelectionDispT<T>::get_HTMLDivisions(void)
{
  Word_xp::HTMLDivisionsPtr prop;
  this->get_HTMLDivisions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_SmartTags(Word_xp::SmartTags** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmartTags"), DISPID(1015));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SmartTags**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::SmartTagsPtr __fastcall
WordSelectionDispT<T>::get_SmartTags(void)
{
  Word_xp::SmartTagsPtr prop;
  this->get_SmartTags(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_ChildShapeRange(Word_xp::ShapeRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChildShapeRange"), DISPID(1021));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShapeRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapeRangePtr __fastcall
WordSelectionDispT<T>::get_ChildShapeRange(void)
{
  Word_xp::ShapeRangePtr prop;
  this->get_ChildShapeRange(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_HasChildShapeRange(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasChildShapeRange"), DISPID(1022));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WordSelectionDispT<T>::get_HasChildShapeRange(void)
{
  VARIANT_BOOL prop;
  this->get_HasChildShapeRange((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_FootnoteOptions(Word_xp::FootnoteOptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FootnoteOptions"), DISPID(1024));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FootnoteOptions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FootnoteOptionsPtr __fastcall
WordSelectionDispT<T>::get_FootnoteOptions(void)
{
  Word_xp::FootnoteOptionsPtr prop;
  this->get_FootnoteOptions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::get_EndnoteOptions(Word_xp::EndnoteOptions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndnoteOptions"), DISPID(1025));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::EndnoteOptions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::EndnoteOptionsPtr __fastcall
WordSelectionDispT<T>::get_EndnoteOptions(void)
{
  Word_xp::EndnoteOptionsPtr prop;
  this->get_EndnoteOptions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::ToggleCharacterCode()
{
  _TDispID _dispid(*this, OLETEXT("ToggleCharacterCode"), DISPID(1012));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::PasteAndFormat(Word_xp::WdRecoveryType Type/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteAndFormat"), DISPID(1013));
  TAutoArgs<1> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::PasteExcelTable(VARIANT_BOOL LinkedToExcel/*[in]*/, 
                                       VARIANT_BOOL WordFormatting/*[in]*/, VARIANT_BOOL RTF/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteExcelTable"), DISPID(1014));
  TAutoArgs<3> _args;
  _args[1] = LinkedToExcel /*[VT_BOOL:0]*/;
  _args[2] = WordFormatting /*[VT_BOOL:0]*/;
  _args[3] = RTF /*[VT_BOOL:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::ShrinkDiscontiguousSelection()
{
  _TDispID _dispid(*this, OLETEXT("ShrinkDiscontiguousSelection"), DISPID(1019));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::InsertStyleSeparator()
{
  _TDispID _dispid(*this, OLETEXT("InsertStyleSeparator"), DISPID(1020));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WordSelectionDispT<T>::Sort(VARIANT* ExcludeHeader/*[in,opt]*/, VARIANT* FieldNumber/*[in,opt]*/, 
                            VARIANT* SortFieldType/*[in,opt]*/, VARIANT* SortOrder/*[in,opt]*/, 
                            VARIANT* FieldNumber2/*[in,opt]*/, VARIANT* SortFieldType2/*[in,opt]*/, 
                            VARIANT* SortOrder2/*[in,opt]*/, VARIANT* FieldNumber3/*[in,opt]*/, 
                            VARIANT* SortFieldType3/*[in,opt]*/, VARIANT* SortOrder3/*[in,opt]*/, 
                            VARIANT* SortColumn/*[in,opt]*/, VARIANT* Separator/*[in,opt]*/, 
                            VARIANT* CaseSensitive/*[in,opt]*/, VARIANT* BidiSort/*[in,opt]*/, 
                            VARIANT* IgnoreThe/*[in,opt]*/, VARIANT* IgnoreKashida/*[in,opt]*/, 
                            VARIANT* IgnoreDiacritics/*[in,opt]*/, VARIANT* IgnoreHe/*[in,opt]*/, 
                            VARIANT* LanguageID/*[in,opt]*/, VARIANT* SubFieldNumber/*[in,opt]*/, 
                            VARIANT* SubFieldNumber2/*[in,opt]*/, 
                            VARIANT* SubFieldNumber3/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Sort"), DISPID(1023));
  TAutoArgs<22> _args;
  _args[1] = ExcludeHeader /*[VT_VARIANT:1]*/;
  _args[2] = FieldNumber /*[VT_VARIANT:1]*/;
  _args[3] = SortFieldType /*[VT_VARIANT:1]*/;
  _args[4] = SortOrder /*[VT_VARIANT:1]*/;
  _args[5] = FieldNumber2 /*[VT_VARIANT:1]*/;
  _args[6] = SortFieldType2 /*[VT_VARIANT:1]*/;
  _args[7] = SortOrder2 /*[VT_VARIANT:1]*/;
  _args[8] = FieldNumber3 /*[VT_VARIANT:1]*/;
  _args[9] = SortFieldType3 /*[VT_VARIANT:1]*/;
  _args[10] = SortOrder3 /*[VT_VARIANT:1]*/;
  _args[11] = SortColumn /*[VT_VARIANT:1]*/;
  _args[12] = Separator /*[VT_VARIANT:1]*/;
  _args[13] = CaseSensitive /*[VT_VARIANT:1]*/;
  _args[14] = BidiSort /*[VT_VARIANT:1]*/;
  _args[15] = IgnoreThe /*[VT_VARIANT:1]*/;
  _args[16] = IgnoreKashida /*[VT_VARIANT:1]*/;
  _args[17] = IgnoreDiacritics /*[VT_VARIANT:1]*/;
  _args[18] = IgnoreHe /*[VT_VARIANT:1]*/;
  _args[19] = LanguageID /*[VT_VARIANT:1]*/;
  _args[20] = SubFieldNumber /*[VT_VARIANT:1]*/;
  _args[21] = SubFieldNumber2 /*[VT_VARIANT:1]*/;
  _args[22] = SubFieldNumber3 /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  TablesOfAuthoritiesCategories
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020976-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TablesOfAuthoritiesCategoriesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TablesOfAuthoritiesCategoriesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesCategoriesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TablesOfAuthoritiesCategoriesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesCategoriesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TablesOfAuthoritiesCategoriesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesCategoriesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
TablesOfAuthoritiesCategoriesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesCategoriesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TablesOfAuthoritiesCategoriesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TablesOfAuthoritiesCategoriesDispT<T>::Item(VARIANT* Index/*[in]*/, 
                                            Word_xp::TableOfAuthoritiesCategory** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TableOfAuthoritiesCategory**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TableOfAuthoritiesCategory* __fastcall
TablesOfAuthoritiesCategoriesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::TableOfAuthoritiesCategory* prop;
  this->Item(Index, (Word_xp::TableOfAuthoritiesCategory**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  TableOfAuthoritiesCategory
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020977-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TableOfAuthoritiesCategoryDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TableOfAuthoritiesCategoryDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesCategoryDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableOfAuthoritiesCategoryDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesCategoryDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TableOfAuthoritiesCategoryDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesCategoryDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TableOfAuthoritiesCategoryDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesCategoryDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableOfAuthoritiesCategoryDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableOfAuthoritiesCategoryDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  CaptionLabels
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020978-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
CaptionLabelsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CaptionLabelsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CaptionLabelsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CaptionLabelsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
CaptionLabelsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CaptionLabelsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelsDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::CaptionLabel** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CaptionLabel**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::CaptionLabel* __fastcall
CaptionLabelsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::CaptionLabel* prop;
  this->Item(Index, (Word_xp::CaptionLabel**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelsDispT<T>::Add(BSTR Name/*[in]*/, Word_xp::CaptionLabel** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CaptionLabel**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::CaptionLabel* __fastcall
CaptionLabelsDispT<T>::Add(BSTR Name/*[in]*/)
{
  Word_xp::CaptionLabel* prop;
  this->Add(Name, (Word_xp::CaptionLabel**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  CaptionLabel
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020979-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CaptionLabelDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CaptionLabelDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CaptionLabelDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
CaptionLabelDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::get_BuiltIn(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BuiltIn"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
CaptionLabelDispT<T>::get_BuiltIn(void)
{
  VARIANT_BOOL prop;
  this->get_BuiltIn((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::get_ID(Word_xp::WdCaptionLabelID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdCaptionLabelID __fastcall
CaptionLabelDispT<T>::get_ID(void)
{
  Word_xp::WdCaptionLabelID prop;
  this->get_ID((Word_xp::WdCaptionLabelID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::get_IncludeChapterNumber(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeChapterNumber"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
CaptionLabelDispT<T>::get_IncludeChapterNumber(void)
{
  VARIANT_BOOL prop;
  this->get_IncludeChapterNumber((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::set_IncludeChapterNumber(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeChapterNumber"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::get_NumberStyle(Word_xp::WdCaptionNumberStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdCaptionNumberStyle __fastcall
CaptionLabelDispT<T>::get_NumberStyle(void)
{
  Word_xp::WdCaptionNumberStyle prop;
  this->get_NumberStyle((Word_xp::WdCaptionNumberStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::set_NumberStyle(Word_xp::WdCaptionNumberStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::get_ChapterStyleLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChapterStyleLevel"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CaptionLabelDispT<T>::get_ChapterStyleLevel(void)
{
  long prop;
  this->get_ChapterStyleLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::set_ChapterStyleLevel(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChapterStyleLevel"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::get_Separator(Word_xp::WdSeparatorType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Separator"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSeparatorType __fastcall
CaptionLabelDispT<T>::get_Separator(void)
{
  Word_xp::WdSeparatorType prop;
  this->get_Separator((Word_xp::WdSeparatorType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::set_Separator(Word_xp::WdSeparatorType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Separator"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::get_Position(Word_xp::WdCaptionPosition* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Position"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdCaptionPosition __fastcall
CaptionLabelDispT<T>::get_Position(void)
{
  Word_xp::WdCaptionPosition prop;
  this->get_Position((Word_xp::WdCaptionPosition*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::set_Position(Word_xp::WdCaptionPosition prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Position"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CaptionLabelDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(100));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  AutoCaptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097A-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
AutoCaptionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
AutoCaptionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoCaptionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
AutoCaptionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
AutoCaptionsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoCaptionsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionsDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::AutoCaption** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AutoCaption**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::AutoCaption* __fastcall
AutoCaptionsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::AutoCaption* prop;
  this->Item(Index, (Word_xp::AutoCaption**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionsDispT<T>::CancelAutoInsert()
{
  _TDispID _dispid(*this, OLETEXT("CancelAutoInsert"), DISPID(100));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  AutoCaption
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097B-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
AutoCaptionDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
AutoCaptionDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoCaptionDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
AutoCaptionDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
AutoCaptionDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionDispT<T>::get_AutoInsert(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoInsert"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AutoCaptionDispT<T>::get_AutoInsert(void)
{
  VARIANT_BOOL prop;
  this->get_AutoInsert((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionDispT<T>::set_AutoInsert(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoInsert"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AutoCaptionDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AutoCaptionDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionDispT<T>::get_CaptionLabel(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CaptionLabel"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
AutoCaptionDispT<T>::get_CaptionLabel(void)
{
  VARIANT prop;
  this->get_CaptionLabel((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AutoCaptionDispT<T>::set_CaptionLabel(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CaptionLabel"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Indexes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097C-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
IndexesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
IndexesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
IndexesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
IndexesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
IndexesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
IndexesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexesDispT<T>::get_Format(Word_xp::WdIndexFormat* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdIndexFormat __fastcall
IndexesDispT<T>::get_Format(void)
{
  Word_xp::WdIndexFormat prop;
  this->get_Format((Word_xp::WdIndexFormat*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexesDispT<T>::set_Format(Word_xp::WdIndexFormat prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Format"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IndexesDispT<T>::Item(long Index/*[in]*/, Word_xp::Index** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Index**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Index* __fastcall
IndexesDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Index* prop;
  this->Item(Index, (Word_xp::Index**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexesDispT<T>::AddOld(Word_xp::WordRange* Range/*[in]*/, VARIANT* HeadingSeparator/*[in,opt]*/, 
                        VARIANT* RightAlignPageNumbers/*[in,opt]*/, VARIANT* Type/*[in,opt]*/, 
                        VARIANT* NumberOfColumns/*[in,opt]*/, VARIANT* AccentedLetters/*[in,opt]*/, 
                        Word_xp::Index** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddOld"), DISPID(100));
  TAutoArgs<6> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = HeadingSeparator /*[VT_VARIANT:1]*/;
  _args[3] = RightAlignPageNumbers /*[VT_VARIANT:1]*/;
  _args[4] = Type /*[VT_VARIANT:1]*/;
  _args[5] = NumberOfColumns /*[VT_VARIANT:1]*/;
  _args[6] = AccentedLetters /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Index**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Index* __fastcall
IndexesDispT<T>::AddOld(Word_xp::WordRange* Range/*[in]*/, VARIANT* HeadingSeparator/*[in,opt]*/, 
                        VARIANT* RightAlignPageNumbers/*[in,opt]*/, VARIANT* Type/*[in,opt]*/, 
                        VARIANT* NumberOfColumns/*[in,opt]*/, VARIANT* AccentedLetters/*[in,opt]*/)
{
  Word_xp::Index* prop;
  this->AddOld(Range, HeadingSeparator, RightAlignPageNumbers, Type, NumberOfColumns, 
               AccentedLetters, (Word_xp::Index**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexesDispT<T>::MarkEntry(Word_xp::WordRange* Range/*[in]*/, VARIANT* Entry/*[in,opt]*/, 
                           VARIANT* EntryAutoText/*[in,opt]*/, VARIANT* CrossReference/*[in,opt]*/, 
                           VARIANT* CrossReferenceAutoText/*[in,opt]*/, 
                           VARIANT* BookmarkName/*[in,opt]*/, VARIANT* Bold/*[in,opt]*/, 
                           VARIANT* Italic/*[in,opt]*/, VARIANT* Reading/*[in,opt]*/, 
                           Word_xp::Field** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarkEntry"), DISPID(101));
  TAutoArgs<9> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Entry /*[VT_VARIANT:1]*/;
  _args[3] = EntryAutoText /*[VT_VARIANT:1]*/;
  _args[4] = CrossReference /*[VT_VARIANT:1]*/;
  _args[5] = CrossReferenceAutoText /*[VT_VARIANT:1]*/;
  _args[6] = BookmarkName /*[VT_VARIANT:1]*/;
  _args[7] = Bold /*[VT_VARIANT:1]*/;
  _args[8] = Italic /*[VT_VARIANT:1]*/;
  _args[9] = Reading /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Field**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Field* __fastcall
IndexesDispT<T>::MarkEntry(Word_xp::WordRange* Range/*[in]*/, VARIANT* Entry/*[in,opt]*/, 
                           VARIANT* EntryAutoText/*[in,opt]*/, VARIANT* CrossReference/*[in,opt]*/, 
                           VARIANT* CrossReferenceAutoText/*[in,opt]*/, 
                           VARIANT* BookmarkName/*[in,opt]*/, VARIANT* Bold/*[in,opt]*/, 
                           VARIANT* Italic/*[in,opt]*/, VARIANT* Reading/*[in,opt]*/)
{
  Word_xp::Field* prop;
  this->MarkEntry(Range, Entry, EntryAutoText, CrossReference, CrossReferenceAutoText, BookmarkName, 
                  Bold, Italic, Reading, (Word_xp::Field**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexesDispT<T>::MarkAllEntries(Word_xp::WordRange* Range/*[in]*/, VARIANT* Entry/*[in,opt]*/, 
                                VARIANT* EntryAutoText/*[in,opt]*/, 
                                VARIANT* CrossReference/*[in,opt]*/, 
                                VARIANT* CrossReferenceAutoText/*[in,opt]*/, 
                                VARIANT* BookmarkName/*[in,opt]*/, VARIANT* Bold/*[in,opt]*/, 
                                VARIANT* Italic/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarkAllEntries"), DISPID(102));
  TAutoArgs<8> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = Entry /*[VT_VARIANT:1]*/;
  _args[3] = EntryAutoText /*[VT_VARIANT:1]*/;
  _args[4] = CrossReference /*[VT_VARIANT:1]*/;
  _args[5] = CrossReferenceAutoText /*[VT_VARIANT:1]*/;
  _args[6] = BookmarkName /*[VT_VARIANT:1]*/;
  _args[7] = Bold /*[VT_VARIANT:1]*/;
  _args[8] = Italic /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IndexesDispT<T>::AutoMarkEntries(BSTR ConcordanceFileName/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoMarkEntries"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = ConcordanceFileName /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IndexesDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* HeadingSeparator/*[in,opt]*/, 
                     VARIANT* RightAlignPageNumbers/*[in,opt]*/, VARIANT* Type/*[in,opt]*/, 
                     VARIANT* NumberOfColumns/*[in,opt]*/, VARIANT* AccentedLetters/*[in,opt]*/, 
                     VARIANT* SortBy/*[in,opt]*/, VARIANT* IndexLanguage/*[in,opt]*/, 
                     Word_xp::Index** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(104));
  TAutoArgs<8> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  _args[2] = HeadingSeparator /*[VT_VARIANT:1]*/;
  _args[3] = RightAlignPageNumbers /*[VT_VARIANT:1]*/;
  _args[4] = Type /*[VT_VARIANT:1]*/;
  _args[5] = NumberOfColumns /*[VT_VARIANT:1]*/;
  _args[6] = AccentedLetters /*[VT_VARIANT:1]*/;
  _args[7] = SortBy /*[VT_VARIANT:1]*/;
  _args[8] = IndexLanguage /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Index**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Index* __fastcall
IndexesDispT<T>::Add(Word_xp::WordRange* Range/*[in]*/, VARIANT* HeadingSeparator/*[in,opt]*/, 
                     VARIANT* RightAlignPageNumbers/*[in,opt]*/, VARIANT* Type/*[in,opt]*/, 
                     VARIANT* NumberOfColumns/*[in,opt]*/, VARIANT* AccentedLetters/*[in,opt]*/, 
                     VARIANT* SortBy/*[in,opt]*/, VARIANT* IndexLanguage/*[in,opt]*/)
{
  Word_xp::Index* prop;
  this->Add(Range, HeadingSeparator, RightAlignPageNumbers, Type, NumberOfColumns, AccentedLetters, 
            SortBy, IndexLanguage, (Word_xp::Index**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Index
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097D-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
IndexDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
IndexDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
IndexDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
IndexDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::get_HeadingSeparator(Word_xp::WdHeadingSeparator* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeadingSeparator"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdHeadingSeparator __fastcall
IndexDispT<T>::get_HeadingSeparator(void)
{
  Word_xp::WdHeadingSeparator prop;
  this->get_HeadingSeparator((Word_xp::WdHeadingSeparator*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::set_HeadingSeparator(Word_xp::WdHeadingSeparator prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeadingSeparator"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IndexDispT<T>::get_RightAlignPageNumbers(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightAlignPageNumbers"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
IndexDispT<T>::get_RightAlignPageNumbers(void)
{
  VARIANT_BOOL prop;
  this->get_RightAlignPageNumbers((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::set_RightAlignPageNumbers(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightAlignPageNumbers"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IndexDispT<T>::get_Type(Word_xp::WdIndexType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdIndexType __fastcall
IndexDispT<T>::get_Type(void)
{
  Word_xp::WdIndexType prop;
  this->get_Type((Word_xp::WdIndexType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::set_Type(Word_xp::WdIndexType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IndexDispT<T>::get_NumberOfColumns(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberOfColumns"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
IndexDispT<T>::get_NumberOfColumns(void)
{
  long prop;
  this->get_NumberOfColumns((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::set_NumberOfColumns(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberOfColumns"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IndexDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
IndexDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::get_TabLeader(Word_xp::WdTabLeader* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabLeader"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTabLeader __fastcall
IndexDispT<T>::get_TabLeader(void)
{
  Word_xp::WdTabLeader prop;
  this->get_TabLeader((Word_xp::WdTabLeader*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::set_TabLeader(Word_xp::WdTabLeader prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabLeader"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IndexDispT<T>::get_AccentedLetters(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AccentedLetters"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
IndexDispT<T>::get_AccentedLetters(void)
{
  VARIANT_BOOL prop;
  this->get_AccentedLetters((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::set_AccentedLetters(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AccentedLetters"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IndexDispT<T>::get_SortBy(Word_xp::WdIndexSortBy* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SortBy"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdIndexSortBy __fastcall
IndexDispT<T>::get_SortBy(void)
{
  Word_xp::WdIndexSortBy prop;
  this->get_SortBy((Word_xp::WdIndexSortBy*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::set_SortBy(Word_xp::WdIndexSortBy prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SortBy"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IndexDispT<T>::get_Filter(Word_xp::WdIndexFilter* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Filter"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdIndexFilter __fastcall
IndexDispT<T>::get_Filter(void)
{
  Word_xp::WdIndexFilter prop;
  this->get_Filter((Word_xp::WdIndexFilter*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::set_Filter(Word_xp::WdIndexFilter prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Filter"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IndexDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IndexDispT<T>::_Update()
{
  _TDispID _dispid(*this, OLETEXT("Update"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IndexDispT<T>::get_IndexLanguage(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IndexLanguage"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
IndexDispT<T>::get_IndexLanguage(void)
{
  Word_xp::WdLanguageID prop;
  this->get_IndexLanguage((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
IndexDispT<T>::set_IndexLanguage(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IndexLanguage"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  AddIn
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097E-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
AddInDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
AddInDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AddInDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
AddInDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
AddInDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AddInDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInDispT<T>::get_Path(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Path"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
AddInDispT<T>::get_Path(void)
{
  BSTR prop;
  this->get_Path((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInDispT<T>::get_Installed(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Installed"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AddInDispT<T>::get_Installed(void)
{
  VARIANT_BOOL prop;
  this->get_Installed((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInDispT<T>::set_Installed(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Installed"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
AddInDispT<T>::get_Compiled(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Compiled"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AddInDispT<T>::get_Compiled(void)
{
  VARIANT_BOOL prop;
  this->get_Compiled((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInDispT<T>::get_Autoload(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Autoload"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
AddInDispT<T>::get_Autoload(void)
{
  VARIANT_BOOL prop;
  this->get_Autoload((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(101));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  AddIns
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002097F-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
AddInsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
AddInsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AddInsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
AddInsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
AddInsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AddInsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInsDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::AddIn** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AddIn**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::AddIn* __fastcall
AddInsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::AddIn* prop;
  this->Item(Index, (Word_xp::AddIn**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInsDispT<T>::Add(BSTR FileName/*[in]*/, VARIANT* Install/*[in,opt]*/, 
                    Word_xp::AddIn** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(2));
  TAutoArgs<2> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = Install /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::AddIn**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::AddIn* __fastcall
AddInsDispT<T>::Add(BSTR FileName/*[in]*/, VARIANT* Install/*[in,opt]*/)
{
  Word_xp::AddIn* prop;
  this->Add(FileName, Install, (Word_xp::AddIn**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AddInsDispT<T>::Unload(VARIANT_BOOL RemoveFromList/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Unload"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = RemoveFromList /*[VT_BOOL:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Revisions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020980-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
RevisionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
RevisionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RevisionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
RevisionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
RevisionsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RevisionsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionsDispT<T>::Item(long Index/*[in]*/, Word_xp::Revision** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Revision**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Revision* __fastcall
RevisionsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Revision* prop;
  this->Item(Index, (Word_xp::Revision**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionsDispT<T>::AcceptAll()
{
  _TDispID _dispid(*this, OLETEXT("AcceptAll"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
RevisionsDispT<T>::RejectAll()
{
  _TDispID _dispid(*this, OLETEXT("RejectAll"), DISPID(102));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Revision
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020981-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
RevisionDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
RevisionDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RevisionDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
RevisionDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionDispT<T>::get_Author(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Author"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
RevisionDispT<T>::get_Author(void)
{
  BSTR prop;
  this->get_Author((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionDispT<T>::get_Date(DATE* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Date"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DATE:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> DATE __fastcall
RevisionDispT<T>::get_Date(void)
{
  DATE prop;
  this->get_Date((DATE*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
RevisionDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionDispT<T>::get_Type(Word_xp::WdRevisionType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRevisionType __fastcall
RevisionDispT<T>::get_Type(void)
{
  Word_xp::WdRevisionType prop;
  this->get_Type((Word_xp::WdRevisionType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
RevisionDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionDispT<T>::Accept()
{
  _TDispID _dispid(*this, OLETEXT("Accept"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
RevisionDispT<T>::Reject()
{
  _TDispID _dispid(*this, OLETEXT("Reject"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
RevisionDispT<T>::get_Style(Word_xp::Style** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Style**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::StylePtr __fastcall
RevisionDispT<T>::get_Style(void)
{
  Word_xp::StylePtr prop;
  this->get_Style(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
RevisionDispT<T>::get_FormatDescription(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormatDescription"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
RevisionDispT<T>::get_FormatDescription(void)
{
  BSTR prop;
  this->get_FormatDescription((BSTR*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Task
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020982-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TaskDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TaskDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TaskDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TaskDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TaskDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskDispT<T>::get_Left(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Left"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TaskDispT<T>::get_Left(void)
{
  long prop;
  this->get_Left((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskDispT<T>::set_Left(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Left"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TaskDispT<T>::get_Top(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Top"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TaskDispT<T>::get_Top(void)
{
  long prop;
  this->get_Top((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskDispT<T>::set_Top(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Top"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TaskDispT<T>::get_Width(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TaskDispT<T>::get_Width(void)
{
  long prop;
  this->get_Width((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskDispT<T>::set_Width(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TaskDispT<T>::get_Height(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TaskDispT<T>::get_Height(void)
{
  long prop;
  this->get_Height((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskDispT<T>::set_Height(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TaskDispT<T>::get_WindowState(Word_xp::WdWindowState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowState"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdWindowState __fastcall
TaskDispT<T>::get_WindowState(void)
{
  Word_xp::WdWindowState prop;
  this->get_WindowState((Word_xp::WdWindowState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskDispT<T>::set_WindowState(Word_xp::WdWindowState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowState"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TaskDispT<T>::get_Visible(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TaskDispT<T>::get_Visible(void)
{
  VARIANT_BOOL prop;
  this->get_Visible((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskDispT<T>::set_Visible(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TaskDispT<T>::Activate(VARIANT* Wait/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Activate"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = Wait /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
TaskDispT<T>::Close()
{
  _TDispID _dispid(*this, OLETEXT("Close"), DISPID(11));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TaskDispT<T>::Move(long Left/*[in]*/, long Top/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Move"), DISPID(12));
  TAutoArgs<2> _args;
  _args[1] = Left /*[VT_I4:0]*/;
  _args[2] = Top /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
TaskDispT<T>::Resize(long Width/*[in]*/, long Height/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Resize"), DISPID(13));
  TAutoArgs<2> _args;
  _args[1] = Width /*[VT_I4:0]*/;
  _args[2] = Height /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
TaskDispT<T>::SendWindowMessage(long Message/*[in]*/, long wParam/*[in]*/, long lParam/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SendWindowMessage"), DISPID(14));
  TAutoArgs<3> _args;
  _args[1] = Message /*[VT_I4:0]*/;
  _args[2] = wParam /*[VT_I4:0]*/;
  _args[3] = lParam /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Tasks
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020983-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TasksDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TasksDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TasksDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TasksDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TasksDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TasksDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TasksDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
TasksDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TasksDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TasksDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TasksDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Task** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Task**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Task* __fastcall
TasksDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Task* prop;
  this->Item(Index, (Word_xp::Task**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TasksDispT<T>::Exists(BSTR Name/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Exists"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TasksDispT<T>::Exists(BSTR Name/*[in]*/)
{
  VARIANT_BOOL prop;
  this->Exists(Name, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TasksDispT<T>::ExitWindoz()
{
  _TDispID _dispid(*this, OLETEXT("ExitWindows"), DISPID(3));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  HeadersFooters
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020984-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
HeadersFootersDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
HeadersFootersDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadersFootersDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HeadersFootersDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadersFootersDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
HeadersFootersDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadersFootersDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
HeadersFootersDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadersFootersDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HeadersFootersDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadersFootersDispT<T>::Item(Word_xp::WdHeaderFooterIndex Index/*[in]*/, 
                             Word_xp::HeaderFooter** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = (int)Index /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HeaderFooter**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::HeaderFooter* __fastcall
HeadersFootersDispT<T>::Item(Word_xp::WdHeaderFooterIndex Index/*[in]*/)
{
  Word_xp::HeaderFooter* prop;
  this->Item(Index, (Word_xp::HeaderFooter**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  HeaderFooter
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020985-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
HeaderFooterDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
HeaderFooterDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeaderFooterDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HeaderFooterDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeaderFooterDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
HeaderFooterDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeaderFooterDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
HeaderFooterDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeaderFooterDispT<T>::get_Index(Word_xp::WdHeaderFooterIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdHeaderFooterIndex __fastcall
HeaderFooterDispT<T>::get_Index(void)
{
  Word_xp::WdHeaderFooterIndex prop;
  this->get_Index((Word_xp::WdHeaderFooterIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeaderFooterDispT<T>::get_IsHeader(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsHeader"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
HeaderFooterDispT<T>::get_IsHeader(void)
{
  VARIANT_BOOL prop;
  this->get_IsHeader((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeaderFooterDispT<T>::get_Exists(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Exists"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
HeaderFooterDispT<T>::get_Exists(void)
{
  VARIANT_BOOL prop;
  this->get_Exists((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeaderFooterDispT<T>::set_Exists(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Exists"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HeaderFooterDispT<T>::get_PageNumbers(Word_xp::PageNumbers** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageNumbers"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::PageNumbers**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PageNumbersPtr __fastcall
HeaderFooterDispT<T>::get_PageNumbers(void)
{
  Word_xp::PageNumbersPtr prop;
  this->get_PageNumbers(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeaderFooterDispT<T>::get_LinkToPrevious(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinkToPrevious"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
HeaderFooterDispT<T>::get_LinkToPrevious(void)
{
  VARIANT_BOOL prop;
  this->get_LinkToPrevious((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeaderFooterDispT<T>::set_LinkToPrevious(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinkToPrevious"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HeaderFooterDispT<T>::get_Shapes(Word_xp::Shapes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shapes"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shapes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapesPtr __fastcall
HeaderFooterDispT<T>::get_Shapes(void)
{
  Word_xp::ShapesPtr prop;
  this->get_Shapes(&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  PageNumbers
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020986-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
PageNumbersDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PageNumbersDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
PageNumbersDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
PageNumbersDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PageNumbersDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get_NumberStyle(Word_xp::WdPageNumberStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPageNumberStyle __fastcall
PageNumbersDispT<T>::get_NumberStyle(void)
{
  Word_xp::WdPageNumberStyle prop;
  this->get_NumberStyle((Word_xp::WdPageNumberStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::set_NumberStyle(Word_xp::WdPageNumberStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get_IncludeChapterNumber(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeChapterNumber"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
PageNumbersDispT<T>::get_IncludeChapterNumber(void)
{
  VARIANT_BOOL prop;
  this->get_IncludeChapterNumber((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::set_IncludeChapterNumber(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeChapterNumber"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get_HeadingLevelForChapter(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeadingLevelForChapter"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PageNumbersDispT<T>::get_HeadingLevelForChapter(void)
{
  long prop;
  this->get_HeadingLevelForChapter((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::set_HeadingLevelForChapter(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeadingLevelForChapter"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get_ChapterPageSeparator(Word_xp::WdSeparatorType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChapterPageSeparator"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSeparatorType __fastcall
PageNumbersDispT<T>::get_ChapterPageSeparator(void)
{
  Word_xp::WdSeparatorType prop;
  this->get_ChapterPageSeparator((Word_xp::WdSeparatorType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::set_ChapterPageSeparator(Word_xp::WdSeparatorType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChapterPageSeparator"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get_RestartNumberingAtSection(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RestartNumberingAtSection"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
PageNumbersDispT<T>::get_RestartNumberingAtSection(void)
{
  VARIANT_BOOL prop;
  this->get_RestartNumberingAtSection((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::set_RestartNumberingAtSection(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RestartNumberingAtSection"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get_StartingNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartingNumber"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PageNumbersDispT<T>::get_StartingNumber(void)
{
  long prop;
  this->get_StartingNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::set_StartingNumber(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartingNumber"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get_ShowFirstPageNumber(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowFirstPageNumber"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
PageNumbersDispT<T>::get_ShowFirstPageNumber(void)
{
  VARIANT_BOOL prop;
  this->get_ShowFirstPageNumber((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::set_ShowFirstPageNumber(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowFirstPageNumber"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::Item(long Index/*[in]*/, Word_xp::PageNumber** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::PageNumber**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::PageNumber* __fastcall
PageNumbersDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::PageNumber* prop;
  this->Item(Index, (Word_xp::PageNumber**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::Add(VARIANT* PageNumberAlignment/*[in,opt]*/, VARIANT* FirstPage/*[in,opt]*/, 
                         Word_xp::PageNumber** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<2> _args;
  _args[1] = PageNumberAlignment /*[VT_VARIANT:1]*/;
  _args[2] = FirstPage /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::PageNumber**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::PageNumber* __fastcall
PageNumbersDispT<T>::Add(VARIANT* PageNumberAlignment/*[in,opt]*/, VARIANT* FirstPage/*[in,opt]*/)
{
  Word_xp::PageNumber* prop;
  this->Add(PageNumberAlignment, FirstPage, (Word_xp::PageNumber**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::get_DoubleQuote(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DoubleQuote"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
PageNumbersDispT<T>::get_DoubleQuote(void)
{
  VARIANT_BOOL prop;
  this->get_DoubleQuote((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumbersDispT<T>::set_DoubleQuote(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DoubleQuote"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  PageNumber
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020987-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
PageNumberDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
PageNumberDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumberDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PageNumberDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumberDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
PageNumberDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumberDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PageNumberDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumberDispT<T>::get_Alignment(Word_xp::WdPageNumberAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPageNumberAlignment __fastcall
PageNumberDispT<T>::get_Alignment(void)
{
  Word_xp::WdPageNumberAlignment prop;
  this->get_Alignment((Word_xp::WdPageNumberAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PageNumberDispT<T>::set_Alignment(Word_xp::WdPageNumberAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PageNumberDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
PageNumberDispT<T>::Copy()
{
  _TDispID _dispid(*this, OLETEXT("Copy"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
PageNumberDispT<T>::Cut()
{
  _TDispID _dispid(*this, OLETEXT("Cut"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
PageNumberDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(103));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Subdocuments
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020988-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
SubdocumentsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SubdocumentsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
SubdocumentsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SubdocumentsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
SubdocumentsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::get_Expanded(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Expanded"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
SubdocumentsDispT<T>::get_Expanded(void)
{
  VARIANT_BOOL prop;
  this->get_Expanded((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::set_Expanded(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Expanded"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::Item(long Index/*[in]*/, Word_xp::Subdocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Subdocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Subdocument* __fastcall
SubdocumentsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Subdocument* prop;
  this->Item(Index, (Word_xp::Subdocument**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::AddFromFile(VARIANT* Name/*[in]*/, VARIANT* ConfirmConversions/*[in,opt]*/, 
                                  VARIANT* ReadOnly/*[in,opt]*/, 
                                  VARIANT* PasswordDocument/*[in,opt]*/, 
                                  VARIANT* PasswordTemplate/*[in,opt]*/, VARIANT* Revert/*[in,opt]*/
                                  , VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                  VARIANT* WritePasswordTemplate/*[in,opt]*/, 
                                  Word_xp::Subdocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddFromFile"), DISPID(100));
  TAutoArgs<8> _args;
  _args[1] = Name /*[VT_VARIANT:1]*/;
  _args[2] = ConfirmConversions /*[VT_VARIANT:1]*/;
  _args[3] = ReadOnly /*[VT_VARIANT:1]*/;
  _args[4] = PasswordDocument /*[VT_VARIANT:1]*/;
  _args[5] = PasswordTemplate /*[VT_VARIANT:1]*/;
  _args[6] = Revert /*[VT_VARIANT:1]*/;
  _args[7] = WritePasswordDocument /*[VT_VARIANT:1]*/;
  _args[8] = WritePasswordTemplate /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Subdocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Subdocument* __fastcall
SubdocumentsDispT<T>::AddFromFile(VARIANT* Name/*[in]*/, VARIANT* ConfirmConversions/*[in,opt]*/, 
                                  VARIANT* ReadOnly/*[in,opt]*/, 
                                  VARIANT* PasswordDocument/*[in,opt]*/, 
                                  VARIANT* PasswordTemplate/*[in,opt]*/, VARIANT* Revert/*[in,opt]*/, 
                                  VARIANT* WritePasswordDocument/*[in,opt]*/, 
                                  VARIANT* WritePasswordTemplate/*[in,opt]*/)
{
  Word_xp::Subdocument* prop;
  this->AddFromFile(Name, ConfirmConversions, ReadOnly, PasswordDocument, PasswordTemplate, Revert, 
                    WritePasswordDocument, WritePasswordTemplate, (Word_xp::Subdocument**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::AddFromRange(Word_xp::WordRange* Range/*[in]*/, 
                                   Word_xp::Subdocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddFromRange"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Subdocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Subdocument* __fastcall
SubdocumentsDispT<T>::AddFromRange(Word_xp::WordRange* Range/*[in]*/)
{
  Word_xp::Subdocument* prop;
  this->AddFromRange(Range, (Word_xp::Subdocument**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::Merge(VARIANT* FirstSubdocument/*[in,opt]*/, 
                            VARIANT* LastSubdocument/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Merge"), DISPID(102));
  TAutoArgs<2> _args;
  _args[1] = FirstSubdocument /*[VT_VARIANT:1]*/;
  _args[2] = LastSubdocument /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(103));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
SubdocumentsDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(104));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Subdocument
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020989-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
SubdocumentDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
SubdocumentDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SubdocumentDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
SubdocumentDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentDispT<T>::get_Locked(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Locked"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
SubdocumentDispT<T>::get_Locked(void)
{
  VARIANT_BOOL prop;
  this->get_Locked((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentDispT<T>::set_Locked(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Locked"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
SubdocumentDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
SubdocumentDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SubdocumentDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentDispT<T>::get_Path(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Path"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SubdocumentDispT<T>::get_Path(void)
{
  BSTR prop;
  this->get_Path((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentDispT<T>::get_HasFile(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasFile"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
SubdocumentDispT<T>::get_HasFile(void)
{
  VARIANT_BOOL prop;
  this->get_HasFile((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentDispT<T>::get_Level(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Level"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SubdocumentDispT<T>::get_Level(void)
{
  long prop;
  this->get_Level((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SubdocumentDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
SubdocumentDispT<T>::Split(Word_xp::WordRange* Range/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Split"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
SubdocumentDispT<T>::Open(Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Open"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordDocument* __fastcall
SubdocumentDispT<T>::Open(void)
{
  Word_xp::WordDocument* prop;
  this->Open((Word_xp::WordDocument**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  HeadingStyles
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098A-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
HeadingStylesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
HeadingStylesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadingStylesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HeadingStylesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadingStylesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
HeadingStylesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadingStylesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
HeadingStylesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadingStylesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HeadingStylesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadingStylesDispT<T>::Item(long Index/*[in]*/, Word_xp::HeadingStyle** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HeadingStyle**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::HeadingStyle* __fastcall
HeadingStylesDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::HeadingStyle* prop;
  this->Item(Index, (Word_xp::HeadingStyle**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadingStylesDispT<T>::Add(VARIANT* Style/*[in]*/, short Level/*[in]*/, 
                           Word_xp::HeadingStyle** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(100));
  TAutoArgs<2> _args;
  _args[1] = Style /*[VT_VARIANT:1]*/;
  _args[2] = Level /*[VT_I2:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HeadingStyle**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::HeadingStyle* __fastcall
HeadingStylesDispT<T>::Add(VARIANT* Style/*[in]*/, short Level/*[in]*/)
{
  Word_xp::HeadingStyle* prop;
  this->Add(Style, Level, (Word_xp::HeadingStyle**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  HeadingStyle
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098B-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
HeadingStyleDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
HeadingStyleDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadingStyleDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HeadingStyleDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadingStyleDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
HeadingStyleDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadingStyleDispT<T>::get_Style(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
HeadingStyleDispT<T>::get_Style(void)
{
  VARIANT prop;
  this->get_Style((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadingStyleDispT<T>::set_Style(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HeadingStyleDispT<T>::get_Level(short* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Level"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I2:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> short __fastcall
HeadingStyleDispT<T>::get_Level(void)
{
  short prop;
  this->get_Level((short*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HeadingStyleDispT<T>::set_Level(short prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Level"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I2:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HeadingStyleDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(100));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  StoryRanges
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098C-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
StoryRangesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
StoryRangesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StoryRangesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
StoryRangesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StoryRangesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
StoryRangesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StoryRangesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
StoryRangesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StoryRangesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
StoryRangesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StoryRangesDispT<T>::Item(Word_xp::WdStoryType Index/*[in]*/, 
                          Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = (int)Index /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
StoryRangesDispT<T>::Item(Word_xp::WdStoryType Index/*[in]*/)
{
  Word_xp::WordRange* prop;
  this->Item(Index, (Word_xp::WordRange**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  ListLevel
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098D-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListLevelDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_NumberFormat(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberFormat"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ListLevelDispT<T>::get_NumberFormat(void)
{
  BSTR prop;
  this->get_NumberFormat((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::set_NumberFormat(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberFormat"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_TrailingCharacter(Word_xp::WdTrailingCharacter* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TrailingCharacter"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTrailingCharacter __fastcall
ListLevelDispT<T>::get_TrailingCharacter(void)
{
  Word_xp::WdTrailingCharacter prop;
  this->get_TrailingCharacter((Word_xp::WdTrailingCharacter*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::set_TrailingCharacter(Word_xp::WdTrailingCharacter prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TrailingCharacter"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_NumberStyle(Word_xp::WdListNumberStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdListNumberStyle __fastcall
ListLevelDispT<T>::get_NumberStyle(void)
{
  Word_xp::WdListNumberStyle prop;
  this->get_NumberStyle((Word_xp::WdListNumberStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::set_NumberStyle(Word_xp::WdListNumberStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_NumberPosition(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberPosition"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ListLevelDispT<T>::get_NumberPosition(void)
{
  float prop;
  this->get_NumberPosition((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::set_NumberPosition(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberPosition"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_Alignment(Word_xp::WdListLevelAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdListLevelAlignment __fastcall
ListLevelDispT<T>::get_Alignment(void)
{
  Word_xp::WdListLevelAlignment prop;
  this->get_Alignment((Word_xp::WdListLevelAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::set_Alignment(Word_xp::WdListLevelAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_TextPosition(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextPosition"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ListLevelDispT<T>::get_TextPosition(void)
{
  float prop;
  this->get_TextPosition((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::set_TextPosition(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextPosition"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_TabPosition(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabPosition"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ListLevelDispT<T>::get_TabPosition(void)
{
  float prop;
  this->get_TabPosition((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::set_TabPosition(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabPosition"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_ResetOnHigherOld(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ResetOnHigherOld"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ListLevelDispT<T>::get_ResetOnHigherOld(void)
{
  VARIANT_BOOL prop;
  this->get_ResetOnHigherOld((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::set_ResetOnHigherOld(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ResetOnHigherOld"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_StartAt(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartAt"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListLevelDispT<T>::get_StartAt(void)
{
  long prop;
  this->get_StartAt((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::set_StartAt(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartAt"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_LinkedStyle(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinkedStyle"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ListLevelDispT<T>::get_LinkedStyle(void)
{
  BSTR prop;
  this->get_LinkedStyle((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::set_LinkedStyle(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinkedStyle"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_Font(Word_xp::WordFont** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordFont**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordFontPtr __fastcall
ListLevelDispT<T>::get_Font(void)
{
  Word_xp::WordFontPtr prop;
  this->get_Font(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::set_Font(Word_xp::WordFontPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordFont*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ListLevelDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListLevelDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ListLevelDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_ResetOnHigher(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ResetOnHigher"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListLevelDispT<T>::get_ResetOnHigher(void)
{
  long prop;
  this->get_ResetOnHigher((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::set_ResetOnHigher(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ResetOnHigher"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::get_PictureBullet(Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PictureBullet"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::InlineShapePtr __fastcall
ListLevelDispT<T>::get_PictureBullet(void)
{
  Word_xp::InlineShapePtr prop;
  this->get_PictureBullet(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelDispT<T>::ApplyPictureBullet(BSTR FileName/*[in]*/, 
                                      Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyPictureBullet"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::InlineShape* __fastcall
ListLevelDispT<T>::ApplyPictureBullet(BSTR FileName/*[in]*/)
{
  Word_xp::InlineShape* prop;
  this->ApplyPictureBullet(FileName, (Word_xp::InlineShape**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  ListLevels
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098E-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ListLevelsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ListLevelsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListLevelsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ListLevelsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListLevelsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ListLevelsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListLevelsDispT<T>::Item(long Index/*[in]*/, Word_xp::ListLevel** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListLevel**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ListLevel* __fastcall
ListLevelsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::ListLevel* prop;
  this->Item(Index, (Word_xp::ListLevel**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  ListTemplate
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002098F-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ListTemplateDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ListTemplateDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListTemplateDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListTemplateDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListTemplateDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ListTemplateDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListTemplateDispT<T>::get_OutlineNumbered(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutlineNumbered"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ListTemplateDispT<T>::get_OutlineNumbered(void)
{
  VARIANT_BOOL prop;
  this->get_OutlineNumbered((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListTemplateDispT<T>::set_OutlineNumbered(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutlineNumbered"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListTemplateDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ListTemplateDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListTemplateDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListTemplateDispT<T>::get_ListLevels(Word_xp::ListLevels** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListLevels"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListLevels**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListLevelsPtr __fastcall
ListTemplateDispT<T>::get_ListLevels(void)
{
  Word_xp::ListLevelsPtr prop;
  this->get_ListLevels(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListTemplateDispT<T>::Convert(VARIANT* Level/*[in,opt]*/, 
                              Word_xp::ListTemplate** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Convert"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = Level /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListTemplate**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ListTemplate* __fastcall
ListTemplateDispT<T>::Convert(VARIANT* Level/*[in,opt]*/)
{
  Word_xp::ListTemplate* prop;
  this->Convert(Level, (Word_xp::ListTemplate**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  ListTemplates
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020990-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ListTemplatesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ListTemplatesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListTemplatesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListTemplatesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListTemplatesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ListTemplatesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListTemplatesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListTemplatesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListTemplatesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ListTemplatesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListTemplatesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::ListTemplate** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListTemplate**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ListTemplate* __fastcall
ListTemplatesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::ListTemplate* prop;
  this->Item(Index, (Word_xp::ListTemplate**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListTemplatesDispT<T>::Add(VARIANT* OutlineNumbered/*[in,opt]*/, VARIANT* Name/*[in,opt]*/, 
                           Word_xp::ListTemplate** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(100));
  TAutoArgs<2> _args;
  _args[1] = OutlineNumbered /*[VT_VARIANT:1]*/;
  _args[2] = Name /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListTemplate**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ListTemplate* __fastcall
ListTemplatesDispT<T>::Add(VARIANT* OutlineNumbered/*[in,opt]*/, VARIANT* Name/*[in,opt]*/)
{
  Word_xp::ListTemplate* prop;
  this->Add(OutlineNumbered, Name, (Word_xp::ListTemplate**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  ListParagraphs
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020991-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ListParagraphsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ListParagraphsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListParagraphsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListParagraphsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListParagraphsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ListParagraphsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListParagraphsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListParagraphsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListParagraphsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ListParagraphsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListParagraphsDispT<T>::Item(long Index/*[in]*/, Word_xp::Paragraph** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Paragraph**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Paragraph* __fastcall
ListParagraphsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Paragraph* prop;
  this->Item(Index, (Word_xp::Paragraph**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  List
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020992-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ListDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
ListDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListDispT<T>::get_ListParagraphs(Word_xp::ListParagraphs** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListParagraphs"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListParagraphs**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListParagraphsPtr __fastcall
ListDispT<T>::get_ListParagraphs(void)
{
  Word_xp::ListParagraphsPtr prop;
  this->get_ListParagraphs(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListDispT<T>::get_SingleListTemplate(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SingleListTemplate"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ListDispT<T>::get_SingleListTemplate(void)
{
  VARIANT_BOOL prop;
  this->get_SingleListTemplate((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ListDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ListDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListDispT<T>::ConvertNumbersToText(VARIANT* NumberType/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertNumbersToText"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = NumberType /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListDispT<T>::RemoveNumbers(VARIANT* NumberType/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("RemoveNumbers"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = NumberType /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListDispT<T>::CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, VARIANT* Level/*[in,opt]*/, 
                                 long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CountNumberedItems"), DISPID(103));
  TAutoArgs<2> _args;
  _args[1] = NumberType /*[VT_VARIANT:1]*/;
  _args[2] = Level /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
ListDispT<T>::CountNumberedItems(VARIANT* NumberType/*[in,opt]*/, VARIANT* Level/*[in,opt]*/)
{
  long prop;
  this->CountNumberedItems(NumberType, Level, (long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListDispT<T>::ApplyListTemplateOld(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                   VARIANT* ContinuePreviousList/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyListTemplateOld"), DISPID(104));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::ListTemplate*)ListTemplate /*[VT_USERDEFINED:1]*/;
  _args[2] = ContinuePreviousList /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListDispT<T>::CanContinuePreviousList(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                      Word_xp::WdContinue* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanContinuePreviousList"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::ListTemplate*)ListTemplate /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WdContinue __fastcall
ListDispT<T>::CanContinuePreviousList(Word_xp::ListTemplate* ListTemplate/*[in]*/)
{
  Word_xp::WdContinue prop;
  this->CanContinuePreviousList(ListTemplate, (Word_xp::WdContinue*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListDispT<T>::ApplyListTemplate(Word_xp::ListTemplate* ListTemplate/*[in]*/, 
                                VARIANT* ContinuePreviousList/*[in,opt]*/, 
                                VARIANT* DefaultListBehavior/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyListTemplate"), DISPID(106));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Word_xp::ListTemplate*)ListTemplate /*[VT_USERDEFINED:1]*/;
  _args[2] = ContinuePreviousList /*[VT_VARIANT:1]*/;
  _args[3] = DefaultListBehavior /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ListDispT<T>::get_StyleName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StyleName"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ListDispT<T>::get_StyleName(void)
{
  BSTR prop;
  this->get_StyleName((BSTR*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Lists
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020993-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ListsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ListsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ListsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ListsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListsDispT<T>::Item(long Index/*[in]*/, Word_xp::List** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::List**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::List* __fastcall
ListsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::List* prop;
  this->Item(Index, (Word_xp::List**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  ListGallery
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020994-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ListGalleryDispT<T>::get_ListTemplates(Word_xp::ListTemplates** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ListTemplates"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListTemplates**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ListTemplatesPtr __fastcall
ListGalleryDispT<T>::get_ListTemplates(void)
{
  Word_xp::ListTemplatesPtr prop;
  this->get_ListTemplates(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListGalleryDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ListGalleryDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListGalleryDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListGalleryDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListGalleryDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ListGalleryDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListGalleryDispT<T>::get_Modified(long Index/*[in]*/, VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Modified"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ListGalleryDispT<T>::get_Modified(long Index/*[in]*/)
{
  VARIANT_BOOL prop;
  this->get_Modified(Index, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListGalleryDispT<T>::Reset(long Index/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Reset"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  ListGalleries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020995-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ListGalleriesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ListGalleriesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListGalleriesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListGalleriesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListGalleriesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ListGalleriesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListGalleriesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ListGalleriesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListGalleriesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ListGalleriesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ListGalleriesDispT<T>::Item(Word_xp::WdListGalleryType Index/*[in]*/, 
                            Word_xp::ListGallery** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = (int)Index /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ListGallery**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ListGallery* __fastcall
ListGalleriesDispT<T>::Item(Word_xp::WdListGalleryType Index/*[in]*/)
{
  Word_xp::ListGallery* prop;
  this->Item(Index, (Word_xp::ListGallery**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  KeyBindings
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020996-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
KeyBindingsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
KeyBindingsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
KeyBindingsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
KeyBindingsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
KeyBindingsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
KeyBindingsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingsDispT<T>::get_Context(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Context"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
KeyBindingsDispT<T>::get_Context(void)
{
  LPDISPATCH prop;
  this->get_Context((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingsDispT<T>::Item(long Index/*[in]*/, Word_xp::KeyBinding** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::KeyBinding**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::KeyBinding* __fastcall
KeyBindingsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::KeyBinding* prop;
  this->Item(Index, (Word_xp::KeyBinding**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingsDispT<T>::Add(Word_xp::WdKeyCategory KeyCategory/*[in]*/, BSTR Command/*[in]*/, 
                         long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                         VARIANT* CommandParameter/*[in,opt]*/, 
                         Word_xp::KeyBinding** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<5> _args;
  _args[1] = (int)KeyCategory /*[VT_USERDEFINED:0]*/;
  _args[2] = Command /*[VT_BSTR:0]*/;
  _args[3] = KeyCode /*[VT_I4:0]*/;
  _args[4] = KeyCode2 /*[VT_VARIANT:1]*/;
  _args[5] = CommandParameter /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::KeyBinding**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::KeyBinding* __fastcall
KeyBindingsDispT<T>::Add(Word_xp::WdKeyCategory KeyCategory/*[in]*/, BSTR Command/*[in]*/, 
                         long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                         VARIANT* CommandParameter/*[in,opt]*/)
{
  Word_xp::KeyBinding* prop;
  this->Add(KeyCategory, Command, KeyCode, KeyCode2, CommandParameter, (Word_xp::KeyBinding**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingsDispT<T>::ClearAll()
{
  _TDispID _dispid(*this, OLETEXT("ClearAll"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
KeyBindingsDispT<T>::Key(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                         Word_xp::KeyBinding** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Key"), DISPID(110));
  TAutoArgs<2> _args;
  _args[1] = KeyCode /*[VT_I4:0]*/;
  _args[2] = KeyCode2 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::KeyBinding**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::KeyBinding* __fastcall
KeyBindingsDispT<T>::Key(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/)
{
  Word_xp::KeyBinding* prop;
  this->Key(KeyCode, KeyCode2, (Word_xp::KeyBinding**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  KeysBoundTo
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020997-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
KeysBoundToDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
KeysBoundToDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeysBoundToDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
KeysBoundToDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeysBoundToDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
KeysBoundToDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeysBoundToDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
KeysBoundToDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeysBoundToDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
KeysBoundToDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeysBoundToDispT<T>::get_KeyCategory(Word_xp::WdKeyCategory* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeyCategory"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdKeyCategory __fastcall
KeysBoundToDispT<T>::get_KeyCategory(void)
{
  Word_xp::WdKeyCategory prop;
  this->get_KeyCategory((Word_xp::WdKeyCategory*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeysBoundToDispT<T>::get_Command(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Command"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
KeysBoundToDispT<T>::get_Command(void)
{
  BSTR prop;
  this->get_Command((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeysBoundToDispT<T>::get_CommandParameter(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CommandParameter"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
KeysBoundToDispT<T>::get_CommandParameter(void)
{
  BSTR prop;
  this->get_CommandParameter((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeysBoundToDispT<T>::get_Context(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Context"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
KeysBoundToDispT<T>::get_Context(void)
{
  LPDISPATCH prop;
  this->get_Context((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeysBoundToDispT<T>::Item(long Index/*[in]*/, Word_xp::KeyBinding** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::KeyBinding**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::KeyBinding* __fastcall
KeysBoundToDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::KeyBinding* prop;
  this->Item(Index, (Word_xp::KeyBinding**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeysBoundToDispT<T>::Key(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/, 
                         Word_xp::KeyBinding** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Key"), DISPID(1));
  TAutoArgs<2> _args;
  _args[1] = KeyCode /*[VT_I4:0]*/;
  _args[2] = KeyCode2 /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::KeyBinding**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::KeyBinding* __fastcall
KeysBoundToDispT<T>::Key(long KeyCode/*[in]*/, VARIANT* KeyCode2/*[in,opt]*/)
{
  Word_xp::KeyBinding* prop;
  this->Key(KeyCode, KeyCode2, (Word_xp::KeyBinding**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  KeyBinding
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020998-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
KeyBindingDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
KeyBindingDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
KeyBindingDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
KeyBindingDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::get_Command(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Command"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
KeyBindingDispT<T>::get_Command(void)
{
  BSTR prop;
  this->get_Command((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::get_KeyString(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeyString"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
KeyBindingDispT<T>::get_KeyString(void)
{
  BSTR prop;
  this->get_KeyString((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::get_Protected(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Protected"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
KeyBindingDispT<T>::get_Protected(void)
{
  VARIANT_BOOL prop;
  this->get_Protected((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::get_KeyCategory(Word_xp::WdKeyCategory* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeyCategory"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdKeyCategory __fastcall
KeyBindingDispT<T>::get_KeyCategory(void)
{
  Word_xp::WdKeyCategory prop;
  this->get_KeyCategory((Word_xp::WdKeyCategory*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::get_KeyCode(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeyCode"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
KeyBindingDispT<T>::get_KeyCode(void)
{
  long prop;
  this->get_KeyCode((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::get_KeyCode2(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KeyCode2"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
KeyBindingDispT<T>::get_KeyCode2(void)
{
  long prop;
  this->get_KeyCode2((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::get_CommandParameter(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CommandParameter"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
KeyBindingDispT<T>::get_CommandParameter(void)
{
  BSTR prop;
  this->get_CommandParameter((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::get_Context(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Context"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
KeyBindingDispT<T>::get_Context(void)
{
  LPDISPATCH prop;
  this->get_Context((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::Clear()
{
  _TDispID _dispid(*this, OLETEXT("Clear"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::Disable()
{
  _TDispID _dispid(*this, OLETEXT("Disable"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::Execute()
{
  _TDispID _dispid(*this, OLETEXT("Execute"), DISPID(103));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
KeyBindingDispT<T>::Rebind(Word_xp::WdKeyCategory KeyCategory/*[in]*/, BSTR Command/*[in]*/, 
                           VARIANT* CommandParameter/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Rebind"), DISPID(104));
  TAutoArgs<3> _args;
  _args[1] = (int)KeyCategory /*[VT_USERDEFINED:0]*/;
  _args[2] = Command /*[VT_BSTR:0]*/;
  _args[3] = CommandParameter /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  FileConverter
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020999-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FileConverterDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FileConverterDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConverterDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FileConverterDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConverterDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FileConverterDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConverterDispT<T>::get_FormatName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormatName"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FileConverterDispT<T>::get_FormatName(void)
{
  BSTR prop;
  this->get_FormatName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConverterDispT<T>::get_ClassName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ClassName"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FileConverterDispT<T>::get_ClassName(void)
{
  BSTR prop;
  this->get_ClassName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConverterDispT<T>::get_SaveFormat(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveFormat"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FileConverterDispT<T>::get_SaveFormat(void)
{
  long prop;
  this->get_SaveFormat((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConverterDispT<T>::get_OpenFormat(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OpenFormat"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FileConverterDispT<T>::get_OpenFormat(void)
{
  long prop;
  this->get_OpenFormat((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConverterDispT<T>::get_CanSave(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanSave"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FileConverterDispT<T>::get_CanSave(void)
{
  VARIANT_BOOL prop;
  this->get_CanSave((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConverterDispT<T>::get_CanOpen(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanOpen"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FileConverterDispT<T>::get_CanOpen(void)
{
  VARIANT_BOOL prop;
  this->get_CanOpen((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConverterDispT<T>::get_Path(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Path"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FileConverterDispT<T>::get_Path(void)
{
  BSTR prop;
  this->get_Path((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConverterDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FileConverterDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConverterDispT<T>::get_Extensions(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Extensions"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FileConverterDispT<T>::get_Extensions(void)
{
  BSTR prop;
  this->get_Extensions((BSTR*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  FileConverters
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099A-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FileConvertersDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FileConvertersDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConvertersDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FileConvertersDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConvertersDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FileConvertersDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConvertersDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FileConvertersDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConvertersDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
FileConvertersDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConvertersDispT<T>::get_ConvertMacWordChevrons(Word_xp::WdChevronConvertRule* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertMacWordChevrons"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdChevronConvertRule __fastcall
FileConvertersDispT<T>::get_ConvertMacWordChevrons(void)
{
  Word_xp::WdChevronConvertRule prop;
  this->get_ConvertMacWordChevrons((Word_xp::WdChevronConvertRule*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FileConvertersDispT<T>::set_ConvertMacWordChevrons(Word_xp::WdChevronConvertRule prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertMacWordChevrons"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FileConvertersDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::FileConverter** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FileConverter**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::FileConverter* __fastcall
FileConvertersDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::FileConverter* prop;
  this->Item(Index, (Word_xp::FileConverter**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  SynonymInfo
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099B-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
SynonymInfoDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
SynonymInfoDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SynonymInfoDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SynonymInfoDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SynonymInfoDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
SynonymInfoDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SynonymInfoDispT<T>::get_Word(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Word"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SynonymInfoDispT<T>::get_Word(void)
{
  BSTR prop;
  this->get_Word((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SynonymInfoDispT<T>::get_Found(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Found"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
SynonymInfoDispT<T>::get_Found(void)
{
  VARIANT_BOOL prop;
  this->get_Found((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SynonymInfoDispT<T>::get_MeaningCount(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MeaningCount"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SynonymInfoDispT<T>::get_MeaningCount(void)
{
  long prop;
  this->get_MeaningCount((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SynonymInfoDispT<T>::get_MeaningList(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MeaningList"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
SynonymInfoDispT<T>::get_MeaningList(void)
{
  VARIANT prop;
  this->get_MeaningList((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SynonymInfoDispT<T>::get_PartOfSpeechList(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PartOfSpeechList"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
SynonymInfoDispT<T>::get_PartOfSpeechList(void)
{
  VARIANT prop;
  this->get_PartOfSpeechList((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SynonymInfoDispT<T>::get_SynonymList(VARIANT* Meaning/*[in]*/, VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SynonymList"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = Meaning /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
SynonymInfoDispT<T>::get_SynonymList(VARIANT* Meaning/*[in]*/)
{
  VARIANT prop;
  this->get_SynonymList(Meaning, (VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SynonymInfoDispT<T>::get_AntonymList(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AntonymList"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
SynonymInfoDispT<T>::get_AntonymList(void)
{
  VARIANT prop;
  this->get_AntonymList((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SynonymInfoDispT<T>::get_RelatedExpressionList(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelatedExpressionList"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
SynonymInfoDispT<T>::get_RelatedExpressionList(void)
{
  VARIANT prop;
  this->get_RelatedExpressionList((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SynonymInfoDispT<T>::get_RelatedWordList(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelatedWordList"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
SynonymInfoDispT<T>::get_RelatedWordList(void)
{
  VARIANT prop;
  this->get_RelatedWordList((VARIANT*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Hyperlinks
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099C-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
HyperlinksDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
HyperlinksDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinksDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HyperlinksDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinksDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
HyperlinksDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinksDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HyperlinksDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinksDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
HyperlinksDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinksDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Hyperlink** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Hyperlink**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Hyperlink* __fastcall
HyperlinksDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Hyperlink* prop;
  this->Item(Index, (Word_xp::Hyperlink**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinksDispT<T>::_Add(LPDISPATCH Anchor/*[in]*/, VARIANT* Address/*[in,opt]*/, 
                         VARIANT* SubAddress/*[in,opt]*/, Word_xp::Hyperlink** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_Add"), DISPID(100));
  TAutoArgs<3> _args;
  _args[1] = Anchor /*[VT_DISPATCH:0]*/;
  _args[2] = Address /*[VT_VARIANT:1]*/;
  _args[3] = SubAddress /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Hyperlink**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Hyperlink* __fastcall
HyperlinksDispT<T>::_Add(LPDISPATCH Anchor/*[in]*/, VARIANT* Address/*[in,opt]*/, 
                         VARIANT* SubAddress/*[in,opt]*/)
{
  Word_xp::Hyperlink* prop;
  this->_Add(Anchor, Address, SubAddress, (Word_xp::Hyperlink**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinksDispT<T>::Add(LPDISPATCH Anchor/*[in]*/, VARIANT* Address/*[in,opt]*/, 
                        VARIANT* SubAddress/*[in,opt]*/, VARIANT* ScreenTip/*[in,opt]*/, 
                        VARIANT* TextToDisplay/*[in,opt]*/, VARIANT* Target/*[in,opt]*/, 
                        Word_xp::Hyperlink** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<6> _args;
  _args[1] = Anchor /*[VT_DISPATCH:0]*/;
  _args[2] = Address /*[VT_VARIANT:1]*/;
  _args[3] = SubAddress /*[VT_VARIANT:1]*/;
  _args[4] = ScreenTip /*[VT_VARIANT:1]*/;
  _args[5] = TextToDisplay /*[VT_VARIANT:1]*/;
  _args[6] = Target /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Hyperlink**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Hyperlink* __fastcall
HyperlinksDispT<T>::Add(LPDISPATCH Anchor/*[in]*/, VARIANT* Address/*[in,opt]*/, 
                        VARIANT* SubAddress/*[in,opt]*/, VARIANT* ScreenTip/*[in,opt]*/, 
                        VARIANT* TextToDisplay/*[in,opt]*/, VARIANT* Target/*[in,opt]*/)
{
  Word_xp::Hyperlink* prop;
  this->Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay, Target, (Word_xp::Hyperlink**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Hyperlink
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099D-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
HyperlinkDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HyperlinkDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
HyperlinkDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(1003));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
HyperlinkDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_AddressOld(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddressOld"), DISPID(1004));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
HyperlinkDispT<T>::get_AddressOld(void)
{
  BSTR prop;
  this->get_AddressOld((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_Type(Office_xp::MsoHyperlinkType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(1005));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoHyperlinkType __fastcall
HyperlinkDispT<T>::get_Type(void)
{
  Office_xp::MsoHyperlinkType prop;
  this->get_Type((Office_xp::MsoHyperlinkType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(1006));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
HyperlinkDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_Shape(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shape"), DISPID(1007));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapePtr __fastcall
HyperlinkDispT<T>::get_Shape(void)
{
  Word_xp::ShapePtr prop;
  this->get_Shape(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_SubAddressOld(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SubAddressOld"), DISPID(1008));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
HyperlinkDispT<T>::get_SubAddressOld(void)
{
  BSTR prop;
  this->get_SubAddressOld((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_ExtraInfoRequired(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ExtraInfoRequired"), DISPID(1009));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
HyperlinkDispT<T>::get_ExtraInfoRequired(void)
{
  VARIANT_BOOL prop;
  this->get_ExtraInfoRequired((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(103));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::Follow(VARIANT* NewWindow/*[in,opt]*/, VARIANT* AddHistory/*[in,opt]*/, 
                          VARIANT* ExtraInfo/*[in,opt]*/, VARIANT* Method/*[in,opt]*/, 
                          VARIANT* HeaderInfo/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Follow"), DISPID(104));
  TAutoArgs<5> _args;
  _args[1] = NewWindow /*[VT_VARIANT:1]*/;
  _args[2] = AddHistory /*[VT_VARIANT:1]*/;
  _args[3] = ExtraInfo /*[VT_VARIANT:1]*/;
  _args[4] = Method /*[VT_VARIANT:1]*/;
  _args[5] = HeaderInfo /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::AddToFavorites()
{
  _TDispID _dispid(*this, OLETEXT("AddToFavorites"), DISPID(105));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::CreateNewDocument(BSTR FileName/*[in]*/, VARIANT_BOOL EditNow/*[in]*/, 
                                     VARIANT_BOOL Overwrite/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateNewDocument"), DISPID(106));
  TAutoArgs<3> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = EditNow /*[VT_BOOL:0]*/;
  _args[3] = Overwrite /*[VT_BOOL:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_Address(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Address"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
HyperlinkDispT<T>::get_Address(void)
{
  BSTR prop;
  this->get_Address((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::set_Address(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Address"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_SubAddress(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SubAddress"), DISPID(1101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
HyperlinkDispT<T>::get_SubAddress(void)
{
  BSTR prop;
  this->get_SubAddress((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::set_SubAddress(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SubAddress"), DISPID(1101));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_EmailSubject(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmailSubject"), DISPID(1010));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
HyperlinkDispT<T>::get_EmailSubject(void)
{
  BSTR prop;
  this->get_EmailSubject((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::set_EmailSubject(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmailSubject"), DISPID(1010));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_ScreenTip(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScreenTip"), DISPID(1011));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
HyperlinkDispT<T>::get_ScreenTip(void)
{
  BSTR prop;
  this->get_ScreenTip((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::set_ScreenTip(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScreenTip"), DISPID(1011));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_TextToDisplay(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextToDisplay"), DISPID(1012));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
HyperlinkDispT<T>::get_TextToDisplay(void)
{
  BSTR prop;
  this->get_TextToDisplay((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::set_TextToDisplay(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextToDisplay"), DISPID(1012));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::get_Target(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Target"), DISPID(1013));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
HyperlinkDispT<T>::get_Target(void)
{
  BSTR prop;
  this->get_Target((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HyperlinkDispT<T>::set_Target(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Target"), DISPID(1013));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Shapes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {0002099F-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ShapesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(8000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ShapesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(8001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ShapesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ShapesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Shape* prop;
  this->Item(Index, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddCallout(Office_xp::MsoCalloutType Type/*[in]*/, float Left/*[in]*/, 
                           float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                           VARIANT* Anchor/*[in,opt]*/, Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddCallout"), DISPID(10));
  TAutoArgs<6> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  _args[2] = Left /*[VT_R4:0]*/;
  _args[3] = Top /*[VT_R4:0]*/;
  _args[4] = Width /*[VT_R4:0]*/;
  _args[5] = Height /*[VT_R4:0]*/;
  _args[6] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddCallout(Office_xp::MsoCalloutType Type/*[in]*/, float Left/*[in]*/, 
                           float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                           VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddCallout(Type, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddConnector(Office_xp::MsoConnectorType Type/*[in]*/, float BeginX/*[in]*/, 
                             float BeginY/*[in]*/, float EndX/*[in]*/, float EndY/*[in]*/, 
                             Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddConnector"), DISPID(11));
  TAutoArgs<5> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  _args[2] = BeginX /*[VT_R4:0]*/;
  _args[3] = BeginY /*[VT_R4:0]*/;
  _args[4] = EndX /*[VT_R4:0]*/;
  _args[5] = EndY /*[VT_R4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddConnector(Office_xp::MsoConnectorType Type/*[in]*/, float BeginX/*[in]*/, 
                             float BeginY/*[in]*/, float EndX/*[in]*/, float EndY/*[in]*/)
{
  Word_xp::Shape* prop;
  this->AddConnector(Type, BeginX, BeginY, EndX, EndY, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddCurve(VARIANT* SafeArrayOfPoints/*[in]*/, VARIANT* Anchor/*[in,opt]*/, 
                         Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddCurve"), DISPID(12));
  TAutoArgs<2> _args;
  _args[1] = SafeArrayOfPoints /*[VT_VARIANT:1]*/;
  _args[2] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddCurve(VARIANT* SafeArrayOfPoints/*[in]*/, VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddCurve(SafeArrayOfPoints, Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddLabel(Office_xp::MsoTextOrientation Orientation/*[in]*/, float Left/*[in]*/, 
                         float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                         VARIANT* Anchor/*[in,opt]*/, Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddLabel"), DISPID(13));
  TAutoArgs<6> _args;
  _args[1] = (int)Orientation /*[VT_USERDEFINED:0]*/;
  _args[2] = Left /*[VT_R4:0]*/;
  _args[3] = Top /*[VT_R4:0]*/;
  _args[4] = Width /*[VT_R4:0]*/;
  _args[5] = Height /*[VT_R4:0]*/;
  _args[6] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddLabel(Office_xp::MsoTextOrientation Orientation/*[in]*/, float Left/*[in]*/, 
                         float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                         VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddLabel(Orientation, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddLine(float BeginX/*[in]*/, float BeginY/*[in]*/, float EndX/*[in]*/, 
                        float EndY/*[in]*/, VARIANT* Anchor/*[in,opt]*/, 
                        Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddLine"), DISPID(14));
  TAutoArgs<5> _args;
  _args[1] = BeginX /*[VT_R4:0]*/;
  _args[2] = BeginY /*[VT_R4:0]*/;
  _args[3] = EndX /*[VT_R4:0]*/;
  _args[4] = EndY /*[VT_R4:0]*/;
  _args[5] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddLine(float BeginX/*[in]*/, float BeginY/*[in]*/, float EndX/*[in]*/, 
                        float EndY/*[in]*/, VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddLine(BeginX, BeginY, EndX, EndY, Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddPicture(BSTR FileName/*[in]*/, VARIANT* LinkToFile/*[in,opt]*/, 
                           VARIANT* SaveWithDocument/*[in,opt]*/, VARIANT* Left/*[in,opt]*/, 
                           VARIANT* Top/*[in,opt]*/, VARIANT* Width/*[in,opt]*/, 
                           VARIANT* Height/*[in,opt]*/, VARIANT* Anchor/*[in,opt]*/, 
                           Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddPicture"), DISPID(15));
  TAutoArgs<8> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = LinkToFile /*[VT_VARIANT:1]*/;
  _args[3] = SaveWithDocument /*[VT_VARIANT:1]*/;
  _args[4] = Left /*[VT_VARIANT:1]*/;
  _args[5] = Top /*[VT_VARIANT:1]*/;
  _args[6] = Width /*[VT_VARIANT:1]*/;
  _args[7] = Height /*[VT_VARIANT:1]*/;
  _args[8] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddPicture(BSTR FileName/*[in]*/, VARIANT* LinkToFile/*[in,opt]*/, 
                           VARIANT* SaveWithDocument/*[in,opt]*/, VARIANT* Left/*[in,opt]*/, 
                           VARIANT* Top/*[in,opt]*/, VARIANT* Width/*[in,opt]*/, 
                           VARIANT* Height/*[in,opt]*/, VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddPicture(FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddPolyline(VARIANT* SafeArrayOfPoints/*[in]*/, VARIANT* Anchor/*[in,opt]*/, 
                            Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddPolyline"), DISPID(16));
  TAutoArgs<2> _args;
  _args[1] = SafeArrayOfPoints /*[VT_VARIANT:1]*/;
  _args[2] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddPolyline(VARIANT* SafeArrayOfPoints/*[in]*/, VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddPolyline(SafeArrayOfPoints, Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddShape(long Type/*[in]*/, float Left/*[in]*/, float Top/*[in]*/, 
                         float Width/*[in]*/, float Height/*[in]*/, VARIANT* Anchor/*[in,opt]*/, 
                         Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddShape"), DISPID(17));
  TAutoArgs<6> _args;
  _args[1] = Type /*[VT_I4:0]*/;
  _args[2] = Left /*[VT_R4:0]*/;
  _args[3] = Top /*[VT_R4:0]*/;
  _args[4] = Width /*[VT_R4:0]*/;
  _args[5] = Height /*[VT_R4:0]*/;
  _args[6] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddShape(long Type/*[in]*/, float Left/*[in]*/, float Top/*[in]*/, 
                         float Width/*[in]*/, float Height/*[in]*/, VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddShape(Type, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddTextEffect(Office_xp::MsoPresetTextEffect PresetTextEffect/*[in]*/, 
                              BSTR Text/*[in]*/, BSTR FontName/*[in]*/, float FontSize/*[in]*/, 
                              Office_xp::MsoTriState FontBold/*[in]*/, 
                              Office_xp::MsoTriState FontItalic/*[in]*/, float Left/*[in]*/, 
                              float Top/*[in]*/, VARIANT* Anchor/*[in,opt]*/, 
                              Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddTextEffect"), DISPID(18));
  TAutoArgs<9> _args;
  _args[1] = (int)PresetTextEffect /*[VT_USERDEFINED:0]*/;
  _args[2] = Text /*[VT_BSTR:0]*/;
  _args[3] = FontName /*[VT_BSTR:0]*/;
  _args[4] = FontSize /*[VT_R4:0]*/;
  _args[5] = (int)FontBold /*[VT_USERDEFINED:0]*/;
  _args[6] = (int)FontItalic /*[VT_USERDEFINED:0]*/;
  _args[7] = Left /*[VT_R4:0]*/;
  _args[8] = Top /*[VT_R4:0]*/;
  _args[9] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddTextEffect(Office_xp::MsoPresetTextEffect PresetTextEffect/*[in]*/, 
                              BSTR Text/*[in]*/, BSTR FontName/*[in]*/, float FontSize/*[in]*/, 
                              Office_xp::MsoTriState FontBold/*[in]*/, 
                              Office_xp::MsoTriState FontItalic/*[in]*/, float Left/*[in]*/, 
                              float Top/*[in]*/, VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddTextEffect(PresetTextEffect, Text, FontName, FontSize, FontBold, FontItalic, Left, Top, 
                      Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddTextbox(Office_xp::MsoTextOrientation Orientation/*[in]*/, float Left/*[in]*/, 
                           float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                           VARIANT* Anchor/*[in,opt]*/, Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddTextbox"), DISPID(19));
  TAutoArgs<6> _args;
  _args[1] = (int)Orientation /*[VT_USERDEFINED:0]*/;
  _args[2] = Left /*[VT_R4:0]*/;
  _args[3] = Top /*[VT_R4:0]*/;
  _args[4] = Width /*[VT_R4:0]*/;
  _args[5] = Height /*[VT_R4:0]*/;
  _args[6] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddTextbox(Office_xp::MsoTextOrientation Orientation/*[in]*/, float Left/*[in]*/, 
                           float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                           VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddTextbox(Orientation, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::BuildFreeform(Office_xp::MsoEditingType EditingType/*[in]*/, float X1/*[in]*/, 
                              float Y1/*[in]*/, Word_xp::FreeformBuilder** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BuildFreeform"), DISPID(20));
  TAutoArgs<3> _args;
  _args[1] = (int)EditingType /*[VT_USERDEFINED:0]*/;
  _args[2] = X1 /*[VT_R4:0]*/;
  _args[3] = Y1 /*[VT_R4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FreeformBuilder**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::FreeformBuilder* __fastcall
ShapesDispT<T>::BuildFreeform(Office_xp::MsoEditingType EditingType/*[in]*/, float X1/*[in]*/, 
                              float Y1/*[in]*/)
{
  Word_xp::FreeformBuilder* prop;
  this->BuildFreeform(EditingType, X1, Y1, (Word_xp::FreeformBuilder**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::Range(VARIANT* Index/*[in]*/, Word_xp::ShapeRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShapeRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ShapeRange* __fastcall
ShapesDispT<T>::Range(VARIANT* Index/*[in]*/)
{
  Word_xp::ShapeRange* prop;
  this->Range(Index, (Word_xp::ShapeRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::SelectAll()
{
  _TDispID _dispid(*this, OLETEXT("SelectAll"), DISPID(22));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddOLEObject(VARIANT* ClassType/*[in,opt]*/, VARIANT* FileName/*[in,opt]*/, 
                             VARIANT* LinkToFile/*[in,opt]*/, VARIANT* DisplayAsIcon/*[in,opt]*/, 
                             VARIANT* IconFileName/*[in,opt]*/, VARIANT* IconIndex/*[in,opt]*/, 
                             VARIANT* IconLabel/*[in,opt]*/, VARIANT* Left/*[in,opt]*/, 
                             VARIANT* Top/*[in,opt]*/, VARIANT* Width/*[in,opt]*/, 
                             VARIANT* Height/*[in,opt]*/, VARIANT* Anchor/*[in,opt]*/, 
                             Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddOLEObject"), DISPID(24));
  TAutoArgs<12> _args;
  _args[1] = ClassType /*[VT_VARIANT:1]*/;
  _args[2] = FileName /*[VT_VARIANT:1]*/;
  _args[3] = LinkToFile /*[VT_VARIANT:1]*/;
  _args[4] = DisplayAsIcon /*[VT_VARIANT:1]*/;
  _args[5] = IconFileName /*[VT_VARIANT:1]*/;
  _args[6] = IconIndex /*[VT_VARIANT:1]*/;
  _args[7] = IconLabel /*[VT_VARIANT:1]*/;
  _args[8] = Left /*[VT_VARIANT:1]*/;
  _args[9] = Top /*[VT_VARIANT:1]*/;
  _args[10] = Width /*[VT_VARIANT:1]*/;
  _args[11] = Height /*[VT_VARIANT:1]*/;
  _args[12] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddOLEObject(VARIANT* ClassType/*[in,opt]*/, VARIANT* FileName/*[in,opt]*/, 
                             VARIANT* LinkToFile/*[in,opt]*/, VARIANT* DisplayAsIcon/*[in,opt]*/, 
                             VARIANT* IconFileName/*[in,opt]*/, VARIANT* IconIndex/*[in,opt]*/, 
                             VARIANT* IconLabel/*[in,opt]*/, VARIANT* Left/*[in,opt]*/, 
                             VARIANT* Top/*[in,opt]*/, VARIANT* Width/*[in,opt]*/, 
                             VARIANT* Height/*[in,opt]*/, VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddOLEObject(ClassType, FileName, LinkToFile, DisplayAsIcon, IconFileName, IconIndex, 
                     IconLabel, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddOLEControl(VARIANT* ClassType/*[in,opt]*/, VARIANT* Left/*[in,opt]*/, 
                              VARIANT* Top/*[in,opt]*/, VARIANT* Width/*[in,opt]*/, 
                              VARIANT* Height/*[in,opt]*/, VARIANT* Anchor/*[in,opt]*/, 
                              Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddOLEControl"), DISPID(102));
  TAutoArgs<6> _args;
  _args[1] = ClassType /*[VT_VARIANT:1]*/;
  _args[2] = Left /*[VT_VARIANT:1]*/;
  _args[3] = Top /*[VT_VARIANT:1]*/;
  _args[4] = Width /*[VT_VARIANT:1]*/;
  _args[5] = Height /*[VT_VARIANT:1]*/;
  _args[6] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddOLEControl(VARIANT* ClassType/*[in,opt]*/, VARIANT* Left/*[in,opt]*/, 
                              VARIANT* Top/*[in,opt]*/, VARIANT* Width/*[in,opt]*/, 
                              VARIANT* Height/*[in,opt]*/, VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddOLEControl(ClassType, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddDiagram(Office_xp::MsoDiagramType Type/*[in]*/, float Left/*[in]*/, 
                           float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                           VARIANT* Anchor/*[in,opt]*/, Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddDiagram"), DISPID(23));
  TAutoArgs<6> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  _args[2] = Left /*[VT_R4:0]*/;
  _args[3] = Top /*[VT_R4:0]*/;
  _args[4] = Width /*[VT_R4:0]*/;
  _args[5] = Height /*[VT_R4:0]*/;
  _args[6] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddDiagram(Office_xp::MsoDiagramType Type/*[in]*/, float Left/*[in]*/, 
                           float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                           VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddDiagram(Type, Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapesDispT<T>::AddCanvas(float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                          float Height/*[in]*/, VARIANT* Anchor/*[in,opt]*/, 
                          Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddCanvas"), DISPID(25));
  TAutoArgs<5> _args;
  _args[1] = Left /*[VT_R4:0]*/;
  _args[2] = Top /*[VT_R4:0]*/;
  _args[3] = Width /*[VT_R4:0]*/;
  _args[4] = Height /*[VT_R4:0]*/;
  _args[5] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapesDispT<T>::AddCanvas(float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                          float Height/*[in]*/, VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddCanvas(Left, Top, Width, Height, Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  ShapeRange
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B5-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(8000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ShapeRangeDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(8001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeRangeDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ShapeRangeDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeRangeDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ShapeRangeDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Adjustments(Word_xp::Adjustments** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Adjustments"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Adjustments**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::AdjustmentsPtr __fastcall
ShapeRangeDispT<T>::get_Adjustments(void)
{
  Word_xp::AdjustmentsPtr prop;
  this->get_Adjustments(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_AutoShapeType(Office_xp::MsoAutoShapeType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoShapeType"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoAutoShapeType __fastcall
ShapeRangeDispT<T>::get_AutoShapeType(void)
{
  Office_xp::MsoAutoShapeType prop;
  this->get_AutoShapeType((Office_xp::MsoAutoShapeType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_AutoShapeType(Office_xp::MsoAutoShapeType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoShapeType"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Callout(Word_xp::CalloutFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Callout"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CalloutFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CalloutFormatPtr __fastcall
ShapeRangeDispT<T>::get_Callout(void)
{
  Word_xp::CalloutFormatPtr prop;
  this->get_Callout(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_ConnectionSiteCount(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConnectionSiteCount"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeRangeDispT<T>::get_ConnectionSiteCount(void)
{
  long prop;
  this->get_ConnectionSiteCount((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Connector(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Connector"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeRangeDispT<T>::get_Connector(void)
{
  Office_xp::MsoTriState prop;
  this->get_Connector((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_ConnectorFormat(Word_xp::ConnectorFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConnectorFormat"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ConnectorFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ConnectorFormatPtr __fastcall
ShapeRangeDispT<T>::get_ConnectorFormat(void)
{
  Word_xp::ConnectorFormatPtr prop;
  this->get_ConnectorFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Fill(Word_xp::FillFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Fill"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FillFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FillFormatPtr __fastcall
ShapeRangeDispT<T>::get_Fill(void)
{
  Word_xp::FillFormatPtr prop;
  this->get_Fill(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_GroupItems(Word_xp::GroupShapes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GroupItems"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::GroupShapes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::GroupShapesPtr __fastcall
ShapeRangeDispT<T>::get_GroupItems(void)
{
  Word_xp::GroupShapesPtr prop;
  this->get_GroupItems(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Height(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShapeRangeDispT<T>::get_Height(void)
{
  float prop;
  this->get_Height((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_Height(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_HorizontalFlip(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalFlip"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeRangeDispT<T>::get_HorizontalFlip(void)
{
  Office_xp::MsoTriState prop;
  this->get_HorizontalFlip((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Left(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Left"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShapeRangeDispT<T>::get_Left(void)
{
  float prop;
  this->get_Left((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_Left(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Left"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Line(Word_xp::LineFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Line"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::LineFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::LineFormatPtr __fastcall
ShapeRangeDispT<T>::get_Line(void)
{
  Word_xp::LineFormatPtr prop;
  this->get_Line(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_LockAspectRatio(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LockAspectRatio"), DISPID(113));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeRangeDispT<T>::get_LockAspectRatio(void)
{
  Office_xp::MsoTriState prop;
  this->get_LockAspectRatio((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_LockAspectRatio(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LockAspectRatio"), DISPID(113));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(115));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ShapeRangeDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(115));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Nodes(Word_xp::ShapeNodes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Nodes"), DISPID(116));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShapeNodes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapeNodesPtr __fastcall
ShapeRangeDispT<T>::get_Nodes(void)
{
  Word_xp::ShapeNodesPtr prop;
  this->get_Nodes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Rotation(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Rotation"), DISPID(117));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShapeRangeDispT<T>::get_Rotation(void)
{
  float prop;
  this->get_Rotation((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_Rotation(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Rotation"), DISPID(117));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_PictureFormat(Word_xp::PictureFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PictureFormat"), DISPID(118));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::PictureFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PictureFormatPtr __fastcall
ShapeRangeDispT<T>::get_PictureFormat(void)
{
  Word_xp::PictureFormatPtr prop;
  this->get_PictureFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Shadow(Word_xp::ShadowFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shadow"), DISPID(119));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShadowFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadowFormatPtr __fastcall
ShapeRangeDispT<T>::get_Shadow(void)
{
  Word_xp::ShadowFormatPtr prop;
  this->get_Shadow(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_TextEffect(Word_xp::TextEffectFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextEffect"), DISPID(120));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextEffectFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TextEffectFormatPtr __fastcall
ShapeRangeDispT<T>::get_TextEffect(void)
{
  Word_xp::TextEffectFormatPtr prop;
  this->get_TextEffect(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_TextFrame(Word_xp::TextFrame** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextFrame"), DISPID(121));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextFrame**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TextFramePtr __fastcall
ShapeRangeDispT<T>::get_TextFrame(void)
{
  Word_xp::TextFramePtr prop;
  this->get_TextFrame(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_ThreeD(Word_xp::ThreeDFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ThreeD"), DISPID(122));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ThreeDFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ThreeDFormatPtr __fastcall
ShapeRangeDispT<T>::get_ThreeD(void)
{
  Word_xp::ThreeDFormatPtr prop;
  this->get_ThreeD(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Top(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Top"), DISPID(123));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShapeRangeDispT<T>::get_Top(void)
{
  float prop;
  this->get_Top((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_Top(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Top"), DISPID(123));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Type(Office_xp::MsoShapeType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(124));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoShapeType __fastcall
ShapeRangeDispT<T>::get_Type(void)
{
  Office_xp::MsoShapeType prop;
  this->get_Type((Office_xp::MsoShapeType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_VerticalFlip(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalFlip"), DISPID(125));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeRangeDispT<T>::get_VerticalFlip(void)
{
  Office_xp::MsoTriState prop;
  this->get_VerticalFlip((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Vertices(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Vertices"), DISPID(126));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
ShapeRangeDispT<T>::get_Vertices(void)
{
  VARIANT prop;
  this->get_Vertices((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(127));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeRangeDispT<T>::get_Visible(void)
{
  Office_xp::MsoTriState prop;
  this->get_Visible((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_Visible(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(127));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Width(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(128));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShapeRangeDispT<T>::get_Width(void)
{
  float prop;
  this->get_Width((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_Width(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(128));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_ZOrderPosition(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ZOrderPosition"), DISPID(129));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeRangeDispT<T>::get_ZOrderPosition(void)
{
  long prop;
  this->get_ZOrderPosition((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Hyperlink(Word_xp::Hyperlink** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hyperlink"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Hyperlink**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HyperlinkPtr __fastcall
ShapeRangeDispT<T>::get_Hyperlink(void)
{
  Word_xp::HyperlinkPtr prop;
  this->get_Hyperlink(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeHorizontalPosition"), DISPID(300));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRelativeHorizontalPosition __fastcall
ShapeRangeDispT<T>::get_RelativeHorizontalPosition(void)
{
  Word_xp::WdRelativeHorizontalPosition prop;
  this->get_RelativeHorizontalPosition((Word_xp::WdRelativeHorizontalPosition*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeHorizontalPosition"), DISPID(300));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeVerticalPosition"), DISPID(301));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRelativeVerticalPosition __fastcall
ShapeRangeDispT<T>::get_RelativeVerticalPosition(void)
{
  Word_xp::WdRelativeVerticalPosition prop;
  this->get_RelativeVerticalPosition((Word_xp::WdRelativeVerticalPosition*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeVerticalPosition"), DISPID(301));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_LockAnchor(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LockAnchor"), DISPID(302));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeRangeDispT<T>::get_LockAnchor(void)
{
  long prop;
  this->get_LockAnchor((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_LockAnchor(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LockAnchor"), DISPID(302));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_WrapFormat(Word_xp::WrapFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WrapFormat"), DISPID(303));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WrapFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WrapFormatPtr __fastcall
ShapeRangeDispT<T>::get_WrapFormat(void)
{
  Word_xp::WrapFormatPtr prop;
  this->get_WrapFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Anchor(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Anchor"), DISPID(304));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
ShapeRangeDispT<T>::get_Anchor(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Anchor(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapeRangeDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Shape* prop;
  this->Item(Index, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::Align(Office_xp::MsoAlignCmd Align/*[in]*/, long RelativeTo/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Align"), DISPID(10));
  TAutoArgs<2> _args;
  _args[1] = (int)Align /*[VT_USERDEFINED:0]*/;
  _args[2] = RelativeTo /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::Apply()
{
  _TDispID _dispid(*this, OLETEXT("Apply"), DISPID(11));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(12));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::Distribute(Office_xp::MsoDistributeCmd Distribute/*[in]*/, 
                               long RelativeTo/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Distribute"), DISPID(13));
  TAutoArgs<2> _args;
  _args[1] = (int)Distribute /*[VT_USERDEFINED:0]*/;
  _args[2] = RelativeTo /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::Duplicate(Word_xp::ShapeRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Duplicate"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShapeRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ShapeRange* __fastcall
ShapeRangeDispT<T>::Duplicate(void)
{
  Word_xp::ShapeRange* prop;
  this->Duplicate((Word_xp::ShapeRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::Flip(Office_xp::MsoFlipCmd FlipCmd/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Flip"), DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = (int)FlipCmd /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::IncrementLeft(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncrementLeft"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::IncrementRotation(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncrementRotation"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::IncrementTop(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncrementTop"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::Group(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Group"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapeRangeDispT<T>::Group(void)
{
  Word_xp::Shape* prop;
  this->Group((Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::PickUp()
{
  _TDispID _dispid(*this, OLETEXT("PickUp"), DISPID(20));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::Regroup(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Regroup"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapeRangeDispT<T>::Regroup(void)
{
  Word_xp::Shape* prop;
  this->Regroup((Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::RerouteConnections()
{
  _TDispID _dispid(*this, OLETEXT("RerouteConnections"), DISPID(22));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::ScaleHeight(float Factor/*[in]*/, 
                                Office_xp::MsoTriState RelativeToOriginalSize/*[in]*/, 
                                Office_xp::MsoScaleFrom Scale/*[in,def,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScaleHeight"), DISPID(23));
  TAutoArgs<3> _args;
  _args[1] = Factor /*[VT_R4:0]*/;
  _args[2] = (int)RelativeToOriginalSize /*[VT_USERDEFINED:0]*/;
  _args[3] = (int)Scale /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::ScaleWidth(float Factor/*[in]*/, 
                               Office_xp::MsoTriState RelativeToOriginalSize/*[in]*/, 
                               Office_xp::MsoScaleFrom Scale/*[in,def,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScaleWidth"), DISPID(24));
  TAutoArgs<3> _args;
  _args[1] = Factor /*[VT_R4:0]*/;
  _args[2] = (int)RelativeToOriginalSize /*[VT_USERDEFINED:0]*/;
  _args[3] = (int)Scale /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::Select(VARIANT* Replace/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(25));
  TAutoArgs<1> _args;
  _args[1] = Replace /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::SetShapesDefaultProperties()
{
  _TDispID _dispid(*this, OLETEXT("SetShapesDefaultProperties"), DISPID(26));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::Ungroup(Word_xp::ShapeRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Ungroup"), DISPID(27));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShapeRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ShapeRange* __fastcall
ShapeRangeDispT<T>::Ungroup(void)
{
  Word_xp::ShapeRange* prop;
  this->Ungroup((Word_xp::ShapeRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::ZOrder(Office_xp::MsoZOrderCmd ZOrderCmd/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ZOrder"), DISPID(28));
  TAutoArgs<1> _args;
  _args[1] = (int)ZOrderCmd /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::ConvertToFrame(Word_xp::Frame** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToFrame"), DISPID(29));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frame**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Frame* __fastcall
ShapeRangeDispT<T>::ConvertToFrame(void)
{
  Word_xp::Frame* prop;
  this->ConvertToFrame((Word_xp::Frame**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::ConvertToInlineShape(Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToInlineShape"), DISPID(30));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::InlineShape* __fastcall
ShapeRangeDispT<T>::ConvertToInlineShape(void)
{
  Word_xp::InlineShape* prop;
  this->ConvertToInlineShape((Word_xp::InlineShape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::Activate()
{
  _TDispID _dispid(*this, OLETEXT("Activate"), DISPID(50));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_AlternativeText(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AlternativeText"), DISPID(131));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ShapeRangeDispT<T>::get_AlternativeText(void)
{
  BSTR prop;
  this->get_AlternativeText((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_AlternativeText(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AlternativeText"), DISPID(131));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_HasDiagram(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasDiagram"), DISPID(132));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeRangeDispT<T>::get_HasDiagram(void)
{
  Office_xp::MsoTriState prop;
  this->get_HasDiagram((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Diagram(Office_xp::IMsoDiagram** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Diagram"), DISPID(133));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::IMsoDiagram**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::IMsoDiagramPtr __fastcall
ShapeRangeDispT<T>::get_Diagram(void)
{
  Office_xp::IMsoDiagramPtr prop;
  this->get_Diagram(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_HasDiagramNode(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasDiagramNode"), DISPID(134));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeRangeDispT<T>::get_HasDiagramNode(void)
{
  Office_xp::MsoTriState prop;
  this->get_HasDiagramNode((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_DiagramNode(Word_xp::DiagramNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DiagramNode"), DISPID(135));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNode**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DiagramNodePtr __fastcall
ShapeRangeDispT<T>::get_DiagramNode(void)
{
  Word_xp::DiagramNodePtr prop;
  this->get_DiagramNode(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_Child(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Child"), DISPID(136));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeRangeDispT<T>::get_Child(void)
{
  Office_xp::MsoTriState prop;
  this->get_Child((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_ParentGroup(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParentGroup"), DISPID(137));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapePtr __fastcall
ShapeRangeDispT<T>::get_ParentGroup(void)
{
  Word_xp::ShapePtr prop;
  this->get_ParentGroup(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_CanvasItems(Word_xp::CanvasShapes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanvasItems"), DISPID(138));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CanvasShapes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CanvasShapesPtr __fastcall
ShapeRangeDispT<T>::get_CanvasItems(void)
{
  Word_xp::CanvasShapesPtr prop;
  this->get_CanvasItems(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::get_ID(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(139));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeRangeDispT<T>::get_ID(void)
{
  long prop;
  this->get_ID((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::CanvasCropLeft(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanvasCropLeft"), DISPID(140));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::CanvasCropTop(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanvasCropTop"), DISPID(141));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::CanvasCropRight(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanvasCropRight"), DISPID(142));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::CanvasCropBottom(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanvasCropBottom"), DISPID(143));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeRangeDispT<T>::set_RTF(BSTR Param1/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RTF"), DISPID(144));
  TAutoArgs<1> _args;
  _args[1] = Param1 /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  GroupShapes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B6-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
GroupShapesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(8000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
GroupShapesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
GroupShapesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(8001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
GroupShapesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
GroupShapesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
GroupShapesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
GroupShapesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
GroupShapesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
GroupShapesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
GroupShapesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
GroupShapesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
GroupShapesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Shape* prop;
  this->Item(Index, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
GroupShapesDispT<T>::Range(VARIANT* Index/*[in]*/, Word_xp::ShapeRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShapeRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ShapeRange* __fastcall
GroupShapesDispT<T>::Range(VARIANT* Index/*[in]*/)
{
  Word_xp::ShapeRange* prop;
  this->Range(Index, (Word_xp::ShapeRange**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Shape
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A0-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(8000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ShapeDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(8001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ShapeDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Adjustments(Word_xp::Adjustments** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Adjustments"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Adjustments**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::AdjustmentsPtr __fastcall
ShapeDispT<T>::get_Adjustments(void)
{
  Word_xp::AdjustmentsPtr prop;
  this->get_Adjustments(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_AutoShapeType(Office_xp::MsoAutoShapeType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoShapeType"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoAutoShapeType __fastcall
ShapeDispT<T>::get_AutoShapeType(void)
{
  Office_xp::MsoAutoShapeType prop;
  this->get_AutoShapeType((Office_xp::MsoAutoShapeType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_AutoShapeType(Office_xp::MsoAutoShapeType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoShapeType"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Callout(Word_xp::CalloutFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Callout"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CalloutFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CalloutFormatPtr __fastcall
ShapeDispT<T>::get_Callout(void)
{
  Word_xp::CalloutFormatPtr prop;
  this->get_Callout(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_ConnectionSiteCount(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConnectionSiteCount"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeDispT<T>::get_ConnectionSiteCount(void)
{
  long prop;
  this->get_ConnectionSiteCount((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Connector(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Connector"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeDispT<T>::get_Connector(void)
{
  Office_xp::MsoTriState prop;
  this->get_Connector((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_ConnectorFormat(Word_xp::ConnectorFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConnectorFormat"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ConnectorFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ConnectorFormatPtr __fastcall
ShapeDispT<T>::get_ConnectorFormat(void)
{
  Word_xp::ConnectorFormatPtr prop;
  this->get_ConnectorFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Fill(Word_xp::FillFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Fill"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FillFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FillFormatPtr __fastcall
ShapeDispT<T>::get_Fill(void)
{
  Word_xp::FillFormatPtr prop;
  this->get_Fill(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_GroupItems(Word_xp::GroupShapes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GroupItems"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::GroupShapes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::GroupShapesPtr __fastcall
ShapeDispT<T>::get_GroupItems(void)
{
  Word_xp::GroupShapesPtr prop;
  this->get_GroupItems(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Height(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShapeDispT<T>::get_Height(void)
{
  float prop;
  this->get_Height((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_Height(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_HorizontalFlip(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalFlip"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeDispT<T>::get_HorizontalFlip(void)
{
  Office_xp::MsoTriState prop;
  this->get_HorizontalFlip((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Left(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Left"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShapeDispT<T>::get_Left(void)
{
  float prop;
  this->get_Left((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_Left(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Left"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Line(Word_xp::LineFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Line"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::LineFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::LineFormatPtr __fastcall
ShapeDispT<T>::get_Line(void)
{
  Word_xp::LineFormatPtr prop;
  this->get_Line(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_LockAspectRatio(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LockAspectRatio"), DISPID(113));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeDispT<T>::get_LockAspectRatio(void)
{
  Office_xp::MsoTriState prop;
  this->get_LockAspectRatio((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_LockAspectRatio(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LockAspectRatio"), DISPID(113));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(115));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ShapeDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(115));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Nodes(Word_xp::ShapeNodes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Nodes"), DISPID(116));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShapeNodes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapeNodesPtr __fastcall
ShapeDispT<T>::get_Nodes(void)
{
  Word_xp::ShapeNodesPtr prop;
  this->get_Nodes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Rotation(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Rotation"), DISPID(117));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShapeDispT<T>::get_Rotation(void)
{
  float prop;
  this->get_Rotation((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_Rotation(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Rotation"), DISPID(117));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_PictureFormat(Word_xp::PictureFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PictureFormat"), DISPID(118));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::PictureFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PictureFormatPtr __fastcall
ShapeDispT<T>::get_PictureFormat(void)
{
  Word_xp::PictureFormatPtr prop;
  this->get_PictureFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Shadow(Word_xp::ShadowFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shadow"), DISPID(119));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShadowFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadowFormatPtr __fastcall
ShapeDispT<T>::get_Shadow(void)
{
  Word_xp::ShadowFormatPtr prop;
  this->get_Shadow(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_TextEffect(Word_xp::TextEffectFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextEffect"), DISPID(120));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextEffectFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TextEffectFormatPtr __fastcall
ShapeDispT<T>::get_TextEffect(void)
{
  Word_xp::TextEffectFormatPtr prop;
  this->get_TextEffect(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_TextFrame(Word_xp::TextFrame** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextFrame"), DISPID(121));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextFrame**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TextFramePtr __fastcall
ShapeDispT<T>::get_TextFrame(void)
{
  Word_xp::TextFramePtr prop;
  this->get_TextFrame(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_ThreeD(Word_xp::ThreeDFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ThreeD"), DISPID(122));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ThreeDFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ThreeDFormatPtr __fastcall
ShapeDispT<T>::get_ThreeD(void)
{
  Word_xp::ThreeDFormatPtr prop;
  this->get_ThreeD(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Top(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Top"), DISPID(123));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShapeDispT<T>::get_Top(void)
{
  float prop;
  this->get_Top((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_Top(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Top"), DISPID(123));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Type(Office_xp::MsoShapeType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(124));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoShapeType __fastcall
ShapeDispT<T>::get_Type(void)
{
  Office_xp::MsoShapeType prop;
  this->get_Type((Office_xp::MsoShapeType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_VerticalFlip(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VerticalFlip"), DISPID(125));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeDispT<T>::get_VerticalFlip(void)
{
  Office_xp::MsoTriState prop;
  this->get_VerticalFlip((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Vertices(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Vertices"), DISPID(126));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
ShapeDispT<T>::get_Vertices(void)
{
  VARIANT prop;
  this->get_Vertices((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(127));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeDispT<T>::get_Visible(void)
{
  Office_xp::MsoTriState prop;
  this->get_Visible((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_Visible(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(127));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Width(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(128));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShapeDispT<T>::get_Width(void)
{
  float prop;
  this->get_Width((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_Width(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(128));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_ZOrderPosition(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ZOrderPosition"), DISPID(129));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeDispT<T>::get_ZOrderPosition(void)
{
  long prop;
  this->get_ZOrderPosition((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Hyperlink(Word_xp::Hyperlink** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hyperlink"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Hyperlink**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HyperlinkPtr __fastcall
ShapeDispT<T>::get_Hyperlink(void)
{
  Word_xp::HyperlinkPtr prop;
  this->get_Hyperlink(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeHorizontalPosition"), DISPID(300));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRelativeHorizontalPosition __fastcall
ShapeDispT<T>::get_RelativeHorizontalPosition(void)
{
  Word_xp::WdRelativeHorizontalPosition prop;
  this->get_RelativeHorizontalPosition((Word_xp::WdRelativeHorizontalPosition*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_RelativeHorizontalPosition(Word_xp::WdRelativeHorizontalPosition prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeHorizontalPosition"), DISPID(300));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeVerticalPosition"), DISPID(301));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRelativeVerticalPosition __fastcall
ShapeDispT<T>::get_RelativeVerticalPosition(void)
{
  Word_xp::WdRelativeVerticalPosition prop;
  this->get_RelativeVerticalPosition((Word_xp::WdRelativeVerticalPosition*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_RelativeVerticalPosition(Word_xp::WdRelativeVerticalPosition prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelativeVerticalPosition"), DISPID(301));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_LockAnchor(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LockAnchor"), DISPID(302));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeDispT<T>::get_LockAnchor(void)
{
  long prop;
  this->get_LockAnchor((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_LockAnchor(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LockAnchor"), DISPID(302));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_WrapFormat(Word_xp::WrapFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WrapFormat"), DISPID(303));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WrapFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WrapFormatPtr __fastcall
ShapeDispT<T>::get_WrapFormat(void)
{
  Word_xp::WrapFormatPtr prop;
  this->get_WrapFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_OLEFormat(Word_xp::OLEFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OLEFormat"), DISPID(500));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::OLEFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::OLEFormatPtr __fastcall
ShapeDispT<T>::get_OLEFormat(void)
{
  Word_xp::OLEFormatPtr prop;
  this->get_OLEFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Anchor(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Anchor"), DISPID(501));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
ShapeDispT<T>::get_Anchor(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Anchor(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_LinkFormat(Word_xp::LinkFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinkFormat"), DISPID(502));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::LinkFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::LinkFormatPtr __fastcall
ShapeDispT<T>::get_LinkFormat(void)
{
  Word_xp::LinkFormatPtr prop;
  this->get_LinkFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::Apply()
{
  _TDispID _dispid(*this, OLETEXT("Apply"), DISPID(10));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(11));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::Duplicate(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Duplicate"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
ShapeDispT<T>::Duplicate(void)
{
  Word_xp::Shape* prop;
  this->Duplicate((Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::Flip(Office_xp::MsoFlipCmd FlipCmd/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Flip"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = (int)FlipCmd /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::IncrementLeft(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncrementLeft"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::IncrementRotation(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncrementRotation"), DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::IncrementTop(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncrementTop"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::PickUp()
{
  _TDispID _dispid(*this, OLETEXT("PickUp"), DISPID(17));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::RerouteConnections()
{
  _TDispID _dispid(*this, OLETEXT("RerouteConnections"), DISPID(18));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::ScaleHeight(float Factor/*[in]*/, 
                           Office_xp::MsoTriState RelativeToOriginalSize/*[in]*/, 
                           Office_xp::MsoScaleFrom Scale/*[in,def,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScaleHeight"), DISPID(19));
  TAutoArgs<3> _args;
  _args[1] = Factor /*[VT_R4:0]*/;
  _args[2] = (int)RelativeToOriginalSize /*[VT_USERDEFINED:0]*/;
  _args[3] = (int)Scale /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::ScaleWidth(float Factor/*[in]*/, 
                          Office_xp::MsoTriState RelativeToOriginalSize/*[in]*/, 
                          Office_xp::MsoScaleFrom Scale/*[in,def,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScaleWidth"), DISPID(20));
  TAutoArgs<3> _args;
  _args[1] = Factor /*[VT_R4:0]*/;
  _args[2] = (int)RelativeToOriginalSize /*[VT_USERDEFINED:0]*/;
  _args[3] = (int)Scale /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::Select(VARIANT* Replace/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = Replace /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::SetShapesDefaultProperties()
{
  _TDispID _dispid(*this, OLETEXT("SetShapesDefaultProperties"), DISPID(22));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::Ungroup(Word_xp::ShapeRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Ungroup"), DISPID(23));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShapeRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ShapeRange* __fastcall
ShapeDispT<T>::Ungroup(void)
{
  Word_xp::ShapeRange* prop;
  this->Ungroup((Word_xp::ShapeRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::ZOrder(Office_xp::MsoZOrderCmd ZOrderCmd/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ZOrder"), DISPID(24));
  TAutoArgs<1> _args;
  _args[1] = (int)ZOrderCmd /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::ConvertToInlineShape(Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToInlineShape"), DISPID(25));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::InlineShape* __fastcall
ShapeDispT<T>::ConvertToInlineShape(void)
{
  Word_xp::InlineShape* prop;
  this->ConvertToInlineShape((Word_xp::InlineShape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::ConvertToFrame(Word_xp::Frame** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToFrame"), DISPID(29));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frame**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Frame* __fastcall
ShapeDispT<T>::ConvertToFrame(void)
{
  Word_xp::Frame* prop;
  this->ConvertToFrame((Word_xp::Frame**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::Activate()
{
  _TDispID _dispid(*this, OLETEXT("Activate"), DISPID(50));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_AlternativeText(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AlternativeText"), DISPID(131));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ShapeDispT<T>::get_AlternativeText(void)
{
  BSTR prop;
  this->get_AlternativeText((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_AlternativeText(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AlternativeText"), DISPID(131));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Script(Office_xp::Script** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Script"), DISPID(503));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::Script**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::ScriptPtr __fastcall
ShapeDispT<T>::get_Script(void)
{
  Office_xp::ScriptPtr prop;
  this->get_Script(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_HasDiagram(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasDiagram"), DISPID(132));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeDispT<T>::get_HasDiagram(void)
{
  Office_xp::MsoTriState prop;
  this->get_HasDiagram((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Diagram(Office_xp::IMsoDiagram** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Diagram"), DISPID(133));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::IMsoDiagram**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::IMsoDiagramPtr __fastcall
ShapeDispT<T>::get_Diagram(void)
{
  Office_xp::IMsoDiagramPtr prop;
  this->get_Diagram(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_HasDiagramNode(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasDiagramNode"), DISPID(134));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeDispT<T>::get_HasDiagramNode(void)
{
  Office_xp::MsoTriState prop;
  this->get_HasDiagramNode((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_DiagramNode(Word_xp::DiagramNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DiagramNode"), DISPID(135));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNode**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DiagramNodePtr __fastcall
ShapeDispT<T>::get_DiagramNode(void)
{
  Word_xp::DiagramNodePtr prop;
  this->get_DiagramNode(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_Child(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Child"), DISPID(136));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShapeDispT<T>::get_Child(void)
{
  Office_xp::MsoTriState prop;
  this->get_Child((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_ParentGroup(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParentGroup"), DISPID(137));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapePtr __fastcall
ShapeDispT<T>::get_ParentGroup(void)
{
  Word_xp::ShapePtr prop;
  this->get_ParentGroup(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_CanvasItems(Word_xp::CanvasShapes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanvasItems"), DISPID(138));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CanvasShapes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CanvasShapesPtr __fastcall
ShapeDispT<T>::get_CanvasItems(void)
{
  Word_xp::CanvasShapesPtr prop;
  this->get_CanvasItems(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::get_ID(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ID"), DISPID(139));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeDispT<T>::get_ID(void)
{
  long prop;
  this->get_ID((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::CanvasCropLeft(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanvasCropLeft"), DISPID(140));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::CanvasCropTop(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanvasCropTop"), DISPID(141));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::CanvasCropRight(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanvasCropRight"), DISPID(142));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::CanvasCropBottom(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanvasCropBottom"), DISPID(143));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeDispT<T>::set_RTF(BSTR Param1/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RTF"), DISPID(144));
  TAutoArgs<1> _args;
  _args[1] = Param1 /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  TextFrame
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B2-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(8000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TextFrameDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(8001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextFrameDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_Parent(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapePtr __fastcall
TextFrameDispT<T>::get_Parent(void)
{
  Word_xp::ShapePtr prop;
  this->get_Parent(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_MarginBottom(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarginBottom"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TextFrameDispT<T>::get_MarginBottom(void)
{
  float prop;
  this->get_MarginBottom((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::set_MarginBottom(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarginBottom"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_MarginLeft(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarginLeft"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TextFrameDispT<T>::get_MarginLeft(void)
{
  float prop;
  this->get_MarginLeft((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::set_MarginLeft(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarginLeft"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_MarginRight(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarginRight"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TextFrameDispT<T>::get_MarginRight(void)
{
  float prop;
  this->get_MarginRight((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::set_MarginRight(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarginRight"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_MarginTop(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarginTop"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TextFrameDispT<T>::get_MarginTop(void)
{
  float prop;
  this->get_MarginTop((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::set_MarginTop(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarginTop"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_Orientation(Office_xp::MsoTextOrientation* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Orientation"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTextOrientation __fastcall
TextFrameDispT<T>::get_Orientation(void)
{
  Office_xp::MsoTextOrientation prop;
  this->get_Orientation((Office_xp::MsoTextOrientation*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::set_Orientation(Office_xp::MsoTextOrientation prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Orientation"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_TextRange(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextRange"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
TextFrameDispT<T>::get_TextRange(void)
{
  Word_xp::WordRangePtr prop;
  this->get_TextRange(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_ContainingRange(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ContainingRange"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
TextFrameDispT<T>::get_ContainingRange(void)
{
  Word_xp::WordRangePtr prop;
  this->get_ContainingRange(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_Next(Word_xp::TextFrame** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(5001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextFrame**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TextFramePtr __fastcall
TextFrameDispT<T>::get_Next(void)
{
  Word_xp::TextFramePtr prop;
  this->get_Next(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::set_Next(Word_xp::TextFramePtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(5001));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::TextFrame*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_Previous(Word_xp::TextFrame** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(5002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextFrame**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TextFramePtr __fastcall
TextFrameDispT<T>::get_Previous(void)
{
  Word_xp::TextFramePtr prop;
  this->get_Previous(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::set_Previous(Word_xp::TextFramePtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Previous"), DISPID(5002));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::TextFrame*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_Overflowing(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Overflowing"), DISPID(5003));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TextFrameDispT<T>::get_Overflowing(void)
{
  VARIANT_BOOL prop;
  this->get_Overflowing((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_HasText(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasText"), DISPID(5008));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextFrameDispT<T>::get_HasText(void)
{
  long prop;
  this->get_HasText((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::BreakForwardLink()
{
  _TDispID _dispid(*this, OLETEXT("BreakForwardLink"), DISPID(5004));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::ValidLinkTarget(Word_xp::TextFrame* TargetTextFrame/*[in]*/, 
                                   VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ValidLinkTarget"), DISPID(5006));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::TextFrame*)TargetTextFrame /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TextFrameDispT<T>::ValidLinkTarget(Word_xp::TextFrame* TargetTextFrame/*[in]*/)
{
  VARIANT_BOOL prop;
  this->ValidLinkTarget(TargetTextFrame, (VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_AutoSize(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoSize"), DISPID(5009));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextFrameDispT<T>::get_AutoSize(void)
{
  long prop;
  this->get_AutoSize((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::set_AutoSize(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoSize"), DISPID(5009));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::get_WordWrap(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WordWrap"), DISPID(5010));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextFrameDispT<T>::get_WordWrap(void)
{
  long prop;
  this->get_WordWrap((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextFrameDispT<T>::set_WordWrap(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WordWrap"), DISPID(5010));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_LetterContent
// Interface: _LetterContent
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  return (*this)->get_Application(prop);
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TCOM_LetterContentT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  OLECHECK(this->get_Application((Word_xp::WordApplicationPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  return (*this)->get_Creator(prop);
}

template <class T> long __fastcall
TCOM_LetterContentT<T>::get_Creator(void)
{
  long prop;
  OLECHECK(this->get_Creator((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  return (*this)->get_Parent(prop);
}

template <class T> LPDISPATCH __fastcall
TCOM_LetterContentT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  OLECHECK(this->get_Parent((LPDISPATCH*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_Duplicate(Word_xp::WordLetterContent** prop/*[out,retval]*/)
{
  return (*this)->get_Duplicate(prop);
}

template <class T> Word_xp::WordLetterContentPtr __fastcall
TCOM_LetterContentT<T>::get_Duplicate(void)
{
  Word_xp::WordLetterContentPtr prop;
  OLECHECK(this->get_Duplicate((Word_xp::WordLetterContentPtr*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_DateFormat(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_DateFormat(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_DateFormat(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_DateFormat((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_DateFormat(BSTR prop/*[in]*/)
{
  return (*this)->set_DateFormat(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_IncludeHeaderFooter(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_IncludeHeaderFooter(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_LetterContentT<T>::get_IncludeHeaderFooter(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_IncludeHeaderFooter((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_IncludeHeaderFooter(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_IncludeHeaderFooter(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_PageDesign(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_PageDesign(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_PageDesign(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_PageDesign((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_PageDesign(BSTR prop/*[in]*/)
{
  return (*this)->set_PageDesign(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_LetterStyle(Word_xp::WdLetterStyle* prop/*[out,retval]*/)
{
  return (*this)->get_LetterStyle(prop);
}

template <class T> Word_xp::WdLetterStyle __fastcall
TCOM_LetterContentT<T>::get_LetterStyle(void)
{
  Word_xp::WdLetterStyle prop;
  OLECHECK(this->get_LetterStyle((Word_xp::WdLetterStyle*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_LetterStyle(Word_xp::WdLetterStyle prop/*[in]*/)
{
  return (*this)->set_LetterStyle(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_Letterhead(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_Letterhead(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_LetterContentT<T>::get_Letterhead(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_Letterhead((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_Letterhead(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_Letterhead(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_LetterheadLocation(Word_xp::WdLetterheadLocation* prop/*[out,retval]*/)
{
  return (*this)->get_LetterheadLocation(prop);
}

template <class T> Word_xp::WdLetterheadLocation __fastcall
TCOM_LetterContentT<T>::get_LetterheadLocation(void)
{
  Word_xp::WdLetterheadLocation prop;
  OLECHECK(this->get_LetterheadLocation((Word_xp::WdLetterheadLocation*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_LetterheadLocation(Word_xp::WdLetterheadLocation prop/*[in]*/)
{
  return (*this)->set_LetterheadLocation(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_LetterheadSize(float* prop/*[out,retval]*/)
{
  return (*this)->get_LetterheadSize(prop);
}

template <class T> float __fastcall
TCOM_LetterContentT<T>::get_LetterheadSize(void)
{
  float prop;
  OLECHECK(this->get_LetterheadSize((float*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_LetterheadSize(float prop/*[in]*/)
{
  return (*this)->set_LetterheadSize(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_RecipientName(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_RecipientName(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_RecipientName(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_RecipientName((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_RecipientName(BSTR prop/*[in]*/)
{
  return (*this)->set_RecipientName(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_RecipientAddress(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_RecipientAddress(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_RecipientAddress(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_RecipientAddress((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_RecipientAddress(BSTR prop/*[in]*/)
{
  return (*this)->set_RecipientAddress(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_Salutation(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Salutation(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_Salutation(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Salutation((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_Salutation(BSTR prop/*[in]*/)
{
  return (*this)->set_Salutation(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_SalutationType(Word_xp::WdSalutationType* prop/*[out,retval]*/)
{
  return (*this)->get_SalutationType(prop);
}

template <class T> Word_xp::WdSalutationType __fastcall
TCOM_LetterContentT<T>::get_SalutationType(void)
{
  Word_xp::WdSalutationType prop;
  OLECHECK(this->get_SalutationType((Word_xp::WdSalutationType*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_SalutationType(Word_xp::WdSalutationType prop/*[in]*/)
{
  return (*this)->set_SalutationType(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_RecipientReference(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_RecipientReference(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_RecipientReference(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_RecipientReference((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_RecipientReference(BSTR prop/*[in]*/)
{
  return (*this)->set_RecipientReference(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_MailingInstructions(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_MailingInstructions(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_MailingInstructions(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_MailingInstructions((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_MailingInstructions(BSTR prop/*[in]*/)
{
  return (*this)->set_MailingInstructions(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_AttentionLine(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_AttentionLine(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_AttentionLine(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_AttentionLine((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_AttentionLine(BSTR prop/*[in]*/)
{
  return (*this)->set_AttentionLine(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_Subject(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Subject(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_Subject(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Subject((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_Subject(BSTR prop/*[in]*/)
{
  return (*this)->set_Subject(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_EnclosureNumber(long* prop/*[out,retval]*/)
{
  return (*this)->get_EnclosureNumber(prop);
}

template <class T> long __fastcall
TCOM_LetterContentT<T>::get_EnclosureNumber(void)
{
  long prop;
  OLECHECK(this->get_EnclosureNumber((long*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_EnclosureNumber(long prop/*[in]*/)
{
  return (*this)->set_EnclosureNumber(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_CCList(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_CCList(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_CCList(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_CCList((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_CCList(BSTR prop/*[in]*/)
{
  return (*this)->set_CCList(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_ReturnAddress(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_ReturnAddress(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_ReturnAddress(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_ReturnAddress((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_ReturnAddress(BSTR prop/*[in]*/)
{
  return (*this)->set_ReturnAddress(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_SenderName(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_SenderName(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_SenderName(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_SenderName((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_SenderName(BSTR prop/*[in]*/)
{
  return (*this)->set_SenderName(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_Closing(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_Closing(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_Closing(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_Closing((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_Closing(BSTR prop/*[in]*/)
{
  return (*this)->set_Closing(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_SenderCompany(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_SenderCompany(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_SenderCompany(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_SenderCompany((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_SenderCompany(BSTR prop/*[in]*/)
{
  return (*this)->set_SenderCompany(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_SenderJobTitle(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_SenderJobTitle(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_SenderJobTitle(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_SenderJobTitle((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_SenderJobTitle(BSTR prop/*[in]*/)
{
  return (*this)->set_SenderJobTitle(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_SenderInitials(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_SenderInitials(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_SenderInitials(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_SenderInitials((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_SenderInitials(BSTR prop/*[in]*/)
{
  return (*this)->set_SenderInitials(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_InfoBlock(VARIANT_BOOL* prop/*[out,retval]*/)
{
  return (*this)->get_InfoBlock(prop);
}

template <class T> VARIANT_BOOL __fastcall
TCOM_LetterContentT<T>::get_InfoBlock(void)
{
  VARIANT_BOOL prop;
  OLECHECK(this->get_InfoBlock((VARIANT_BOOL*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_InfoBlock(VARIANT_BOOL prop/*[in]*/)
{
  return (*this)->set_InfoBlock(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_RecipientCode(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_RecipientCode(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_RecipientCode(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_RecipientCode((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_RecipientCode(BSTR prop/*[in]*/)
{
  return (*this)->set_RecipientCode(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_RecipientGender(Word_xp::WdSalutationGender* prop/*[out,retval]*/)
{
  return (*this)->get_RecipientGender(prop);
}

template <class T> Word_xp::WdSalutationGender __fastcall
TCOM_LetterContentT<T>::get_RecipientGender(void)
{
  Word_xp::WdSalutationGender prop;
  OLECHECK(this->get_RecipientGender((Word_xp::WdSalutationGender*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_RecipientGender(Word_xp::WdSalutationGender prop/*[in]*/)
{
  return (*this)->set_RecipientGender(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_ReturnAddressShortForm(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_ReturnAddressShortForm(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_ReturnAddressShortForm(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_ReturnAddressShortForm((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_ReturnAddressShortForm(BSTR prop/*[in]*/)
{
  return (*this)->set_ReturnAddressShortForm(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_SenderCity(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_SenderCity(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_SenderCity(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_SenderCity((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_SenderCity(BSTR prop/*[in]*/)
{
  return (*this)->set_SenderCity(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_SenderCode(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_SenderCode(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_SenderCode(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_SenderCode((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_SenderCode(BSTR prop/*[in]*/)
{
  return (*this)->set_SenderCode(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_SenderGender(Word_xp::WdSalutationGender* prop/*[out,retval]*/)
{
  return (*this)->get_SenderGender(prop);
}

template <class T> Word_xp::WdSalutationGender __fastcall
TCOM_LetterContentT<T>::get_SenderGender(void)
{
  Word_xp::WdSalutationGender prop;
  OLECHECK(this->get_SenderGender((Word_xp::WdSalutationGender*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_SenderGender(Word_xp::WdSalutationGender prop/*[in]*/)
{
  return (*this)->set_SenderGender(prop);
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::get_SenderReference(BSTR* prop/*[out,retval]*/)
{
  return (*this)->get_SenderReference(prop);
}

template <class T> BSTR __fastcall
TCOM_LetterContentT<T>::get_SenderReference(void)
{
  BSTR prop = 0;
  OLECHECK(this->get_SenderReference((BSTR*)&prop));
  return prop;
}

template <class T> HRESULT __fastcall
TCOM_LetterContentT<T>::set_SenderReference(BSTR prop/*[in]*/)
{
  return (*this)->set_SenderReference(prop);
}

// *********************************************************************//
// DispIntf:  _LetterContent
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A1-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
_LetterContentDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_LetterContentDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
_LetterContentDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_Duplicate(Word_xp::WordLetterContent** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Duplicate"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordLetterContent**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordLetterContentPtr __fastcall
_LetterContentDispT<T>::get_Duplicate(void)
{
  Word_xp::WordLetterContentPtr prop;
  this->get_Duplicate(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_DateFormat(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DateFormat"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_DateFormat(void)
{
  BSTR prop;
  this->get_DateFormat((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_DateFormat(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DateFormat"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_IncludeHeaderFooter(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeHeaderFooter"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_LetterContentDispT<T>::get_IncludeHeaderFooter(void)
{
  VARIANT_BOOL prop;
  this->get_IncludeHeaderFooter((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_IncludeHeaderFooter(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncludeHeaderFooter"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_PageDesign(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageDesign"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_PageDesign(void)
{
  BSTR prop;
  this->get_PageDesign((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_PageDesign(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageDesign"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_LetterStyle(Word_xp::WdLetterStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LetterStyle"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLetterStyle __fastcall
_LetterContentDispT<T>::get_LetterStyle(void)
{
  Word_xp::WdLetterStyle prop;
  this->get_LetterStyle((Word_xp::WdLetterStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_LetterStyle(Word_xp::WdLetterStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LetterStyle"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_Letterhead(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Letterhead"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_LetterContentDispT<T>::get_Letterhead(void)
{
  VARIANT_BOOL prop;
  this->get_Letterhead((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_Letterhead(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Letterhead"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_LetterheadLocation(Word_xp::WdLetterheadLocation* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LetterheadLocation"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLetterheadLocation __fastcall
_LetterContentDispT<T>::get_LetterheadLocation(void)
{
  Word_xp::WdLetterheadLocation prop;
  this->get_LetterheadLocation((Word_xp::WdLetterheadLocation*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_LetterheadLocation(Word_xp::WdLetterheadLocation prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LetterheadLocation"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_LetterheadSize(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LetterheadSize"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
_LetterContentDispT<T>::get_LetterheadSize(void)
{
  float prop;
  this->get_LetterheadSize((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_LetterheadSize(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LetterheadSize"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_RecipientName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientName"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_RecipientName(void)
{
  BSTR prop;
  this->get_RecipientName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_RecipientName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientName"), DISPID(108));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_RecipientAddress(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientAddress"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_RecipientAddress(void)
{
  BSTR prop;
  this->get_RecipientAddress((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_RecipientAddress(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientAddress"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_Salutation(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Salutation"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_Salutation(void)
{
  BSTR prop;
  this->get_Salutation((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_Salutation(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Salutation"), DISPID(110));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_SalutationType(Word_xp::WdSalutationType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SalutationType"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSalutationType __fastcall
_LetterContentDispT<T>::get_SalutationType(void)
{
  Word_xp::WdSalutationType prop;
  this->get_SalutationType((Word_xp::WdSalutationType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_SalutationType(Word_xp::WdSalutationType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SalutationType"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_RecipientReference(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientReference"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_RecipientReference(void)
{
  BSTR prop;
  this->get_RecipientReference((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_RecipientReference(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientReference"), DISPID(112));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_MailingInstructions(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailingInstructions"), DISPID(114));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_MailingInstructions(void)
{
  BSTR prop;
  this->get_MailingInstructions((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_MailingInstructions(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailingInstructions"), DISPID(114));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_AttentionLine(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AttentionLine"), DISPID(115));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_AttentionLine(void)
{
  BSTR prop;
  this->get_AttentionLine((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_AttentionLine(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AttentionLine"), DISPID(115));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_Subject(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Subject"), DISPID(116));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_Subject(void)
{
  BSTR prop;
  this->get_Subject((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_Subject(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Subject"), DISPID(116));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_EnclosureNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnclosureNumber"), DISPID(117));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
_LetterContentDispT<T>::get_EnclosureNumber(void)
{
  long prop;
  this->get_EnclosureNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_EnclosureNumber(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnclosureNumber"), DISPID(117));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_CCList(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CCList"), DISPID(118));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_CCList(void)
{
  BSTR prop;
  this->get_CCList((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_CCList(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CCList"), DISPID(118));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_ReturnAddress(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnAddress"), DISPID(119));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_ReturnAddress(void)
{
  BSTR prop;
  this->get_ReturnAddress((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_ReturnAddress(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnAddress"), DISPID(119));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_SenderName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderName"), DISPID(120));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_SenderName(void)
{
  BSTR prop;
  this->get_SenderName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_SenderName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderName"), DISPID(120));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_Closing(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Closing"), DISPID(121));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_Closing(void)
{
  BSTR prop;
  this->get_Closing((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_Closing(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Closing"), DISPID(121));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_SenderCompany(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderCompany"), DISPID(122));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_SenderCompany(void)
{
  BSTR prop;
  this->get_SenderCompany((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_SenderCompany(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderCompany"), DISPID(122));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_SenderJobTitle(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderJobTitle"), DISPID(123));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_SenderJobTitle(void)
{
  BSTR prop;
  this->get_SenderJobTitle((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_SenderJobTitle(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderJobTitle"), DISPID(123));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_SenderInitials(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderInitials"), DISPID(124));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_SenderInitials(void)
{
  BSTR prop;
  this->get_SenderInitials((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_SenderInitials(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderInitials"), DISPID(124));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_InfoBlock(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InfoBlock"), DISPID(125));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
_LetterContentDispT<T>::get_InfoBlock(void)
{
  VARIANT_BOOL prop;
  this->get_InfoBlock((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_InfoBlock(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InfoBlock"), DISPID(125));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_RecipientCode(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientCode"), DISPID(126));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_RecipientCode(void)
{
  BSTR prop;
  this->get_RecipientCode((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_RecipientCode(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientCode"), DISPID(126));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_RecipientGender(Word_xp::WdSalutationGender* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientGender"), DISPID(127));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSalutationGender __fastcall
_LetterContentDispT<T>::get_RecipientGender(void)
{
  Word_xp::WdSalutationGender prop;
  this->get_RecipientGender((Word_xp::WdSalutationGender*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_RecipientGender(Word_xp::WdSalutationGender prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RecipientGender"), DISPID(127));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_ReturnAddressShortForm(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnAddressShortForm"), DISPID(128));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_ReturnAddressShortForm(void)
{
  BSTR prop;
  this->get_ReturnAddressShortForm((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_ReturnAddressShortForm(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnAddressShortForm"), DISPID(128));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_SenderCity(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderCity"), DISPID(129));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_SenderCity(void)
{
  BSTR prop;
  this->get_SenderCity((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_SenderCity(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderCity"), DISPID(129));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_SenderCode(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderCode"), DISPID(130));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_SenderCode(void)
{
  BSTR prop;
  this->get_SenderCode((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_SenderCode(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderCode"), DISPID(130));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_SenderGender(Word_xp::WdSalutationGender* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderGender"), DISPID(131));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSalutationGender __fastcall
_LetterContentDispT<T>::get_SenderGender(void)
{
  Word_xp::WdSalutationGender prop;
  this->get_SenderGender((Word_xp::WdSalutationGender*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_SenderGender(Word_xp::WdSalutationGender prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderGender"), DISPID(131));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::get_SenderReference(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderReference"), DISPID(132));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_LetterContentDispT<T>::get_SenderReference(void)
{
  BSTR prop;
  this->get_SenderReference((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
_LetterContentDispT<T>::set_SenderReference(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SenderReference"), DISPID(132));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  View
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A5-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ViewDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ViewDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ViewDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ViewDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_Type(Word_xp::WdViewType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdViewType __fastcall
ViewDispT<T>::get_Type(void)
{
  Word_xp::WdViewType prop;
  this->get_Type((Word_xp::WdViewType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_Type(Word_xp::WdViewType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_FullScreen(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FullScreen"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_FullScreen(void)
{
  VARIANT_BOOL prop;
  this->get_FullScreen((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_FullScreen(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FullScreen"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_Draft(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Draft"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_Draft(void)
{
  VARIANT_BOOL prop;
  this->get_Draft((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_Draft(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Draft"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowAll(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowAll"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowAll(void)
{
  VARIANT_BOOL prop;
  this->get_ShowAll((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowAll(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowAll"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowFieldCodes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowFieldCodes"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowFieldCodes(void)
{
  VARIANT_BOOL prop;
  this->get_ShowFieldCodes((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowFieldCodes(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowFieldCodes"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_MailMergeDataView(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailMergeDataView"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_MailMergeDataView(void)
{
  VARIANT_BOOL prop;
  this->get_MailMergeDataView((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_MailMergeDataView(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailMergeDataView"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_Magnifier(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Magnifier"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_Magnifier(void)
{
  VARIANT_BOOL prop;
  this->get_Magnifier((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_Magnifier(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Magnifier"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowFirstLineOnly(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowFirstLineOnly"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowFirstLineOnly(void)
{
  VARIANT_BOOL prop;
  this->get_ShowFirstLineOnly((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowFirstLineOnly(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowFirstLineOnly"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowFormat(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowFormat"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowFormat(void)
{
  VARIANT_BOOL prop;
  this->get_ShowFormat((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowFormat(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowFormat"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_Zoom(Word_xp::Zoom** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Zoom"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Zoom**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ZoomPtr __fastcall
ViewDispT<T>::get_Zoom(void)
{
  Word_xp::ZoomPtr prop;
  this->get_Zoom(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowObjectAnchors(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowObjectAnchors"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowObjectAnchors(void)
{
  VARIANT_BOOL prop;
  this->get_ShowObjectAnchors((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowObjectAnchors(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowObjectAnchors"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowTextBoundaries(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowTextBoundaries"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowTextBoundaries(void)
{
  VARIANT_BOOL prop;
  this->get_ShowTextBoundaries((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowTextBoundaries(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowTextBoundaries"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowHighlight(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowHighlight"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowHighlight(void)
{
  VARIANT_BOOL prop;
  this->get_ShowHighlight((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowHighlight(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowHighlight"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowDrawings(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowDrawings"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowDrawings(void)
{
  VARIANT_BOOL prop;
  this->get_ShowDrawings((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowDrawings(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowDrawings"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowTabs(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowTabs"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowTabs(void)
{
  VARIANT_BOOL prop;
  this->get_ShowTabs((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowTabs(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowTabs"), DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowSpaces(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowSpaces"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowSpaces(void)
{
  VARIANT_BOOL prop;
  this->get_ShowSpaces((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowSpaces(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowSpaces"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowParagraphs(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowParagraphs"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowParagraphs(void)
{
  VARIANT_BOOL prop;
  this->get_ShowParagraphs((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowParagraphs(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowParagraphs"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowHyphens(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowHyphens"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowHyphens(void)
{
  VARIANT_BOOL prop;
  this->get_ShowHyphens((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowHyphens(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowHyphens"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowHiddenText(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowHiddenText"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowHiddenText(void)
{
  VARIANT_BOOL prop;
  this->get_ShowHiddenText((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowHiddenText(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowHiddenText"), DISPID(19));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_WrapToWindow(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WrapToWindow"), DISPID(20));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_WrapToWindow(void)
{
  VARIANT_BOOL prop;
  this->get_WrapToWindow((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_WrapToWindow(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WrapToWindow"), DISPID(20));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowPicturePlaceHolders(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowPicturePlaceHolders"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowPicturePlaceHolders(void)
{
  VARIANT_BOOL prop;
  this->get_ShowPicturePlaceHolders((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowPicturePlaceHolders(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowPicturePlaceHolders"), DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowBookmarks(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowBookmarks"), DISPID(22));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowBookmarks(void)
{
  VARIANT_BOOL prop;
  this->get_ShowBookmarks((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowBookmarks(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowBookmarks"), DISPID(22));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_FieldShading(Word_xp::WdFieldShading* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FieldShading"), DISPID(23));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFieldShading __fastcall
ViewDispT<T>::get_FieldShading(void)
{
  Word_xp::WdFieldShading prop;
  this->get_FieldShading((Word_xp::WdFieldShading*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_FieldShading(Word_xp::WdFieldShading prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FieldShading"), DISPID(23));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowAnimation(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowAnimation"), DISPID(24));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowAnimation(void)
{
  VARIANT_BOOL prop;
  this->get_ShowAnimation((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowAnimation(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowAnimation"), DISPID(24));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_TableGridlines(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableGridlines"), DISPID(25));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_TableGridlines(void)
{
  VARIANT_BOOL prop;
  this->get_TableGridlines((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_TableGridlines(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableGridlines"), DISPID(25));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_EnlargeFontsLessThan(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnlargeFontsLessThan"), DISPID(26));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ViewDispT<T>::get_EnlargeFontsLessThan(void)
{
  long prop;
  this->get_EnlargeFontsLessThan((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_EnlargeFontsLessThan(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnlargeFontsLessThan"), DISPID(26));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowMainTextLayer(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowMainTextLayer"), DISPID(27));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowMainTextLayer(void)
{
  VARIANT_BOOL prop;
  this->get_ShowMainTextLayer((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowMainTextLayer(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowMainTextLayer"), DISPID(27));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_SeekView(Word_xp::WdSeekView* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SeekView"), DISPID(28));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSeekView __fastcall
ViewDispT<T>::get_SeekView(void)
{
  Word_xp::WdSeekView prop;
  this->get_SeekView((Word_xp::WdSeekView*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_SeekView(Word_xp::WdSeekView prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SeekView"), DISPID(28));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_SplitSpecial(Word_xp::WdSpecialPane* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SplitSpecial"), DISPID(29));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSpecialPane __fastcall
ViewDispT<T>::get_SplitSpecial(void)
{
  Word_xp::WdSpecialPane prop;
  this->get_SplitSpecial((Word_xp::WdSpecialPane*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_SplitSpecial(Word_xp::WdSpecialPane prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SplitSpecial"), DISPID(29));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_BrowseToWindow(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BrowseToWindow"), DISPID(30));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ViewDispT<T>::get_BrowseToWindow(void)
{
  long prop;
  this->get_BrowseToWindow((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_BrowseToWindow(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BrowseToWindow"), DISPID(30));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowOptionalBreaks(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowOptionalBreaks"), DISPID(31));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowOptionalBreaks(void)
{
  VARIANT_BOOL prop;
  this->get_ShowOptionalBreaks((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowOptionalBreaks(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowOptionalBreaks"), DISPID(31));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::CollapseOutline(VARIANT* Range/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("CollapseOutline"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = Range /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::ExpandOutline(VARIANT* Range/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("ExpandOutline"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = Range /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::ShowAllHeadings()
{
  _TDispID _dispid(*this, OLETEXT("ShowAllHeadings"), DISPID(103));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::ShowHeading(long Level/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowHeading"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = Level /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::PreviousHeaderFooter()
{
  _TDispID _dispid(*this, OLETEXT("PreviousHeaderFooter"), DISPID(105));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::NextHeaderFooter()
{
  _TDispID _dispid(*this, OLETEXT("NextHeaderFooter"), DISPID(106));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_DisplayPageBoundaries(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayPageBoundaries"), DISPID(32));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_DisplayPageBoundaries(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayPageBoundaries((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_DisplayPageBoundaries(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayPageBoundaries"), DISPID(32));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_DisplaySmartTags(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplaySmartTags"), DISPID(33));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_DisplaySmartTags(void)
{
  VARIANT_BOOL prop;
  this->get_DisplaySmartTags((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_DisplaySmartTags(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplaySmartTags"), DISPID(33));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowRevisionsAndComments(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowRevisionsAndComments"), DISPID(34));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowRevisionsAndComments(void)
{
  VARIANT_BOOL prop;
  this->get_ShowRevisionsAndComments((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowRevisionsAndComments(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowRevisionsAndComments"), DISPID(34));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowComments(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowComments"), DISPID(35));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowComments(void)
{
  VARIANT_BOOL prop;
  this->get_ShowComments((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowComments(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowComments"), DISPID(35));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowInsertionsAndDeletions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowInsertionsAndDeletions"), DISPID(36));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowInsertionsAndDeletions(void)
{
  VARIANT_BOOL prop;
  this->get_ShowInsertionsAndDeletions((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowInsertionsAndDeletions(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowInsertionsAndDeletions"), DISPID(36));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_ShowFormatChanges(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowFormatChanges"), DISPID(37));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_ShowFormatChanges(void)
{
  VARIANT_BOOL prop;
  this->get_ShowFormatChanges((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_ShowFormatChanges(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowFormatChanges"), DISPID(37));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_RevisionsView(Word_xp::WdRevisionsView* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsView"), DISPID(38));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRevisionsView __fastcall
ViewDispT<T>::get_RevisionsView(void)
{
  Word_xp::WdRevisionsView prop;
  this->get_RevisionsView((Word_xp::WdRevisionsView*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_RevisionsView(Word_xp::WdRevisionsView prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsView"), DISPID(38));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_RevisionsMode(Word_xp::WdRevisionsMode* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsMode"), DISPID(39));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRevisionsMode __fastcall
ViewDispT<T>::get_RevisionsMode(void)
{
  Word_xp::WdRevisionsMode prop;
  this->get_RevisionsMode((Word_xp::WdRevisionsMode*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_RevisionsMode(Word_xp::WdRevisionsMode prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsMode"), DISPID(39));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_RevisionsBalloonWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsBalloonWidth"), DISPID(40));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ViewDispT<T>::get_RevisionsBalloonWidth(void)
{
  float prop;
  this->get_RevisionsBalloonWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_RevisionsBalloonWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsBalloonWidth"), DISPID(40));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_RevisionsBalloonWidthType(Word_xp::WdRevisionsBalloonWidthType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsBalloonWidthType"), DISPID(41));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRevisionsBalloonWidthType __fastcall
ViewDispT<T>::get_RevisionsBalloonWidthType(void)
{
  Word_xp::WdRevisionsBalloonWidthType prop;
  this->get_RevisionsBalloonWidthType((Word_xp::WdRevisionsBalloonWidthType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_RevisionsBalloonWidthType(Word_xp::WdRevisionsBalloonWidthType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsBalloonWidthType"), DISPID(41));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_RevisionsBalloonSide(Word_xp::WdRevisionsBalloonMargin* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsBalloonSide"), DISPID(42));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRevisionsBalloonMargin __fastcall
ViewDispT<T>::get_RevisionsBalloonSide(void)
{
  Word_xp::WdRevisionsBalloonMargin prop;
  this->get_RevisionsBalloonSide((Word_xp::WdRevisionsBalloonMargin*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_RevisionsBalloonSide(Word_xp::WdRevisionsBalloonMargin prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsBalloonSide"), DISPID(42));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_Reviewers(Word_xp::Reviewers** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Reviewers"), DISPID(43));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Reviewers**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ReviewersPtr __fastcall
ViewDispT<T>::get_Reviewers(void)
{
  Word_xp::ReviewersPtr prop;
  this->get_Reviewers(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::get_RevisionsBalloonShowConnectingLines(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsBalloonShowConnectingLines"), DISPID(44));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ViewDispT<T>::get_RevisionsBalloonShowConnectingLines(void)
{
  VARIANT_BOOL prop;
  this->get_RevisionsBalloonShowConnectingLines((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ViewDispT<T>::set_RevisionsBalloonShowConnectingLines(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsBalloonShowConnectingLines"), DISPID(44));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Zoom
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A6-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ZoomDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ZoomDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ZoomDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ZoomDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ZoomDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ZoomDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ZoomDispT<T>::get_Percentage(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Percentage"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ZoomDispT<T>::get_Percentage(void)
{
  long prop;
  this->get_Percentage((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ZoomDispT<T>::set_Percentage(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Percentage"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ZoomDispT<T>::get_PageFit(Word_xp::WdPageFit* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageFit"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdPageFit __fastcall
ZoomDispT<T>::get_PageFit(void)
{
  Word_xp::WdPageFit prop;
  this->get_PageFit((Word_xp::WdPageFit*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ZoomDispT<T>::set_PageFit(Word_xp::WdPageFit prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageFit"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ZoomDispT<T>::get_PageRows(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageRows"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ZoomDispT<T>::get_PageRows(void)
{
  long prop;
  this->get_PageRows((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ZoomDispT<T>::set_PageRows(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageRows"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ZoomDispT<T>::get_PageColumns(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageColumns"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ZoomDispT<T>::get_PageColumns(void)
{
  long prop;
  this->get_PageColumns((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ZoomDispT<T>::set_PageColumns(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PageColumns"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Zooms
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A7-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ZoomsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ZoomsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ZoomsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ZoomsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ZoomsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ZoomsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ZoomsDispT<T>::Item(Word_xp::WdViewType Index/*[in]*/, Word_xp::Zoom** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = (int)Index /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Zoom**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Zoom* __fastcall
ZoomsDispT<T>::Item(Word_xp::WdViewType Index/*[in]*/)
{
  Word_xp::Zoom* prop;
  this->Item(Index, (Word_xp::Zoom**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  InlineShape
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A8-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
InlineShapeDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
InlineShapeDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
InlineShapeDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
InlineShapeDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
InlineShapeDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_LinkFormat(Word_xp::LinkFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LinkFormat"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::LinkFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::LinkFormatPtr __fastcall
InlineShapeDispT<T>::get_LinkFormat(void)
{
  Word_xp::LinkFormatPtr prop;
  this->get_LinkFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Field(Word_xp::Field** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Field"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Field**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FieldPtr __fastcall
InlineShapeDispT<T>::get_Field(void)
{
  Word_xp::FieldPtr prop;
  this->get_Field(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_OLEFormat(Word_xp::OLEFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OLEFormat"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::OLEFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::OLEFormatPtr __fastcall
InlineShapeDispT<T>::get_OLEFormat(void)
{
  Word_xp::OLEFormatPtr prop;
  this->get_OLEFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Type(Word_xp::WdInlineShapeType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdInlineShapeType __fastcall
InlineShapeDispT<T>::get_Type(void)
{
  Word_xp::WdInlineShapeType prop;
  this->get_Type((Word_xp::WdInlineShapeType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Hyperlink(Word_xp::Hyperlink** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Hyperlink"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Hyperlink**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HyperlinkPtr __fastcall
InlineShapeDispT<T>::get_Hyperlink(void)
{
  Word_xp::HyperlinkPtr prop;
  this->get_Hyperlink(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Height(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
InlineShapeDispT<T>::get_Height(void)
{
  float prop;
  this->get_Height((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::set_Height(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Width(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
InlineShapeDispT<T>::get_Width(void)
{
  float prop;
  this->get_Width((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::set_Width(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_ScaleHeight(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScaleHeight"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
InlineShapeDispT<T>::get_ScaleHeight(void)
{
  float prop;
  this->get_ScaleHeight((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::set_ScaleHeight(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScaleHeight"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_ScaleWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScaleWidth"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
InlineShapeDispT<T>::get_ScaleWidth(void)
{
  float prop;
  this->get_ScaleWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::set_ScaleWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScaleWidth"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_LockAspectRatio(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LockAspectRatio"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
InlineShapeDispT<T>::get_LockAspectRatio(void)
{
  Office_xp::MsoTriState prop;
  this->get_LockAspectRatio((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::set_LockAspectRatio(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LockAspectRatio"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Line(Word_xp::LineFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Line"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::LineFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::LineFormatPtr __fastcall
InlineShapeDispT<T>::get_Line(void)
{
  Word_xp::LineFormatPtr prop;
  this->get_Line(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Fill(Word_xp::FillFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Fill"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FillFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FillFormatPtr __fastcall
InlineShapeDispT<T>::get_Fill(void)
{
  Word_xp::FillFormatPtr prop;
  this->get_Fill(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_PictureFormat(Word_xp::PictureFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PictureFormat"), DISPID(118));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::PictureFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::PictureFormatPtr __fastcall
InlineShapeDispT<T>::get_PictureFormat(void)
{
  Word_xp::PictureFormatPtr prop;
  this->get_PictureFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::set_PictureFormat(Word_xp::PictureFormatPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PictureFormat"), DISPID(118));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::PictureFormat*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::Activate()
{
  _TDispID _dispid(*this, OLETEXT("Activate"), DISPID(100));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::Reset()
{
  _TDispID _dispid(*this, OLETEXT("Reset"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::ConvertToShape(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToShape"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
InlineShapeDispT<T>::ConvertToShape(void)
{
  Word_xp::Shape* prop;
  this->ConvertToShape((Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_HorizontalLineFormat(Word_xp::HorizontalLineFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HorizontalLineFormat"), DISPID(119));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HorizontalLineFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HorizontalLineFormatPtr __fastcall
InlineShapeDispT<T>::get_HorizontalLineFormat(void)
{
  Word_xp::HorizontalLineFormatPtr prop;
  this->get_HorizontalLineFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_Script(Office_xp::Script** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Script"), DISPID(122));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::Script**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::ScriptPtr __fastcall
InlineShapeDispT<T>::get_Script(void)
{
  Office_xp::ScriptPtr prop;
  this->get_Script(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_OWSAnchor(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OWSAnchor"), DISPID(130));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
InlineShapeDispT<T>::get_OWSAnchor(void)
{
  long prop;
  this->get_OWSAnchor((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_TextEffect(Word_xp::TextEffectFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextEffect"), DISPID(120));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TextEffectFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::TextEffectFormatPtr __fastcall
InlineShapeDispT<T>::get_TextEffect(void)
{
  Word_xp::TextEffectFormatPtr prop;
  this->get_TextEffect(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::set_TextEffect(Word_xp::TextEffectFormatPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextEffect"), DISPID(120));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::TextEffectFormat*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_AlternativeText(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AlternativeText"), DISPID(131));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
InlineShapeDispT<T>::get_AlternativeText(void)
{
  BSTR prop;
  this->get_AlternativeText((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::set_AlternativeText(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AlternativeText"), DISPID(131));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
InlineShapeDispT<T>::get_IsPictureBullet(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsPictureBullet"), DISPID(132));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
InlineShapeDispT<T>::get_IsPictureBullet(void)
{
  VARIANT_BOOL prop;
  this->get_IsPictureBullet((VARIANT_BOOL*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  InlineShapes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209A9-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
InlineShapesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
InlineShapesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
InlineShapesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
InlineShapesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
InlineShapesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
InlineShapesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapesDispT<T>::Item(long Index/*[in]*/, Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::InlineShape* __fastcall
InlineShapesDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::InlineShape* prop;
  this->Item(Index, (Word_xp::InlineShape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapesDispT<T>::AddPicture(BSTR FileName/*[in]*/, VARIANT* LinkToFile/*[in,opt]*/, 
                                 VARIANT* SaveWithDocument/*[in,opt]*/, VARIANT* Range/*[in,opt]*/, 
                                 Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddPicture"), DISPID(100));
  TAutoArgs<4> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = LinkToFile /*[VT_VARIANT:1]*/;
  _args[3] = SaveWithDocument /*[VT_VARIANT:1]*/;
  _args[4] = Range /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::InlineShape* __fastcall
InlineShapesDispT<T>::AddPicture(BSTR FileName/*[in]*/, VARIANT* LinkToFile/*[in,opt]*/, 
                                 VARIANT* SaveWithDocument/*[in,opt]*/, VARIANT* Range/*[in,opt]*/)
{
  Word_xp::InlineShape* prop;
  this->AddPicture(FileName, LinkToFile, SaveWithDocument, Range, (Word_xp::InlineShape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapesDispT<T>::AddOLEObject(VARIANT* ClassType/*[in,opt]*/, VARIANT* FileName/*[in,opt]*/, 
                                   VARIANT* LinkToFile/*[in,opt]*/, 
                                   VARIANT* DisplayAsIcon/*[in,opt]*/, 
                                   VARIANT* IconFileName/*[in,opt]*/, VARIANT* IconIndex/*[in,opt]*/
                                   , VARIANT* IconLabel/*[in,opt]*/, VARIANT* Range/*[in,opt]*/, 
                                   Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddOLEObject"), DISPID(24));
  TAutoArgs<8> _args;
  _args[1] = ClassType /*[VT_VARIANT:1]*/;
  _args[2] = FileName /*[VT_VARIANT:1]*/;
  _args[3] = LinkToFile /*[VT_VARIANT:1]*/;
  _args[4] = DisplayAsIcon /*[VT_VARIANT:1]*/;
  _args[5] = IconFileName /*[VT_VARIANT:1]*/;
  _args[6] = IconIndex /*[VT_VARIANT:1]*/;
  _args[7] = IconLabel /*[VT_VARIANT:1]*/;
  _args[8] = Range /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::InlineShape* __fastcall
InlineShapesDispT<T>::AddOLEObject(VARIANT* ClassType/*[in,opt]*/, VARIANT* FileName/*[in,opt]*/, 
                                   VARIANT* LinkToFile/*[in,opt]*/, 
                                   VARIANT* DisplayAsIcon/*[in,opt]*/, 
                                   VARIANT* IconFileName/*[in,opt]*/, VARIANT* IconIndex/*[in,opt]*/, 
                                   VARIANT* IconLabel/*[in,opt]*/, VARIANT* Range/*[in,opt]*/)
{
  Word_xp::InlineShape* prop;
  this->AddOLEObject(ClassType, FileName, LinkToFile, DisplayAsIcon, IconFileName, IconIndex, 
                     IconLabel, Range, (Word_xp::InlineShape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapesDispT<T>::AddOLEControl(VARIANT* ClassType/*[in,opt]*/, VARIANT* Range/*[in,opt]*/, 
                                    Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddOLEControl"), DISPID(102));
  TAutoArgs<2> _args;
  _args[1] = ClassType /*[VT_VARIANT:1]*/;
  _args[2] = Range /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::InlineShape* __fastcall
InlineShapesDispT<T>::AddOLEControl(VARIANT* ClassType/*[in,opt]*/, VARIANT* Range/*[in,opt]*/)
{
  Word_xp::InlineShape* prop;
  this->AddOLEControl(ClassType, Range, (Word_xp::InlineShape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapesDispT<T>::New(Word_xp::WordRange* Range/*[in]*/, 
                          Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("New"), DISPID(200));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::InlineShape* __fastcall
InlineShapesDispT<T>::New(Word_xp::WordRange* Range/*[in]*/)
{
  Word_xp::InlineShape* prop;
  this->New(Range, (Word_xp::InlineShape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapesDispT<T>::AddHorizontalLine(BSTR FileName/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                                        Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddHorizontalLine"), DISPID(104));
  TAutoArgs<2> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = Range /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::InlineShape* __fastcall
InlineShapesDispT<T>::AddHorizontalLine(BSTR FileName/*[in]*/, VARIANT* Range/*[in,opt]*/)
{
  Word_xp::InlineShape* prop;
  this->AddHorizontalLine(FileName, Range, (Word_xp::InlineShape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapesDispT<T>::AddHorizontalLineStandard(VARIANT* Range/*[in,opt]*/, 
                                                Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddHorizontalLineStandard"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = Range /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::InlineShape* __fastcall
InlineShapesDispT<T>::AddHorizontalLineStandard(VARIANT* Range/*[in,opt]*/)
{
  Word_xp::InlineShape* prop;
  this->AddHorizontalLineStandard(Range, (Word_xp::InlineShape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
InlineShapesDispT<T>::AddPictureBullet(BSTR FileName/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                                       Word_xp::InlineShape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddPictureBullet"), DISPID(106));
  TAutoArgs<2> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = Range /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::InlineShape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::InlineShape* __fastcall
InlineShapesDispT<T>::AddPictureBullet(BSTR FileName/*[in]*/, VARIANT* Range/*[in,opt]*/)
{
  Word_xp::InlineShape* prop;
  this->AddPictureBullet(FileName, Range, (Word_xp::InlineShape**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  SpellingSuggestions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AA-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
SpellingSuggestionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
SpellingSuggestionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SpellingSuggestionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SpellingSuggestionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SpellingSuggestionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
SpellingSuggestionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SpellingSuggestionsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
SpellingSuggestionsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SpellingSuggestionsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SpellingSuggestionsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SpellingSuggestionsDispT<T>::get_SpellingErrorType(Word_xp::WdSpellingErrorType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpellingErrorType"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdSpellingErrorType __fastcall
SpellingSuggestionsDispT<T>::get_SpellingErrorType(void)
{
  Word_xp::WdSpellingErrorType prop;
  this->get_SpellingErrorType((Word_xp::WdSpellingErrorType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SpellingSuggestionsDispT<T>::Item(long Index/*[in]*/, 
                                  Word_xp::SpellingSuggestion** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SpellingSuggestion**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::SpellingSuggestion* __fastcall
SpellingSuggestionsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::SpellingSuggestion* prop;
  this->Item(Index, (Word_xp::SpellingSuggestion**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  SpellingSuggestion
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AB-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
SpellingSuggestionDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
SpellingSuggestionDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SpellingSuggestionDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SpellingSuggestionDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SpellingSuggestionDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
SpellingSuggestionDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SpellingSuggestionDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SpellingSuggestionDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Dictionaries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AC-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
DictionariesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
DictionariesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionariesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DictionariesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionariesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
DictionariesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionariesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
DictionariesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionariesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DictionariesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionariesDispT<T>::get_Maximum(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Maximum"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DictionariesDispT<T>::get_Maximum(void)
{
  long prop;
  this->get_Maximum((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionariesDispT<T>::get_ActiveCustomDictionary(Word_xp::Dictionary** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveCustomDictionary"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionary**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DictionaryPtr __fastcall
DictionariesDispT<T>::get_ActiveCustomDictionary(void)
{
  Word_xp::DictionaryPtr prop;
  this->get_ActiveCustomDictionary(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionariesDispT<T>::set_ActiveCustomDictionary(Word_xp::DictionaryPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveCustomDictionary"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Dictionary*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DictionariesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Dictionary** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionary**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Dictionary* __fastcall
DictionariesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Dictionary* prop;
  this->Item(Index, (Word_xp::Dictionary**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionariesDispT<T>::Add(BSTR FileName/*[in]*/, Word_xp::Dictionary** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionary**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Dictionary* __fastcall
DictionariesDispT<T>::Add(BSTR FileName/*[in]*/)
{
  Word_xp::Dictionary* prop;
  this->Add(FileName, (Word_xp::Dictionary**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionariesDispT<T>::ClearAll()
{
  _TDispID _dispid(*this, OLETEXT("ClearAll"), DISPID(102));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  HangulHanjaConversionDictionaries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E0-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulHanjaConversionDictionariesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
HangulHanjaConversionDictionariesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_Maximum(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Maximum"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_Maximum(void)
{
  long prop;
  this->get_Maximum((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_ActiveCustomDictionary(Word_xp::Dictionary** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveCustomDictionary"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionary**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DictionaryPtr __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_ActiveCustomDictionary(void)
{
  Word_xp::DictionaryPtr prop;
  this->get_ActiveCustomDictionary(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulHanjaConversionDictionariesDispT<T>::set_ActiveCustomDictionary(Word_xp::DictionaryPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActiveCustomDictionary"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Dictionary*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_BuiltinDictionary(Word_xp::Dictionary** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BuiltinDictionary"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionary**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DictionaryPtr __fastcall
HangulHanjaConversionDictionariesDispT<T>::get_BuiltinDictionary(void)
{
  Word_xp::DictionaryPtr prop;
  this->get_BuiltinDictionary(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulHanjaConversionDictionariesDispT<T>::Item(VARIANT* Index/*[in]*/, 
                                                Word_xp::Dictionary** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionary**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Dictionary* __fastcall
HangulHanjaConversionDictionariesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Dictionary* prop;
  this->Item(Index, (Word_xp::Dictionary**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulHanjaConversionDictionariesDispT<T>::Add(BSTR FileName/*[in]*/, 
                                               Word_xp::Dictionary** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Dictionary**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Dictionary* __fastcall
HangulHanjaConversionDictionariesDispT<T>::Add(BSTR FileName/*[in]*/)
{
  Word_xp::Dictionary* prop;
  this->Add(FileName, (Word_xp::Dictionary**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulHanjaConversionDictionariesDispT<T>::ClearAll()
{
  _TDispID _dispid(*this, OLETEXT("ClearAll"), DISPID(102));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Dictionary
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AD-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
DictionaryDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
DictionaryDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionaryDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DictionaryDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionaryDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
DictionaryDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionaryDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
DictionaryDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionaryDispT<T>::get_Path(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Path"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
DictionaryDispT<T>::get_Path(void)
{
  BSTR prop;
  this->get_Path((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionaryDispT<T>::get_LanguageID(Word_xp::WdLanguageID* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLanguageID __fastcall
DictionaryDispT<T>::get_LanguageID(void)
{
  Word_xp::WdLanguageID prop;
  this->get_LanguageID((Word_xp::WdLanguageID*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionaryDispT<T>::set_LanguageID(Word_xp::WdLanguageID prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageID"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DictionaryDispT<T>::get_ReadOnly(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReadOnly"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DictionaryDispT<T>::get_ReadOnly(void)
{
  VARIANT_BOOL prop;
  this->get_ReadOnly((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionaryDispT<T>::get_Type(Word_xp::WdDictionaryType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdDictionaryType __fastcall
DictionaryDispT<T>::get_Type(void)
{
  Word_xp::WdDictionaryType prop;
  this->get_Type((Word_xp::WdDictionaryType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionaryDispT<T>::get_LanguageSpecific(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageSpecific"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DictionaryDispT<T>::get_LanguageSpecific(void)
{
  VARIANT_BOOL prop;
  this->get_LanguageSpecific((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DictionaryDispT<T>::set_LanguageSpecific(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LanguageSpecific"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DictionaryDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(101));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  ReadabilityStatistics
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AE-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ReadabilityStatisticsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ReadabilityStatisticsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReadabilityStatisticsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ReadabilityStatisticsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReadabilityStatisticsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ReadabilityStatisticsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReadabilityStatisticsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ReadabilityStatisticsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReadabilityStatisticsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ReadabilityStatisticsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReadabilityStatisticsDispT<T>::Item(VARIANT* Index/*[in]*/, 
                                    Word_xp::ReadabilityStatistic** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ReadabilityStatistic**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ReadabilityStatistic* __fastcall
ReadabilityStatisticsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::ReadabilityStatistic* prop;
  this->Item(Index, (Word_xp::ReadabilityStatistic**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  ReadabilityStatistic
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209AF-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ReadabilityStatisticDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ReadabilityStatisticDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReadabilityStatisticDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ReadabilityStatisticDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReadabilityStatisticDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ReadabilityStatisticDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReadabilityStatisticDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ReadabilityStatisticDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReadabilityStatisticDispT<T>::get_Value(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ReadabilityStatisticDispT<T>::get_Value(void)
{
  float prop;
  this->get_Value((float*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Versions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B3-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
VersionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
VersionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
VersionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
VersionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
VersionsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
VersionsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionsDispT<T>::get_AutoVersion(Word_xp::WdAutoVersions* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoVersion"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdAutoVersions __fastcall
VersionsDispT<T>::get_AutoVersion(void)
{
  Word_xp::WdAutoVersions prop;
  this->get_AutoVersion((Word_xp::WdAutoVersions*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionsDispT<T>::set_AutoVersion(Word_xp::WdAutoVersions prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoVersion"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
VersionsDispT<T>::Item(long Index/*[in]*/, Word_xp::Version** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Version**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Version* __fastcall
VersionsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::Version* prop;
  this->Item(Index, (Word_xp::Version**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionsDispT<T>::Save(VARIANT* Comment/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Save"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = Comment /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Version
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B4-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
VersionDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
VersionDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
VersionDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
VersionDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionDispT<T>::get_SavedBy(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SavedBy"), DISPID(1003));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
VersionDispT<T>::get_SavedBy(void)
{
  BSTR prop;
  this->get_SavedBy((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionDispT<T>::get_Comment(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Comment"), DISPID(1004));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
VersionDispT<T>::get_Comment(void)
{
  BSTR prop;
  this->get_Comment((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionDispT<T>::get_Date(DATE* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Date"), DISPID(1005));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DATE:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> DATE __fastcall
VersionDispT<T>::get_Date(void)
{
  DATE prop;
  this->get_Date((DATE*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
VersionDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
VersionDispT<T>::OpenOld()
{
  _TDispID _dispid(*this, OLETEXT("OpenOld"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
VersionDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(102));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
VersionDispT<T>::Open(Word_xp::WordDocument** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Open"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordDocument**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordDocument* __fastcall
VersionDispT<T>::Open(void)
{
  Word_xp::WordDocument* prop;
  this->Open((Word_xp::WordDocument**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Options
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209B7-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
OptionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
OptionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
OptionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
OptionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AllowAccentedUppercase(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowAccentedUppercase"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AllowAccentedUppercase(void)
{
  VARIANT_BOOL prop;
  this->get_AllowAccentedUppercase((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AllowAccentedUppercase(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowAccentedUppercase"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_WPHelp(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WPHelp"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_WPHelp(void)
{
  VARIANT_BOOL prop;
  this->get_WPHelp((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_WPHelp(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WPHelp"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_WPDocNavKeys(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WPDocNavKeys"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_WPDocNavKeys(void)
{
  VARIANT_BOOL prop;
  this->get_WPDocNavKeys((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_WPDocNavKeys(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WPDocNavKeys"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_Pagination(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Pagination"), DISPID(19));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_Pagination(void)
{
  VARIANT_BOOL prop;
  this->get_Pagination((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_Pagination(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Pagination"), DISPID(19));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_BlueScreen(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BlueScreen"), DISPID(20));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_BlueScreen(void)
{
  VARIANT_BOOL prop;
  this->get_BlueScreen((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_BlueScreen(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BlueScreen"), DISPID(20));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_EnableSound(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnableSound"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_EnableSound(void)
{
  VARIANT_BOOL prop;
  this->get_EnableSound((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_EnableSound(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnableSound"), DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_ConfirmConversions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConfirmConversions"), DISPID(22));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_ConfirmConversions(void)
{
  VARIANT_BOOL prop;
  this->get_ConfirmConversions((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_ConfirmConversions(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConfirmConversions"), DISPID(22));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_UpdateLinksAtOpen(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpdateLinksAtOpen"), DISPID(23));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_UpdateLinksAtOpen(void)
{
  VARIANT_BOOL prop;
  this->get_UpdateLinksAtOpen((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_UpdateLinksAtOpen(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpdateLinksAtOpen"), DISPID(23));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_SendMailAttach(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SendMailAttach"), DISPID(24));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_SendMailAttach(void)
{
  VARIANT_BOOL prop;
  this->get_SendMailAttach((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_SendMailAttach(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SendMailAttach"), DISPID(24));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MeasurementUnit(Word_xp::WdMeasurementUnits* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MeasurementUnit"), DISPID(26));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdMeasurementUnits __fastcall
OptionsDispT<T>::get_MeasurementUnit(void)
{
  Word_xp::WdMeasurementUnits prop;
  this->get_MeasurementUnit((Word_xp::WdMeasurementUnits*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MeasurementUnit(Word_xp::WdMeasurementUnits prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MeasurementUnit"), DISPID(26));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_ButtonFieldClicks(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ButtonFieldClicks"), DISPID(27));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
OptionsDispT<T>::get_ButtonFieldClicks(void)
{
  long prop;
  this->get_ButtonFieldClicks((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_ButtonFieldClicks(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ButtonFieldClicks"), DISPID(27));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_ShortMenuNames(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShortMenuNames"), DISPID(28));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_ShortMenuNames(void)
{
  VARIANT_BOOL prop;
  this->get_ShortMenuNames((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_ShortMenuNames(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShortMenuNames"), DISPID(28));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_RTFInClipboard(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RTFInClipboard"), DISPID(29));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_RTFInClipboard(void)
{
  VARIANT_BOOL prop;
  this->get_RTFInClipboard((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_RTFInClipboard(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RTFInClipboard"), DISPID(29));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_UpdateFieldsAtPrint(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpdateFieldsAtPrint"), DISPID(30));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_UpdateFieldsAtPrint(void)
{
  VARIANT_BOOL prop;
  this->get_UpdateFieldsAtPrint((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_UpdateFieldsAtPrint(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpdateFieldsAtPrint"), DISPID(30));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PrintProperties(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintProperties"), DISPID(31));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PrintProperties(void)
{
  VARIANT_BOOL prop;
  this->get_PrintProperties((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PrintProperties(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintProperties"), DISPID(31));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PrintFieldCodes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintFieldCodes"), DISPID(32));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PrintFieldCodes(void)
{
  VARIANT_BOOL prop;
  this->get_PrintFieldCodes((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PrintFieldCodes(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintFieldCodes"), DISPID(32));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PrintComments(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintComments"), DISPID(33));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PrintComments(void)
{
  VARIANT_BOOL prop;
  this->get_PrintComments((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PrintComments(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintComments"), DISPID(33));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PrintHiddenText(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintHiddenText"), DISPID(34));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PrintHiddenText(void)
{
  VARIANT_BOOL prop;
  this->get_PrintHiddenText((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PrintHiddenText(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintHiddenText"), DISPID(34));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_EnvelopeFeederInstalled(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnvelopeFeederInstalled"), DISPID(35));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_EnvelopeFeederInstalled(void)
{
  VARIANT_BOOL prop;
  this->get_EnvelopeFeederInstalled((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_UpdateLinksAtPrint(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpdateLinksAtPrint"), DISPID(36));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_UpdateLinksAtPrint(void)
{
  VARIANT_BOOL prop;
  this->get_UpdateLinksAtPrint((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_UpdateLinksAtPrint(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpdateLinksAtPrint"), DISPID(36));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PrintBackground(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintBackground"), DISPID(37));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PrintBackground(void)
{
  VARIANT_BOOL prop;
  this->get_PrintBackground((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PrintBackground(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintBackground"), DISPID(37));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PrintDrawingObjects(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintDrawingObjects"), DISPID(38));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PrintDrawingObjects(void)
{
  VARIANT_BOOL prop;
  this->get_PrintDrawingObjects((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PrintDrawingObjects(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintDrawingObjects"), DISPID(38));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DefaultTray(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTray"), DISPID(39));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
OptionsDispT<T>::get_DefaultTray(void)
{
  BSTR prop;
  this->get_DefaultTray((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DefaultTray(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTray"), DISPID(39));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DefaultTrayID(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTrayID"), DISPID(40));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
OptionsDispT<T>::get_DefaultTrayID(void)
{
  long prop;
  this->get_DefaultTrayID((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DefaultTrayID(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTrayID"), DISPID(40));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_CreateBackup(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateBackup"), DISPID(41));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_CreateBackup(void)
{
  VARIANT_BOOL prop;
  this->get_CreateBackup((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_CreateBackup(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateBackup"), DISPID(41));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AllowFastSave(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowFastSave"), DISPID(42));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AllowFastSave(void)
{
  VARIANT_BOOL prop;
  this->get_AllowFastSave((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AllowFastSave(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowFastSave"), DISPID(42));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_SavePropertiesPrompt(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SavePropertiesPrompt"), DISPID(43));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_SavePropertiesPrompt(void)
{
  VARIANT_BOOL prop;
  this->get_SavePropertiesPrompt((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_SavePropertiesPrompt(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SavePropertiesPrompt"), DISPID(43));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_SaveNormalPrompt(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveNormalPrompt"), DISPID(44));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_SaveNormalPrompt(void)
{
  VARIANT_BOOL prop;
  this->get_SaveNormalPrompt((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_SaveNormalPrompt(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveNormalPrompt"), DISPID(44));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_SaveInterval(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveInterval"), DISPID(45));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
OptionsDispT<T>::get_SaveInterval(void)
{
  long prop;
  this->get_SaveInterval((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_SaveInterval(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveInterval"), DISPID(45));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_BackgroundSave(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BackgroundSave"), DISPID(46));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_BackgroundSave(void)
{
  VARIANT_BOOL prop;
  this->get_BackgroundSave((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_BackgroundSave(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BackgroundSave"), DISPID(46));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_InsertedTextMark(Word_xp::WdInsertedTextMark* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertedTextMark"), DISPID(57));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdInsertedTextMark __fastcall
OptionsDispT<T>::get_InsertedTextMark(void)
{
  Word_xp::WdInsertedTextMark prop;
  this->get_InsertedTextMark((Word_xp::WdInsertedTextMark*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_InsertedTextMark(Word_xp::WdInsertedTextMark prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertedTextMark"), DISPID(57));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DeletedTextMark(Word_xp::WdDeletedTextMark* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DeletedTextMark"), DISPID(58));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdDeletedTextMark __fastcall
OptionsDispT<T>::get_DeletedTextMark(void)
{
  Word_xp::WdDeletedTextMark prop;
  this->get_DeletedTextMark((Word_xp::WdDeletedTextMark*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DeletedTextMark(Word_xp::WdDeletedTextMark prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DeletedTextMark"), DISPID(58));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_RevisedLinesMark(Word_xp::WdRevisedLinesMark* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisedLinesMark"), DISPID(59));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRevisedLinesMark __fastcall
OptionsDispT<T>::get_RevisedLinesMark(void)
{
  Word_xp::WdRevisedLinesMark prop;
  this->get_RevisedLinesMark((Word_xp::WdRevisedLinesMark*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_RevisedLinesMark(Word_xp::WdRevisedLinesMark prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisedLinesMark"), DISPID(59));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_InsertedTextColor(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertedTextColor"), DISPID(60));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
OptionsDispT<T>::get_InsertedTextColor(void)
{
  Word_xp::WdColorIndex prop;
  this->get_InsertedTextColor((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_InsertedTextColor(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsertedTextColor"), DISPID(60));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DeletedTextColor(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DeletedTextColor"), DISPID(61));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
OptionsDispT<T>::get_DeletedTextColor(void)
{
  Word_xp::WdColorIndex prop;
  this->get_DeletedTextColor((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DeletedTextColor(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DeletedTextColor"), DISPID(61));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_RevisedLinesColor(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisedLinesColor"), DISPID(62));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
OptionsDispT<T>::get_RevisedLinesColor(void)
{
  Word_xp::WdColorIndex prop;
  this->get_RevisedLinesColor((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_RevisedLinesColor(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisedLinesColor"), DISPID(62));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DefaultFilePath(Word_xp::WdDefaultFilePath Path/*[in]*/, 
                                     BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultFilePath"), DISPID(65));
  TAutoArgs<1> _args;
  _args[1] = (int)Path /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
OptionsDispT<T>::get_DefaultFilePath(Word_xp::WdDefaultFilePath Path/*[in]*/)
{
  BSTR prop;
  this->get_DefaultFilePath(Path, (BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DefaultFilePath(Word_xp::WdDefaultFilePath Path/*[in]*/, BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultFilePath"), DISPID(65));
  TAutoArgs<2> _args;
  _args[1] = (int)Path /*[VT_USERDEFINED:0]*/;
  _args[2] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_Overtype(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Overtype"), DISPID(66));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_Overtype(void)
{
  VARIANT_BOOL prop;
  this->get_Overtype((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_Overtype(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Overtype"), DISPID(66));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_ReplaceSelection(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReplaceSelection"), DISPID(67));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_ReplaceSelection(void)
{
  VARIANT_BOOL prop;
  this->get_ReplaceSelection((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_ReplaceSelection(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReplaceSelection"), DISPID(67));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AllowDragAndDrop(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowDragAndDrop"), DISPID(68));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AllowDragAndDrop(void)
{
  VARIANT_BOOL prop;
  this->get_AllowDragAndDrop((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AllowDragAndDrop(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowDragAndDrop"), DISPID(68));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoWordSelection(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoWordSelection"), DISPID(69));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoWordSelection(void)
{
  VARIANT_BOOL prop;
  this->get_AutoWordSelection((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoWordSelection(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoWordSelection"), DISPID(69));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_INSKeyForPaste(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("INSKeyForPaste"), DISPID(70));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_INSKeyForPaste(void)
{
  VARIANT_BOOL prop;
  this->get_INSKeyForPaste((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_INSKeyForPaste(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("INSKeyForPaste"), DISPID(70));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_SmartCutPaste(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmartCutPaste"), DISPID(71));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_SmartCutPaste(void)
{
  VARIANT_BOOL prop;
  this->get_SmartCutPaste((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_SmartCutPaste(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmartCutPaste"), DISPID(71));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_TabIndentKey(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabIndentKey"), DISPID(72));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_TabIndentKey(void)
{
  VARIANT_BOOL prop;
  this->get_TabIndentKey((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_TabIndentKey(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabIndentKey"), DISPID(72));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PictureEditor(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PictureEditor"), DISPID(73));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
OptionsDispT<T>::get_PictureEditor(void)
{
  BSTR prop;
  this->get_PictureEditor((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PictureEditor(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PictureEditor"), DISPID(73));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AnimateScreenMovements(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AnimateScreenMovements"), DISPID(74));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AnimateScreenMovements(void)
{
  VARIANT_BOOL prop;
  this->get_AnimateScreenMovements((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AnimateScreenMovements(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AnimateScreenMovements"), DISPID(74));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_VirusProtection(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VirusProtection"), DISPID(75));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_VirusProtection(void)
{
  VARIANT_BOOL prop;
  this->get_VirusProtection((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_VirusProtection(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("VirusProtection"), DISPID(75));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_RevisedPropertiesMark(Word_xp::WdRevisedPropertiesMark* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisedPropertiesMark"), DISPID(76));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRevisedPropertiesMark __fastcall
OptionsDispT<T>::get_RevisedPropertiesMark(void)
{
  Word_xp::WdRevisedPropertiesMark prop;
  this->get_RevisedPropertiesMark((Word_xp::WdRevisedPropertiesMark*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_RevisedPropertiesMark(Word_xp::WdRevisedPropertiesMark prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisedPropertiesMark"), DISPID(76));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_RevisedPropertiesColor(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisedPropertiesColor"), DISPID(77));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
OptionsDispT<T>::get_RevisedPropertiesColor(void)
{
  Word_xp::WdColorIndex prop;
  this->get_RevisedPropertiesColor((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_RevisedPropertiesColor(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisedPropertiesColor"), DISPID(77));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_SnapToGrid(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SnapToGrid"), DISPID(79));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_SnapToGrid(void)
{
  VARIANT_BOOL prop;
  this->get_SnapToGrid((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_SnapToGrid(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SnapToGrid"), DISPID(79));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_SnapToShapes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SnapToShapes"), DISPID(80));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_SnapToShapes(void)
{
  VARIANT_BOOL prop;
  this->get_SnapToShapes((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_SnapToShapes(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SnapToShapes"), DISPID(80));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_GridDistanceHorizontal(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridDistanceHorizontal"), DISPID(81));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
OptionsDispT<T>::get_GridDistanceHorizontal(void)
{
  float prop;
  this->get_GridDistanceHorizontal((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_GridDistanceHorizontal(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridDistanceHorizontal"), DISPID(81));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_GridDistanceVertical(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridDistanceVertical"), DISPID(82));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
OptionsDispT<T>::get_GridDistanceVertical(void)
{
  float prop;
  this->get_GridDistanceVertical((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_GridDistanceVertical(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridDistanceVertical"), DISPID(82));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_GridOriginHorizontal(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridOriginHorizontal"), DISPID(83));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
OptionsDispT<T>::get_GridOriginHorizontal(void)
{
  float prop;
  this->get_GridOriginHorizontal((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_GridOriginHorizontal(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridOriginHorizontal"), DISPID(83));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_GridOriginVertical(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridOriginVertical"), DISPID(84));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
OptionsDispT<T>::get_GridOriginVertical(void)
{
  float prop;
  this->get_GridOriginVertical((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_GridOriginVertical(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GridOriginVertical"), DISPID(84));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_InlineConversion(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InlineConversion"), DISPID(86));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_InlineConversion(void)
{
  VARIANT_BOOL prop;
  this->get_InlineConversion((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_InlineConversion(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InlineConversion"), DISPID(86));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_IMEAutomaticControl(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IMEAutomaticControl"), DISPID(87));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_IMEAutomaticControl(void)
{
  VARIANT_BOOL prop;
  this->get_IMEAutomaticControl((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_IMEAutomaticControl(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IMEAutomaticControl"), DISPID(87));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatApplyHeadings(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatApplyHeadings"), DISPID(250));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatApplyHeadings(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatApplyHeadings((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatApplyHeadings(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatApplyHeadings"), DISPID(250));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatApplyLists(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatApplyLists"), DISPID(251));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatApplyLists(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatApplyLists((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatApplyLists(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatApplyLists"), DISPID(251));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatApplyBulletedLists(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatApplyBulletedLists"), DISPID(252));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatApplyBulletedLists(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatApplyBulletedLists((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatApplyBulletedLists(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatApplyBulletedLists"), DISPID(252));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatApplyOtherParas(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatApplyOtherParas"), DISPID(253));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatApplyOtherParas(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatApplyOtherParas((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatApplyOtherParas(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatApplyOtherParas"), DISPID(253));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatReplaceQuotes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplaceQuotes"), DISPID(254));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatReplaceQuotes(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatReplaceQuotes((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatReplaceQuotes(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplaceQuotes"), DISPID(254));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatReplaceSymbols(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplaceSymbols"), DISPID(255));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatReplaceSymbols(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatReplaceSymbols((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatReplaceSymbols(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplaceSymbols"), DISPID(255));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatReplaceOrdinals(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplaceOrdinals"), DISPID(256));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatReplaceOrdinals(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatReplaceOrdinals((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatReplaceOrdinals(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplaceOrdinals"), DISPID(256));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatReplaceFractions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplaceFractions"), DISPID(257));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatReplaceFractions(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatReplaceFractions((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatReplaceFractions(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplaceFractions"), DISPID(257));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatReplacePlainTextEmphasis(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplacePlainTextEmphasis"), DISPID(258));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatReplacePlainTextEmphasis(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatReplacePlainTextEmphasis((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatReplacePlainTextEmphasis(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplacePlainTextEmphasis"), DISPID(258));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatPreserveStyles(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatPreserveStyles"), DISPID(259));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatPreserveStyles(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatPreserveStyles((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatPreserveStyles(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatPreserveStyles"), DISPID(259));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyHeadings(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyHeadings"), DISPID(260));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyHeadings(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyHeadings((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeApplyHeadings(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyHeadings"), DISPID(260));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyBorders(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyBorders"), DISPID(261));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyBorders(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyBorders((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeApplyBorders(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyBorders"), DISPID(261));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyBulletedLists(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyBulletedLists"), DISPID(262));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyBulletedLists(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyBulletedLists((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeApplyBulletedLists(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyBulletedLists"), DISPID(262));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyNumberedLists(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyNumberedLists"), DISPID(263));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyNumberedLists(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyNumberedLists((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeApplyNumberedLists(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyNumberedLists"), DISPID(263));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplaceQuotes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceQuotes"), DISPID(264));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplaceQuotes(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplaceQuotes((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeReplaceQuotes(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceQuotes"), DISPID(264));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplaceSymbols(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceSymbols"), DISPID(265));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplaceSymbols(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplaceSymbols((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeReplaceSymbols(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceSymbols"), DISPID(265));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplaceOrdinals(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceOrdinals"), DISPID(266));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplaceOrdinals(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplaceOrdinals((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeReplaceOrdinals(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceOrdinals"), DISPID(266));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplaceFractions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceFractions"), DISPID(267));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplaceFractions(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplaceFractions((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeReplaceFractions(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceFractions"), DISPID(267));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplacePlainTextEmphasis(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplacePlainTextEmphasis"), DISPID(268));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplacePlainTextEmphasis(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplacePlainTextEmphasis((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeReplacePlainTextEmphasis(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplacePlainTextEmphasis"), DISPID(268));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeFormatListItemBeginning(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeFormatListItemBeginning"), DISPID(269));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeFormatListItemBeginning(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeFormatListItemBeginning((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeFormatListItemBeginning(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeFormatListItemBeginning"), DISPID(269));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeDefineStyles(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeDefineStyles"), DISPID(270));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeDefineStyles(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeDefineStyles((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeDefineStyles(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeDefineStyles"), DISPID(270));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatPlainTextWordMail(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatPlainTextWordMail"), DISPID(271));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatPlainTextWordMail(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatPlainTextWordMail((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatPlainTextWordMail(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatPlainTextWordMail"), DISPID(271));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplaceHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceHyperlinks"), DISPID(272));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplaceHyperlinks(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplaceHyperlinks((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeReplaceHyperlinks(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceHyperlinks"), DISPID(272));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatReplaceHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplaceHyperlinks"), DISPID(273));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatReplaceHyperlinks(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatReplaceHyperlinks((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatReplaceHyperlinks(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplaceHyperlinks"), DISPID(273));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DefaultHighlightColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultHighlightColorIndex"), DISPID(274));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
OptionsDispT<T>::get_DefaultHighlightColorIndex(void)
{
  Word_xp::WdColorIndex prop;
  this->get_DefaultHighlightColorIndex((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DefaultHighlightColorIndex(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultHighlightColorIndex"), DISPID(274));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DefaultBorderLineStyle(Word_xp::WdLineStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultBorderLineStyle"), DISPID(275));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLineStyle __fastcall
OptionsDispT<T>::get_DefaultBorderLineStyle(void)
{
  Word_xp::WdLineStyle prop;
  this->get_DefaultBorderLineStyle((Word_xp::WdLineStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DefaultBorderLineStyle(Word_xp::WdLineStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultBorderLineStyle"), DISPID(275));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_CheckSpellingAsYouType(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckSpellingAsYouType"), DISPID(276));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_CheckSpellingAsYouType(void)
{
  VARIANT_BOOL prop;
  this->get_CheckSpellingAsYouType((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_CheckSpellingAsYouType(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckSpellingAsYouType"), DISPID(276));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_CheckGrammarAsYouType(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckGrammarAsYouType"), DISPID(277));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_CheckGrammarAsYouType(void)
{
  VARIANT_BOOL prop;
  this->get_CheckGrammarAsYouType((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_CheckGrammarAsYouType(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckGrammarAsYouType"), DISPID(277));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_IgnoreInternetAndFileAddresses(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IgnoreInternetAndFileAddresses"), DISPID(278));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_IgnoreInternetAndFileAddresses(void)
{
  VARIANT_BOOL prop;
  this->get_IgnoreInternetAndFileAddresses((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_IgnoreInternetAndFileAddresses(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IgnoreInternetAndFileAddresses"), DISPID(278));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_ShowReadabilityStatistics(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowReadabilityStatistics"), DISPID(279));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_ShowReadabilityStatistics(void)
{
  VARIANT_BOOL prop;
  this->get_ShowReadabilityStatistics((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_ShowReadabilityStatistics(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowReadabilityStatistics"), DISPID(279));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_IgnoreUppercase(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IgnoreUppercase"), DISPID(280));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_IgnoreUppercase(void)
{
  VARIANT_BOOL prop;
  this->get_IgnoreUppercase((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_IgnoreUppercase(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IgnoreUppercase"), DISPID(280));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_IgnoreMixedDigits(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IgnoreMixedDigits"), DISPID(281));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_IgnoreMixedDigits(void)
{
  VARIANT_BOOL prop;
  this->get_IgnoreMixedDigits((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_IgnoreMixedDigits(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IgnoreMixedDigits"), DISPID(281));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_SuggestFromMainDictionaryOnly(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SuggestFromMainDictionaryOnly"), DISPID(282));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_SuggestFromMainDictionaryOnly(void)
{
  VARIANT_BOOL prop;
  this->get_SuggestFromMainDictionaryOnly((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_SuggestFromMainDictionaryOnly(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SuggestFromMainDictionaryOnly"), DISPID(282));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_SuggestSpellingCorrections(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SuggestSpellingCorrections"), DISPID(283));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_SuggestSpellingCorrections(void)
{
  VARIANT_BOOL prop;
  this->get_SuggestSpellingCorrections((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_SuggestSpellingCorrections(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SuggestSpellingCorrections"), DISPID(283));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DefaultBorderLineWidth(Word_xp::WdLineWidth* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultBorderLineWidth"), DISPID(284));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdLineWidth __fastcall
OptionsDispT<T>::get_DefaultBorderLineWidth(void)
{
  Word_xp::WdLineWidth prop;
  this->get_DefaultBorderLineWidth((Word_xp::WdLineWidth*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DefaultBorderLineWidth(Word_xp::WdLineWidth prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultBorderLineWidth"), DISPID(284));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_CheckGrammarWithSpelling(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckGrammarWithSpelling"), DISPID(285));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_CheckGrammarWithSpelling(void)
{
  VARIANT_BOOL prop;
  this->get_CheckGrammarWithSpelling((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_CheckGrammarWithSpelling(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckGrammarWithSpelling"), DISPID(285));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DefaultOpenFormat(Word_xp::WdOpenFormat* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultOpenFormat"), DISPID(286));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdOpenFormat __fastcall
OptionsDispT<T>::get_DefaultOpenFormat(void)
{
  Word_xp::WdOpenFormat prop;
  this->get_DefaultOpenFormat((Word_xp::WdOpenFormat*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DefaultOpenFormat(Word_xp::WdOpenFormat prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultOpenFormat"), DISPID(286));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PrintDraft(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintDraft"), DISPID(287));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PrintDraft(void)
{
  VARIANT_BOOL prop;
  this->get_PrintDraft((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PrintDraft(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintDraft"), DISPID(287));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PrintReverse(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintReverse"), DISPID(288));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PrintReverse(void)
{
  VARIANT_BOOL prop;
  this->get_PrintReverse((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PrintReverse(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintReverse"), DISPID(288));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MapPaperSize(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MapPaperSize"), DISPID(289));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MapPaperSize(void)
{
  VARIANT_BOOL prop;
  this->get_MapPaperSize((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MapPaperSize(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MapPaperSize"), DISPID(289));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyTables(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyTables"), DISPID(290));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyTables(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyTables((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeApplyTables(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyTables"), DISPID(290));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatApplyFirstIndents(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatApplyFirstIndents"), DISPID(291));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatApplyFirstIndents(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatApplyFirstIndents((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatApplyFirstIndents(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatApplyFirstIndents"), DISPID(291));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatMatchParentheses(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatMatchParentheses"), DISPID(294));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatMatchParentheses(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatMatchParentheses((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatMatchParentheses(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatMatchParentheses"), DISPID(294));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatReplaceFarEastDashes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplaceFarEastDashes"), DISPID(295));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatReplaceFarEastDashes(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatReplaceFarEastDashes((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatReplaceFarEastDashes(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatReplaceFarEastDashes"), DISPID(295));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatDeleteAutoSpaces(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatDeleteAutoSpaces"), DISPID(296));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatDeleteAutoSpaces(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatDeleteAutoSpaces((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatDeleteAutoSpaces(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatDeleteAutoSpaces"), DISPID(296));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyFirstIndents(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyFirstIndents"), DISPID(297));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyFirstIndents(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyFirstIndents((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeApplyFirstIndents(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyFirstIndents"), DISPID(297));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyDates(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyDates"), DISPID(298));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyDates(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyDates((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeApplyDates(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyDates"), DISPID(298));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyClosings(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyClosings"), DISPID(299));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeApplyClosings(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyClosings((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeApplyClosings(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyClosings"), DISPID(299));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeMatchParentheses(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeMatchParentheses"), DISPID(300));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeMatchParentheses(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeMatchParentheses((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeMatchParentheses(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeMatchParentheses"), DISPID(300));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplaceFarEastDashes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceFarEastDashes"), DISPID(301));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeReplaceFarEastDashes(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplaceFarEastDashes((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeReplaceFarEastDashes(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceFarEastDashes"), DISPID(301));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeDeleteAutoSpaces(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeDeleteAutoSpaces"), DISPID(302));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeDeleteAutoSpaces(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeDeleteAutoSpaces((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeDeleteAutoSpaces(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeDeleteAutoSpaces"), DISPID(302));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeInsertClosings(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeInsertClosings"), DISPID(303));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeInsertClosings(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeInsertClosings((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeInsertClosings(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeInsertClosings"), DISPID(303));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeAutoLetterWizard(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeAutoLetterWizard"), DISPID(304));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeAutoLetterWizard(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeAutoLetterWizard((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeAutoLetterWizard(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeAutoLetterWizard"), DISPID(304));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeInsertOvers(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeInsertOvers"), DISPID(305));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoFormatAsYouTypeInsertOvers(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeInsertOvers((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoFormatAsYouTypeInsertOvers(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeInsertOvers"), DISPID(305));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DisplayGridLines(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayGridLines"), DISPID(306));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_DisplayGridLines(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayGridLines((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DisplayGridLines(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayGridLines"), DISPID(306));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyCase(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyCase"), DISPID(309));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyCase(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyCase((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyCase(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyCase"), DISPID(309));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyByte(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyByte"), DISPID(310));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyByte(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyByte((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyByte(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyByte"), DISPID(310));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyHiragana(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyHiragana"), DISPID(311));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyHiragana(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyHiragana((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyHiragana(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyHiragana"), DISPID(311));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzySmallKana(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzySmallKana"), DISPID(312));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzySmallKana(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzySmallKana((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzySmallKana(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzySmallKana"), DISPID(312));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyDash(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyDash"), DISPID(313));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyDash(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyDash((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyDash(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyDash"), DISPID(313));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyIterationMark(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyIterationMark"), DISPID(314));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyIterationMark(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyIterationMark((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyIterationMark(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyIterationMark"), DISPID(314));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyKanji(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyKanji"), DISPID(315));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyKanji(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyKanji((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyKanji(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyKanji"), DISPID(315));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyOldKana(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyOldKana"), DISPID(316));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyOldKana(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyOldKana((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyOldKana(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyOldKana"), DISPID(316));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyProlongedSoundMark(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyProlongedSoundMark"), DISPID(317));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyProlongedSoundMark(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyProlongedSoundMark((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyProlongedSoundMark(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyProlongedSoundMark"), DISPID(317));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyDZ(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyDZ"), DISPID(318));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyDZ(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyDZ((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyDZ(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyDZ"), DISPID(318));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyBV(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyBV"), DISPID(319));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyBV(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyBV((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyBV(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyBV"), DISPID(319));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyTC(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyTC"), DISPID(320));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyTC(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyTC((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyTC(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyTC"), DISPID(320));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyHF(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyHF"), DISPID(321));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyHF(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyHF((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyHF(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyHF"), DISPID(321));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyZJ(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyZJ"), DISPID(322));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyZJ(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyZJ((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyZJ(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyZJ"), DISPID(322));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyAY(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyAY"), DISPID(323));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyAY(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyAY((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyAY(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyAY"), DISPID(323));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyKiKu(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyKiKu"), DISPID(324));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyKiKu(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyKiKu((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyKiKu(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyKiKu"), DISPID(324));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzyPunctuation(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyPunctuation"), DISPID(325));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzyPunctuation(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzyPunctuation((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzyPunctuation(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzyPunctuation"), DISPID(325));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MatchFuzzySpace(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzySpace"), DISPID(326));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_MatchFuzzySpace(void)
{
  VARIANT_BOOL prop;
  this->get_MatchFuzzySpace((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MatchFuzzySpace(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MatchFuzzySpace"), DISPID(326));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_ApplyFarEastFontsToAscii(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyFarEastFontsToAscii"), DISPID(327));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_ApplyFarEastFontsToAscii(void)
{
  VARIANT_BOOL prop;
  this->get_ApplyFarEastFontsToAscii((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_ApplyFarEastFontsToAscii(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ApplyFarEastFontsToAscii"), DISPID(327));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_ConvertHighAnsiToFarEast(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertHighAnsiToFarEast"), DISPID(328));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_ConvertHighAnsiToFarEast(void)
{
  VARIANT_BOOL prop;
  this->get_ConvertHighAnsiToFarEast((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_ConvertHighAnsiToFarEast(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertHighAnsiToFarEast"), DISPID(328));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PrintOddPagesInAscendingOrder(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOddPagesInAscendingOrder"), DISPID(330));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PrintOddPagesInAscendingOrder(void)
{
  VARIANT_BOOL prop;
  this->get_PrintOddPagesInAscendingOrder((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PrintOddPagesInAscendingOrder(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintOddPagesInAscendingOrder"), DISPID(330));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PrintEvenPagesInAscendingOrder(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintEvenPagesInAscendingOrder"), DISPID(331));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PrintEvenPagesInAscendingOrder(void)
{
  VARIANT_BOOL prop;
  this->get_PrintEvenPagesInAscendingOrder((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PrintEvenPagesInAscendingOrder(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrintEvenPagesInAscendingOrder"), DISPID(331));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DefaultBorderColorIndex(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultBorderColorIndex"), DISPID(337));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
OptionsDispT<T>::get_DefaultBorderColorIndex(void)
{
  Word_xp::WdColorIndex prop;
  this->get_DefaultBorderColorIndex((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DefaultBorderColorIndex(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultBorderColorIndex"), DISPID(337));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_EnableMisusedWordsDictionary(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnableMisusedWordsDictionary"), DISPID(338));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_EnableMisusedWordsDictionary(void)
{
  VARIANT_BOOL prop;
  this->get_EnableMisusedWordsDictionary((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_EnableMisusedWordsDictionary(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnableMisusedWordsDictionary"), DISPID(338));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AllowCombinedAuxiliaryForms(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowCombinedAuxiliaryForms"), DISPID(339));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AllowCombinedAuxiliaryForms(void)
{
  VARIANT_BOOL prop;
  this->get_AllowCombinedAuxiliaryForms((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AllowCombinedAuxiliaryForms(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowCombinedAuxiliaryForms"), DISPID(339));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_HangulHanjaFastConversion(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangulHanjaFastConversion"), DISPID(340));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_HangulHanjaFastConversion(void)
{
  VARIANT_BOOL prop;
  this->get_HangulHanjaFastConversion((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_HangulHanjaFastConversion(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HangulHanjaFastConversion"), DISPID(340));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_CheckHangulEndings(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckHangulEndings"), DISPID(341));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_CheckHangulEndings(void)
{
  VARIANT_BOOL prop;
  this->get_CheckHangulEndings((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_CheckHangulEndings(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckHangulEndings"), DISPID(341));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_EnableHangulHanjaRecentOrdering(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnableHangulHanjaRecentOrdering"), DISPID(342));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_EnableHangulHanjaRecentOrdering(void)
{
  VARIANT_BOOL prop;
  this->get_EnableHangulHanjaRecentOrdering((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_EnableHangulHanjaRecentOrdering(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnableHangulHanjaRecentOrdering"), DISPID(342));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MultipleWordConversionsMode(Word_xp::WdMultipleWordConversionsMode* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MultipleWordConversionsMode"), DISPID(343));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdMultipleWordConversionsMode __fastcall
OptionsDispT<T>::get_MultipleWordConversionsMode(void)
{
  Word_xp::WdMultipleWordConversionsMode prop;
  this->get_MultipleWordConversionsMode((Word_xp::WdMultipleWordConversionsMode*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MultipleWordConversionsMode(Word_xp::WdMultipleWordConversionsMode prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MultipleWordConversionsMode"), DISPID(343));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::SetWPHelpOptions(VARIANT* CommandKeyHelp/*[in,opt]*/, 
                                  VARIANT* DocNavigationKeys/*[in,opt]*/, 
                                  VARIANT* MouseSimulation/*[in,opt]*/, 
                                  VARIANT* DemoGuidance/*[in,opt]*/, VARIANT* DemoSpeed/*[in,opt]*/
                                  , VARIANT* HelpType/*[in,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetWPHelpOptions"), DISPID(333));
  TAutoArgs<6> _args;
  _args[1] = CommandKeyHelp /*[VT_VARIANT:1]*/;
  _args[2] = DocNavigationKeys /*[VT_VARIANT:1]*/;
  _args[3] = MouseSimulation /*[VT_VARIANT:1]*/;
  _args[4] = DemoGuidance /*[VT_VARIANT:1]*/;
  _args[5] = DemoSpeed /*[VT_VARIANT:1]*/;
  _args[6] = HelpType /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DefaultBorderColor(Word_xp::WdColor* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultBorderColor"), DISPID(344));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColor __fastcall
OptionsDispT<T>::get_DefaultBorderColor(void)
{
  Word_xp::WdColor prop;
  this->get_DefaultBorderColor((Word_xp::WdColor*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DefaultBorderColor(Word_xp::WdColor prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultBorderColor"), DISPID(344));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AllowPixelUnits(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowPixelUnits"), DISPID(345));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AllowPixelUnits(void)
{
  VARIANT_BOOL prop;
  this->get_AllowPixelUnits((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AllowPixelUnits(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowPixelUnits"), DISPID(345));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_UseCharacterUnit(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseCharacterUnit"), DISPID(346));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_UseCharacterUnit(void)
{
  VARIANT_BOOL prop;
  this->get_UseCharacterUnit((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_UseCharacterUnit(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseCharacterUnit"), DISPID(346));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AllowCompoundNounProcessing(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowCompoundNounProcessing"), DISPID(347));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AllowCompoundNounProcessing(void)
{
  VARIANT_BOOL prop;
  this->get_AllowCompoundNounProcessing((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AllowCompoundNounProcessing(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowCompoundNounProcessing"), DISPID(347));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoKeyboardSwitching(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoKeyboardSwitching"), DISPID(399));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoKeyboardSwitching(void)
{
  VARIANT_BOOL prop;
  this->get_AutoKeyboardSwitching((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoKeyboardSwitching(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoKeyboardSwitching"), DISPID(399));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DocumentViewDirection(Word_xp::WdDocumentViewDirection* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentViewDirection"), DISPID(400));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdDocumentViewDirection __fastcall
OptionsDispT<T>::get_DocumentViewDirection(void)
{
  Word_xp::WdDocumentViewDirection prop;
  this->get_DocumentViewDirection((Word_xp::WdDocumentViewDirection*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DocumentViewDirection(Word_xp::WdDocumentViewDirection prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentViewDirection"), DISPID(400));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_ArabicNumeral(Word_xp::WdArabicNumeral* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ArabicNumeral"), DISPID(401));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdArabicNumeral __fastcall
OptionsDispT<T>::get_ArabicNumeral(void)
{
  Word_xp::WdArabicNumeral prop;
  this->get_ArabicNumeral((Word_xp::WdArabicNumeral*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_ArabicNumeral(Word_xp::WdArabicNumeral prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ArabicNumeral"), DISPID(401));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_MonthNames(Word_xp::WdMonthNames* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MonthNames"), DISPID(402));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdMonthNames __fastcall
OptionsDispT<T>::get_MonthNames(void)
{
  Word_xp::WdMonthNames prop;
  this->get_MonthNames((Word_xp::WdMonthNames*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_MonthNames(Word_xp::WdMonthNames prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MonthNames"), DISPID(402));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_CursorMovement(Word_xp::WdCursorMovement* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CursorMovement"), DISPID(403));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdCursorMovement __fastcall
OptionsDispT<T>::get_CursorMovement(void)
{
  Word_xp::WdCursorMovement prop;
  this->get_CursorMovement((Word_xp::WdCursorMovement*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_CursorMovement(Word_xp::WdCursorMovement prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CursorMovement"), DISPID(403));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_VisualSelection(Word_xp::WdVisualSelection* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("VisualSelection"), DISPID(404));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdVisualSelection __fastcall
OptionsDispT<T>::get_VisualSelection(void)
{
  Word_xp::WdVisualSelection prop;
  this->get_VisualSelection((Word_xp::WdVisualSelection*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_VisualSelection(Word_xp::WdVisualSelection prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("VisualSelection"), DISPID(404));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_ShowDiacritics(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowDiacritics"), DISPID(405));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_ShowDiacritics(void)
{
  VARIANT_BOOL prop;
  this->get_ShowDiacritics((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_ShowDiacritics(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowDiacritics"), DISPID(405));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_ShowControlCharacters(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowControlCharacters"), DISPID(406));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_ShowControlCharacters(void)
{
  VARIANT_BOOL prop;
  this->get_ShowControlCharacters((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_ShowControlCharacters(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowControlCharacters"), DISPID(406));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AddControlCharacters(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddControlCharacters"), DISPID(407));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AddControlCharacters(void)
{
  VARIANT_BOOL prop;
  this->get_AddControlCharacters((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AddControlCharacters(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddControlCharacters"), DISPID(407));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AddBiDirectionalMarksWhenSavingTextFile(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddBiDirectionalMarksWhenSavingTextFile"), DISPID(408));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AddBiDirectionalMarksWhenSavingTextFile(void)
{
  VARIANT_BOOL prop;
  this->get_AddBiDirectionalMarksWhenSavingTextFile((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AddBiDirectionalMarksWhenSavingTextFile(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddBiDirectionalMarksWhenSavingTextFile"), DISPID(408));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_StrictInitialAlefHamza(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StrictInitialAlefHamza"), DISPID(409));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_StrictInitialAlefHamza(void)
{
  VARIANT_BOOL prop;
  this->get_StrictInitialAlefHamza((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_StrictInitialAlefHamza(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StrictInitialAlefHamza"), DISPID(409));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_StrictFinalYaa(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StrictFinalYaa"), DISPID(410));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_StrictFinalYaa(void)
{
  VARIANT_BOOL prop;
  this->get_StrictFinalYaa((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_StrictFinalYaa(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StrictFinalYaa"), DISPID(410));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_HebrewMode(Word_xp::WdHebSpellStart* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HebrewMode"), DISPID(411));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdHebSpellStart __fastcall
OptionsDispT<T>::get_HebrewMode(void)
{
  Word_xp::WdHebSpellStart prop;
  this->get_HebrewMode((Word_xp::WdHebSpellStart*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_HebrewMode(Word_xp::WdHebSpellStart prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HebrewMode"), DISPID(411));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_ArabicMode(Word_xp::WdAraSpeller* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ArabicMode"), DISPID(412));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdAraSpeller __fastcall
OptionsDispT<T>::get_ArabicMode(void)
{
  Word_xp::WdAraSpeller prop;
  this->get_ArabicMode((Word_xp::WdAraSpeller*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_ArabicMode(Word_xp::WdAraSpeller prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ArabicMode"), DISPID(412));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AllowClickAndTypeMouse(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowClickAndTypeMouse"), DISPID(413));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AllowClickAndTypeMouse(void)
{
  VARIANT_BOOL prop;
  this->get_AllowClickAndTypeMouse((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AllowClickAndTypeMouse(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowClickAndTypeMouse"), DISPID(413));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_UseGermanSpellingReform(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseGermanSpellingReform"), DISPID(415));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_UseGermanSpellingReform(void)
{
  VARIANT_BOOL prop;
  this->get_UseGermanSpellingReform((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_UseGermanSpellingReform(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseGermanSpellingReform"), DISPID(415));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_InterpretHighAnsi(Word_xp::WdHighAnsiText* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InterpretHighAnsi"), DISPID(418));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdHighAnsiText __fastcall
OptionsDispT<T>::get_InterpretHighAnsi(void)
{
  Word_xp::WdHighAnsiText prop;
  this->get_InterpretHighAnsi((Word_xp::WdHighAnsiText*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_InterpretHighAnsi(Word_xp::WdHighAnsiText prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InterpretHighAnsi"), DISPID(418));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AddHebDoubleQuote(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddHebDoubleQuote"), DISPID(419));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AddHebDoubleQuote(void)
{
  VARIANT_BOOL prop;
  this->get_AddHebDoubleQuote((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AddHebDoubleQuote(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddHebDoubleQuote"), DISPID(419));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_UseDiffDiacColor(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseDiffDiacColor"), DISPID(420));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_UseDiffDiacColor(void)
{
  VARIANT_BOOL prop;
  this->get_UseDiffDiacColor((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_UseDiffDiacColor(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseDiffDiacColor"), DISPID(420));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DiacriticColorVal(Word_xp::WdColor* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DiacriticColorVal"), DISPID(421));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColor __fastcall
OptionsDispT<T>::get_DiacriticColorVal(void)
{
  Word_xp::WdColor prop;
  this->get_DiacriticColorVal((Word_xp::WdColor*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DiacriticColorVal(Word_xp::WdColor prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DiacriticColorVal"), DISPID(421));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_OptimizeForWord97byDefault(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OptimizeForWord97byDefault"), DISPID(423));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_OptimizeForWord97byDefault(void)
{
  VARIANT_BOOL prop;
  this->get_OptimizeForWord97byDefault((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_OptimizeForWord97byDefault(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OptimizeForWord97byDefault"), DISPID(423));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_LocalNetworkFile(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LocalNetworkFile"), DISPID(424));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_LocalNetworkFile(void)
{
  VARIANT_BOOL prop;
  this->get_LocalNetworkFile((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_LocalNetworkFile(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LocalNetworkFile"), DISPID(424));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_TypeNReplace(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TypeNReplace"), DISPID(425));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_TypeNReplace(void)
{
  VARIANT_BOOL prop;
  this->get_TypeNReplace((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_TypeNReplace(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TypeNReplace"), DISPID(425));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_SequenceCheck(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SequenceCheck"), DISPID(426));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_SequenceCheck(void)
{
  VARIANT_BOOL prop;
  this->get_SequenceCheck((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_SequenceCheck(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SequenceCheck"), DISPID(426));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_BackgroundOpen(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BackgroundOpen"), DISPID(427));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_BackgroundOpen(void)
{
  VARIANT_BOOL prop;
  this->get_BackgroundOpen((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_BackgroundOpen(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BackgroundOpen"), DISPID(427));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DisableFeaturesbyDefault(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableFeaturesbyDefault"), DISPID(428));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_DisableFeaturesbyDefault(void)
{
  VARIANT_BOOL prop;
  this->get_DisableFeaturesbyDefault((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DisableFeaturesbyDefault(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableFeaturesbyDefault"), DISPID(428));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PasteAdjustWordSpacing(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteAdjustWordSpacing"), DISPID(429));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PasteAdjustWordSpacing(void)
{
  VARIANT_BOOL prop;
  this->get_PasteAdjustWordSpacing((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PasteAdjustWordSpacing(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteAdjustWordSpacing"), DISPID(429));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PasteAdjustParagraphSpacing(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteAdjustParagraphSpacing"), DISPID(430));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PasteAdjustParagraphSpacing(void)
{
  VARIANT_BOOL prop;
  this->get_PasteAdjustParagraphSpacing((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PasteAdjustParagraphSpacing(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteAdjustParagraphSpacing"), DISPID(430));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PasteAdjustTableFormatting(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteAdjustTableFormatting"), DISPID(431));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PasteAdjustTableFormatting(void)
{
  VARIANT_BOOL prop;
  this->get_PasteAdjustTableFormatting((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PasteAdjustTableFormatting(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteAdjustTableFormatting"), DISPID(431));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PasteSmartStyleBehavior(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteSmartStyleBehavior"), DISPID(432));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PasteSmartStyleBehavior(void)
{
  VARIANT_BOOL prop;
  this->get_PasteSmartStyleBehavior((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PasteSmartStyleBehavior(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteSmartStyleBehavior"), DISPID(432));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PasteMergeFromPPT(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteMergeFromPPT"), DISPID(433));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PasteMergeFromPPT(void)
{
  VARIANT_BOOL prop;
  this->get_PasteMergeFromPPT((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PasteMergeFromPPT(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteMergeFromPPT"), DISPID(433));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PasteMergeFromXL(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteMergeFromXL"), DISPID(434));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PasteMergeFromXL(void)
{
  VARIANT_BOOL prop;
  this->get_PasteMergeFromXL((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PasteMergeFromXL(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteMergeFromXL"), DISPID(434));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_CtrlClickHyperlinkToOpen(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CtrlClickHyperlinkToOpen"), DISPID(435));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_CtrlClickHyperlinkToOpen(void)
{
  VARIANT_BOOL prop;
  this->get_CtrlClickHyperlinkToOpen((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_CtrlClickHyperlinkToOpen(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CtrlClickHyperlinkToOpen"), DISPID(435));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PictureWrapType(Word_xp::WdWrapTypeMerged* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PictureWrapType"), DISPID(436));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdWrapTypeMerged __fastcall
OptionsDispT<T>::get_PictureWrapType(void)
{
  Word_xp::WdWrapTypeMerged prop;
  this->get_PictureWrapType((Word_xp::WdWrapTypeMerged*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PictureWrapType(Word_xp::WdWrapTypeMerged prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PictureWrapType"), DISPID(436));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DisableFeaturesIntroducedAfterbyDefault(Word_xp::WdDisableFeaturesIntroducedAfter* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableFeaturesIntroducedAfterbyDefault"), DISPID(437));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdDisableFeaturesIntroducedAfter __fastcall
OptionsDispT<T>::get_DisableFeaturesIntroducedAfterbyDefault(void)
{
  Word_xp::WdDisableFeaturesIntroducedAfter prop;
  this->get_DisableFeaturesIntroducedAfterbyDefault((Word_xp::WdDisableFeaturesIntroducedAfter*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DisableFeaturesIntroducedAfterbyDefault(Word_xp::WdDisableFeaturesIntroducedAfter prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisableFeaturesIntroducedAfterbyDefault"), DISPID(437));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PasteSmartCutPaste(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteSmartCutPaste"), DISPID(438));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PasteSmartCutPaste(void)
{
  VARIANT_BOOL prop;
  this->get_PasteSmartCutPaste((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PasteSmartCutPaste(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteSmartCutPaste"), DISPID(438));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DisplayPasteOptions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayPasteOptions"), DISPID(439));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_DisplayPasteOptions(void)
{
  VARIANT_BOOL prop;
  this->get_DisplayPasteOptions((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DisplayPasteOptions(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplayPasteOptions"), DISPID(439));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PromptUpdateStyle(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PromptUpdateStyle"), DISPID(441));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PromptUpdateStyle(void)
{
  VARIANT_BOOL prop;
  this->get_PromptUpdateStyle((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PromptUpdateStyle(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PromptUpdateStyle"), DISPID(441));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DefaultEPostageApp(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultEPostageApp"), DISPID(442));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
OptionsDispT<T>::get_DefaultEPostageApp(void)
{
  BSTR prop;
  this->get_DefaultEPostageApp((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DefaultEPostageApp(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultEPostageApp"), DISPID(442));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DefaultTextEncoding(Office_xp::MsoEncoding* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTextEncoding"), DISPID(443));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoEncoding __fastcall
OptionsDispT<T>::get_DefaultTextEncoding(void)
{
  Office_xp::MsoEncoding prop;
  this->get_DefaultTextEncoding((Office_xp::MsoEncoding*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DefaultTextEncoding(Office_xp::MsoEncoding prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefaultTextEncoding"), DISPID(443));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_LabelSmartTags(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LabelSmartTags"), DISPID(444));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_LabelSmartTags(void)
{
  VARIANT_BOOL prop;
  this->get_LabelSmartTags((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_LabelSmartTags(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LabelSmartTags"), DISPID(444));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_DisplaySmartTagButtons(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplaySmartTagButtons"), DISPID(445));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_DisplaySmartTagButtons(void)
{
  VARIANT_BOOL prop;
  this->get_DisplaySmartTagButtons((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_DisplaySmartTagButtons(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisplaySmartTagButtons"), DISPID(445));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_WarnBeforeSavingPrintingSendingMarkup(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WarnBeforeSavingPrintingSendingMarkup"), DISPID(446));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_WarnBeforeSavingPrintingSendingMarkup(void)
{
  VARIANT_BOOL prop;
  this->get_WarnBeforeSavingPrintingSendingMarkup((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_WarnBeforeSavingPrintingSendingMarkup(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WarnBeforeSavingPrintingSendingMarkup"), DISPID(446));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_StoreRSIDOnSave(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StoreRSIDOnSave"), DISPID(447));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_StoreRSIDOnSave(void)
{
  VARIANT_BOOL prop;
  this->get_StoreRSIDOnSave((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_StoreRSIDOnSave(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StoreRSIDOnSave"), DISPID(447));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_ShowFormatError(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowFormatError"), DISPID(448));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_ShowFormatError(void)
{
  VARIANT_BOOL prop;
  this->get_ShowFormatError((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_ShowFormatError(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ShowFormatError"), DISPID(448));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_FormatScanning(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormatScanning"), DISPID(449));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_FormatScanning(void)
{
  VARIANT_BOOL prop;
  this->get_FormatScanning((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_FormatScanning(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FormatScanning"), DISPID(449));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_PasteMergeLists(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteMergeLists"), DISPID(450));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_PasteMergeLists(void)
{
  VARIANT_BOOL prop;
  this->get_PasteMergeLists((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_PasteMergeLists(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PasteMergeLists"), DISPID(450));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_AutoCreateNewDrawings(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoCreateNewDrawings"), DISPID(451));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_AutoCreateNewDrawings(void)
{
  VARIANT_BOOL prop;
  this->get_AutoCreateNewDrawings((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_AutoCreateNewDrawings(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoCreateNewDrawings"), DISPID(451));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_SmartParaSelection(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmartParaSelection"), DISPID(452));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
OptionsDispT<T>::get_SmartParaSelection(void)
{
  VARIANT_BOOL prop;
  this->get_SmartParaSelection((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_SmartParaSelection(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SmartParaSelection"), DISPID(452));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_RevisionsBalloonPrintOrientation(Word_xp::WdRevisionsBalloonPrintOrientation* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsBalloonPrintOrientation"), DISPID(453));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRevisionsBalloonPrintOrientation __fastcall
OptionsDispT<T>::get_RevisionsBalloonPrintOrientation(void)
{
  Word_xp::WdRevisionsBalloonPrintOrientation prop;
  this->get_RevisionsBalloonPrintOrientation((Word_xp::WdRevisionsBalloonPrintOrientation*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_RevisionsBalloonPrintOrientation(Word_xp::WdRevisionsBalloonPrintOrientation prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RevisionsBalloonPrintOrientation"), DISPID(453));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::get_CommentsColor(Word_xp::WdColorIndex* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CommentsColor"), DISPID(454));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColorIndex __fastcall
OptionsDispT<T>::get_CommentsColor(void)
{
  Word_xp::WdColorIndex prop;
  this->get_CommentsColor((Word_xp::WdColorIndex*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OptionsDispT<T>::set_CommentsColor(Word_xp::WdColorIndex prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CommentsColor"), DISPID(454));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  MailMessage
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209BA-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
MailMessageDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MailMessageDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailMessageDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MailMessageDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::CheckName()
{
  _TDispID _dispid(*this, OLETEXT("CheckName"), DISPID(334));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(335));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::DisplayMoveDialog()
{
  _TDispID _dispid(*this, OLETEXT("DisplayMoveDialog"), DISPID(336));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::DisplayProperties()
{
  _TDispID _dispid(*this, OLETEXT("DisplayProperties"), DISPID(337));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::DisplaySelectNamesDialog()
{
  _TDispID _dispid(*this, OLETEXT("DisplaySelectNamesDialog"), DISPID(338));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::Forward()
{
  _TDispID _dispid(*this, OLETEXT("Forward"), DISPID(339));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::GoToNext()
{
  _TDispID _dispid(*this, OLETEXT("GoToNext"), DISPID(340));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::GoToPrevious()
{
  _TDispID _dispid(*this, OLETEXT("GoToPrevious"), DISPID(341));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::Reply()
{
  _TDispID _dispid(*this, OLETEXT("Reply"), DISPID(342));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::ReplyAll()
{
  _TDispID _dispid(*this, OLETEXT("ReplyAll"), DISPID(343));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
MailMessageDispT<T>::ToggleHeader()
{
  _TDispID _dispid(*this, OLETEXT("ToggleHeader"), DISPID(344));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  ProofreadingErrors
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209BB-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ProofreadingErrorsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ProofreadingErrorsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ProofreadingErrorsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ProofreadingErrorsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ProofreadingErrorsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ProofreadingErrorsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ProofreadingErrorsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ProofreadingErrorsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ProofreadingErrorsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ProofreadingErrorsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ProofreadingErrorsDispT<T>::get_Type(Word_xp::WdProofreadingErrorType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdProofreadingErrorType __fastcall
ProofreadingErrorsDispT<T>::get_Type(void)
{
  Word_xp::WdProofreadingErrorType prop;
  this->get_Type((Word_xp::WdProofreadingErrorType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ProofreadingErrorsDispT<T>::Item(long Index/*[in]*/, Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::WordRange* __fastcall
ProofreadingErrorsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::WordRange* prop;
  this->Item(Index, (Word_xp::WordRange**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Mailer
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209BD-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
MailerDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MailerDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailerDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MailerDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailerDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MailerDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailerDispT<T>::get_BCCRecipients(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BCCRecipients"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
MailerDispT<T>::get_BCCRecipients(void)
{
  VARIANT prop;
  this->get_BCCRecipients((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailerDispT<T>::set_BCCRecipients(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BCCRecipients"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailerDispT<T>::get_CCRecipients(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CCRecipients"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
MailerDispT<T>::get_CCRecipients(void)
{
  VARIANT prop;
  this->get_CCRecipients((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailerDispT<T>::set_CCRecipients(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CCRecipients"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailerDispT<T>::get_Recipients(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Recipients"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
MailerDispT<T>::get_Recipients(void)
{
  VARIANT prop;
  this->get_Recipients((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailerDispT<T>::set_Recipients(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Recipients"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailerDispT<T>::get_Enclosures(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Enclosures"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
MailerDispT<T>::get_Enclosures(void)
{
  VARIANT prop;
  this->get_Enclosures((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailerDispT<T>::set_Enclosures(VARIANT* prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Enclosures"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_VARIANT:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
MailerDispT<T>::get_Sender(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Sender"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailerDispT<T>::get_Sender(void)
{
  BSTR prop;
  this->get_Sender((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailerDispT<T>::get_SendDateTime(DATE* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SendDateTime"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DATE:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> DATE __fastcall
MailerDispT<T>::get_SendDateTime(void)
{
  DATE prop;
  this->get_SendDateTime((DATE*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailerDispT<T>::get_Received(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Received"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
MailerDispT<T>::get_Received(void)
{
  VARIANT_BOOL prop;
  this->get_Received((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailerDispT<T>::get_Subject(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Subject"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MailerDispT<T>::get_Subject(void)
{
  BSTR prop;
  this->get_Subject((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MailerDispT<T>::set_Subject(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Subject"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  WrapFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C3-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
WrapFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
WrapFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WrapFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
WrapFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::get_Type(Word_xp::WdWrapType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdWrapType __fastcall
WrapFormatDispT<T>::get_Type(void)
{
  Word_xp::WdWrapType prop;
  this->get_Type((Word_xp::WdWrapType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::set_Type(Word_xp::WdWrapType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::get_Side(Word_xp::WdWrapSideType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Side"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdWrapSideType __fastcall
WrapFormatDispT<T>::get_Side(void)
{
  Word_xp::WdWrapSideType prop;
  this->get_Side((Word_xp::WdWrapSideType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::set_Side(Word_xp::WdWrapSideType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Side"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::get_DistanceTop(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceTop"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
WrapFormatDispT<T>::get_DistanceTop(void)
{
  float prop;
  this->get_DistanceTop((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::set_DistanceTop(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceTop"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::get_DistanceBottom(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceBottom"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
WrapFormatDispT<T>::get_DistanceBottom(void)
{
  float prop;
  this->get_DistanceBottom((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::set_DistanceBottom(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceBottom"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::get_DistanceLeft(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceLeft"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
WrapFormatDispT<T>::get_DistanceLeft(void)
{
  float prop;
  this->get_DistanceLeft((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::set_DistanceLeft(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceLeft"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::get_DistanceRight(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceRight"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
WrapFormatDispT<T>::get_DistanceRight(void)
{
  float prop;
  this->get_DistanceRight((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::set_DistanceRight(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DistanceRight"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::get_AllowOverlap(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowOverlap"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WrapFormatDispT<T>::get_AllowOverlap(void)
{
  long prop;
  this->get_AllowOverlap((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WrapFormatDispT<T>::set_AllowOverlap(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowOverlap"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  HangulAndAlphabetExceptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209D1-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
HangulAndAlphabetExceptionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HangulAndAlphabetExceptionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
HangulAndAlphabetExceptionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
HangulAndAlphabetExceptionsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HangulAndAlphabetExceptionsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionsDispT<T>::Item(VARIANT* Index/*[in]*/, 
                                          Word_xp::HangulAndAlphabetException** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HangulAndAlphabetException**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::HangulAndAlphabetException* __fastcall
HangulAndAlphabetExceptionsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::HangulAndAlphabetException* prop;
  this->Item(Index, (Word_xp::HangulAndAlphabetException**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionsDispT<T>::Add(BSTR Name/*[in]*/, 
                                         Word_xp::HangulAndAlphabetException** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HangulAndAlphabetException**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::HangulAndAlphabetException* __fastcall
HangulAndAlphabetExceptionsDispT<T>::Add(BSTR Name/*[in]*/)
{
  Word_xp::HangulAndAlphabetException* prop;
  this->Add(Name, (Word_xp::HangulAndAlphabetException**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  HangulAndAlphabetException
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209D2-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
HangulAndAlphabetExceptionDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HangulAndAlphabetExceptionDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
HangulAndAlphabetExceptionDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HangulAndAlphabetExceptionDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
HangulAndAlphabetExceptionDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HangulAndAlphabetExceptionDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(101));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Adjustments
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C4-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
AdjustmentsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
AdjustmentsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AdjustmentsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AdjustmentsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AdjustmentsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
AdjustmentsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AdjustmentsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
AdjustmentsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AdjustmentsDispT<T>::get_Item(long Index/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
AdjustmentsDispT<T>::get_Item(long Index/*[in]*/)
{
  float prop;
  this->get_Item(Index, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
AdjustmentsDispT<T>::set_Item(long Index/*[in]*/, float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<2> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  _args[2] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  CalloutFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C5-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CalloutFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CalloutFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CalloutFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_Accent(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Accent"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
CalloutFormatDispT<T>::get_Accent(void)
{
  Office_xp::MsoTriState prop;
  this->get_Accent((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::set_Accent(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Accent"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_Angle(Office_xp::MsoCalloutAngleType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Angle"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoCalloutAngleType __fastcall
CalloutFormatDispT<T>::get_Angle(void)
{
  Office_xp::MsoCalloutAngleType prop;
  this->get_Angle((Office_xp::MsoCalloutAngleType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::set_Angle(Office_xp::MsoCalloutAngleType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Angle"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_AutoAttach(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoAttach"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
CalloutFormatDispT<T>::get_AutoAttach(void)
{
  Office_xp::MsoTriState prop;
  this->get_AutoAttach((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::set_AutoAttach(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoAttach"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_AutoLength(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoLength"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
CalloutFormatDispT<T>::get_AutoLength(void)
{
  Office_xp::MsoTriState prop;
  this->get_AutoLength((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_Border(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Border"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
CalloutFormatDispT<T>::get_Border(void)
{
  Office_xp::MsoTriState prop;
  this->get_Border((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::set_Border(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Border"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_Drop(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Drop"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CalloutFormatDispT<T>::get_Drop(void)
{
  float prop;
  this->get_Drop((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_DropType(Office_xp::MsoCalloutDropType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DropType"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoCalloutDropType __fastcall
CalloutFormatDispT<T>::get_DropType(void)
{
  Office_xp::MsoCalloutDropType prop;
  this->get_DropType((Office_xp::MsoCalloutDropType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_Gap(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Gap"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CalloutFormatDispT<T>::get_Gap(void)
{
  float prop;
  this->get_Gap((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::set_Gap(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Gap"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_Length(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Length"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
CalloutFormatDispT<T>::get_Length(void)
{
  float prop;
  this->get_Length((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::get_Type(Office_xp::MsoCalloutType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoCalloutType __fastcall
CalloutFormatDispT<T>::get_Type(void)
{
  Office_xp::MsoCalloutType prop;
  this->get_Type((Office_xp::MsoCalloutType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::set_Type(Office_xp::MsoCalloutType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::AutomaticLength()
{
  _TDispID _dispid(*this, OLETEXT("AutomaticLength"), DISPID(10));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::CustomDrop(float Drop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CustomDrop"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = Drop /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::CustomLength(float Length/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CustomLength"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = Length /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
CalloutFormatDispT<T>::PresetDrop(Office_xp::MsoCalloutDropType DropType/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetDrop"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = (int)DropType /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  ColorFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C6-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ColorFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColorFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ColorFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_rgb(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RGB"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColorFormatDispT<T>::get_rgb(void)
{
  long prop;
  this->get_rgb((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::set_rgb(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RGB"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_SchemeColor(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SchemeColor"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColorFormatDispT<T>::get_SchemeColor(void)
{
  long prop;
  this->get_SchemeColor((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::set_SchemeColor(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SchemeColor"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_Type(Office_xp::MsoColorType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoColorType __fastcall
ColorFormatDispT<T>::get_Type(void)
{
  Office_xp::MsoColorType prop;
  this->get_Type((Office_xp::MsoColorType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ColorFormatDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_TintAndShade(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TintAndShade"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ColorFormatDispT<T>::get_TintAndShade(void)
{
  float prop;
  this->get_TintAndShade((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::set_TintAndShade(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TintAndShade"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_OverPrint(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OverPrint"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ColorFormatDispT<T>::get_OverPrint(void)
{
  Office_xp::MsoTriState prop;
  this->get_OverPrint((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::set_OverPrint(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OverPrint"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_Ink(long Index/*[in]*/, float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Ink"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ColorFormatDispT<T>::get_Ink(long Index/*[in]*/)
{
  float prop;
  this->get_Ink(Index, (float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::set_Ink(long Index/*[in]*/, float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Ink"), DISPID(105));
  TAutoArgs<2> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  _args[2] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_Cyan(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Cyan"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColorFormatDispT<T>::get_Cyan(void)
{
  long prop;
  this->get_Cyan((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::set_Cyan(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Cyan"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_Magenta(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Magenta"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColorFormatDispT<T>::get_Magenta(void)
{
  long prop;
  this->get_Magenta((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::set_Magenta(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Magenta"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_Yellow(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Yellow"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColorFormatDispT<T>::get_Yellow(void)
{
  long prop;
  this->get_Yellow((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::set_Yellow(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Yellow"), DISPID(108));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::get_Black(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Black"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ColorFormatDispT<T>::get_Black(void)
{
  long prop;
  this->get_Black((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::set_Black(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Black"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ColorFormatDispT<T>::SetCMYK(long Cyan/*[in]*/, long Magenta/*[in]*/, long Yellow/*[in]*/, 
                             long Black/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetCMYK"), DISPID(110));
  TAutoArgs<4> _args;
  _args[1] = Cyan /*[VT_I4:0]*/;
  _args[2] = Magenta /*[VT_I4:0]*/;
  _args[3] = Yellow /*[VT_I4:0]*/;
  _args[4] = Black /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  ConnectorFormat
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C7-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ConnectorFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ConnectorFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::get_BeginConnected(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BeginConnected"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ConnectorFormatDispT<T>::get_BeginConnected(void)
{
  Office_xp::MsoTriState prop;
  this->get_BeginConnected((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::get_BeginConnectedShape(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BeginConnectedShape"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapePtr __fastcall
ConnectorFormatDispT<T>::get_BeginConnectedShape(void)
{
  Word_xp::ShapePtr prop;
  this->get_BeginConnectedShape(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::get_BeginConnectionSite(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BeginConnectionSite"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ConnectorFormatDispT<T>::get_BeginConnectionSite(void)
{
  long prop;
  this->get_BeginConnectionSite((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::get_EndConnected(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndConnected"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ConnectorFormatDispT<T>::get_EndConnected(void)
{
  Office_xp::MsoTriState prop;
  this->get_EndConnected((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::get_EndConnectedShape(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndConnectedShape"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapePtr __fastcall
ConnectorFormatDispT<T>::get_EndConnectedShape(void)
{
  Word_xp::ShapePtr prop;
  this->get_EndConnectedShape(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::get_EndConnectionSite(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndConnectionSite"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ConnectorFormatDispT<T>::get_EndConnectionSite(void)
{
  long prop;
  this->get_EndConnectionSite((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ConnectorFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::get_Type(Office_xp::MsoConnectorType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoConnectorType __fastcall
ConnectorFormatDispT<T>::get_Type(void)
{
  Office_xp::MsoConnectorType prop;
  this->get_Type((Office_xp::MsoConnectorType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::set_Type(Office_xp::MsoConnectorType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::BeginConnect(Word_xp::Shape** ConnectedShape/*[out]*/, 
                                      long ConnectionSite/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BeginConnect"), DISPID(10));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH*)(Word_xp::Shape**)ConnectedShape /*[VT_USERDEFINED:2]*/;
  _args[2] = ConnectionSite /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::BeginDisconnect()
{
  _TDispID _dispid(*this, OLETEXT("BeginDisconnect"), DISPID(11));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::EndConnect(Word_xp::Shape** ConnectedShape/*[out]*/, 
                                    long ConnectionSite/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndConnect"), DISPID(12));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH*)(Word_xp::Shape**)ConnectedShape /*[VT_USERDEFINED:2]*/;
  _args[2] = ConnectionSite /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ConnectorFormatDispT<T>::EndDisconnect()
{
  _TDispID _dispid(*this, OLETEXT("EndDisconnect"), DISPID(13));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  FillFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C8-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FillFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FillFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FillFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_BackColor(Word_xp::ColorFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BackColor"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ColorFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColorFormatPtr __fastcall
FillFormatDispT<T>::get_BackColor(void)
{
  Word_xp::ColorFormatPtr prop;
  this->get_BackColor(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_ForeColor(Word_xp::ColorFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ForeColor"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ColorFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColorFormatPtr __fastcall
FillFormatDispT<T>::get_ForeColor(void)
{
  Word_xp::ColorFormatPtr prop;
  this->get_ForeColor(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_GradientColorType(Office_xp::MsoGradientColorType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GradientColorType"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoGradientColorType __fastcall
FillFormatDispT<T>::get_GradientColorType(void)
{
  Office_xp::MsoGradientColorType prop;
  this->get_GradientColorType((Office_xp::MsoGradientColorType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_GradientDegree(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GradientDegree"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
FillFormatDispT<T>::get_GradientDegree(void)
{
  float prop;
  this->get_GradientDegree((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_GradientStyle(Office_xp::MsoGradientStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GradientStyle"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoGradientStyle __fastcall
FillFormatDispT<T>::get_GradientStyle(void)
{
  Office_xp::MsoGradientStyle prop;
  this->get_GradientStyle((Office_xp::MsoGradientStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_GradientVariant(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GradientVariant"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FillFormatDispT<T>::get_GradientVariant(void)
{
  long prop;
  this->get_GradientVariant((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_Pattern(Office_xp::MsoPatternType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Pattern"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoPatternType __fastcall
FillFormatDispT<T>::get_Pattern(void)
{
  Office_xp::MsoPatternType prop;
  this->get_Pattern((Office_xp::MsoPatternType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_PresetGradientType(Office_xp::MsoPresetGradientType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetGradientType"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoPresetGradientType __fastcall
FillFormatDispT<T>::get_PresetGradientType(void)
{
  Office_xp::MsoPresetGradientType prop;
  this->get_PresetGradientType((Office_xp::MsoPresetGradientType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_PresetTexture(Office_xp::MsoPresetTexture* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetTexture"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoPresetTexture __fastcall
FillFormatDispT<T>::get_PresetTexture(void)
{
  Office_xp::MsoPresetTexture prop;
  this->get_PresetTexture((Office_xp::MsoPresetTexture*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_TextureName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextureName"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FillFormatDispT<T>::get_TextureName(void)
{
  BSTR prop;
  this->get_TextureName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_TextureType(Office_xp::MsoTextureType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextureType"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTextureType __fastcall
FillFormatDispT<T>::get_TextureType(void)
{
  Office_xp::MsoTextureType prop;
  this->get_TextureType((Office_xp::MsoTextureType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_Transparency(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Transparency"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
FillFormatDispT<T>::get_Transparency(void)
{
  float prop;
  this->get_Transparency((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::set_Transparency(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Transparency"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_Type(Office_xp::MsoFillType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoFillType __fastcall
FillFormatDispT<T>::get_Type(void)
{
  Office_xp::MsoFillType prop;
  this->get_Type((Office_xp::MsoFillType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(113));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
FillFormatDispT<T>::get_Visible(void)
{
  Office_xp::MsoTriState prop;
  this->get_Visible((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::set_Visible(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(113));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::Background()
{
  _TDispID _dispid(*this, OLETEXT("Background"), DISPID(10));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::OneColorGradient(Office_xp::MsoGradientStyle Style/*[in]*/, long Variant/*[in]*/
                                     , float Degree/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OneColorGradient"), DISPID(11));
  TAutoArgs<3> _args;
  _args[1] = (int)Style /*[VT_USERDEFINED:0]*/;
  _args[2] = Variant /*[VT_I4:0]*/;
  _args[3] = Degree /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::Patterned(Office_xp::MsoPatternType Pattern/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Patterned"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (int)Pattern /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::PresetGradient(Office_xp::MsoGradientStyle Style/*[in]*/, long Variant/*[in]*/, 
                                   Office_xp::MsoPresetGradientType PresetGradientType/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetGradient"), DISPID(13));
  TAutoArgs<3> _args;
  _args[1] = (int)Style /*[VT_USERDEFINED:0]*/;
  _args[2] = Variant /*[VT_I4:0]*/;
  _args[3] = (int)PresetGradientType /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::PresetTextured(Office_xp::MsoPresetTexture PresetTexture/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetTextured"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = (int)PresetTexture /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::Solid()
{
  _TDispID _dispid(*this, OLETEXT("Solid"), DISPID(15));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::TwoColorGradient(Office_xp::MsoGradientStyle Style/*[in]*/, long Variant/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TwoColorGradient"), DISPID(16));
  TAutoArgs<2> _args;
  _args[1] = (int)Style /*[VT_USERDEFINED:0]*/;
  _args[2] = Variant /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::UserPicture(BSTR PictureFile/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UserPicture"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = PictureFile /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
FillFormatDispT<T>::UserTextured(BSTR TextureFile/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UserTextured"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = TextureFile /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  FreeformBuilder
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209C9-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FreeformBuilderDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FreeformBuilderDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FreeformBuilderDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FreeformBuilderDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FreeformBuilderDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FreeformBuilderDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FreeformBuilderDispT<T>::AddNodes(Office_xp::MsoSegmentType SegmentType/*[in]*/, 
                                  Office_xp::MsoEditingType EditingType/*[in]*/, float X1/*[in]*/, 
                                  float Y1/*[in]*/, float X2/*[in,def,opt]*/, 
                                  float Y2/*[in,def,opt]*/, float X3/*[in,def,opt]*/, 
                                  float Y3/*[in,def,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddNodes"), DISPID(10));
  TAutoArgs<8> _args;
  _args[1] = (int)SegmentType /*[VT_USERDEFINED:0]*/;
  _args[2] = (int)EditingType /*[VT_USERDEFINED:0]*/;
  _args[3] = X1 /*[VT_R4:0]*/;
  _args[4] = Y1 /*[VT_R4:0]*/;
  _args[5] = X2 /*[VT_R4:0]*/;
  _args[6] = Y2 /*[VT_R4:0]*/;
  _args[7] = X3 /*[VT_R4:0]*/;
  _args[8] = Y3 /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
FreeformBuilderDispT<T>::ConvertToShape(VARIANT* Anchor/*[in,opt]*/, 
                                        Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ConvertToShape"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = Anchor /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
FreeformBuilderDispT<T>::ConvertToShape(VARIANT* Anchor/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->ConvertToShape(Anchor, (Word_xp::Shape**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  LineFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CA-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
LineFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
LineFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
LineFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_BackColor(Word_xp::ColorFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BackColor"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ColorFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColorFormatPtr __fastcall
LineFormatDispT<T>::get_BackColor(void)
{
  Word_xp::ColorFormatPtr prop;
  this->get_BackColor(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_BeginArrowheadLength(Office_xp::MsoArrowheadLength* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BeginArrowheadLength"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoArrowheadLength __fastcall
LineFormatDispT<T>::get_BeginArrowheadLength(void)
{
  Office_xp::MsoArrowheadLength prop;
  this->get_BeginArrowheadLength((Office_xp::MsoArrowheadLength*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_BeginArrowheadLength(Office_xp::MsoArrowheadLength prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BeginArrowheadLength"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_BeginArrowheadStyle(Office_xp::MsoArrowheadStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BeginArrowheadStyle"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoArrowheadStyle __fastcall
LineFormatDispT<T>::get_BeginArrowheadStyle(void)
{
  Office_xp::MsoArrowheadStyle prop;
  this->get_BeginArrowheadStyle((Office_xp::MsoArrowheadStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_BeginArrowheadStyle(Office_xp::MsoArrowheadStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BeginArrowheadStyle"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_BeginArrowheadWidth(Office_xp::MsoArrowheadWidth* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BeginArrowheadWidth"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoArrowheadWidth __fastcall
LineFormatDispT<T>::get_BeginArrowheadWidth(void)
{
  Office_xp::MsoArrowheadWidth prop;
  this->get_BeginArrowheadWidth((Office_xp::MsoArrowheadWidth*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_BeginArrowheadWidth(Office_xp::MsoArrowheadWidth prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BeginArrowheadWidth"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_DashStyle(Office_xp::MsoLineDashStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DashStyle"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoLineDashStyle __fastcall
LineFormatDispT<T>::get_DashStyle(void)
{
  Office_xp::MsoLineDashStyle prop;
  this->get_DashStyle((Office_xp::MsoLineDashStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_DashStyle(Office_xp::MsoLineDashStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DashStyle"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_EndArrowheadLength(Office_xp::MsoArrowheadLength* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndArrowheadLength"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoArrowheadLength __fastcall
LineFormatDispT<T>::get_EndArrowheadLength(void)
{
  Office_xp::MsoArrowheadLength prop;
  this->get_EndArrowheadLength((Office_xp::MsoArrowheadLength*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_EndArrowheadLength(Office_xp::MsoArrowheadLength prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndArrowheadLength"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_EndArrowheadStyle(Office_xp::MsoArrowheadStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndArrowheadStyle"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoArrowheadStyle __fastcall
LineFormatDispT<T>::get_EndArrowheadStyle(void)
{
  Office_xp::MsoArrowheadStyle prop;
  this->get_EndArrowheadStyle((Office_xp::MsoArrowheadStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_EndArrowheadStyle(Office_xp::MsoArrowheadStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndArrowheadStyle"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_EndArrowheadWidth(Office_xp::MsoArrowheadWidth* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndArrowheadWidth"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoArrowheadWidth __fastcall
LineFormatDispT<T>::get_EndArrowheadWidth(void)
{
  Office_xp::MsoArrowheadWidth prop;
  this->get_EndArrowheadWidth((Office_xp::MsoArrowheadWidth*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_EndArrowheadWidth(Office_xp::MsoArrowheadWidth prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndArrowheadWidth"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_ForeColor(Word_xp::ColorFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ForeColor"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ColorFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColorFormatPtr __fastcall
LineFormatDispT<T>::get_ForeColor(void)
{
  Word_xp::ColorFormatPtr prop;
  this->get_ForeColor(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_Pattern(Office_xp::MsoPatternType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Pattern"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoPatternType __fastcall
LineFormatDispT<T>::get_Pattern(void)
{
  Office_xp::MsoPatternType prop;
  this->get_Pattern((Office_xp::MsoPatternType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_Pattern(Office_xp::MsoPatternType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Pattern"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_Style(Office_xp::MsoLineStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoLineStyle __fastcall
LineFormatDispT<T>::get_Style(void)
{
  Office_xp::MsoLineStyle prop;
  this->get_Style((Office_xp::MsoLineStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_Style(Office_xp::MsoLineStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(110));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_Transparency(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Transparency"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
LineFormatDispT<T>::get_Transparency(void)
{
  float prop;
  this->get_Transparency((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_Transparency(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Transparency"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
LineFormatDispT<T>::get_Visible(void)
{
  Office_xp::MsoTriState prop;
  this->get_Visible((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_Visible(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(112));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_Weight(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Weight"), DISPID(113));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
LineFormatDispT<T>::get_Weight(void)
{
  float prop;
  this->get_Weight((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_Weight(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Weight"), DISPID(113));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::get_InsetPen(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsetPen"), DISPID(114));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
LineFormatDispT<T>::get_InsetPen(void)
{
  Office_xp::MsoTriState prop;
  this->get_InsetPen((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
LineFormatDispT<T>::set_InsetPen(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("InsetPen"), DISPID(114));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  PictureFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CB-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
PictureFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
PictureFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PictureFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
PictureFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::get_Brightness(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Brightness"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PictureFormatDispT<T>::get_Brightness(void)
{
  float prop;
  this->get_Brightness((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::set_Brightness(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Brightness"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::get_ColorType(Office_xp::MsoPictureColorType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColorType"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoPictureColorType __fastcall
PictureFormatDispT<T>::get_ColorType(void)
{
  Office_xp::MsoPictureColorType prop;
  this->get_ColorType((Office_xp::MsoPictureColorType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::set_ColorType(Office_xp::MsoPictureColorType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColorType"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::get_Contrast(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Contrast"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PictureFormatDispT<T>::get_Contrast(void)
{
  float prop;
  this->get_Contrast((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::set_Contrast(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Contrast"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::get_CropBottom(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CropBottom"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PictureFormatDispT<T>::get_CropBottom(void)
{
  float prop;
  this->get_CropBottom((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::set_CropBottom(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CropBottom"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::get_CropLeft(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CropLeft"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PictureFormatDispT<T>::get_CropLeft(void)
{
  float prop;
  this->get_CropLeft((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::set_CropLeft(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CropLeft"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::get_CropRight(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CropRight"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PictureFormatDispT<T>::get_CropRight(void)
{
  float prop;
  this->get_CropRight((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::set_CropRight(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CropRight"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::get_CropTop(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CropTop"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
PictureFormatDispT<T>::get_CropTop(void)
{
  float prop;
  this->get_CropTop((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::set_CropTop(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CropTop"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::get_TransparencyColor(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TransparencyColor"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
PictureFormatDispT<T>::get_TransparencyColor(void)
{
  long prop;
  this->get_TransparencyColor((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::set_TransparencyColor(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TransparencyColor"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::get_TransparentBackground(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TransparentBackground"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
PictureFormatDispT<T>::get_TransparentBackground(void)
{
  Office_xp::MsoTriState prop;
  this->get_TransparentBackground((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::set_TransparentBackground(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TransparentBackground"), DISPID(108));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::IncrementBrightness(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncrementBrightness"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
PictureFormatDispT<T>::IncrementContrast(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncrementContrast"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  ShadowFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CC-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ShadowFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShadowFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ShadowFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::get_ForeColor(Word_xp::ColorFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ForeColor"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ColorFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColorFormatPtr __fastcall
ShadowFormatDispT<T>::get_ForeColor(void)
{
  Word_xp::ColorFormatPtr prop;
  this->get_ForeColor(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::get_Obscured(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Obscured"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShadowFormatDispT<T>::get_Obscured(void)
{
  Office_xp::MsoTriState prop;
  this->get_Obscured((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::set_Obscured(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Obscured"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::get_OffsetX(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OffsetX"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShadowFormatDispT<T>::get_OffsetX(void)
{
  float prop;
  this->get_OffsetX((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::set_OffsetX(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OffsetX"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::get_OffsetY(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OffsetY"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShadowFormatDispT<T>::get_OffsetY(void)
{
  float prop;
  this->get_OffsetY((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::set_OffsetY(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OffsetY"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::get_Transparency(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Transparency"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ShadowFormatDispT<T>::get_Transparency(void)
{
  float prop;
  this->get_Transparency((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::set_Transparency(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Transparency"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::get_Type(Office_xp::MsoShadowType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoShadowType __fastcall
ShadowFormatDispT<T>::get_Type(void)
{
  Office_xp::MsoShadowType prop;
  this->get_Type((Office_xp::MsoShadowType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::set_Type(Office_xp::MsoShadowType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ShadowFormatDispT<T>::get_Visible(void)
{
  Office_xp::MsoTriState prop;
  this->get_Visible((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::set_Visible(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::IncrementOffsetX(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncrementOffsetX"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShadowFormatDispT<T>::IncrementOffsetY(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncrementOffsetY"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  ShapeNode
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CD-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ShapeNodeDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ShapeNodeDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeNodeDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeNodeDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeNodeDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ShapeNodeDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeNodeDispT<T>::get_EditingType(Office_xp::MsoEditingType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EditingType"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoEditingType __fastcall
ShapeNodeDispT<T>::get_EditingType(void)
{
  Office_xp::MsoEditingType prop;
  this->get_EditingType((Office_xp::MsoEditingType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeNodeDispT<T>::get_Points(VARIANT* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Points"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT __fastcall
ShapeNodeDispT<T>::get_Points(void)
{
  VARIANT prop;
  this->get_Points((VARIANT*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeNodeDispT<T>::get_SegmentType(Office_xp::MsoSegmentType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SegmentType"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoSegmentType __fastcall
ShapeNodeDispT<T>::get_SegmentType(void)
{
  Office_xp::MsoSegmentType prop;
  this->get_SegmentType((Office_xp::MsoSegmentType*)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  ShapeNodes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CE-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ShapeNodesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ShapeNodesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeNodesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeNodesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeNodesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ShapeNodesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeNodesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ShapeNodesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeNodesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ShapeNodesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeNodesDispT<T>::Delete(long Index/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeNodesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::ShapeNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShapeNode**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ShapeNode* __fastcall
ShapeNodesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::ShapeNode* prop;
  this->Item(Index, (Word_xp::ShapeNode**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ShapeNodesDispT<T>::SetEditingType(long Index/*[in]*/, Office_xp::MsoEditingType EditingType/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetEditingType"), DISPID(13));
  TAutoArgs<2> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  _args[2] = (int)EditingType /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeNodesDispT<T>::SetPosition(long Index/*[in]*/, float X1/*[in]*/, float Y1/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetPosition"), DISPID(14));
  TAutoArgs<3> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  _args[2] = X1 /*[VT_R4:0]*/;
  _args[3] = Y1 /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeNodesDispT<T>::SetSegmentType(long Index/*[in]*/, Office_xp::MsoSegmentType SegmentType/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetSegmentType"), DISPID(15));
  TAutoArgs<2> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  _args[2] = (int)SegmentType /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ShapeNodesDispT<T>::Insert(long Index/*[in]*/, Office_xp::MsoSegmentType SegmentType/*[in]*/, 
                           Office_xp::MsoEditingType EditingType/*[in]*/, float X1/*[in]*/, 
                           float Y1/*[in]*/, float X2/*[in,def,opt]*/, float Y2/*[in,def,opt]*/, 
                           float X3/*[in,def,opt]*/, float Y3/*[in,def,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("Insert"), DISPID(12));
  TAutoArgs<9> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  _args[2] = (int)SegmentType /*[VT_USERDEFINED:0]*/;
  _args[3] = (int)EditingType /*[VT_USERDEFINED:0]*/;
  _args[4] = X1 /*[VT_R4:0]*/;
  _args[5] = Y1 /*[VT_R4:0]*/;
  _args[6] = X2 /*[VT_R4:0]*/;
  _args[7] = Y2 /*[VT_R4:0]*/;
  _args[8] = X3 /*[VT_R4:0]*/;
  _args[9] = Y3 /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  TextEffectFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209CF-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TextEffectFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TextEffectFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TextEffectFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_Alignment(Office_xp::MsoTextEffectAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTextEffectAlignment __fastcall
TextEffectFormatDispT<T>::get_Alignment(void)
{
  Office_xp::MsoTextEffectAlignment prop;
  this->get_Alignment((Office_xp::MsoTextEffectAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::set_Alignment(Office_xp::MsoTextEffectAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_FontBold(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FontBold"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
TextEffectFormatDispT<T>::get_FontBold(void)
{
  Office_xp::MsoTriState prop;
  this->get_FontBold((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::set_FontBold(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FontBold"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_FontItalic(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FontItalic"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
TextEffectFormatDispT<T>::get_FontItalic(void)
{
  Office_xp::MsoTriState prop;
  this->get_FontItalic((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::set_FontItalic(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FontItalic"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_FontName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FontName"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TextEffectFormatDispT<T>::get_FontName(void)
{
  BSTR prop;
  this->get_FontName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::set_FontName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FontName"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_FontSize(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FontSize"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TextEffectFormatDispT<T>::get_FontSize(void)
{
  float prop;
  this->get_FontSize((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::set_FontSize(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FontSize"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_KernedPairs(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("KernedPairs"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
TextEffectFormatDispT<T>::get_KernedPairs(void)
{
  Office_xp::MsoTriState prop;
  this->get_KernedPairs((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::set_KernedPairs(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("KernedPairs"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_NormalizedHeight(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NormalizedHeight"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
TextEffectFormatDispT<T>::get_NormalizedHeight(void)
{
  Office_xp::MsoTriState prop;
  this->get_NormalizedHeight((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::set_NormalizedHeight(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NormalizedHeight"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_PresetShape(Office_xp::MsoPresetTextEffectShape* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetShape"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoPresetTextEffectShape __fastcall
TextEffectFormatDispT<T>::get_PresetShape(void)
{
  Office_xp::MsoPresetTextEffectShape prop;
  this->get_PresetShape((Office_xp::MsoPresetTextEffectShape*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::set_PresetShape(Office_xp::MsoPresetTextEffectShape prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetShape"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_PresetTextEffect(Office_xp::MsoPresetTextEffect* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetTextEffect"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoPresetTextEffect __fastcall
TextEffectFormatDispT<T>::get_PresetTextEffect(void)
{
  Office_xp::MsoPresetTextEffect prop;
  this->get_PresetTextEffect((Office_xp::MsoPresetTextEffect*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::set_PresetTextEffect(Office_xp::MsoPresetTextEffect prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetTextEffect"), DISPID(108));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_RotatedChars(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RotatedChars"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
TextEffectFormatDispT<T>::get_RotatedChars(void)
{
  Office_xp::MsoTriState prop;
  this->get_RotatedChars((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::set_RotatedChars(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RotatedChars"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_Text(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Text"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
TextEffectFormatDispT<T>::get_Text(void)
{
  BSTR prop;
  this->get_Text((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::set_Text(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Text"), DISPID(110));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::get_Tracking(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Tracking"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TextEffectFormatDispT<T>::get_Tracking(void)
{
  float prop;
  this->get_Tracking((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::set_Tracking(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Tracking"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TextEffectFormatDispT<T>::ToggleVerticalText()
{
  _TDispID _dispid(*this, OLETEXT("ToggleVerticalText"), DISPID(10));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  ThreeDFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209D0-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ThreeDFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ThreeDFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ThreeDFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_Depth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Depth"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ThreeDFormatDispT<T>::get_Depth(void)
{
  float prop;
  this->get_Depth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::set_Depth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Depth"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_ExtrusionColor(Word_xp::ColorFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ExtrusionColor"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ColorFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ColorFormatPtr __fastcall
ThreeDFormatDispT<T>::get_ExtrusionColor(void)
{
  Word_xp::ColorFormatPtr prop;
  this->get_ExtrusionColor(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_ExtrusionColorType(Office_xp::MsoExtrusionColorType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ExtrusionColorType"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoExtrusionColorType __fastcall
ThreeDFormatDispT<T>::get_ExtrusionColorType(void)
{
  Office_xp::MsoExtrusionColorType prop;
  this->get_ExtrusionColorType((Office_xp::MsoExtrusionColorType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::set_ExtrusionColorType(Office_xp::MsoExtrusionColorType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ExtrusionColorType"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_Perspective(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Perspective"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ThreeDFormatDispT<T>::get_Perspective(void)
{
  Office_xp::MsoTriState prop;
  this->get_Perspective((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::set_Perspective(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Perspective"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_PresetExtrusionDirection(Office_xp::MsoPresetExtrusionDirection* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetExtrusionDirection"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoPresetExtrusionDirection __fastcall
ThreeDFormatDispT<T>::get_PresetExtrusionDirection(void)
{
  Office_xp::MsoPresetExtrusionDirection prop;
  this->get_PresetExtrusionDirection((Office_xp::MsoPresetExtrusionDirection*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_PresetLightingDirection(Office_xp::MsoPresetLightingDirection* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetLightingDirection"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoPresetLightingDirection __fastcall
ThreeDFormatDispT<T>::get_PresetLightingDirection(void)
{
  Office_xp::MsoPresetLightingDirection prop;
  this->get_PresetLightingDirection((Office_xp::MsoPresetLightingDirection*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::set_PresetLightingDirection(Office_xp::MsoPresetLightingDirection prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetLightingDirection"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_PresetLightingSoftness(Office_xp::MsoPresetLightingSoftness* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetLightingSoftness"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoPresetLightingSoftness __fastcall
ThreeDFormatDispT<T>::get_PresetLightingSoftness(void)
{
  Office_xp::MsoPresetLightingSoftness prop;
  this->get_PresetLightingSoftness((Office_xp::MsoPresetLightingSoftness*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::set_PresetLightingSoftness(Office_xp::MsoPresetLightingSoftness prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetLightingSoftness"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_PresetMaterial(Office_xp::MsoPresetMaterial* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetMaterial"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoPresetMaterial __fastcall
ThreeDFormatDispT<T>::get_PresetMaterial(void)
{
  Office_xp::MsoPresetMaterial prop;
  this->get_PresetMaterial((Office_xp::MsoPresetMaterial*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::set_PresetMaterial(Office_xp::MsoPresetMaterial prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetMaterial"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_PresetThreeDFormat(Office_xp::MsoPresetThreeDFormat* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PresetThreeDFormat"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoPresetThreeDFormat __fastcall
ThreeDFormatDispT<T>::get_PresetThreeDFormat(void)
{
  Office_xp::MsoPresetThreeDFormat prop;
  this->get_PresetThreeDFormat((Office_xp::MsoPresetThreeDFormat*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_RotationX(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RotationX"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ThreeDFormatDispT<T>::get_RotationX(void)
{
  float prop;
  this->get_RotationX((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::set_RotationX(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RotationX"), DISPID(109));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_RotationY(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RotationY"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ThreeDFormatDispT<T>::get_RotationY(void)
{
  float prop;
  this->get_RotationY((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::set_RotationY(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RotationY"), DISPID(110));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::get_Visible(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
ThreeDFormatDispT<T>::get_Visible(void)
{
  Office_xp::MsoTriState prop;
  this->get_Visible((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::set_Visible(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(111));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::IncrementRotationX(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncrementRotationX"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::IncrementRotationY(float Increment/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("IncrementRotationY"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = Increment /*[VT_R4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::ResetRotation()
{
  _TDispID _dispid(*this, OLETEXT("ResetRotation"), DISPID(12));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::SetExtrusionDirection(Office_xp::MsoPresetExtrusionDirection PresetExtrusionDirection/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetExtrusionDirection"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = (int)PresetExtrusionDirection /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ThreeDFormatDispT<T>::SetThreeDFormat(Office_xp::MsoPresetThreeDFormat PresetThreeDFormat/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetThreeDFormat"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = (int)PresetThreeDFormat /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  ApplicationEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {000209F7-0000-0000-C000-000000000046}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ApplicationEvents2
// Flags:     (4112) Hidden Dispatchable
// GUID:      {000209FE-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> void __fastcall
ApplicationEvents2DispT<T>::Startup()
{
  _TDispID _dispid(*this, OLETEXT("Startup"), DISPID(1));
  OleProcedure(_dispid);
}

template <class T> void __fastcall
ApplicationEvents2DispT<T>::Quit()
{
  _TDispID _dispid(*this, OLETEXT("Quit"), DISPID(2));
  OleProcedure(_dispid);
}

template <class T> void __fastcall
ApplicationEvents2DispT<T>::DocumentChange()
{
  _TDispID _dispid(*this, OLETEXT("DocumentChange"), DISPID(3));
  OleProcedure(_dispid);
}

template <class T> void __fastcall
ApplicationEvents2DispT<T>::DocumentOpen(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentOpen"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents2DispT<T>::DocumentBeforeClose(Word_xp::WordDocument* Doc/*[in]*/, 
                                                VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentBeforeClose"), DISPID(6));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents2DispT<T>::DocumentBeforePrint(Word_xp::WordDocument* Doc/*[in]*/, 
                                                VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentBeforePrint"), DISPID(7));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents2DispT<T>::DocumentBeforeSave(Word_xp::WordDocument* Doc/*[in]*/, 
                                               VARIANT_BOOL* SaveAsUI/*[in]*/, 
                                               VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentBeforeSave"), DISPID(8));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = SaveAsUI /*[VT_BOOL:1]*/;
  _args[3] = Cancel /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents2DispT<T>::NewDocument(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NewDocument"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents2DispT<T>::WindowActivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                           Word_xp::WINDOW* Wn/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowActivate"), DISPID(10));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents2DispT<T>::WindowDeactivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                             Word_xp::WINDOW* Wn/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowDeactivate"), DISPID(11));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents2DispT<T>::WindowSelectionChange(Word_xp::WordSelection* Sel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowSelectionChange"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents2DispT<T>::WindowBeforeRightClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                   VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowBeforeRightClick"), DISPID(13));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents2DispT<T>::WindowBeforeDoubleClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                    VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowBeforeDoubleClick"), DISPID(14));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  DocumentEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {000209F6-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> void __fastcall
DocumentEventsDispT<T>::New()
{
  _TDispID _dispid(/* New */ DISPID(4));
  OleProcedure(_dispid);
}

template <class T> void __fastcall
DocumentEventsDispT<T>::Open()
{
  _TDispID _dispid(/* Open */ DISPID(5));
  OleProcedure(_dispid);
}

template <class T> void __fastcall
DocumentEventsDispT<T>::Close()
{
  _TDispID _dispid(/* Close */ DISPID(6));
  OleProcedure(_dispid);
}

// *********************************************************************//
// DispIntf:  OCXEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {000209F3-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> void __fastcall
OCXEventsDispT<T>::GotFocus()
{
  _TDispID _dispid(/* GotFocus */ DISPID(-2147417888));
  OleProcedure(_dispid);
}

template <class T> void __fastcall
OCXEventsDispT<T>::LostFocus()
{
  _TDispID _dispid(/* LostFocus */ DISPID(-2147417887));
  OleProcedure(_dispid);
}

// *********************************************************************//
// DispIntf:  IApplicationEvents
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209F7-0001-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
IApplicationEventsDispT<T>::Startup()
{
  _TDispID _dispid(*this, OLETEXT("Startup"), DISPID(1));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IApplicationEventsDispT<T>::Quit()
{
  _TDispID _dispid(*this, OLETEXT("Quit"), DISPID(2));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IApplicationEventsDispT<T>::DocumentChange()
{
  _TDispID _dispid(*this, OLETEXT("DocumentChange"), DISPID(3));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  IApplicationEvents2
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209FE-0001-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::Startup()
{
  _TDispID _dispid(*this, OLETEXT("Startup"), DISPID(1));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::Quit()
{
  _TDispID _dispid(*this, OLETEXT("Quit"), DISPID(2));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::DocumentChange()
{
  _TDispID _dispid(*this, OLETEXT("DocumentChange"), DISPID(3));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::DocumentOpen(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentOpen"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::DocumentBeforeClose(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentBeforeClose"), DISPID(6));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::DocumentBeforePrint(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentBeforePrint"), DISPID(7));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::DocumentBeforeSave(Word_xp::WordDocument* Doc/*[in]*/, 
                                                VARIANT_BOOL* SaveAsUI/*[in]*/, 
                                                VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentBeforeSave"), DISPID(8));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = SaveAsUI /*[VT_BOOL:1]*/;
  _args[3] = Cancel /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::NewDocument(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NewDocument"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::WindowActivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                            Word_xp::WINDOW* Wn/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowActivate"), DISPID(10));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::WindowDeactivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                              Word_xp::WINDOW* Wn/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowDeactivate"), DISPID(11));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::WindowSelectionChange(Word_xp::WordSelection* Sel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowSelectionChange"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::WindowBeforeRightClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                    VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowBeforeRightClick"), DISPID(13));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents2DispT<T>::WindowBeforeDoubleClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                     VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowBeforeDoubleClick"), DISPID(14));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  ApplicationEvents3
// Flags:     (4112) Hidden Dispatchable
// GUID:      {00020A00-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> void __fastcall
ApplicationEvents3DispT<T>::Startup()
{
  _TDispID _dispid(/* Startup */ DISPID(1));
  OleProcedure(_dispid);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::Quit()
{
  _TDispID _dispid(/* Quit */ DISPID(2));
  OleProcedure(_dispid);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::DocumentChange()
{
  _TDispID _dispid(/* DocumentChange */ DISPID(3));
  OleProcedure(_dispid);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::DocumentOpen(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(/* DocumentOpen */ DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::DocumentBeforeClose(Word_xp::WordDocument* Doc/*[in]*/, 
                                                VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(/* DocumentBeforeClose */ DISPID(6));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::DocumentBeforePrint(Word_xp::WordDocument* Doc/*[in]*/, 
                                                VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(/* DocumentBeforePrint */ DISPID(7));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::DocumentBeforeSave(Word_xp::WordDocument* Doc/*[in]*/, 
                                               VARIANT_BOOL* SaveAsUI/*[in]*/, 
                                               VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(/* DocumentBeforeSave */ DISPID(8));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = SaveAsUI /*[VT_BOOL:1]*/;
  _args[3] = Cancel /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::NewDocument(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(/* NewDocument */ DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::WindowActivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                           Word_xp::WINDOW* Wn/*[in]*/)
{
  _TDispID _dispid(/* WindowActivate */ DISPID(10));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::WindowDeactivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                             Word_xp::WINDOW* Wn/*[in]*/)
{
  _TDispID _dispid(/* WindowDeactivate */ DISPID(11));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::WindowSelectionChange(Word_xp::WordSelection* Sel/*[in]*/)
{
  _TDispID _dispid(/* WindowSelectionChange */ DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::WindowBeforeRightClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                   VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(/* WindowBeforeRightClick */ DISPID(13));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::WindowBeforeDoubleClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                    VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(/* WindowBeforeDoubleClick */ DISPID(14));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::EPostagePropertyDialog(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(/* EPostagePropertyDialog */ DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::EPostageInsert(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(/* EPostageInsert */ DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::MailMergeAfterMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                Word_xp::WordDocument* DocResult/*[in]*/)
{
  _TDispID _dispid(/* MailMergeAfterMerge */ DISPID(17));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WordDocument*)DocResult /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::MailMergeAfterRecordMerge(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(/* MailMergeAfterRecordMerge */ DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::MailMergeBeforeMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 long StartRecord/*[in]*/, long EndRecord/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(/* MailMergeBeforeMerge */ DISPID(19));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = StartRecord /*[VT_I4:0]*/;
  _args[3] = EndRecord /*[VT_I4:0]*/;
  _args[4] = Cancel /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::MailMergeBeforeRecordMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                       VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(/* MailMergeBeforeRecordMerge */ DISPID(20));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::MailMergeDataSourceLoad(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(/* MailMergeDataSourceLoad */ DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::MailMergeDataSourceValidate(Word_xp::WordDocument* Doc/*[in]*/, 
                                                        VARIANT_BOOL* Handled/*[in]*/)
{
  _TDispID _dispid(/* MailMergeDataSourceValidate */ DISPID(22));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = Handled /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::MailMergeWizardSendToCustom(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(/* MailMergeWizardSendToCustom */ DISPID(23));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::MailMergeWizardStateChange(Word_xp::WordDocument* Doc/*[in]*/, 
                                                       int* FromState/*[in]*/, int* ToState/*[in]*/
                                                       , VARIANT_BOOL* Handled/*[in]*/)
{
  _TDispID _dispid(/* MailMergeWizardStateChange */ DISPID(24));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = FromState /*[VT_INT:1]*/;
  _args[3] = ToState /*[VT_INT:1]*/;
  _args[4] = Handled /*[VT_BOOL:1]*/;
  OleProcedure(_dispid, _args);
}

template <class T> void __fastcall
ApplicationEvents3DispT<T>::WindowSize(Word_xp::WordDocument* Doc/*[in]*/, 
                                       Word_xp::WINDOW* Wn/*[in]*/)
{
  _TDispID _dispid(/* WindowSize */ DISPID(25));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
  OleProcedure(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  EmailAuthor
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209D7-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
EmailAuthorDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
EmailAuthorDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailAuthorDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EmailAuthorDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailAuthorDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
EmailAuthorDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailAuthorDispT<T>::get_Style(Word_xp::Style** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Style"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Style**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::StylePtr __fastcall
EmailAuthorDispT<T>::get_Style(void)
{
  Word_xp::StylePtr prop;
  this->get_Style(&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  EmailOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DB-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
EmailOptionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EmailOptionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
EmailOptionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_UseThemeStyle(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseThemeStyle"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_UseThemeStyle(void)
{
  VARIANT_BOOL prop;
  this->get_UseThemeStyle((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_UseThemeStyle(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseThemeStyle"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_MarkCommentsWith(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarkCommentsWith"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
EmailOptionsDispT<T>::get_MarkCommentsWith(void)
{
  BSTR prop;
  this->get_MarkCommentsWith((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_MarkCommentsWith(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarkCommentsWith"), DISPID(106));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_MarkComments(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarkComments"), DISPID(107));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_MarkComments(void)
{
  VARIANT_BOOL prop;
  this->get_MarkComments((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_MarkComments(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarkComments"), DISPID(107));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_EmailSignature(Word_xp::EmailSignature** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmailSignature"), DISPID(108));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::EmailSignature**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::EmailSignaturePtr __fastcall
EmailOptionsDispT<T>::get_EmailSignature(void)
{
  Word_xp::EmailSignaturePtr prop;
  this->get_EmailSignature(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_ComposeStyle(Word_xp::Style** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ComposeStyle"), DISPID(109));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Style**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::StylePtr __fastcall
EmailOptionsDispT<T>::get_ComposeStyle(void)
{
  Word_xp::StylePtr prop;
  this->get_ComposeStyle(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_ReplyStyle(Word_xp::Style** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReplyStyle"), DISPID(110));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Style**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::StylePtr __fastcall
EmailOptionsDispT<T>::get_ReplyStyle(void)
{
  Word_xp::StylePtr prop;
  this->get_ReplyStyle(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_ThemeName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ThemeName"), DISPID(114));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
EmailOptionsDispT<T>::get_ThemeName(void)
{
  BSTR prop;
  this->get_ThemeName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_ThemeName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ThemeName"), DISPID(114));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_Dummy1(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Dummy1"), DISPID(111));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_Dummy1(void)
{
  VARIANT_BOOL prop;
  this->get_Dummy1((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_Dummy2(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Dummy2"), DISPID(112));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_Dummy2(void)
{
  VARIANT_BOOL prop;
  this->get_Dummy2((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::Dummy3()
{
  _TDispID _dispid(*this, OLETEXT("Dummy3"), DISPID(113));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_NewColorOnReply(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NewColorOnReply"), DISPID(116));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_NewColorOnReply(void)
{
  VARIANT_BOOL prop;
  this->get_NewColorOnReply((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_NewColorOnReply(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NewColorOnReply"), DISPID(116));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_PlainTextStyle(Word_xp::Style** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PlainTextStyle"), DISPID(117));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Style**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::StylePtr __fastcall
EmailOptionsDispT<T>::get_PlainTextStyle(void)
{
  Word_xp::StylePtr prop;
  this->get_PlainTextStyle(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_UseThemeStyleOnReply(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseThemeStyleOnReply"), DISPID(118));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_UseThemeStyleOnReply(void)
{
  VARIANT_BOOL prop;
  this->get_UseThemeStyleOnReply((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_UseThemeStyleOnReply(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseThemeStyleOnReply"), DISPID(118));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyHeadings(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyHeadings"), DISPID(260));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyHeadings(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyHeadings((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeApplyHeadings(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyHeadings"), DISPID(260));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyBorders(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyBorders"), DISPID(261));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyBorders(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyBorders((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeApplyBorders(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyBorders"), DISPID(261));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyBulletedLists(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyBulletedLists"), DISPID(262));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyBulletedLists(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyBulletedLists((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeApplyBulletedLists(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyBulletedLists"), DISPID(262));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyNumberedLists(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyNumberedLists"), DISPID(263));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyNumberedLists(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyNumberedLists((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeApplyNumberedLists(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyNumberedLists"), DISPID(263));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplaceQuotes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceQuotes"), DISPID(264));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplaceQuotes(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplaceQuotes((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeReplaceQuotes(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceQuotes"), DISPID(264));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplaceSymbols(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceSymbols"), DISPID(265));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplaceSymbols(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplaceSymbols((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeReplaceSymbols(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceSymbols"), DISPID(265));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplaceOrdinals(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceOrdinals"), DISPID(266));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplaceOrdinals(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplaceOrdinals((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeReplaceOrdinals(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceOrdinals"), DISPID(266));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplaceFractions(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceFractions"), DISPID(267));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplaceFractions(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplaceFractions((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeReplaceFractions(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceFractions"), DISPID(267));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplacePlainTextEmphasis(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplacePlainTextEmphasis"), DISPID(268));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplacePlainTextEmphasis(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplacePlainTextEmphasis((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeReplacePlainTextEmphasis(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplacePlainTextEmphasis"), DISPID(268));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeFormatListItemBeginning(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeFormatListItemBeginning"), DISPID(269));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeFormatListItemBeginning(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeFormatListItemBeginning((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeFormatListItemBeginning(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeFormatListItemBeginning"), DISPID(269));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeDefineStyles(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeDefineStyles"), DISPID(270));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeDefineStyles(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeDefineStyles((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeDefineStyles(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeDefineStyles"), DISPID(270));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplaceHyperlinks(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceHyperlinks"), DISPID(272));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplaceHyperlinks(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplaceHyperlinks((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeReplaceHyperlinks(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceHyperlinks"), DISPID(272));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyTables(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyTables"), DISPID(290));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyTables(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyTables((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeApplyTables(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyTables"), DISPID(290));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyFirstIndents(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyFirstIndents"), DISPID(297));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyFirstIndents(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyFirstIndents((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeApplyFirstIndents(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyFirstIndents"), DISPID(297));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyDates(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyDates"), DISPID(298));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyDates(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyDates((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeApplyDates(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyDates"), DISPID(298));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyClosings(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyClosings"), DISPID(299));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeApplyClosings(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeApplyClosings((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeApplyClosings(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeApplyClosings"), DISPID(299));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeMatchParentheses(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeMatchParentheses"), DISPID(300));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeMatchParentheses(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeMatchParentheses((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeMatchParentheses(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeMatchParentheses"), DISPID(300));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplaceFarEastDashes(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceFarEastDashes"), DISPID(301));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeReplaceFarEastDashes(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeReplaceFarEastDashes((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeReplaceFarEastDashes(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeReplaceFarEastDashes"), DISPID(301));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeDeleteAutoSpaces(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeDeleteAutoSpaces"), DISPID(302));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeDeleteAutoSpaces(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeDeleteAutoSpaces((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeDeleteAutoSpaces(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeDeleteAutoSpaces"), DISPID(302));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeInsertClosings(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeInsertClosings"), DISPID(303));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeInsertClosings(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeInsertClosings((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeInsertClosings(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeInsertClosings"), DISPID(303));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeAutoLetterWizard(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeAutoLetterWizard"), DISPID(304));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeAutoLetterWizard(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeAutoLetterWizard((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeAutoLetterWizard(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeAutoLetterWizard"), DISPID(304));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeInsertOvers(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeInsertOvers"), DISPID(305));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_AutoFormatAsYouTypeInsertOvers(void)
{
  VARIANT_BOOL prop;
  this->get_AutoFormatAsYouTypeInsertOvers((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_AutoFormatAsYouTypeInsertOvers(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormatAsYouTypeInsertOvers"), DISPID(305));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_RelyOnCSS(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelyOnCSS"), DISPID(306));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_RelyOnCSS(void)
{
  VARIANT_BOOL prop;
  this->get_RelyOnCSS((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_RelyOnCSS(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelyOnCSS"), DISPID(306));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_HTMLFidelity(Word_xp::WdEmailHTMLFidelity* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HTMLFidelity"), DISPID(307));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdEmailHTMLFidelity __fastcall
EmailOptionsDispT<T>::get_HTMLFidelity(void)
{
  Word_xp::WdEmailHTMLFidelity prop;
  this->get_HTMLFidelity((Word_xp::WdEmailHTMLFidelity*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_HTMLFidelity(Word_xp::WdEmailHTMLFidelity prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HTMLFidelity"), DISPID(307));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_EmbedSmartTag(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmbedSmartTag"), DISPID(308));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_EmbedSmartTag(void)
{
  VARIANT_BOOL prop;
  this->get_EmbedSmartTag((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_EmbedSmartTag(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmbedSmartTag"), DISPID(308));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::get_TabIndentKey(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabIndentKey"), DISPID(309));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
EmailOptionsDispT<T>::get_TabIndentKey(void)
{
  VARIANT_BOOL prop;
  this->get_TabIndentKey((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailOptionsDispT<T>::set_TabIndentKey(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TabIndentKey"), DISPID(309));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  EmailSignature
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DC-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
EmailSignatureDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
EmailSignatureDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EmailSignatureDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
EmailSignatureDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureDispT<T>::get_NewMessageSignature(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NewMessageSignature"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
EmailSignatureDispT<T>::get_NewMessageSignature(void)
{
  BSTR prop;
  this->get_NewMessageSignature((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureDispT<T>::set_NewMessageSignature(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NewMessageSignature"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailSignatureDispT<T>::get_ReplyMessageSignature(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReplyMessageSignature"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
EmailSignatureDispT<T>::get_ReplyMessageSignature(void)
{
  BSTR prop;
  this->get_ReplyMessageSignature((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureDispT<T>::set_ReplyMessageSignature(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReplyMessageSignature"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailSignatureDispT<T>::get_EmailSignatureEntries(Word_xp::EmailSignatureEntries** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EmailSignatureEntries"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::EmailSignatureEntries**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::EmailSignatureEntriesPtr __fastcall
EmailSignatureDispT<T>::get_EmailSignatureEntries(void)
{
  Word_xp::EmailSignatureEntriesPtr prop;
  this->get_EmailSignatureEntries(&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Email
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DD-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
EmailDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
EmailDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EmailDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
EmailDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailDispT<T>::get_CurrentEmailAuthor(Word_xp::EmailAuthor** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CurrentEmailAuthor"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::EmailAuthor**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::EmailAuthorPtr __fastcall
EmailDispT<T>::get_CurrentEmailAuthor(void)
{
  Word_xp::EmailAuthorPtr prop;
  this->get_CurrentEmailAuthor(&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  HorizontalLineFormat
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DE-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
HorizontalLineFormatDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
HorizontalLineFormatDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HorizontalLineFormatDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HorizontalLineFormatDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HorizontalLineFormatDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
HorizontalLineFormatDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HorizontalLineFormatDispT<T>::get_PercentWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PercentWidth"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
HorizontalLineFormatDispT<T>::get_PercentWidth(void)
{
  float prop;
  this->get_PercentWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HorizontalLineFormatDispT<T>::set_PercentWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PercentWidth"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HorizontalLineFormatDispT<T>::get_NoShade(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoShade"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
HorizontalLineFormatDispT<T>::get_NoShade(void)
{
  VARIANT_BOOL prop;
  this->get_NoShade((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HorizontalLineFormatDispT<T>::set_NoShade(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NoShade"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HorizontalLineFormatDispT<T>::get_Alignment(Word_xp::WdHorizontalLineAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdHorizontalLineAlignment __fastcall
HorizontalLineFormatDispT<T>::get_Alignment(void)
{
  Word_xp::WdHorizontalLineAlignment prop;
  this->get_Alignment((Word_xp::WdHorizontalLineAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HorizontalLineFormatDispT<T>::set_Alignment(Word_xp::WdHorizontalLineAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HorizontalLineFormatDispT<T>::get_WidthType(Word_xp::WdHorizontalLineWidthType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WidthType"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdHorizontalLineWidthType __fastcall
HorizontalLineFormatDispT<T>::get_WidthType(void)
{
  Word_xp::WdHorizontalLineWidthType prop;
  this->get_WidthType((Word_xp::WdHorizontalLineWidthType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HorizontalLineFormatDispT<T>::set_WidthType(Word_xp::WdHorizontalLineWidthType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WidthType"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Frameset
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E2-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
FramesetDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FramesetDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FramesetDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FramesetDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
FramesetDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_ParentFrameset(Word_xp::Frameset** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParentFrameset"), DISPID(1003));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frameset**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::FramesetPtr __fastcall
FramesetDispT<T>::get_ParentFrameset(void)
{
  Word_xp::FramesetPtr prop;
  this->get_ParentFrameset(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_Type(Word_xp::WdFramesetType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFramesetType __fastcall
FramesetDispT<T>::get_Type(void)
{
  Word_xp::WdFramesetType prop;
  this->get_Type((Word_xp::WdFramesetType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_WidthType(Word_xp::WdFramesetSizeType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WidthType"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFramesetSizeType __fastcall
FramesetDispT<T>::get_WidthType(void)
{
  Word_xp::WdFramesetSizeType prop;
  this->get_WidthType((Word_xp::WdFramesetSizeType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::set_WidthType(Word_xp::WdFramesetSizeType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WidthType"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_HeightType(Word_xp::WdFramesetSizeType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeightType"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFramesetSizeType __fastcall
FramesetDispT<T>::get_HeightType(void)
{
  Word_xp::WdFramesetSizeType prop;
  this->get_HeightType((Word_xp::WdFramesetSizeType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::set_HeightType(Word_xp::WdFramesetSizeType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HeightType"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_Width(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FramesetDispT<T>::get_Width(void)
{
  long prop;
  this->get_Width((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::set_Width(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Width"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_Height(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FramesetDispT<T>::get_Height(void)
{
  long prop;
  this->get_Height((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::set_Height(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Height"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_ChildFramesetCount(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChildFramesetCount"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FramesetDispT<T>::get_ChildFramesetCount(void)
{
  long prop;
  this->get_ChildFramesetCount((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_ChildFramesetItem(long Index/*[in]*/, Word_xp::Frameset** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChildFramesetItem"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frameset**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::Frameset* __fastcall
FramesetDispT<T>::get_ChildFramesetItem(long Index/*[in]*/)
{
  Word_xp::Frameset* prop;
  this->get_ChildFramesetItem(Index, (Word_xp::Frameset**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_FramesetBorderWidth(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FramesetBorderWidth"), DISPID(20));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
FramesetDispT<T>::get_FramesetBorderWidth(void)
{
  float prop;
  this->get_FramesetBorderWidth((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::set_FramesetBorderWidth(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FramesetBorderWidth"), DISPID(20));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_FramesetBorderColor(Word_xp::WdColor* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FramesetBorderColor"), DISPID(21));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdColor __fastcall
FramesetDispT<T>::get_FramesetBorderColor(void)
{
  Word_xp::WdColor prop;
  this->get_FramesetBorderColor((Word_xp::WdColor*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::set_FramesetBorderColor(Word_xp::WdColor prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FramesetBorderColor"), DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_FrameScrollbarType(Word_xp::WdScrollbarType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FrameScrollbarType"), DISPID(30));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdScrollbarType __fastcall
FramesetDispT<T>::get_FrameScrollbarType(void)
{
  Word_xp::WdScrollbarType prop;
  this->get_FrameScrollbarType((Word_xp::WdScrollbarType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::set_FrameScrollbarType(Word_xp::WdScrollbarType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FrameScrollbarType"), DISPID(30));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_FrameResizable(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FrameResizable"), DISPID(31));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FramesetDispT<T>::get_FrameResizable(void)
{
  VARIANT_BOOL prop;
  this->get_FrameResizable((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::set_FrameResizable(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FrameResizable"), DISPID(31));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_FrameName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FrameName"), DISPID(34));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FramesetDispT<T>::get_FrameName(void)
{
  BSTR prop;
  this->get_FrameName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::set_FrameName(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FrameName"), DISPID(34));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_FrameDisplayBorders(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FrameDisplayBorders"), DISPID(35));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FramesetDispT<T>::get_FrameDisplayBorders(void)
{
  VARIANT_BOOL prop;
  this->get_FrameDisplayBorders((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::set_FrameDisplayBorders(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FrameDisplayBorders"), DISPID(35));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_FrameDefaultURL(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FrameDefaultURL"), DISPID(36));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
FramesetDispT<T>::get_FrameDefaultURL(void)
{
  BSTR prop;
  this->get_FrameDefaultURL((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::set_FrameDefaultURL(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FrameDefaultURL"), DISPID(36));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::get_FrameLinkToFile(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FrameLinkToFile"), DISPID(37));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
FramesetDispT<T>::get_FrameLinkToFile(void)
{
  VARIANT_BOOL prop;
  this->get_FrameLinkToFile((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::set_FrameLinkToFile(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FrameLinkToFile"), DISPID(37));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::AddNewFrame(Word_xp::WdFramesetNewFrameLocation Where/*[in]*/, 
                              Word_xp::Frameset** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddNewFrame"), DISPID(50));
  TAutoArgs<1> _args;
  _args[1] = (int)Where /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Frameset**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Frameset* __fastcall
FramesetDispT<T>::AddNewFrame(Word_xp::WdFramesetNewFrameLocation Where/*[in]*/)
{
  Word_xp::Frameset* prop;
  this->AddNewFrame(Where, (Word_xp::Frameset**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FramesetDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(51));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  DefaultWebOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E3-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
DefaultWebOptionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DefaultWebOptionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
DefaultWebOptionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_OptimizeForBrowser(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OptimizeForBrowser"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DefaultWebOptionsDispT<T>::get_OptimizeForBrowser(void)
{
  VARIANT_BOOL prop;
  this->get_OptimizeForBrowser((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_OptimizeForBrowser(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OptimizeForBrowser"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_BrowserLevel(Word_xp::WdBrowserLevel* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BrowserLevel"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdBrowserLevel __fastcall
DefaultWebOptionsDispT<T>::get_BrowserLevel(void)
{
  Word_xp::WdBrowserLevel prop;
  this->get_BrowserLevel((Word_xp::WdBrowserLevel*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_BrowserLevel(Word_xp::WdBrowserLevel prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BrowserLevel"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_RelyOnCSS(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelyOnCSS"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DefaultWebOptionsDispT<T>::get_RelyOnCSS(void)
{
  VARIANT_BOOL prop;
  this->get_RelyOnCSS((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_RelyOnCSS(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelyOnCSS"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_OrganizeInFolder(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OrganizeInFolder"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DefaultWebOptionsDispT<T>::get_OrganizeInFolder(void)
{
  VARIANT_BOOL prop;
  this->get_OrganizeInFolder((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_OrganizeInFolder(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OrganizeInFolder"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_UpdateLinksOnSave(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpdateLinksOnSave"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DefaultWebOptionsDispT<T>::get_UpdateLinksOnSave(void)
{
  VARIANT_BOOL prop;
  this->get_UpdateLinksOnSave((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_UpdateLinksOnSave(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UpdateLinksOnSave"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_UseLongFileNames(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseLongFileNames"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DefaultWebOptionsDispT<T>::get_UseLongFileNames(void)
{
  VARIANT_BOOL prop;
  this->get_UseLongFileNames((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_UseLongFileNames(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseLongFileNames"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_CheckIfOfficeIsHTMLEditor(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckIfOfficeIsHTMLEditor"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DefaultWebOptionsDispT<T>::get_CheckIfOfficeIsHTMLEditor(void)
{
  VARIANT_BOOL prop;
  this->get_CheckIfOfficeIsHTMLEditor((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_CheckIfOfficeIsHTMLEditor(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckIfOfficeIsHTMLEditor"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_CheckIfWordIsDefaultHTMLEditor(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckIfWordIsDefaultHTMLEditor"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DefaultWebOptionsDispT<T>::get_CheckIfWordIsDefaultHTMLEditor(void)
{
  VARIANT_BOOL prop;
  this->get_CheckIfWordIsDefaultHTMLEditor((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_CheckIfWordIsDefaultHTMLEditor(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CheckIfWordIsDefaultHTMLEditor"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_RelyOnVML(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelyOnVML"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DefaultWebOptionsDispT<T>::get_RelyOnVML(void)
{
  VARIANT_BOOL prop;
  this->get_RelyOnVML((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_RelyOnVML(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelyOnVML"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_AllowPNG(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowPNG"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DefaultWebOptionsDispT<T>::get_AllowPNG(void)
{
  VARIANT_BOOL prop;
  this->get_AllowPNG((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_AllowPNG(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowPNG"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_ScreenSize(Office_xp::MsoScreenSize* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScreenSize"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoScreenSize __fastcall
DefaultWebOptionsDispT<T>::get_ScreenSize(void)
{
  Office_xp::MsoScreenSize prop;
  this->get_ScreenSize((Office_xp::MsoScreenSize*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_ScreenSize(Office_xp::MsoScreenSize prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScreenSize"), DISPID(11));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_PixelsPerInch(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PixelsPerInch"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DefaultWebOptionsDispT<T>::get_PixelsPerInch(void)
{
  long prop;
  this->get_PixelsPerInch((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_PixelsPerInch(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PixelsPerInch"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_Encoding(Office_xp::MsoEncoding* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Encoding"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoEncoding __fastcall
DefaultWebOptionsDispT<T>::get_Encoding(void)
{
  Office_xp::MsoEncoding prop;
  this->get_Encoding((Office_xp::MsoEncoding*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_Encoding(Office_xp::MsoEncoding prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Encoding"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_AlwaysSaveInDefaultEncoding(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AlwaysSaveInDefaultEncoding"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DefaultWebOptionsDispT<T>::get_AlwaysSaveInDefaultEncoding(void)
{
  VARIANT_BOOL prop;
  this->get_AlwaysSaveInDefaultEncoding((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_AlwaysSaveInDefaultEncoding(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AlwaysSaveInDefaultEncoding"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_Fonts(Office_xp::WebPageFonts** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Fonts"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Office_xp::WebPageFonts**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::WebPageFontsPtr __fastcall
DefaultWebOptionsDispT<T>::get_Fonts(void)
{
  Office_xp::WebPageFontsPtr prop;
  this->get_Fonts(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_FolderSuffix(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FolderSuffix"), DISPID(16));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
DefaultWebOptionsDispT<T>::get_FolderSuffix(void)
{
  BSTR prop;
  this->get_FolderSuffix((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_TargetBrowser(Office_xp::MsoTargetBrowser* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TargetBrowser"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTargetBrowser __fastcall
DefaultWebOptionsDispT<T>::get_TargetBrowser(void)
{
  Office_xp::MsoTargetBrowser prop;
  this->get_TargetBrowser((Office_xp::MsoTargetBrowser*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_TargetBrowser(Office_xp::MsoTargetBrowser prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TargetBrowser"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::get_SaveNewWebPagesAsWebArchives(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveNewWebPagesAsWebArchives"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
DefaultWebOptionsDispT<T>::get_SaveNewWebPagesAsWebArchives(void)
{
  VARIANT_BOOL prop;
  this->get_SaveNewWebPagesAsWebArchives((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DefaultWebOptionsDispT<T>::set_SaveNewWebPagesAsWebArchives(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SaveNewWebPagesAsWebArchives"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  WebOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E4-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
WebOptionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WebOptionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
WebOptionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_OptimizeForBrowser(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OptimizeForBrowser"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WebOptionsDispT<T>::get_OptimizeForBrowser(void)
{
  VARIANT_BOOL prop;
  this->get_OptimizeForBrowser((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::set_OptimizeForBrowser(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OptimizeForBrowser"), DISPID(1));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_BrowserLevel(Word_xp::WdBrowserLevel* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BrowserLevel"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdBrowserLevel __fastcall
WebOptionsDispT<T>::get_BrowserLevel(void)
{
  Word_xp::WdBrowserLevel prop;
  this->get_BrowserLevel((Word_xp::WdBrowserLevel*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::set_BrowserLevel(Word_xp::WdBrowserLevel prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BrowserLevel"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_RelyOnCSS(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelyOnCSS"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WebOptionsDispT<T>::get_RelyOnCSS(void)
{
  VARIANT_BOOL prop;
  this->get_RelyOnCSS((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::set_RelyOnCSS(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelyOnCSS"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_OrganizeInFolder(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OrganizeInFolder"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WebOptionsDispT<T>::get_OrganizeInFolder(void)
{
  VARIANT_BOOL prop;
  this->get_OrganizeInFolder((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::set_OrganizeInFolder(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OrganizeInFolder"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_UseLongFileNames(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseLongFileNames"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WebOptionsDispT<T>::get_UseLongFileNames(void)
{
  VARIANT_BOOL prop;
  this->get_UseLongFileNames((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::set_UseLongFileNames(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UseLongFileNames"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_RelyOnVML(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelyOnVML"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WebOptionsDispT<T>::get_RelyOnVML(void)
{
  VARIANT_BOOL prop;
  this->get_RelyOnVML((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::set_RelyOnVML(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RelyOnVML"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_AllowPNG(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowPNG"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
WebOptionsDispT<T>::get_AllowPNG(void)
{
  VARIANT_BOOL prop;
  this->get_AllowPNG((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::set_AllowPNG(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowPNG"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_ScreenSize(Office_xp::MsoScreenSize* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScreenSize"), DISPID(8));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoScreenSize __fastcall
WebOptionsDispT<T>::get_ScreenSize(void)
{
  Office_xp::MsoScreenSize prop;
  this->get_ScreenSize((Office_xp::MsoScreenSize*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::set_ScreenSize(Office_xp::MsoScreenSize prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ScreenSize"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_PixelsPerInch(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PixelsPerInch"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
WebOptionsDispT<T>::get_PixelsPerInch(void)
{
  long prop;
  this->get_PixelsPerInch((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::set_PixelsPerInch(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("PixelsPerInch"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_Encoding(Office_xp::MsoEncoding* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Encoding"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoEncoding __fastcall
WebOptionsDispT<T>::get_Encoding(void)
{
  Office_xp::MsoEncoding prop;
  this->get_Encoding((Office_xp::MsoEncoding*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::set_Encoding(Office_xp::MsoEncoding prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Encoding"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_FolderSuffix(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FolderSuffix"), DISPID(11));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
WebOptionsDispT<T>::get_FolderSuffix(void)
{
  BSTR prop;
  this->get_FolderSuffix((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::UseDefaultFolderSuffix()
{
  _TDispID _dispid(*this, OLETEXT("UseDefaultFolderSuffix"), DISPID(101));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::get_TargetBrowser(Office_xp::MsoTargetBrowser* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TargetBrowser"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTargetBrowser __fastcall
WebOptionsDispT<T>::get_TargetBrowser(void)
{
  Office_xp::MsoTargetBrowser prop;
  this->get_TargetBrowser((Office_xp::MsoTargetBrowser*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
WebOptionsDispT<T>::set_TargetBrowser(Office_xp::MsoTargetBrowser prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TargetBrowser"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  OtherCorrectionsExceptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209DF-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
OtherCorrectionsExceptionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
OtherCorrectionsExceptionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OtherCorrectionsExceptionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
OtherCorrectionsExceptionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OtherCorrectionsExceptionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
OtherCorrectionsExceptionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OtherCorrectionsExceptionsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
OtherCorrectionsExceptionsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OtherCorrectionsExceptionsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
OtherCorrectionsExceptionsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OtherCorrectionsExceptionsDispT<T>::Item(VARIANT* Index/*[in]*/, 
                                         Word_xp::OtherCorrectionsException** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::OtherCorrectionsException**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::OtherCorrectionsException* __fastcall
OtherCorrectionsExceptionsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::OtherCorrectionsException* prop;
  this->Item(Index, (Word_xp::OtherCorrectionsException**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OtherCorrectionsExceptionsDispT<T>::Add(BSTR Name/*[in]*/, 
                                        Word_xp::OtherCorrectionsException** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::OtherCorrectionsException**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::OtherCorrectionsException* __fastcall
OtherCorrectionsExceptionsDispT<T>::Add(BSTR Name/*[in]*/)
{
  Word_xp::OtherCorrectionsException* prop;
  this->Add(Name, (Word_xp::OtherCorrectionsException**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  OtherCorrectionsException
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E1-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
OtherCorrectionsExceptionDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
OtherCorrectionsExceptionDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OtherCorrectionsExceptionDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
OtherCorrectionsExceptionDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OtherCorrectionsExceptionDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
OtherCorrectionsExceptionDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OtherCorrectionsExceptionDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
OtherCorrectionsExceptionDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OtherCorrectionsExceptionDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
OtherCorrectionsExceptionDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
OtherCorrectionsExceptionDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(101));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  EmailSignatureEntries
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E5-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
EmailSignatureEntriesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
EmailSignatureEntriesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureEntriesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EmailSignatureEntriesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureEntriesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
EmailSignatureEntriesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureEntriesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
EmailSignatureEntriesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureEntriesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EmailSignatureEntriesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureEntriesDispT<T>::Item(VARIANT* Index/*[in]*/, 
                                    Word_xp::EmailSignatureEntry** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::EmailSignatureEntry**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::EmailSignatureEntry* __fastcall
EmailSignatureEntriesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::EmailSignatureEntry* prop;
  this->Item(Index, (Word_xp::EmailSignatureEntry**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureEntriesDispT<T>::Add(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/, 
                                   Word_xp::EmailSignatureEntry** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<2> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WordRange*)Range /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::EmailSignatureEntry**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::EmailSignatureEntry* __fastcall
EmailSignatureEntriesDispT<T>::Add(BSTR Name/*[in]*/, Word_xp::WordRange* Range/*[in]*/)
{
  Word_xp::EmailSignatureEntry* prop;
  this->Add(Name, Range, (Word_xp::EmailSignatureEntry**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  EmailSignatureEntry
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E6-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
EmailSignatureEntryDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
EmailSignatureEntryDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureEntryDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EmailSignatureEntryDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureEntryDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
EmailSignatureEntryDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureEntryDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EmailSignatureEntryDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureEntryDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
EmailSignatureEntryDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EmailSignatureEntryDispT<T>::set_Name(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EmailSignatureEntryDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(101));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  HTMLDivision
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E7-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
HTMLDivisionDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HTMLDivisionDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
HTMLDivisionDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
HTMLDivisionDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(1100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
HTMLDivisionDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::get_LeftIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
HTMLDivisionDispT<T>::get_LeftIndent(void)
{
  float prop;
  this->get_LeftIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::set_LeftIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::get_RightIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightIndent"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
HTMLDivisionDispT<T>::get_RightIndent(void)
{
  float prop;
  this->get_RightIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::set_RightIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightIndent"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::get_SpaceBefore(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBefore"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
HTMLDivisionDispT<T>::get_SpaceBefore(void)
{
  float prop;
  this->get_SpaceBefore((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::set_SpaceBefore(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceBefore"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::get_SpaceAfter(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfter"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
HTMLDivisionDispT<T>::get_SpaceAfter(void)
{
  float prop;
  this->get_SpaceAfter((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::set_SpaceAfter(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SpaceAfter"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::get_HTMLDivisions(Word_xp::HTMLDivisions** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HTMLDivisions"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HTMLDivisions**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::HTMLDivisionsPtr __fastcall
HTMLDivisionDispT<T>::get_HTMLDivisions(void)
{
  Word_xp::HTMLDivisionsPtr prop;
  this->get_HTMLDivisions(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::HTMLDivisionParent(VARIANT* LevelsUp/*[in,opt]*/, 
                                         Word_xp::HTMLDivision** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HTMLDivisionParent"), DISPID(8));
  TAutoArgs<1> _args;
  _args[1] = LevelsUp /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HTMLDivision**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::HTMLDivision* __fastcall
HTMLDivisionDispT<T>::HTMLDivisionParent(VARIANT* LevelsUp/*[in,opt]*/)
{
  Word_xp::HTMLDivision* prop;
  this->HTMLDivisionParent(LevelsUp, (Word_xp::HTMLDivision**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(101));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  HTMLDivisions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E8-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
HTMLDivisionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
HTMLDivisionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HTMLDivisionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
HTMLDivisionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
HTMLDivisionsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HTMLDivisionsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionsDispT<T>::get_NestingLevel(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NestingLevel"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
HTMLDivisionsDispT<T>::get_NestingLevel(void)
{
  long prop;
  this->get_NestingLevel((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionsDispT<T>::Add(VARIANT* Range/*[in,opt]*/, Word_xp::HTMLDivision** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = Range /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HTMLDivision**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::HTMLDivision* __fastcall
HTMLDivisionsDispT<T>::Add(VARIANT* Range/*[in,opt]*/)
{
  Word_xp::HTMLDivision* prop;
  this->Add(Range, (Word_xp::HTMLDivision**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
HTMLDivisionsDispT<T>::Item(long Index/*[in]*/, Word_xp::HTMLDivision** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::HTMLDivision**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::HTMLDivision* __fastcall
HTMLDivisionsDispT<T>::Item(long Index/*[in]*/)
{
  Word_xp::HTMLDivision* prop;
  this->Item(Index, (Word_xp::HTMLDivision**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  DiagramNode
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209E9-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
DiagramNodeDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DiagramNodeDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
DiagramNodeDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::get_Children(Word_xp::DiagramNodeChildren** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Children"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNodeChildren**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DiagramNodeChildrenPtr __fastcall
DiagramNodeDispT<T>::get_Children(void)
{
  Word_xp::DiagramNodeChildrenPtr prop;
  this->get_Children(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::get_Shape(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shape"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapePtr __fastcall
DiagramNodeDispT<T>::get_Shape(void)
{
  Word_xp::ShapePtr prop;
  this->get_Shape(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::get_Root(Word_xp::DiagramNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Root"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNode**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DiagramNodePtr __fastcall
DiagramNodeDispT<T>::get_Root(void)
{
  Word_xp::DiagramNodePtr prop;
  this->get_Root(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::get_Diagram(Word_xp::Diagram** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Diagram"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Diagram**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DiagramPtr __fastcall
DiagramNodeDispT<T>::get_Diagram(void)
{
  Word_xp::DiagramPtr prop;
  this->get_Diagram(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::get_Layout(Office_xp::MsoOrgChartLayoutType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Layout"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoOrgChartLayoutType __fastcall
DiagramNodeDispT<T>::get_Layout(void)
{
  Office_xp::MsoOrgChartLayoutType prop;
  this->get_Layout((Office_xp::MsoOrgChartLayoutType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::set_Layout(Office_xp::MsoOrgChartLayoutType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Layout"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::get_TextShape(Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TextShape"), DISPID(106));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShapePtr __fastcall
DiagramNodeDispT<T>::get_TextShape(void)
{
  Word_xp::ShapePtr prop;
  this->get_TextShape(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::AddNode(Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/, 
                             Office_xp::MsoDiagramNodeType NodeType/*[in,def,opt]*/, 
                             Word_xp::DiagramNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddNode"), DISPID(10));
  TAutoArgs<2> _args;
  _args[1] = (int)Pos /*[VT_USERDEFINED:0]*/;
  _args[2] = (int)NodeType /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNode**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::DiagramNode* __fastcall
DiagramNodeDispT<T>::AddNode(Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/, 
                             Office_xp::MsoDiagramNodeType NodeType/*[in,def,opt]*/)
{
  Word_xp::DiagramNode* prop;
  this->AddNode(Pos, NodeType, (Word_xp::DiagramNode**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(11));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::MoveNode(Word_xp::DiagramNode** TargetNode/*[out]*/, 
                              Office_xp::MsoRelativeNodePosition Pos/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveNode"), DISPID(12));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH*)(Word_xp::DiagramNode**)TargetNode /*[VT_USERDEFINED:2]*/;
  _args[2] = (int)Pos /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::ReplaceNode(Word_xp::DiagramNode** TargetNode/*[out]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReplaceNode"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH*)(Word_xp::DiagramNode**)TargetNode /*[VT_USERDEFINED:2]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::SwapNode(Word_xp::DiagramNode** TargetNode/*[out]*/, 
                              Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/)
{
  _TDispID _dispid(*this, OLETEXT("SwapNode"), DISPID(14));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH*)(Word_xp::DiagramNode**)TargetNode /*[VT_USERDEFINED:2]*/;
  _args[2] = (int)Pos /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::CloneNode(VARIANT_BOOL copyChildren/*[in]*/, 
                               Word_xp::DiagramNode** TargetNode/*[out,def,opt]*/, 
                               Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/, 
                               Word_xp::DiagramNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CloneNode"), DISPID(15));
  TAutoArgs<3> _args;
  _args[1] = copyChildren /*[VT_BOOL:0]*/;
  _args[2] = (LPDISPATCH*)(Word_xp::DiagramNode**)TargetNode /*[VT_USERDEFINED:2]*/;
  _args[3] = (int)Pos /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNode**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::DiagramNode* __fastcall
DiagramNodeDispT<T>::CloneNode(VARIANT_BOOL copyChildren/*[in]*/, 
                               Word_xp::DiagramNode** TargetNode/*[out,def,opt]*/, 
                               Office_xp::MsoRelativeNodePosition Pos/*[in,def,opt]*/)
{
  Word_xp::DiagramNode* prop;
  this->CloneNode(copyChildren, TargetNode, Pos, (Word_xp::DiagramNode**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::TransferChildren(Word_xp::DiagramNode** ReceivingNode/*[out]*/)
{
  _TDispID _dispid(*this, OLETEXT("TransferChildren"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH*)(Word_xp::DiagramNode**)ReceivingNode /*[VT_USERDEFINED:2]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::NextNode(Word_xp::DiagramNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NextNode"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNode**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::DiagramNode* __fastcall
DiagramNodeDispT<T>::NextNode(void)
{
  Word_xp::DiagramNode* prop;
  this->NextNode((Word_xp::DiagramNode**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeDispT<T>::PrevNode(Word_xp::DiagramNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("PrevNode"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNode**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::DiagramNode* __fastcall
DiagramNodeDispT<T>::PrevNode(void)
{
  Word_xp::DiagramNode* prop;
  this->PrevNode((Word_xp::DiagramNode**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  DiagramNodeChildren
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EA-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
DiagramNodeChildrenDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
DiagramNodeChildrenDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeChildrenDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DiagramNodeChildrenDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeChildrenDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
DiagramNodeChildrenDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeChildrenDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
DiagramNodeChildrenDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeChildrenDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DiagramNodeChildrenDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeChildrenDispT<T>::get_FirstChild(Word_xp::DiagramNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FirstChild"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNode**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DiagramNodePtr __fastcall
DiagramNodeChildrenDispT<T>::get_FirstChild(void)
{
  Word_xp::DiagramNodePtr prop;
  this->get_FirstChild(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeChildrenDispT<T>::get_LastChild(Word_xp::DiagramNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LastChild"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNode**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DiagramNodePtr __fastcall
DiagramNodeChildrenDispT<T>::get_LastChild(void)
{
  Word_xp::DiagramNodePtr prop;
  this->get_LastChild(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeChildrenDispT<T>::Item(VARIANT* Index/*[in]*/, 
                                  Word_xp::DiagramNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNode**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::DiagramNode* __fastcall
DiagramNodeChildrenDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::DiagramNode* prop;
  this->Item(Index, (Word_xp::DiagramNode**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeChildrenDispT<T>::AddNode(VARIANT* Index/*[in,def,opt]*/, 
                                     Office_xp::MsoDiagramNodeType NodeType/*[in,def,opt]*/, 
                                     Word_xp::DiagramNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddNode"), DISPID(10));
  TAutoArgs<2> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  _args[2] = (int)NodeType /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNode**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::DiagramNode* __fastcall
DiagramNodeChildrenDispT<T>::AddNode(VARIANT* Index/*[in,def,opt]*/, 
                                     Office_xp::MsoDiagramNodeType NodeType/*[in,def,opt]*/)
{
  Word_xp::DiagramNode* prop;
  this->AddNode(Index, NodeType, (Word_xp::DiagramNode**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodeChildrenDispT<T>::SelectAll()
{
  _TDispID _dispid(*this, OLETEXT("SelectAll"), DISPID(11));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  DiagramNodes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EB-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
DiagramNodesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
DiagramNodesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DiagramNodesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
DiagramNodesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
DiagramNodesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DiagramNodesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::DiagramNode** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNode**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::DiagramNode* __fastcall
DiagramNodesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::DiagramNode* prop;
  this->Item(Index, (Word_xp::DiagramNode**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramNodesDispT<T>::SelectAll()
{
  _TDispID _dispid(*this, OLETEXT("SelectAll"), DISPID(10));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  Diagram
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EC-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
DiagramDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
DiagramDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
DiagramDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
DiagramDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramDispT<T>::get_Nodes(Word_xp::DiagramNodes** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Nodes"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::DiagramNodes**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::DiagramNodesPtr __fastcall
DiagramDispT<T>::get_Nodes(void)
{
  Word_xp::DiagramNodesPtr prop;
  this->get_Nodes(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramDispT<T>::get_Type(Office_xp::MsoDiagramType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoDiagramType __fastcall
DiagramDispT<T>::get_Type(void)
{
  Office_xp::MsoDiagramType prop;
  this->get_Type((Office_xp::MsoDiagramType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramDispT<T>::get_AutoLayout(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoLayout"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
DiagramDispT<T>::get_AutoLayout(void)
{
  Office_xp::MsoTriState prop;
  this->get_AutoLayout((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramDispT<T>::set_AutoLayout(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoLayout"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DiagramDispT<T>::get_Reverse(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Reverse"), DISPID(104));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
DiagramDispT<T>::get_Reverse(void)
{
  Office_xp::MsoTriState prop;
  this->get_Reverse((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramDispT<T>::set_Reverse(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Reverse"), DISPID(104));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DiagramDispT<T>::get_AutoFormat(Office_xp::MsoTriState* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormat"), DISPID(105));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Office_xp::MsoTriState __fastcall
DiagramDispT<T>::get_AutoFormat(void)
{
  Office_xp::MsoTriState prop;
  this->get_AutoFormat((Office_xp::MsoTriState*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
DiagramDispT<T>::set_AutoFormat(Office_xp::MsoTriState prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AutoFormat"), DISPID(105));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
DiagramDispT<T>::Convert(Office_xp::MsoDiagramType Type/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Convert"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  CustomProperty
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {B923FDE0-F08C-11D3-91B0-00105A0A19FD}
// *********************************************************************//
template <class T> HRESULT __fastcall
CustomPropertyDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
CustomPropertyDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomPropertyDispT<T>::get_Value(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
CustomPropertyDispT<T>::get_Value(void)
{
  BSTR prop;
  this->get_Value((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomPropertyDispT<T>::set_Value(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
CustomPropertyDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CustomPropertyDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomPropertyDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CustomPropertyDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomPropertyDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CustomPropertyDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomPropertyDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(11));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  CustomProperties
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {B923FDE1-F08C-11D3-91B0-00105A0A19FD}
// *********************************************************************//
template <class T> HRESULT __fastcall
CustomPropertiesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
CustomPropertiesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomPropertiesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CustomPropertiesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomPropertiesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CustomPropertiesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomPropertiesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CustomPropertiesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomPropertiesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CustomPropertiesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomPropertiesDispT<T>::Item(VARIANT* Index/*[in]*/, 
                               Word_xp::CustomProperty** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CustomProperty**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::CustomProperty* __fastcall
CustomPropertiesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::CustomProperty* prop;
  this->Item(Index, (Word_xp::CustomProperty**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CustomPropertiesDispT<T>::Add(BSTR Name/*[in]*/, BSTR Value/*[in]*/, 
                              Word_xp::CustomProperty** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(5));
  TAutoArgs<2> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = Value /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CustomProperty**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::CustomProperty* __fastcall
CustomPropertiesDispT<T>::Add(BSTR Name/*[in]*/, BSTR Value/*[in]*/)
{
  Word_xp::CustomProperty* prop;
  this->Add(Name, Value, (Word_xp::CustomProperty**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  SmartTag
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209ED-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
SmartTagDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SmartTagDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagDispT<T>::get_XML(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("XML"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SmartTagDispT<T>::get_XML(void)
{
  BSTR prop;
  this->get_XML((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagDispT<T>::get_Range(Word_xp::WordRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordRange**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordRangePtr __fastcall
SmartTagDispT<T>::get_Range(void)
{
  Word_xp::WordRangePtr prop;
  this->get_Range(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagDispT<T>::get_DownloadURL(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DownloadURL"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
SmartTagDispT<T>::get_DownloadURL(void)
{
  BSTR prop;
  this->get_DownloadURL((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagDispT<T>::get_Properties(Word_xp::CustomProperties** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Properties"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::CustomProperties**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::CustomPropertiesPtr __fastcall
SmartTagDispT<T>::get_Properties(void)
{
  Word_xp::CustomPropertiesPtr prop;
  this->get_Properties(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
SmartTagDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SmartTagDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
SmartTagDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagDispT<T>::Select()
{
  _TDispID _dispid(*this, OLETEXT("Select"), DISPID(65535));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
SmartTagDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(11));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  SmartTags
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EE-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
SmartTagsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
SmartTagsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SmartTagsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
SmartTagsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
SmartTagsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
SmartTagsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagsDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::SmartTag** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SmartTag**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::SmartTag* __fastcall
SmartTagsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::SmartTag* prop;
  this->Item(Index, (Word_xp::SmartTag**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
SmartTagsDispT<T>::Add(BSTR Name/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                       VARIANT* Properties/*[in,opt]*/, Word_xp::SmartTag** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(5));
  TAutoArgs<3> _args;
  _args[1] = Name /*[VT_BSTR:0]*/;
  _args[2] = Range /*[VT_VARIANT:1]*/;
  _args[3] = Properties /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::SmartTag**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::SmartTag* __fastcall
SmartTagsDispT<T>::Add(BSTR Name/*[in]*/, VARIANT* Range/*[in,opt]*/, 
                       VARIANT* Properties/*[in,opt]*/)
{
  Word_xp::SmartTag* prop;
  this->Add(Name, Range, Properties, (Word_xp::SmartTag**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  StyleSheet
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {000209EF-0000-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
StyleSheetDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
StyleSheetDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
StyleSheetDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
StyleSheetDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetDispT<T>::get_FullName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FullName"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
StyleSheetDispT<T>::get_FullName(void)
{
  BSTR prop;
  this->get_FullName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
StyleSheetDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
StyleSheetDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetDispT<T>::get_Path(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Path"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
StyleSheetDispT<T>::get_Path(void)
{
  BSTR prop;
  this->get_Path((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetDispT<T>::get_Type(Word_xp::WdStyleSheetLinkType* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdStyleSheetLinkType __fastcall
StyleSheetDispT<T>::get_Type(void)
{
  Word_xp::WdStyleSheetLinkType prop;
  this->get_Type((Word_xp::WdStyleSheetLinkType*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetDispT<T>::set_Type(Word_xp::WdStyleSheetLinkType prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Type"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleSheetDispT<T>::get_Title(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Title"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
StyleSheetDispT<T>::get_Title(void)
{
  BSTR prop;
  this->get_Title((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetDispT<T>::set_Title(BSTR prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Title"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleSheetDispT<T>::Move(Word_xp::WdStyleSheetPrecedence Precedence/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Move"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = (int)Precedence /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
StyleSheetDispT<T>::Delete()
{
  _TDispID _dispid(*this, OLETEXT("Delete"), DISPID(8));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  StyleSheets
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {07B7CC7E-E66C-11D3-9454-00105AA31A08}
// *********************************************************************//
template <class T> HRESULT __fastcall
StyleSheetsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
StyleSheetsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
StyleSheetsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
StyleSheetsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
StyleSheetsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
StyleSheetsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetsDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::StyleSheet** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::StyleSheet**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::StyleSheet* __fastcall
StyleSheetsDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::StyleSheet* prop;
  this->Item(Index, (Word_xp::StyleSheet**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
StyleSheetsDispT<T>::Add(BSTR FileName/*[in]*/, Word_xp::WdStyleSheetLinkType LinkType/*[in]*/, 
                         BSTR Title/*[in]*/, Word_xp::WdStyleSheetPrecedence Precedence/*[in]*/, 
                         Word_xp::StyleSheet** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(2));
  TAutoArgs<4> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = (int)LinkType /*[VT_USERDEFINED:0]*/;
  _args[3] = Title /*[VT_BSTR:0]*/;
  _args[4] = (int)Precedence /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::StyleSheet**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::StyleSheet* __fastcall
StyleSheetsDispT<T>::Add(BSTR FileName/*[in]*/, Word_xp::WdStyleSheetLinkType LinkType/*[in]*/, 
                         BSTR Title/*[in]*/, Word_xp::WdStyleSheetPrecedence Precedence/*[in]*/)
{
  Word_xp::StyleSheet* prop;
  this->Add(FileName, LinkType, Title, Precedence, (Word_xp::StyleSheet**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  MappedDataField
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {5D311669-EA51-11D3-87CC-00105AA31A34}
// *********************************************************************//
template <class T> HRESULT __fastcall
MappedDataFieldDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MappedDataFieldDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MappedDataFieldDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MappedDataFieldDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldDispT<T>::get_Index(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Index"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MappedDataFieldDispT<T>::get_Index(void)
{
  long prop;
  this->get_Index((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldDispT<T>::get_DataFieldName(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DataFieldName"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MappedDataFieldDispT<T>::get_DataFieldName(void)
{
  BSTR prop;
  this->get_DataFieldName((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldDispT<T>::get_Name(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Name"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MappedDataFieldDispT<T>::get_Name(void)
{
  BSTR prop;
  this->get_Name((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldDispT<T>::get_Value(BSTR* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Value"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
MappedDataFieldDispT<T>::get_Value(void)
{
  BSTR prop;
  this->get_Value((BSTR*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldDispT<T>::get_DataFieldIndex(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DataFieldIndex"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MappedDataFieldDispT<T>::get_DataFieldIndex(void)
{
  long prop;
  this->get_DataFieldIndex((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldDispT<T>::set_DataFieldIndex(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DataFieldIndex"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  MappedDataFields
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {799A6814-EA41-11D3-87CC-00105AA31A34}
// *********************************************************************//
template <class T> HRESULT __fastcall
MappedDataFieldsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
MappedDataFieldsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MappedDataFieldsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
MappedDataFieldsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldsDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
MappedDataFieldsDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldsDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
MappedDataFieldsDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
MappedDataFieldsDispT<T>::Item(Word_xp::WdMappedDataFields Index/*[in]*/, 
                               Word_xp::MappedDataField** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = (int)Index /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::MappedDataField**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::MappedDataField* __fastcall
MappedDataFieldsDispT<T>::Item(Word_xp::WdMappedDataFields Index/*[in]*/)
{
  Word_xp::MappedDataField* prop;
  this->Item(Index, (Word_xp::MappedDataField**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  CanvasShapes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {396F9073-F9FD-11D3-8EA0-0050049A1A01}
// *********************************************************************//
template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(8000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
CanvasShapesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(8001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CanvasShapesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
CanvasShapesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
CanvasShapesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
CanvasShapesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
CanvasShapesDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Shape* prop;
  this->Item(Index, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::AddCallout(Office_xp::MsoCalloutType Type/*[in]*/, float Left/*[in]*/, 
                                 float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                                 Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddCallout"), DISPID(10));
  TAutoArgs<5> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  _args[2] = Left /*[VT_R4:0]*/;
  _args[3] = Top /*[VT_R4:0]*/;
  _args[4] = Width /*[VT_R4:0]*/;
  _args[5] = Height /*[VT_R4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
CanvasShapesDispT<T>::AddCallout(Office_xp::MsoCalloutType Type/*[in]*/, float Left/*[in]*/, 
                                 float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/)
{
  Word_xp::Shape* prop;
  this->AddCallout(Type, Left, Top, Width, Height, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::AddConnector(Office_xp::MsoConnectorType Type/*[in]*/, float BeginX/*[in]*/, 
                                   float BeginY/*[in]*/, float EndX/*[in]*/, float EndY/*[in]*/, 
                                   Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddConnector"), DISPID(11));
  TAutoArgs<5> _args;
  _args[1] = (int)Type /*[VT_USERDEFINED:0]*/;
  _args[2] = BeginX /*[VT_R4:0]*/;
  _args[3] = BeginY /*[VT_R4:0]*/;
  _args[4] = EndX /*[VT_R4:0]*/;
  _args[5] = EndY /*[VT_R4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
CanvasShapesDispT<T>::AddConnector(Office_xp::MsoConnectorType Type/*[in]*/, float BeginX/*[in]*/, 
                                   float BeginY/*[in]*/, float EndX/*[in]*/, float EndY/*[in]*/)
{
  Word_xp::Shape* prop;
  this->AddConnector(Type, BeginX, BeginY, EndX, EndY, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::AddCurve(VARIANT* SafeArrayOfPoints/*[in]*/, 
                               Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddCurve"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = SafeArrayOfPoints /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
CanvasShapesDispT<T>::AddCurve(VARIANT* SafeArrayOfPoints/*[in]*/)
{
  Word_xp::Shape* prop;
  this->AddCurve(SafeArrayOfPoints, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::AddLabel(Office_xp::MsoTextOrientation Orientation/*[in]*/, float Left/*[in]*/
                               , float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/, 
                               Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddLabel"), DISPID(13));
  TAutoArgs<5> _args;
  _args[1] = (int)Orientation /*[VT_USERDEFINED:0]*/;
  _args[2] = Left /*[VT_R4:0]*/;
  _args[3] = Top /*[VT_R4:0]*/;
  _args[4] = Width /*[VT_R4:0]*/;
  _args[5] = Height /*[VT_R4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
CanvasShapesDispT<T>::AddLabel(Office_xp::MsoTextOrientation Orientation/*[in]*/, float Left/*[in]*/, 
                               float Top/*[in]*/, float Width/*[in]*/, float Height/*[in]*/)
{
  Word_xp::Shape* prop;
  this->AddLabel(Orientation, Left, Top, Width, Height, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::AddLine(float BeginX/*[in]*/, float BeginY/*[in]*/, float EndX/*[in]*/, 
                              float EndY/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddLine"), DISPID(14));
  TAutoArgs<4> _args;
  _args[1] = BeginX /*[VT_R4:0]*/;
  _args[2] = BeginY /*[VT_R4:0]*/;
  _args[3] = EndX /*[VT_R4:0]*/;
  _args[4] = EndY /*[VT_R4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
CanvasShapesDispT<T>::AddLine(float BeginX/*[in]*/, float BeginY/*[in]*/, float EndX/*[in]*/, 
                              float EndY/*[in]*/)
{
  Word_xp::Shape* prop;
  this->AddLine(BeginX, BeginY, EndX, EndY, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::AddPicture(BSTR FileName/*[in]*/, VARIANT* LinkToFile/*[in,opt]*/, 
                                 VARIANT* SaveWithDocument/*[in,opt]*/, VARIANT* Left/*[in,opt]*/, 
                                 VARIANT* Top/*[in,opt]*/, VARIANT* Width/*[in,opt]*/, 
                                 VARIANT* Height/*[in,opt]*/, Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddPicture"), DISPID(15));
  TAutoArgs<7> _args;
  _args[1] = FileName /*[VT_BSTR:0]*/;
  _args[2] = LinkToFile /*[VT_VARIANT:1]*/;
  _args[3] = SaveWithDocument /*[VT_VARIANT:1]*/;
  _args[4] = Left /*[VT_VARIANT:1]*/;
  _args[5] = Top /*[VT_VARIANT:1]*/;
  _args[6] = Width /*[VT_VARIANT:1]*/;
  _args[7] = Height /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
CanvasShapesDispT<T>::AddPicture(BSTR FileName/*[in]*/, VARIANT* LinkToFile/*[in,opt]*/, 
                                 VARIANT* SaveWithDocument/*[in,opt]*/, VARIANT* Left/*[in,opt]*/, 
                                 VARIANT* Top/*[in,opt]*/, VARIANT* Width/*[in,opt]*/, 
                                 VARIANT* Height/*[in,opt]*/)
{
  Word_xp::Shape* prop;
  this->AddPicture(FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::AddPolyline(VARIANT* SafeArrayOfPoints/*[in]*/, 
                                  Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddPolyline"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = SafeArrayOfPoints /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
CanvasShapesDispT<T>::AddPolyline(VARIANT* SafeArrayOfPoints/*[in]*/)
{
  Word_xp::Shape* prop;
  this->AddPolyline(SafeArrayOfPoints, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::AddShape(long Type/*[in]*/, float Left/*[in]*/, float Top/*[in]*/, 
                               float Width/*[in]*/, float Height/*[in]*/, 
                               Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddShape"), DISPID(17));
  TAutoArgs<5> _args;
  _args[1] = Type /*[VT_I4:0]*/;
  _args[2] = Left /*[VT_R4:0]*/;
  _args[3] = Top /*[VT_R4:0]*/;
  _args[4] = Width /*[VT_R4:0]*/;
  _args[5] = Height /*[VT_R4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
CanvasShapesDispT<T>::AddShape(long Type/*[in]*/, float Left/*[in]*/, float Top/*[in]*/, 
                               float Width/*[in]*/, float Height/*[in]*/)
{
  Word_xp::Shape* prop;
  this->AddShape(Type, Left, Top, Width, Height, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::AddTextEffect(Office_xp::MsoPresetTextEffect PresetTextEffect/*[in]*/, 
                                    BSTR Text/*[in]*/, BSTR FontName/*[in]*/, float FontSize/*[in]*/
                                    , Office_xp::MsoTriState FontBold/*[in]*/, 
                                    Office_xp::MsoTriState FontItalic/*[in]*/, float Left/*[in]*/, 
                                    float Top/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddTextEffect"), DISPID(18));
  TAutoArgs<8> _args;
  _args[1] = (int)PresetTextEffect /*[VT_USERDEFINED:0]*/;
  _args[2] = Text /*[VT_BSTR:0]*/;
  _args[3] = FontName /*[VT_BSTR:0]*/;
  _args[4] = FontSize /*[VT_R4:0]*/;
  _args[5] = (int)FontBold /*[VT_USERDEFINED:0]*/;
  _args[6] = (int)FontItalic /*[VT_USERDEFINED:0]*/;
  _args[7] = Left /*[VT_R4:0]*/;
  _args[8] = Top /*[VT_R4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
CanvasShapesDispT<T>::AddTextEffect(Office_xp::MsoPresetTextEffect PresetTextEffect/*[in]*/, 
                                    BSTR Text/*[in]*/, BSTR FontName/*[in]*/, float FontSize/*[in]*/, 
                                    Office_xp::MsoTriState FontBold/*[in]*/, 
                                    Office_xp::MsoTriState FontItalic/*[in]*/, float Left/*[in]*/, 
                                    float Top/*[in]*/)
{
  Word_xp::Shape* prop;
  this->AddTextEffect(PresetTextEffect, Text, FontName, FontSize, FontBold, FontItalic, Left, Top, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::AddTextbox(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                 float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                 float Height/*[in]*/, Word_xp::Shape** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddTextbox"), DISPID(19));
  TAutoArgs<5> _args;
  _args[1] = (int)Orientation /*[VT_USERDEFINED:0]*/;
  _args[2] = Left /*[VT_R4:0]*/;
  _args[3] = Top /*[VT_R4:0]*/;
  _args[4] = Width /*[VT_R4:0]*/;
  _args[5] = Height /*[VT_R4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shape**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Shape* __fastcall
CanvasShapesDispT<T>::AddTextbox(Office_xp::MsoTextOrientation Orientation/*[in]*/, 
                                 float Left/*[in]*/, float Top/*[in]*/, float Width/*[in]*/, 
                                 float Height/*[in]*/)
{
  Word_xp::Shape* prop;
  this->AddTextbox(Orientation, Left, Top, Width, Height, (Word_xp::Shape**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::BuildFreeform(Office_xp::MsoEditingType EditingType/*[in]*/, float X1/*[in]*/
                                    , float Y1/*[in]*/, 
                                    Word_xp::FreeformBuilder** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BuildFreeform"), DISPID(20));
  TAutoArgs<3> _args;
  _args[1] = (int)EditingType /*[VT_USERDEFINED:0]*/;
  _args[2] = X1 /*[VT_R4:0]*/;
  _args[3] = Y1 /*[VT_R4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::FreeformBuilder**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::FreeformBuilder* __fastcall
CanvasShapesDispT<T>::BuildFreeform(Office_xp::MsoEditingType EditingType/*[in]*/, float X1/*[in]*/, 
                                    float Y1/*[in]*/)
{
  Word_xp::FreeformBuilder* prop;
  this->BuildFreeform(EditingType, X1, Y1, (Word_xp::FreeformBuilder**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::Range(VARIANT* Index/*[in]*/, Word_xp::ShapeRange** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Range"), DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ShapeRange**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ShapeRange* __fastcall
CanvasShapesDispT<T>::Range(VARIANT* Index/*[in]*/)
{
  Word_xp::ShapeRange* prop;
  this->Range(Index, (Word_xp::ShapeRange**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
CanvasShapesDispT<T>::SelectAll()
{
  _TDispID _dispid(*this, OLETEXT("SelectAll"), DISPID(22));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  TableStyle
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {B7564E97-0519-4C68-B400-3803E7C63242}
// *********************************************************************//
template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TableStyleDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableStyleDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TableStyleDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_AllowPageBreaks(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowPageBreaks"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TableStyleDispT<T>::get_AllowPageBreaks(void)
{
  VARIANT_BOOL prop;
  this->get_AllowPageBreaks((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_AllowPageBreaks(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowPageBreaks"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
TableStyleDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_BottomPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BottomPadding"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TableStyleDispT<T>::get_BottomPadding(void)
{
  float prop;
  this->get_BottomPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_BottomPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BottomPadding"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_LeftPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftPadding"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TableStyleDispT<T>::get_LeftPadding(void)
{
  float prop;
  this->get_LeftPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_LeftPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftPadding"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_TopPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopPadding"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TableStyleDispT<T>::get_TopPadding(void)
{
  float prop;
  this->get_TopPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_TopPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopPadding"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_RightPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightPadding"), DISPID(7));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TableStyleDispT<T>::get_RightPadding(void)
{
  float prop;
  this->get_RightPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_RightPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightPadding"), DISPID(7));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_Alignment(Word_xp::WdRowAlignment* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdRowAlignment __fastcall
TableStyleDispT<T>::get_Alignment(void)
{
  Word_xp::WdRowAlignment prop;
  this->get_Alignment((Word_xp::WdRowAlignment*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_Alignment(Word_xp::WdRowAlignment prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Alignment"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_Spacing(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Spacing"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TableStyleDispT<T>::get_Spacing(void)
{
  float prop;
  this->get_Spacing((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_Spacing(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Spacing"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::Condition(Word_xp::WdConditionCode ConditionCode/*[in]*/, 
                              Word_xp::ConditionalStyle** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Condition"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = (int)ConditionCode /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::ConditionalStyle**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::ConditionalStyle* __fastcall
TableStyleDispT<T>::Condition(Word_xp::WdConditionCode ConditionCode/*[in]*/)
{
  Word_xp::ConditionalStyle* prop;
  this->Condition(ConditionCode, (Word_xp::ConditionalStyle**)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_TableDirection(Word_xp::WdTableDirection* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableDirection"), DISPID(12));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdTableDirection __fastcall
TableStyleDispT<T>::get_TableDirection(void)
{
  Word_xp::WdTableDirection prop;
  this->get_TableDirection((Word_xp::WdTableDirection*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_TableDirection(Word_xp::WdTableDirection prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TableDirection"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_AllowBreakAcrossPage(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowBreakAcrossPage"), DISPID(13));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableStyleDispT<T>::get_AllowBreakAcrossPage(void)
{
  long prop;
  this->get_AllowBreakAcrossPage((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_AllowBreakAcrossPage(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AllowBreakAcrossPage"), DISPID(13));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_LeftIndent(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(14));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
TableStyleDispT<T>::get_LeftIndent(void)
{
  float prop;
  this->get_LeftIndent((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_LeftIndent(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftIndent"), DISPID(14));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(15));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
TableStyleDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_RowStripe(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RowStripe"), DISPID(17));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableStyleDispT<T>::get_RowStripe(void)
{
  long prop;
  this->get_RowStripe((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_RowStripe(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RowStripe"), DISPID(17));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::get_ColumnStripe(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColumnStripe"), DISPID(18));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TableStyleDispT<T>::get_ColumnStripe(void)
{
  long prop;
  this->get_ColumnStripe((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TableStyleDispT<T>::set_ColumnStripe(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ColumnStripe"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  ConditionalStyle
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {1498F56D-ED33-41F9-B37B-EF30E50B08AC}
// *********************************************************************//
template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ConditionalStyleDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ConditionalStyleDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ConditionalStyleDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::get_Shading(Word_xp::Shading** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Shading"), DISPID(1));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Shading**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::ShadingPtr __fastcall
ConditionalStyleDispT<T>::get_Shading(void)
{
  Word_xp::ShadingPtr prop;
  this->get_Shading(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::get_Borders(Word_xp::Borders** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Borders**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::BordersPtr __fastcall
ConditionalStyleDispT<T>::get_Borders(void)
{
  Word_xp::BordersPtr prop;
  this->get_Borders(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::set_Borders(Word_xp::BordersPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Borders"), DISPID(2));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::Borders*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::get_BottomPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BottomPadding"), DISPID(3));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ConditionalStyleDispT<T>::get_BottomPadding(void)
{
  float prop;
  this->get_BottomPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::set_BottomPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("BottomPadding"), DISPID(3));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::get_TopPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopPadding"), DISPID(4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ConditionalStyleDispT<T>::get_TopPadding(void)
{
  float prop;
  this->get_TopPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::set_TopPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("TopPadding"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::get_LeftPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftPadding"), DISPID(5));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ConditionalStyleDispT<T>::get_LeftPadding(void)
{
  float prop;
  this->get_LeftPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::set_LeftPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("LeftPadding"), DISPID(5));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::get_RightPadding(float* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightPadding"), DISPID(6));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_R4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> float __fastcall
ConditionalStyleDispT<T>::get_RightPadding(void)
{
  float prop;
  this->get_RightPadding((float*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::set_RightPadding(float prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RightPadding"), DISPID(6));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_R4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::get_ParagraphFormat(Word_xp::WordParagraphFormat** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParagraphFormat"), DISPID(9));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordParagraphFormat**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordParagraphFormatPtr __fastcall
ConditionalStyleDispT<T>::get_ParagraphFormat(void)
{
  Word_xp::WordParagraphFormatPtr prop;
  this->get_ParagraphFormat(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::set_ParagraphFormat(Word_xp::WordParagraphFormatPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParagraphFormat"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordParagraphFormat*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::get_Font(Word_xp::WordFont** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(10));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordFont**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordFontPtr __fastcall
ConditionalStyleDispT<T>::get_Font(void)
{
  Word_xp::WordFontPtr prop;
  this->get_Font(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ConditionalStyleDispT<T>::set_Font(Word_xp::WordFontPtr prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Font"), DISPID(10));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordFont*)prop /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  FootnoteOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {BEA85A24-D7DA-4F3D-B58C-ED90FB01D615}
// *********************************************************************//
template <class T> HRESULT __fastcall
FootnoteOptionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
FootnoteOptionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteOptionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FootnoteOptionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteOptionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
FootnoteOptionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteOptionsDispT<T>::get_Location(Word_xp::WdFootnoteLocation* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Location"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdFootnoteLocation __fastcall
FootnoteOptionsDispT<T>::get_Location(void)
{
  Word_xp::WdFootnoteLocation prop;
  this->get_Location((Word_xp::WdFootnoteLocation*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteOptionsDispT<T>::set_Location(Word_xp::WdFootnoteLocation prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Location"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FootnoteOptionsDispT<T>::get_NumberStyle(Word_xp::WdNoteNumberStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdNoteNumberStyle __fastcall
FootnoteOptionsDispT<T>::get_NumberStyle(void)
{
  Word_xp::WdNoteNumberStyle prop;
  this->get_NumberStyle((Word_xp::WdNoteNumberStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteOptionsDispT<T>::set_NumberStyle(Word_xp::WdNoteNumberStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FootnoteOptionsDispT<T>::get_StartingNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartingNumber"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
FootnoteOptionsDispT<T>::get_StartingNumber(void)
{
  long prop;
  this->get_StartingNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteOptionsDispT<T>::set_StartingNumber(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartingNumber"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
FootnoteOptionsDispT<T>::get_NumberingRule(Word_xp::WdNumberingRule* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberingRule"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdNumberingRule __fastcall
FootnoteOptionsDispT<T>::get_NumberingRule(void)
{
  Word_xp::WdNumberingRule prop;
  this->get_NumberingRule((Word_xp::WdNumberingRule*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
FootnoteOptionsDispT<T>::set_NumberingRule(Word_xp::WdNumberingRule prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberingRule"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  EndnoteOptions
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {BF043168-F4DE-4E7C-B206-741A8B3EF71A}
// *********************************************************************//
template <class T> HRESULT __fastcall
EndnoteOptionsDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
EndnoteOptionsDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteOptionsDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EndnoteOptionsDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteOptionsDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
EndnoteOptionsDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteOptionsDispT<T>::get_Location(Word_xp::WdEndnoteLocation* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Location"), DISPID(100));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdEndnoteLocation __fastcall
EndnoteOptionsDispT<T>::get_Location(void)
{
  Word_xp::WdEndnoteLocation prop;
  this->get_Location((Word_xp::WdEndnoteLocation*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteOptionsDispT<T>::set_Location(Word_xp::WdEndnoteLocation prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Location"), DISPID(100));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EndnoteOptionsDispT<T>::get_NumberStyle(Word_xp::WdNoteNumberStyle* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(101));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdNoteNumberStyle __fastcall
EndnoteOptionsDispT<T>::get_NumberStyle(void)
{
  Word_xp::WdNoteNumberStyle prop;
  this->get_NumberStyle((Word_xp::WdNoteNumberStyle*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteOptionsDispT<T>::set_NumberStyle(Word_xp::WdNoteNumberStyle prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberStyle"), DISPID(101));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EndnoteOptionsDispT<T>::get_StartingNumber(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartingNumber"), DISPID(102));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
EndnoteOptionsDispT<T>::get_StartingNumber(void)
{
  long prop;
  this->get_StartingNumber((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteOptionsDispT<T>::set_StartingNumber(long prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartingNumber"), DISPID(102));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_I4:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
EndnoteOptionsDispT<T>::get_NumberingRule(Word_xp::WdNumberingRule* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberingRule"), DISPID(103));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)prop /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WdNumberingRule __fastcall
EndnoteOptionsDispT<T>::get_NumberingRule(void)
{
  Word_xp::WdNumberingRule prop;
  this->get_NumberingRule((Word_xp::WdNumberingRule*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
EndnoteOptionsDispT<T>::set_NumberingRule(Word_xp::WdNumberingRule prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NumberingRule"), DISPID(103));
  TAutoArgs<1> _args;
  _args[1] = (int)prop /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  Reviewers
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {12DCDC9A-5418-48A3-BBE6-EB57BAE275E8}
// *********************************************************************//
template <class T> HRESULT __fastcall
ReviewersDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ReviewersDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReviewersDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ReviewersDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReviewersDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ReviewersDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReviewersDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ReviewersDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReviewersDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ReviewersDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReviewersDispT<T>::Item(VARIANT* Index/*[in]*/, Word_xp::Reviewer** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = Index /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::Reviewer**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::Reviewer* __fastcall
ReviewersDispT<T>::Item(VARIANT* Index/*[in]*/)
{
  Word_xp::Reviewer* prop;
  this->Item(Index, (Word_xp::Reviewer**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  Reviewer
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {47CEF4AE-DC32-4220-8AA5-19CCC0E6633A}
// *********************************************************************//
template <class T> HRESULT __fastcall
ReviewerDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
ReviewerDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReviewerDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ReviewerDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReviewerDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
ReviewerDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReviewerDispT<T>::get_Visible(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
ReviewerDispT<T>::get_Visible(void)
{
  VARIANT_BOOL prop;
  this->get_Visible((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
ReviewerDispT<T>::set_Visible(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  TaskPane
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {B9F1A4E2-0D0A-43B7-8495-139E7ACBD840}
// *********************************************************************//
template <class T> HRESULT __fastcall
TaskPaneDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TaskPaneDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskPaneDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TaskPaneDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskPaneDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TaskPaneDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskPaneDispT<T>::get_Visible(VARIANT_BOOL* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(1003));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> VARIANT_BOOL __fastcall
TaskPaneDispT<T>::get_Visible(void)
{
  VARIANT_BOOL prop;
  this->get_Visible((VARIANT_BOOL*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskPaneDispT<T>::set_Visible(VARIANT_BOOL prop/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Visible"), DISPID(1003));
  TAutoArgs<1> _args;
  _args[1] = prop /*[VT_BOOL:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  TaskPanes
// Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
// GUID:      {E6AAEC05-E543-4085-BA92-9BF7D2474F5C}
// *********************************************************************//
template <class T> HRESULT __fastcall
TaskPanesDispT<T>::get__NewEnum(LPUNKNOWN* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("_NewEnum"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_UNKNOWN:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
TaskPanesDispT<T>::get__NewEnum(void)
{
  LPUNKNOWN prop;
  this->get__NewEnum((LPUNKNOWN*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskPanesDispT<T>::get_Count(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(2));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TaskPanesDispT<T>::get_Count(void)
{
  long prop;
  this->get_Count((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskPanesDispT<T>::get_Application(Word_xp::WordApplication** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Application"), DISPID(1000));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::WordApplication**)prop /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Word_xp::WordApplicationPtr __fastcall
TaskPanesDispT<T>::get_Application(void)
{
  Word_xp::WordApplicationPtr prop;
  this->get_Application(&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskPanesDispT<T>::get_Creator(long* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Creator"), DISPID(1001));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
TaskPanesDispT<T>::get_Creator(void)
{
  long prop;
  this->get_Creator((long*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskPanesDispT<T>::get_Parent(LPDISPATCH* prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parent"), DISPID(1002));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(prop /*[VT_DISPATCH:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPDISPATCH __fastcall
TaskPanesDispT<T>::get_Parent(void)
{
  LPDISPATCH prop;
  this->get_Parent((LPDISPATCH*)&prop);
  return prop;
}

template <class T> HRESULT __fastcall
TaskPanesDispT<T>::Item(Word_xp::WdTaskPanes Index/*[in]*/, Word_xp::TaskPane** prop/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = (int)Index /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Word_xp::TaskPane**)prop /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Word_xp::TaskPane* __fastcall
TaskPanesDispT<T>::Item(Word_xp::WdTaskPanes Index/*[in]*/)
{
  Word_xp::TaskPane* prop;
  this->Item(Index, (Word_xp::TaskPane**)&prop);
  return prop;
}

// *********************************************************************//
// DispIntf:  IApplicationEvents3
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {00020A00-0001-0000-C000-000000000046}
// *********************************************************************//
template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::Startup()
{
  _TDispID _dispid(*this, OLETEXT("Startup"), DISPID(1));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::Quit()
{
  _TDispID _dispid(*this, OLETEXT("Quit"), DISPID(2));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::DocumentChange()
{
  _TDispID _dispid(*this, OLETEXT("DocumentChange"), DISPID(3));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::DocumentOpen(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentOpen"), DISPID(4));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::DocumentBeforeClose(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentBeforeClose"), DISPID(6));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::DocumentBeforePrint(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentBeforePrint"), DISPID(7));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::DocumentBeforeSave(Word_xp::WordDocument* Doc/*[in]*/, 
                                                VARIANT_BOOL* SaveAsUI/*[in]*/, 
                                                VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DocumentBeforeSave"), DISPID(8));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = SaveAsUI /*[VT_BOOL:1]*/;
  _args[3] = Cancel /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::NewDocument(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NewDocument"), DISPID(9));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::WindowActivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                            Word_xp::WINDOW* Wn/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowActivate"), DISPID(10));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::WindowDeactivate(Word_xp::WordDocument* Doc/*[in]*/, 
                                              Word_xp::WINDOW* Wn/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowDeactivate"), DISPID(11));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::WindowSelectionChange(Word_xp::WordSelection* Sel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowSelectionChange"), DISPID(12));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::WindowBeforeRightClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                    VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowBeforeRightClick"), DISPID(13));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::WindowBeforeDoubleClick(Word_xp::WordSelection* Sel/*[in]*/, 
                                                     VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowBeforeDoubleClick"), DISPID(14));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordSelection*)Sel /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::EPostagePropertyDialog(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EPostagePropertyDialog"), DISPID(15));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::EPostageInsert(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EPostageInsert"), DISPID(16));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::MailMergeAfterMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                 Word_xp::WordDocument* DocResult/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailMergeAfterMerge"), DISPID(17));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WordDocument*)DocResult /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::MailMergeAfterRecordMerge(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailMergeAfterRecordMerge"), DISPID(18));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::MailMergeBeforeMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                  long StartRecord/*[in]*/, long EndRecord/*[in]*/, 
                                                  VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailMergeBeforeMerge"), DISPID(19));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = StartRecord /*[VT_I4:0]*/;
  _args[3] = EndRecord /*[VT_I4:0]*/;
  _args[4] = Cancel /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::MailMergeBeforeRecordMerge(Word_xp::WordDocument* Doc/*[in]*/, 
                                                        VARIANT_BOOL* Cancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailMergeBeforeRecordMerge"), DISPID(20));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = Cancel /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::MailMergeDataSourceLoad(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailMergeDataSourceLoad"), DISPID(21));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::MailMergeDataSourceValidate(Word_xp::WordDocument* Doc/*[in]*/, 
                                                         VARIANT_BOOL* Handled/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailMergeDataSourceValidate"), DISPID(22));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = Handled /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::MailMergeWizardSendToCustom(Word_xp::WordDocument* Doc/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailMergeWizardSendToCustom"), DISPID(23));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::MailMergeWizardStateChange(Word_xp::WordDocument* Doc/*[in]*/, 
                                                        int* FromState/*[in]*/, int* ToState/*[in]*/
                                                        , VARIANT_BOOL* Handled/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MailMergeWizardStateChange"), DISPID(24));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = FromState /*[VT_INT:1]*/;
  _args[3] = ToState /*[VT_INT:1]*/;
  _args[4] = Handled /*[VT_BOOL:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IApplicationEvents3DispT<T>::WindowSize(Word_xp::WordDocument* Doc/*[in]*/, 
                                        Word_xp::WINDOW* Wn/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("WindowSize"), DISPID(25));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Word_xp::WordDocument*)Doc /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Word_xp::WINDOW*)Wn /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// The following typedefs expose classes (named CoCoClassName) that       
// provide static Create() and CreateRemote(LPWSTR machineName) methods   
// for creating an instance of an exposed object. These functions can     
// be used by client wishing to automate CoClasses exposed by this        
// typelibrary.                                                           
// *********************************************************************//

// *********************************************************************//
// COCLASS DEFAULT INTERFACE CREATOR
// CoClass  : WordGlobal
// Interface: TCOM_Global
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Global, _Global, &CLSID_WordGlobal, &IID__Global> CoWordGlobal;

// *********************************************************************//
// COCLASS DEFAULT INTERFACE CREATOR
// CoClass  : WordDocument
// Interface: TCOM_Document
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Document, _Document, &CLSID_WordDocument, &IID__Document> CoWordDocument;

// *********************************************************************//
// COCLASS DEFAULT INTERFACE CREATOR
// CoClass  : WordFont
// Interface: TCOM_Font
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Font, _Font, &CLSID_WordFont, &IID__Font> CoWordFont;

// *********************************************************************//
// COCLASS DEFAULT INTERFACE CREATOR
// CoClass  : WordParagraphFormat
// Interface: TCOM_ParagraphFormat
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ParagraphFormat, _ParagraphFormat, &CLSID_WordParagraphFormat, &IID__ParagraphFormat> CoWordParagraphFormat;

// *********************************************************************//
// COCLASS DEFAULT INTERFACE CREATOR
// CoClass  : WordOLEControl
// Interface: TCOM_OLEControl
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OLEControl, _OLEControl, &CLSID_WordOLEControl, &IID__OLEControl> CoWordOLEControl;

// *********************************************************************//
// COCLASS DEFAULT INTERFACE CREATOR
// CoClass  : WordLetterContent
// Interface: TCOM_LetterContent
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_LetterContent, _LetterContent, &CLSID_WordLetterContent, &IID__LetterContent> CoWordLetterContent;

// *********************************************************************//
// COCLASS DEFAULT INTERFACE CREATOR
// CoClass  : WordApplication
// Interface: TCOM_Application
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Application, _Application, &CLSID_WordApplication, &IID__Application> CoWordApplication;
#endif  //   __TLB_NO_INTERFACE_WRAPPERS


#if !defined(__TLB_NO_EVENT_WRAPPERS) && defined(USING_ATLVCL)
// *********************************************************************//
// CONNECTIONPOINT/EVENT PROXY
// CoClass         : WordDocument
// Event Interface : DocumentEvents
// *********************************************************************//
template <class T>
class TEvents_WordDocument : public IConnectionPointImpl<T,
                                                 &DIID_DocumentEvents,
#if !defined(_TLB_DYNAMIC_CONNECTIONPOINT_ARRAY)
                                                 CComUnkArray<CONNECTIONPOINT_ARRAY_SIZE> >
#else
                                                 CComDynamicArray>
#endif
{
public:
  void            Fire_New(void);
  void            Fire_Open(void);
  void            Fire_Close(void);
protected:
  DocumentEventsDisp m_EventIntfObj;
};

template <class T> void
TEvents_WordDocument<T>::Fire_New(void)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.New();
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordDocument<T>::Fire_Open(void)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.Open();
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordDocument<T>::Fire_Close(void)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.Close();
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

// *********************************************************************//
// CONNECTIONPOINT/EVENT PROXY
// CoClass         : WordOLEControl
// Event Interface : OCXEvents
// *********************************************************************//
template <class T>
class TEvents_WordOLEControl : public IConnectionPointImpl<T,
                                                 &DIID_OCXEvents,
#if !defined(_TLB_DYNAMIC_CONNECTIONPOINT_ARRAY)
                                                 CComUnkArray<CONNECTIONPOINT_ARRAY_SIZE> >
#else
                                                 CComDynamicArray>
#endif
{
public:
  void            Fire_GotFocus(void);
  void            Fire_LostFocus(void);
protected:
  OCXEventsDisp m_EventIntfObj;
};

template <class T> void
TEvents_WordOLEControl<T>::Fire_GotFocus(void)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.GotFocus();
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordOLEControl<T>::Fire_LostFocus(void)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.LostFocus();
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

// *********************************************************************//
// CONNECTIONPOINT/EVENT PROXY
// CoClass         : WordApplication
// Event Interface : ApplicationEvents3
// *********************************************************************//
template <class T>
class TEvents_WordApplication : public IConnectionPointImpl<T,
                                                 &DIID_ApplicationEvents3,
#if !defined(_TLB_DYNAMIC_CONNECTIONPOINT_ARRAY)
                                                 CComUnkArray<CONNECTIONPOINT_ARRAY_SIZE> >
#else
                                                 CComDynamicArray>
#endif
{
public:
  void            Fire_QueryInterface(System::TGUID* riid, void** ppvObj);
  unsigned_long   Fire_AddRef(void);
  unsigned_long   Fire_Release(void);
  void            Fire_GetTypeInfoCount(unsigned* pctinfo);
  void            Fire_GetTypeInfo(unsigned itinfo, unsigned_long lcid, void** pptinfo);
  void            Fire_GetIDsOfNames(System::TGUID* riid, signed_char** rgszNames, unsigned cNames, 
                                     unsigned_long lcid, long* rgdispid);
  void            Fire_Invoke(long dispidMember, System::TGUID* riid, unsigned_long lcid, 
                              unsigned_short wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult, 
                              EXCEPINFO* pexcepinfo, unsigned* puArgErr);
  void            Fire_Startup(void);
  void            Fire_Quit(void);
  void            Fire_DocumentChange(void);
  void            Fire_DocumentOpen(Word_xp::WordDocument* Doc);
  void            Fire_DocumentBeforeClose(Word_xp::WordDocument* Doc, VARIANT_BOOL* Cancel);
  void            Fire_DocumentBeforePrint(Word_xp::WordDocument* Doc, VARIANT_BOOL* Cancel);
  void            Fire_DocumentBeforeSave(Word_xp::WordDocument* Doc, VARIANT_BOOL* SaveAsUI, 
                                          VARIANT_BOOL* Cancel);
  void            Fire_NewDocument(Word_xp::WordDocument* Doc);
  void            Fire_WindowActivate(Word_xp::WordDocument* Doc, Word_xp::WINDOW* Wn);
  void            Fire_WindowDeactivate(Word_xp::WordDocument* Doc, Word_xp::WINDOW* Wn);
  void            Fire_WindowSelectionChange(Word_xp::WordSelection* Sel);
  void            Fire_WindowBeforeRightClick(Word_xp::WordSelection* Sel, VARIANT_BOOL* Cancel);
  void            Fire_WindowBeforeDoubleClick(Word_xp::WordSelection* Sel, VARIANT_BOOL* Cancel);
  void            Fire_EPostagePropertyDialog(Word_xp::WordDocument* Doc);
  void            Fire_EPostageInsert(Word_xp::WordDocument* Doc);
  void            Fire_MailMergeAfterMerge(Word_xp::WordDocument* Doc, 
                                           Word_xp::WordDocument* DocResult);
  void            Fire_MailMergeAfterRecordMerge(Word_xp::WordDocument* Doc);
  void            Fire_MailMergeBeforeMerge(Word_xp::WordDocument* Doc, long StartRecord, 
                                            long EndRecord, VARIANT_BOOL* Cancel);
  void            Fire_MailMergeBeforeRecordMerge(Word_xp::WordDocument* Doc, VARIANT_BOOL* Cancel);
  void            Fire_MailMergeDataSourceLoad(Word_xp::WordDocument* Doc);
  void            Fire_MailMergeDataSourceValidate(Word_xp::WordDocument* Doc, VARIANT_BOOL* Handled);
  void            Fire_MailMergeWizardSendToCustom(Word_xp::WordDocument* Doc);
  void            Fire_MailMergeWizardStateChange(Word_xp::WordDocument* Doc, int* FromState, 
                                                  int* ToState, VARIANT_BOOL* Handled);
  void            Fire_WindowSize(Word_xp::WordDocument* Doc, Word_xp::WINDOW* Wn);
protected:
  ApplicationEvents3Disp m_EventIntfObj;
};

template <class T> void
TEvents_WordApplication<T>::Fire_QueryInterface(System::TGUID* riid, void** ppvObj)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.QueryInterface(riid, ppvObj);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> unsigned_long
TEvents_WordApplication<T>::Fire_AddRef(void)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.AddRef();
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
  return 0;
}

template <class T> unsigned_long
TEvents_WordApplication<T>::Fire_Release(void)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.Release();
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
  return 0;
}

template <class T> void
TEvents_WordApplication<T>::Fire_GetTypeInfoCount(unsigned* pctinfo)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.GetTypeInfoCount(pctinfo);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_GetTypeInfo(unsigned itinfo, unsigned_long lcid, void** pptinfo)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.GetTypeInfo(itinfo, lcid, pptinfo);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_GetIDsOfNames(System::TGUID* riid, signed_char** rgszNames, 
                                               unsigned cNames, unsigned_long lcid, long* rgdispid)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.GetIDsOfNames(riid, rgszNames, cNames, lcid, rgdispid);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_Invoke(long dispidMember, System::TGUID* riid, unsigned_long lcid, 
                                        unsigned_short wFlags, DISPPARAMS* pdispparams, 
                                        VARIANT* pvarResult, EXCEPINFO* pexcepinfo, 
                                        unsigned* puArgErr)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.Invoke(dispidMember, riid, lcid, wFlags, pdispparams, pvarResult, pexcepinfo, 
                            puArgErr);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_Startup(void)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.Startup();
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_Quit(void)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.Quit();
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_DocumentChange(void)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.DocumentChange();
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_DocumentOpen(Word_xp::WordDocument* Doc)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.DocumentOpen(Doc);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_DocumentBeforeClose(Word_xp::WordDocument* Doc, 
                                                     VARIANT_BOOL* Cancel)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.DocumentBeforeClose(Doc, Cancel);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_DocumentBeforePrint(Word_xp::WordDocument* Doc, 
                                                     VARIANT_BOOL* Cancel)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.DocumentBeforePrint(Doc, Cancel);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_DocumentBeforeSave(Word_xp::WordDocument* Doc, 
                                                    VARIANT_BOOL* SaveAsUI, VARIANT_BOOL* Cancel)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.DocumentBeforeSave(Doc, SaveAsUI, Cancel);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_NewDocument(Word_xp::WordDocument* Doc)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.NewDocument(Doc);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_WindowActivate(Word_xp::WordDocument* Doc, Word_xp::WINDOW* Wn)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.WindowActivate(Doc, Wn);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_WindowDeactivate(Word_xp::WordDocument* Doc, Word_xp::WINDOW* Wn)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.WindowDeactivate(Doc, Wn);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_WindowSelectionChange(Word_xp::WordSelection* Sel)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.WindowSelectionChange(Sel);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_WindowBeforeRightClick(Word_xp::WordSelection* Sel, 
                                                        VARIANT_BOOL* Cancel)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.WindowBeforeRightClick(Sel, Cancel);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_WindowBeforeDoubleClick(Word_xp::WordSelection* Sel, 
                                                         VARIANT_BOOL* Cancel)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.WindowBeforeDoubleClick(Sel, Cancel);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_EPostagePropertyDialog(Word_xp::WordDocument* Doc)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.EPostagePropertyDialog(Doc);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_EPostageInsert(Word_xp::WordDocument* Doc)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.EPostageInsert(Doc);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_MailMergeAfterMerge(Word_xp::WordDocument* Doc, 
                                                     Word_xp::WordDocument* DocResult)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.MailMergeAfterMerge(Doc, DocResult);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_MailMergeAfterRecordMerge(Word_xp::WordDocument* Doc)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.MailMergeAfterRecordMerge(Doc);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_MailMergeBeforeMerge(Word_xp::WordDocument* Doc, long StartRecord, 
                                                      long EndRecord, VARIANT_BOOL* Cancel)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.MailMergeBeforeMerge(Doc, StartRecord, EndRecord, Cancel);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_MailMergeBeforeRecordMerge(Word_xp::WordDocument* Doc, 
                                                            VARIANT_BOOL* Cancel)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.MailMergeBeforeRecordMerge(Doc, Cancel);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_MailMergeDataSourceLoad(Word_xp::WordDocument* Doc)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.MailMergeDataSourceLoad(Doc);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_MailMergeDataSourceValidate(Word_xp::WordDocument* Doc, 
                                                             VARIANT_BOOL* Handled)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.MailMergeDataSourceValidate(Doc, Handled);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_MailMergeWizardSendToCustom(Word_xp::WordDocument* Doc)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.MailMergeWizardSendToCustom(Doc);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_MailMergeWizardStateChange(Word_xp::WordDocument* Doc, 
                                                            int* FromState, int* ToState, 
                                                            VARIANT_BOOL* Handled)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.MailMergeWizardStateChange(Doc, FromState, ToState, Handled);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

template <class T> void
TEvents_WordApplication<T>::Fire_WindowSize(Word_xp::WordDocument* Doc, Word_xp::WINDOW* Wn)
{
  T * pT = (T*)this;
  pT->Lock();
  IUnknown ** pp = m_vec.begin();
  while (pp < m_vec.end())
  {
    if (*pp != NULL)
    {
      m_EventIntfObj.Attach(*pp);
      m_EventIntfObj.WindowSize(Doc, Wn);
      m_EventIntfObj.Attach(0);
    }
    pp++;
  }
  pT->Unlock();
}

#endif  //   __TLB_NO_EVENT_WRAPPERS

};     // namespace Word_xp

#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using  namespace Word_xp;
#endif

#pragma option pop

#endif // Word_XPH
