Excel 拡張子のサンプル: 要素クラスSample Excel Extension: Element Classes

この拡張機能は、<xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement> から派生し、Microsoft ExcelMicrosoft Excel 内の Worksheet コントロールと Cell コントロールを表すクラスを使用します。The extension uses classes that are derived from <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement> and represent the Worksheet control and Cell control in Microsoft ExcelMicrosoft Excel.

この拡張機能の基本要素は ExcelElement です。The base element for this extension is the ExcelElement. ExcelWorksheetElement クラスおよび ExcelCellElement クラスは、この要素を継承します。The ExcelWorksheetElement class and the ExcelCellElement class inherit from that element

Element クラスと ElementInformation クラスElement and ElementInformation Classes

Element は、Excel 拡張機能のすべてのユーザー インターフェイス要素の基底クラスです。<xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement> クラスから継承されます。The Element is the base class for all user interface elements for the Excel extension, and it inherits from the <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement> class. ElementInformation はサンプルの要素情報クラスの基底クラスであり、メンバーを持ちません。ElementInformation is the base class for the element information classes in the sample, and it has no members.

単純なプロパティとメソッドSimple Properties and Methods

これらのメンバーは、Name プロパティの値や ClassName プロパティの値などの単純な値を返し、コードも明快で読みやすいものです。These members return simple values, such as the value of the Name property or the value of the ClassName property, and the code is clear and easy to read. 一部の値は、Utility クラスを使用して返されます。これについては、後で説明します。Some values are returned by using the Utility class, which is discussed later. その他は、このサンプル拡張機能には関連しないので、null を返します。Others return null because they are not relevant in this sample extension. <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.QueryId%2A> プロパティという <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.CacheProperties%2A> メソッドの 2 つは他のメンバーよりも興味深いメンバーです。Two members are more interesting than the others: the <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.QueryId%2A> property and the <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.CacheProperties%2A> method.

QueryId プロパティQueryId Property

このプロパティは、再生中にコントロールを一意に識別する、プロパティ名と値のペアから成る条件を返します。This property returns a condition that is made of property name-value pairs that uniquely identify the control during playback. 開発者は、各派生コントロール クラスのこのプロパティを上書きし、フレームワークが UI 内のコントロールを見つけるために使用できる <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.IQueryElement> オブジェクトを返すようにする必要があります。For each derived control class, the developer must override this property to return an <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.IQueryElement> object that the framework can use to find the control in the UI.

CacheProperties メソッドCacheProperties Method

このメソッドは、記録処理中にテスト フレームワークによって呼び出され、重要なプロパティのスナップショットを保存するよう要素に指示します。This method is called by the testing framework during the recording process to tell the element to save a snapshot of important properties. そうすることで、実際の UI コントロールが画面上に存在しなくなった場合でも、プロパティが使用可能な状態で維持されます。This keeps the properties available even when the actual UI control is no longer on the screen.

WorksheetElement クラスと WorksheetInformation クラスWorksheetElement and WorksheetInformation Classes

WorksheetElement クラスはテスト フレームワーク内の Excel ワークシートを表し、Element 基底クラスを継承します。The WorksheetElement class represents an Excel Worksheet in the testing framework, and inherits from the Element base class. <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.ClassName%2A>、<xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.ControlTypeName%2A>、および <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.Name%2A> の 3 つのプロパティはオーバーライドされ、Excel ワークシート オブジェクトに関する特定の情報が提供されます。Three properties are overridden to provide specific information about the Excel Worksheet object: <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.ClassName%2A>, <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.ControlTypeName%2A>, and <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.Name%2A>.

また、ComVisibleAttribute もこのクラスに適用され、COM から参照できるようになります。The ComVisibleAttribute is also applied to this class to make it visible to COM.

WorksheetInformation クラスは Excel ワークシートに関する情報を表します。The WorksheetInformation class represents information about an Excel Worksheet. SheetName プロパティという 1 つのメンバーしかありませんが、このサンプルの場合はそれで十分です。It has only one member, the SheetName property, which is sufficient for this sample.

CellElement クラスと CellInformation クラスCellElement and CellInformation Classes

CellElement クラスは Excel のセルを表し、Element 基底クラスを継承します。The CellElement class represents an Excel Cell, and inherits from the Element base class. 唯一のオーバーライドされるメンバーは <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.QueryId%2A> です。これは、セルを識別する RowIndex および ColumnIndex プロパティを使用する <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.IQueryElement> を返します。The only overridden member is the <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.QueryId%2A> property, which returns an <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.IQueryElement> that uses the RowIndex and ColumnIndex properties to identify the cell.

Utilities クラスと ExcelUtilities クラスUtilities and ExcelUtilities Classes

内部 ExcelUtilities クラスには、テクノロジ名などの定数値や、指定されたウィンドウ ハンドルが Excel ワークシートを表すかどうかを判断するメソッドなどが用意されています。The internal ExcelUtilities class provides some constant values, such as the technology name, and a method that determines if the provided window handle represents an Excel worksheet.

Utilities クラスには、UI に関するさまざまな情報を返すヘルパー メソッドがあります。The Utilities class has helper methods that return a variety of information about the UI. 一部のメソッドは、USER32.DLLOLEACC.DLL などの外部システム DLL への直接呼び出しを使用して、UI のウィンドウ ハンドルを取得しますSome methods use direct calls into external system DLLs, such as USER32.DLL and OLEACC.DLL, to get window handles from the UI.

関連項目See Also

ComVisibleAttributeComVisibleAttribute
<xref:Microsoft.VisualStudio.TestTools.UITest.Extension.IQueryElement><xref:Microsoft.VisualStudio.TestTools.UITest.Extension.IQueryElement>
コード化された UI テストと操作の記録を拡張して Microsoft Excel をサポートExtending Coded UI Tests and Action Recordings to Support Microsoft Excel