'コピー元のデータフレーム(1番目)とコピー先のデータフレーム(2番目) 'レイヤ数とその順序は同じであること 'フィーチャレイヤのみ追加されていること(ラスタやTIN、グループレイヤなどが含まれていないこと) Sub CopyRenderer() Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument 'Mapsの取得 Dim pMaps As IMaps Set pMaps = pMxDoc.Maps 'Map(データフレーム)の取得 Dim pMapFrom As IMap Set pMapFrom = pMaps.Item(0) Dim pMapTo As IMap Set pMapTo = pMaps.Item(1) Dim i As Integer Dim pLayerFrom As IGeoFeatureLayer Dim pLayerTo As IGeoFeatureLayer For i = 0 To pMapFrom.LayerCount - 1 'コピー元、コピー先レイヤ取得 Set pLayerFrom = pMapFrom.Layer(i) Set pLayerTo = pMapTo.Layer(i) 'レンダラのコピー Set pLayerTo.Renderer = pLayerFrom.Renderer Next i 'TOCの更新 pMxDoc.UpdateContents End Sub
データ フレーム間でレンダラーのコピー
2016/9/1 (木)