アノテーション フィーチャクラスにアノテーション クラスを追加

投稿日:2016/9/1 (木) 更新日:

'VBA
'アノテーション レイヤからアノテーションフィーチャクラスを取得
Dim pFeatureClass As IFeatureClass
Set pFeatureClass = pFeatureLayer.FeatureClass
 
'AnnotationFeatureClassExtensionの取得
Dim pAnnoClass As IAnnoClass
Set pAnnoClass = pFeatureClass.Extension
 
'シンボル コレクションの取得
Dim pSymbolCollection As ISymbolCollection2
Set pSymbolCollection = pAnnoClass.SymbolCollection
 
'既存のシンボル コレクションからデフォルト アノテーションクラス(インデックス番号0)を取得
Dim pSymbolIdentifier  As ISymbolIdentifier2
Call pSymbolCollection.GetSymbolIdentifier(0, pSymbolIdentifier)
 
'アノテーションクラスからテキスト シンボルを取得
Dim pTextSymbol As ITextSymbol
Set pTextSymbol = pSymbolIdentifier.Symbol
 
Dim pRGBColor As IRgbColor
Set pRGBColor = pTextSymbol.Color
pRGBColor.Red = 255
pRGBColor.Green = 0
pRGBColor.Blue = 0
 
'色を変更
pTextSymbol.Color = pRGBColor
 
Dim pNewSymbolIdentifier As ISymbolIdentifier2
   
'アノテーションクラスの追加
Call pSymbolCollection.AddSymbol(pTextSymbol, "新規アノテーション クラス", pNewSlIdentifier)
 
'追加されたアノテーションクラスのIDと名前を取得
Debug.Print pNewSymbolIdentifier.ID, pNewSymbolIdentifier.Name
 
'新規にアノテーション フィーチャを作成する際、シンボルIDを変更することでアノテーラスで定義しシンボルで表示されます。

関連記事

-プログラミング, ArcGIS
-, ,

Copyright© WINGFIELD since1981 , 2018 All Rights Reserved.