IInfoPathDataImporter.Import(IPropertyBag, IEnumUnknown) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在のフォームにデータをインポートします。
public:
void Import(Microsoft::Office::Interop::InfoPath::IPropertyBag ^ pPrintSettings, mshtml::IEnumUnknown ^ punkViewControls);
public void Import (Microsoft.Office.Interop.InfoPath.IPropertyBag pPrintSettings, mshtml.IEnumUnknown punkViewControls);
abstract member Import : Microsoft.Office.Interop.InfoPath.IPropertyBag * mshtml.IEnumUnknown -> unit
Public Sub Import (pPrintSettings As IPropertyBag, punkViewControls As IEnumUnknown)
パラメーター
- pPrintSettings
- IPropertyBag
印刷設定のコレクション。
- punkViewControls
- mshtml.IEnumUnknown
mshtml。ビュー内のコントロールの IEnumUnknown コレクション。
例
次の例では、インターフェイスの Import メソッドを IInfoPathDataImporter 使用して 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
注釈
インターフェイスを使用して、次の印刷設定を IPropertyBag 使用できます。
PageSize | A4、B4、Letter などの現在のページ サイズ。 |
TopMargin | 現在のビューの上余白。 |
BottomMargin | 現在のビューの下余白。 |
LeftMargin | 現在のビューの左余白。 |
RightMargin | 現在のビューの右余白。 |
MarginUnitsType | 余白の測定単位。 |
プログラムによって InfoPath フォームにデータをインポートする方法の詳細については、 InfoPath 開発者ポータルMicrosoft Office デベロッパー センターを参照してください。