|
Sub test()
Dim pMxDoc As IMxDocument
Dim pFLayer As IFeatureLayer
Dim pData As IDataStatistics
Dim pCursor As ICursor
Dim pStatResults As IStatisticsResults
Dim LayerIndex As Long
Dim strFieldName As String
Dim varZMin
'1.注:这里填你需要取最大最小值的字段名
strFieldName = "B"
Set pMxDoc = ThisDocument
'2.这里设置你需要计算字段值的图层所在图层索引号
'TOC 中,从上至下,第一层 LayerIndex=0,第二层 为 1,以此类推..
LayerIndex = 0
Set pFLayer = pMxDoc.FocusMap.Layer(LayerIndex)
Set pCursor = pFLayer.Search(Nothing, False)
Set pData = New DataStatistics
pData.Field = strFieldName
Set pData.Cursor = pCursor
Set pStatResults = pData.Statistics
varZMin = pStatResults.Minimum
Dim pFeature As IFeature
Dim pFeatureCursor As IFeatureCursor
Dim pFeatureClass As IFeatureClass
Dim FieldNum As Integer
Dim FieldY As Integer
'更新字段qq
Set pFeatureClass = pFLayer.FeatureClass
'字段索引
FieldNum = pFeatureClass.Fields.FindField("C")
FieldNum2 = pFeatureClass.Fields.FindField("A")
Set pFeatureCursor = pFeatureClass.Update(Nothing, False)
Set pFeature = pFeatureCursor.NextFeature
Do While (Not pFeature Is Nothing)
pFeature.Value(FieldNum) = pFeature.Value(FieldNum2) / varZMin
pFeatureCursor.UpdateFeature pFeature
Set pFeature = pFeatureCursor.NextFeature
Loop
End Sub
为什么要用代码?
|
|