DoCmd.TransferText メソッド (Access)

TransferText メソッドは、Visual Basic で TransferText アクションを実行します。

構文

expression.TransferText (TransferType, SpecificationName, TableName, FileName, HasFieldNames, HTMLTableName, CodePage)

expression: DoCmd オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
TransferType Optional AcTextTransferType 変換の種類を指定します。 区切りテキスト ファイル、固定長テキスト ファイル、または HTML ファイル間でデータをインポート、エクスポート、リンクすることができます。 既定値は acImportDelim です。 Microsoft Access プロジェクト (.adp) では、acImportDelimacImportFixedacExportDelimacExportFixed、または acExportMerge のみサポートされています。
SpecificationName 省略可能 Variant 作成してカレント データベースに保存したインポートまたはエクスポートの定義名を文字列式で指定します。 固定幅テキスト ファイルの場合、引数を指定するか、schema.ini ファイルを使用する必要があり、この schema.ini ファイルは、インポート、リンク、またはエクスポートを行うテキスト ファイルと同じフォルダーに格納する必要があります。

schema ファイルを作成するには、テキストのインポート/エクスポート ウイザードを使用します。 区切りテキスト ファイルおよび Microsoft Word の差し込み印刷データ ファイルの場合は、この引数を指定しないで、既定のインポート/エクスポート定義を選択できます。
TableName 省略可能 Variant テキスト データのインポート先の Access テーブル、テキスト データのエクスポート元の Access テーブル、テキスト データのリンク先の Access テーブル、またはテキスト ファイルにエクスポートする結果の Access クエリの名前を、文字列式で指定します。
FileName 省略可能 Variant インポート、エクスポート、またはリンクを行うテキスト ファイルの、パスを含めた完全な名前を文字列式で指定します。
HasFieldNames 省略可能 Variant インポート、エクスポート、またはリンクするときにフィールド名としてテキスト ファイルの最初の行を使用するには、True (1) を使用します。 テキスト ファイルの最初の行を通常のデータとして扱うには、False (0) を使用します。 この引数を空白にすると、既定値 (False) と見なされます。 Microsoft Word の宛名の差し込みデータ ファイルの場合は、この引数は無視され、最初の行には常にフィールド名が含まれます。
HTMLTableName 省略可能 バリアント型 インポートまたはリンクする HTML ファイル内のテーブルまたはリストの名前を文字列式で指定します。 TransferType 引数が acImportHTML または acLinkHTML に設定されている場合を除き、この引数は無視されます。 この引数を空白のままにすると、HTML ファイル内の最初のテーブルまたはリストがインポートまたはリンクされます。

CAPTION タグがある場合、HTML ファイル内のテーブルまたはリストの名前は、CAPTION タグで指定されたテキストによって決まります。 CAPTION タグが存在しない場合、この名前は TITLE タグで指定されたテキストによって決まります。 複数のテーブルまたはリストの名前が同じ場合、それらを区別するためにそれぞれのテーブルまたはリストの名前の末尾に番号が追加されます。たとえば、Employees1 および Employees2 のようになります。
CodePage 識別子 省略可能 バリアント型 コード ページの文字セットを示す長整数型 (Long) の値を指定します。

解説

現在の Access データベースまたは Access プロジェクト (.adp) とテキスト ファイルとの間でテキストをインポートまたはエクスポートするには、TransferText メソッドを使用します。 また、テキスト ファイルのデータを現在の Access データベースにリンクすることもできます。 リンクされたテキスト ファイルを使えば、ワード プロセッシング プログラムからデータに完全にアクセスできる状態で、Access でテキスト データを表示することができます。 また、HTML ファイル (*.html) のテーブルまたはリストをインポート、エクスポート、およびリンクすることもできます。

Access の選択クエリのデータをテキスト ファイルにエクスポートすることができます。 クエリの結果セットもテーブルと同じようにエクスポートされます。

次の例では、指定の標準出力を使用して、Access テーブル External Report のデータを区切り記号付きテキスト ファイル April.doc にエクスポートします。

DoCmd.TransferText acExportDelim, "Standard Output", _ 
    "External Report", "C:\Txtfiles\April.doc"

次のコードでは、新しい Microsoft Word 文書を作成し、Customers テーブルに格納されているデータを使用して差し込み印刷を実行する方法を示します。

Public Sub DoMailMerge(strFileSavePath As String)

    ' Create new Word App, add a document and set it visible
    Dim wdApp As New Word.Application
    wdApp.Documents.Add
    wdApp.Visible = True

    ' Open the data set from this database
    wdApp.ActiveDocument.MailMerge.OpenDataSource _
        Name:=Application.CurrentProject.FullName, _
        OpenExclusive:=False, _
        LinkToSource:=True, _
        Connection:="TABLE Customers", _
        SQLStatement:="SELECT Customers.* FROM Customers;"
              
    ' Add fields to the mail merge document
    Dim oSel As Object
    Set oSel = wdApp.Selection
    With wdApp.ActiveDocument.MailMerge.Fields
    
        oSel.TypeText vbNewLine & vbNewLine
        .Add oSel.range, "First_Name"
        oSel.TypeText " "
        .Add oSel.range, "Last_Name"
        oSel.TypeText vbNewLine
        .Add oSel.range, "Company"
        oSel.TypeText vbNewLine
        .Add oSel.range, "Address"
        oSel.TypeText vbNewLine
        .Add oSel.range, "City"
        oSel.TypeText ", "
        .Add oSel.range, "State"
        oSel.TypeText " "
        .Add oSel.range, "Zip"
        oSel.TypeText vbNewLine
        oSel.TypeParagraph
        oSel.TypeText "Dear "
        .Add oSel.range, "First_Name"
        oSel.TypeText ","
        oSel.TypeText vbNewLine
        oSel.TypeParagraph
        oSel.TypeText "We have created this mail just for you..."
        oSel.TypeText vbNewLine
        oSel.TypeText vbNewLine
        oSel.TypeText "Sincerely," & vbNewLine & "John Q. Public"
        oSel.TypeText vbFormFeed
        
    End With
    
    ' Execute the mail merge and save the document
    wdApp.ActiveDocument.MailMerge.Execute
    wdApp.ActiveDocument.SaveAs strFileSavePath
        
    ' Close everything and Cleanup Variables
    Set oSel = Nothing
    wdApp.ActiveDocument.Close False
    Set wdApp = Nothing

End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。