IInfoPathViewControl インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ビューに存在するコントロールを表します。
public interface class IInfoPathViewControl
[System.Runtime.InteropServices.Guid("096CD6DA-0786-11D1-95FA-0080C78EE3BB")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IInfoPathViewControl
type IInfoPathViewControl = interface
Public Interface IInfoPathViewControl
- 属性
例
次の例では、IInfoPathDataImporter インターフェイスの Import メソッドを使用して、mshtml を反復処理します。アクティブなフォームのビュー内の IInfoPathViewControl コントロールの IEnumUnknown コレクション。
Import ルーチンは、カスタム データ インポーターの構築に使用されるソリューションの主要な部分です。 Visual Studio プロジェクトでは、Microsoft Office InfoPath 2.0 タイプ ライブラリと System.Windows.Forms への参照と、それぞれおよび mshtml の Imports ステートメントが必要です。カスタム データ インポーター インターフェイスによって提供されるメソッド (、 IInfoPathDataImporterFieldsIInfoPathViewControlIPropertyBagなどIInfoPathDataImporter) のシグネチャを生成するには、Implements ステートメントが必要です。
注: .NET クラス ライブラリを使用してカスタム データ インポーターをビルドするには、クラス プロパティ エディターの [コンパイル] タブの [COM 相互運用機能の登録] チェック ボックスをオンにします。
注: カスタム データ インポーターをデバッグするには、Visual Studio で [スタート アクション] を [外部プログラムの開始] に設定し、ドライブ>:\Program Files\Microsoft Office\Office12\ にある<INFOPATH.EXEを参照します。 このオプションは、クラス プロパティ エディターの [デバッグ] タブで使用できます。
Imports Microsoft.Office.Interop.InfoPath
Imports System.Windows.Forms
Imports mshtml
<ComClass(Class1.ClassId, Class1.InterfaceId, Class1.EventsId)> Public Class Class1
Implements Microsoft.Office.Interop.InfoPath.IInfoPathDataImporter
Implements Microsoft.Office.Interop.InfoPath.IInfoPathDataImporterFields
Implements Microsoft.Office.Interop.InfoPath.IInfoPathViewControl
Implements Microsoft.Office.Interop.InfoPath.IPropertyBag
Public Const ClassId As String = _
"1FEB0DF8-E7F1-4b21-A9EE-B06D5FECC572"
Public Const InterfaceId As String = _
"9F9F685C-71A0-46ec-A7F9-A86AF8CBC2A8"
Public Const EventsId As String = _
"ED7C0C49-3F89-40a2-A50E-C59E8F682B08"
Public Sub Import(
_ByVal pPrintSettings As Microsoft.Office.Interop.InfoPath.IPropertyBag, _
ByVal punkViewControls As mshtml.IEnumUnknown) _
Implements Microsoft.Office.Interop.InfoPath.IInfoPathDataImporter.Import
Dim pControl As IInfoPathViewControl
Dim pUnk As Object
Dim pcelt As UInt16 = 1
Dim pceltFetched As UInt16 = 0
Try
'Gets first control in the view
punkViewControls.RemoteNext(pcelt, pUnk, pceltFetched)
Do While pUnk.ToString() <> "Nothing"
pControl = pUnk
MessageBox.Show(pControl.ControlType)
'Gets next control in the view
punkViewControls.RemoteNext(pcelt, pUnk, pceltFetched)
Loop
Catch e As Exception
If e.Message = _
"Object reference not set to an instance of an object." Then
' Signals the end of the enumeration/controls in the view
Else
MessageBox.Show("Error: " & e.ToString & " " & e.Message)
End If
End Try
End Sub
注釈
インターフェイスとIInfoPathDataImporter組み合わせて使用される IInfoPathViewControl インターフェイスを使用すると、開発者は、ビューControlType内のコントロールに関する特定の情報 (、 や DataTypeTopLeft 、 位置、コントロールに関連付けられている XMLNodeName、など) をInputScopes(IntPtr, UInt32, IEnumString, String)取得できます。 Valueプロパティは、設定できる唯一のプロパティです。
ビューに存在する場合に列挙されるコントロールの一覧については、インターフェイスのメソッドをGetControls(IEnumUnknown)IInfoPathDataImporterFields参照してください。 特定のコントロールで使用できる許容されるデータ型の一覧については、IInfoPathViewControl インターフェイスの プロパティを参照してくださいValue。
プログラムによって InfoPath フォームにデータをインポートする方法の詳細については、 InfoPath 開発者ポータルMicrosoft Office デベロッパー センターを参照してください。
プロパティ
ControlType |
列挙体の現在のコントロールのコントロールの種類を取得します。 |
DataType |
ビュー内のコントロールのデータ型を取得します。 |
Height |
列挙体の現在のコントロールの高さを取得します。 |
Left |
列挙体の現在のコントロールのビューの左側からオフセットを取得します。 |
NodeName |
列挙体の現在のコントロールに関連付けられているノードの名前を取得します。 |
Top |
列挙体の現在のコントロールのビューの上部からオフセットを取得します。 |
Value |
列挙体の現在のコントロールの値を取得または設定します。 |
Width |
列挙体の現在のコントロールの幅を取得します。 |
メソッド
InputScopes(IntPtr, UInt32, IEnumString, String) |
列挙体の現在のコントロールの入力スコープを取得します。 |
適用対象
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示