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

      2017/12/09

'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 , ,