Public Sub FieldCalculator() Dim pMxDocument As IMxDocument Set pMxDocument = ThisDocument Dim pFeatureLayer As IFeatureLayer Set pFeatureLayer = pMxDocument.FocusMap.Layer(0) Dim pTable As ITable Set pTable = pFeatureLayer.FeatureClass 'フィールド演算 Dim pCursor As ICursor Set pCursor = pTable.Update(Nothing, False) 'UpdateCursor が必要 Dim pCalculator As ICalculator Set pCalculator = New Calculator Set pCalculator.Cursor = pCursor pCalculator.PreExpression = "Dim dblLength" & vbNewLine & _ "dblLength = [JCODE]" 'コード ブロック(バージョン10はVBScriptのみ使用可能) pCalculator.Expression = "dblLength" pCalculator.Field = "P_NUM" 'フィールド名 pCalculator.Calculate End Sub
#フィールド演算でPythonを使用 #コードブロックを表示 def theFunction(theGeometry): return 'ジオメトリ タイプ : ' + theGeometry.type ---------- theFunction(!Shape!) ※日本語の文字列連結でエラー ex) "ジオメトリ タイプ : " + theGeometry.type ※日本語文字の比較演算ができない(結果がfalseとなる) ex) if aaa == "北海道"]: