Sub test() Dim pWorkspaceFactory As IWorkspaceFactory Set pWorkspaceFactory = New AccessWorkspaceFactory 'Set pWorkspaceFactory = New ShapefileWorkspaceFactory 'Set pWorkspaceFactory = New FileGDBWorkspaceFactory 'Set pWorkspaceFactory = New FileGDBScratchWorkspaceFactory 'Set pWorkspaceFactory = New InMemoryWorkspaceFactory Dim pWorkspaceName As IWorkspaceName Set pWorkspaceName = pWorkspaceFactory.Create("D:\Workspace", "Workspace", Nothing, Application.hWnd) Dim pName As IName Set pName = pWorkspaceName Dim pWorkspace As IWorkspace Set pWorkspace = pName.Open End Sub Sub gxdlg() Dim pEnumGx As IEnumGxObject 'フィルタの作成 Dim pShpFilter As IGxObjectFilter Set pShpFilter = New GxFilterShapefiles Dim pLyrFilter As IGxObjectFilter Set pLyrFilter = New GxFilterLayers Dim pGxDialog As IGxDialog Set pGxDialog = New GxDialog pGxDialog.Title = "データの参照" Dim pFilterCol As IGxObjectFilterCollection Set pFilterCol = pGxDialog ' pFilterCol.AddFilter pShpFilter, False ' pFilterCol.AddFilter pLyrFilter, True 'pLyrFilter is the default filter. If Not pGxDialog.DoModalOpen(0, pEnumGx) Then Exit Sub 'キャンセルを押した場合 End If MsgBox pEnumGx.Next.FullName End Sub
IGxObjectFilter の利用
2016/9/1 (木)