FAQ
スタンドアロン テーブルで選択された行を、プログラミングにより別のテーブルにエクスポートする方法

ナレッジ番号:5525 | 登録日:2023/07/27 | 更新日:2024/11/21


【概要】
ArcObjects を使用して、スタンドアロン テーブルで選択した行を、新規スタンドアロン テーブルにエクスポートする方法について解説します。

【手順】
下記のステップで行います。

  1. ArcMap を起動します。

  2. Visual Basic Editor を開きます(ArcMap の [ツール] > [マクロ] > [Visual Basic Editor])。

  3. プロジェクト エクスプローラ ウィンドウで、'Project' を展開し、ArcMap Objects > ThisDocument を選択します。右クリックして、[コードの表示] を選択します。

    Image

    ※ Project の ThisDocument コード モジュールは、現在のマップ ドキュメントにおいてのみ実行します。すべてのマップ ドキュメントにおいてコードを保存したい場合には、Normal.mxt の ThisDocument コード モジュールを開きます。

  4. 以下のコードをコード モジュールにコピー&ペーストします。

    Sub ExportSelectedRowsTable()
       
        ' アクティブなデータフレームのテーブル コレクションを取得します。
        ' TOC の最上位テーブルへの参照を作成します。
       Dim pMxDoc As IMxDocument
        Set pMxDoc = Application.Document
        Dim pMap As IStandaloneTableCollection
        Set pMap = pMxDoc.FocusMap
        Dim pStdAloneTbl As IStandaloneTable
        Set pStdAloneTbl = pMap.StandaloneTable(0)

        ' テーブル名を取得し、それをデータセット名に渡します。
        Dim pTable As ITable
        Set pTable = pStdAloneTbl.Table
        Dim pDataset As IDataset
        Set pDataset = pTable
        Dim pInTableName As ITableName
        Set pInTableName = pDataset.FullName
        Dim pInDsName As IDatasetName
        Set pInDsName = pInTableName
       
        ' テーブルの選択セットを取得します。
        Dim pTableSel As ITableSelection
        Set pTableSel = pStdAloneTbl
        Dim pSelSet As ISelectionSet
        Set pSelSet = pTableSel.SelectionSet

        ' 出力テーブル名を新規作成し、データセット名に渡します。
        Dim pOutTableName As ITableName
        Set pOutTableName = New TableName
        Dim pOutDSName As IDatasetName
        Set pOutDSName = pOutTableName
        pOutDSName.Name = "TestExport.dbf"   ' 名前を定義します。
       
        ' 出力ワークスペースを指定し、それを出力データセット名に渡します。
        Dim pWorkspaceName As IWorkspaceName
        Set pWorkspaceName = New WorkspaceName
        pWorkspaceName.PathName = "c:\temp"
        pWorkspaceName.WorkspaceFactoryProgID = "esriCore.shapefileworkspacefactory.1"
        Set pOutDSName.WorkspaceName = pWorkspaceName

        ' テーブルをエクスポートします。
        Dim pExportOp As IExportOperation
        Set pExportOp = New ExportOperation
        pExportOp.ExportTable pInDsName, Nothing, pSelSet, pOutDSName, 0

    End Sub


  5. Visual Basic Editor を閉じます。

  6. コードを実行します。

  7. A. [ツール] > [マクロ] > [マクロ] をクリックし、[マクロ] ダイアログを表示します。
    B. マクロを選択し、[実行] をクリックします。


【関連情報】

メタデータ

機能

種類

製品