默认头像
路人甲
路人甲
  • 注册日期2004-10-21
  • 发帖数126
  • QQ
  • 铜币540枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1693回复:1

用VBA,想看Raster有几个bands,为什么下面的代码会出错

楼主#
更多 发布于:2006-09-07 14:17

Public Sub checknumber()

Dim pMap As IMap
Dim pMxDocument As IMxDocument
Set pMxDocument = ThisDocument
Set pMap = pMxDocument.FocusMap

Dim pRasterlayer As Irasterlayer
Set pRasterlayer = pMap.Layer

Dim pRaster As IRaster
Set pRaster = pRasterlayer.Raster

Dim pRasBC As IRasterBandCollection
Set pRasBC = pRaster
MsgBox "Number of bands in Raster:" ; CInt(pRasBC.Count)

End Sub

运行后出现compile error:argument not optional的错误,然后指向了Public Sub Checknumber(),请问这个代码有什么问题??

[此贴子已经被作者于2006-9-7 14:22:43编辑过]
喜欢0 评分0
中国GIS的未来,要靠GIS农民创造.
默认头像
路人甲
路人甲
  • 注册日期2004-10-21
  • 发帖数126
  • QQ
  • 铜币540枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-09-07 14:36

搞定了,是因为Set pRasterlayer = pMap.Layer应该改成pMap.layer(0)

中国GIS的未来,要靠GIS农民创造.
举报 回复(0) 喜欢(0)     评分
默认头像

返回顶部