VB6中的for each语法在VB.NET里一直提示该类型不是集合类型?

swatofa 2009-06-19 06:17:45
Private Sub outputmeasures(ByVal aLine As Line)
Dim pCount As Integer
Dim itemCount As Integer
Dim partLine As New Line
Dim i As Integer
Dim j As Integer

For Each partLine In aLine.Parts ------aLine.Parts不是集合类型!
pCount = pCount + 1
For i = 0 To partLine.Parts.Count - 1 Step 1
itemCount = itemCount + 1
With partLine.Item(i)
.Measure = 10 * i
ListBox1.Items.Add("点 " & itemCount & vbTab & "X= " & Format(.X, "0.00") & vbTab & "Y= " & Format(.Y, "0.00") & vbTab & "M= " & .Measure)
End With
Next i
Next partLine
End Sub


错误:表达式的类型为“ESRI.MapObjects2.Core.Parts”,该类型不是集合类型。
aLine.Parts 该类型不是集合类型!
...全文
215 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
swatofa 2009-07-14
  • 打赏
  • 举报
回复
已经找到解决的方法了,只是不知道有没有人关注这里了。呵呵。
swatofa 2009-07-11
  • 打赏
  • 举报
回复
没找到合适的办法,只能先结贴了。有劳了各位大虾了。
tfzdh 2009-06-28
  • 打赏
  • 举报
回复
我学习了
yanlongwuhui 2009-06-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 yanlongwuhui 的回复:]
试下:
Dim intI As Integer
For intI = 0 To recs.fields.count - 1
ListBox1.Items.Add(recs.fields(intI).name)
Next
[/Quote]

Dim intI As Integer
Dim pFld As Field
For intI = 0 To recs.fields.count - 1
pFld =recs.fields(intI)
IF NOT(pFld is nothing) then
ListBox1.Items.Add(pFld.name)
end if
Next
swatofa 2009-06-23
  • 打赏
  • 举报
回复
22楼wswbeijing 的方法果然有用,竟然发现combobox添加的所有项目都为nothing,看来是值为空,肯定是哪里出错了,得再找找原因了。
yanlongwuhui 2009-06-22
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 swatofa 的回复:]
加个aField=recs.fields.item(i)时发现aField为nothing,没有找到对象。
[/Quote]
跟踪查看下recs的值,以后recs.fields.count的值
outou 2009-06-22
  • 打赏
  • 举报
回复
看起来好乱呀,从重写吧。
wswbeijing 2009-06-22
  • 打赏
  • 举报
回复
20楼的方法应该是可以的
用他的语句加一句调试看看,对于vb.net,如果你用的是对象数组
里面的元素默认是未实例化的,需要先用new实例化一次,你用调试语句检查一下是否实例化了

For Integer Idx =0 To recs.fields.Count
if recs.fields(idx) is nothing then
ListBox1.Items.Add("Nothing")
else
ListBox1.Items.Add(recs.fields(Idx).Name)
endif
Next Idx

另外,vb。net实际调试的时候更方便,你可以在
Private Sub ListLayers()

Dim pFld As Field
Dim Recs As Recordset
Dim Layer As MapLayer
Layer = AxMap1.Layers.Item(0)
Recs = Layer.Records '这行设置断点,然后中断后,鼠标移到layer.records上看看,里面到底都什么情况
angel6709 2009-06-22
  • 打赏
  • 举报
回复
upup
swatofa 2009-06-22
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 yanlongwuhui 的回复:]

跟踪查看下recs的值,以后recs.fields.count的值
[/Quote]
recs有值,county也有值,就是afield为nothing。

wjq你好,rs已经填充了数据了,确定有值,用其他语句可以查出有分配值的。你那样也不行,总是提示未将对象引用设置到对象的实例。
排错提示: 使用new关键字创建对象实例;在调用方法前通过检查确定对象是否为空。另外,没有找到recs.fields.Refresh()
这个函数哦
wjq 2009-06-22
  • 打赏
  • 举报
回复
recs.fields.Refresh()

For Integer Idx =0 To recs.fields.Count
ListBox1.Items.Add(recs.fields(Idx).Name)
Next Idx
这样不行?确定rs已经填充了数据了?
swatofa 2009-06-22
  • 打赏
  • 举报
回复
For Each partLine In aLine.Parts ------aLine.Parts不是集合类型!
这个问题已经自己解决了,现在是下面这个问题解决不了,本想象第一个问题那样的解决方法照搬,可是行不通。
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
ListLayers()
End Sub

Private Sub ListLayers()

Dim pFld As Field
Dim Recs As Recordset
Dim Layer As MapLayer
Layer = AxMap1.Layers.Item(0)
Recs = Layer.Records

For Each pFld In recs.fields “该类型不是集合类型”。
ListBox1.Items.Add(pFld.Name)
Next pFld
目的:把recs中的所有Fields添加到listbox中去。
End Sub

Private Sub drawlayer()
Dim dc As New DataConnection
dc.Database = "C:\Program Files\ESRI\MapObjects2\Samples\Data\World"
If Not dc.Connect Then
MsgBox("在指定的文件夹下没找到图层数据文件!")
End
End If
layer1 = New MapLayer
layer1.GeoDataset = dc.FindGeoDataset("country")
layer1.Symbol.Color = System.Convert.ToUInt32(ColorConstants.moOrange)
layer1.Symbol.Size = 1
layer1.Symbol.Style = FillStyleConstants.moTransparentFill
AxMap1.Layers.Add(layer1)

End Sub


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

drawlayer()
ListLayers()

End Sub
其实上面的问题和这个问题是一个道理的,我用的是MapObjects组件开发。这些代码在vb6中可以很好的执行,不会有错误,可是用到.net中就老是提示该类型不是集合类型。
swatofa 2009-06-21
  • 打赏
  • 举报
回复
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
ListLayers()
End Sub

Private Sub ListLayers()

Dim pFld As Field
Dim Recs As Recordset
Dim Layer As MapLayer
Layer = AxMap1.Layers.Item(0)
Recs = Layer.Records

For Each pFld In recs.fields “该类型不是集合类型”。
ListBox1.Items.Add(pFld.Name)
Next pFld
目的:把recs中的所有Fields添加到listbox中去。
End Sub

Private Sub drawlayer()
Dim dc As New DataConnection
dc.Database = "C:\Program Files\ESRI\MapObjects2\Samples\Data\World"
If Not dc.Connect Then
MsgBox("在指定的文件夹下没找到图层数据文件!")
End
End If
layer1 = New MapLayer
layer1.GeoDataset = dc.FindGeoDataset("country")
layer1.Symbol.Color = System.Convert.ToUInt32(ColorConstants.moOrange)
layer1.Symbol.Size = 1
layer1.Symbol.Style = FillStyleConstants.moTransparentFill
AxMap1.Layers.Add(layer1)

End Sub


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

drawlayer()
ListLayers()

End Sub
其实上面的问题和这个问题是一个道理的,我用的是MapObjects组件开发。这些代码在vb6中可以很好的执行,不会有错误,可是用到.net中就老是提示该类型不是集合类型。
yanlongwuhui 2009-06-21
  • 打赏
  • 举报
回复
只有部分代码,可能没理解正确,你试试outputmeasures(Line1) 改成outputmeasures(Pts),把Private Sub outputmeasures(ByVal aLine As Line)改成Private Sub outputmeasures(ByVal aLine As Points)
古今多少事 2009-06-21
  • 打赏
  • 举报
回复
看得很累,重写吧,NET绘图方面应该比6.0强多了……
swatofa 2009-06-21
  • 打赏
  • 举报
回复
1楼理解得很对,可惜高人却隐蔽山林去了,呵呵。
line是我用组件开发做定义的类,是一条直线。
Private Sub outputmeasures(ByVal aLine As Line)
Dim pCount As Integer
Dim itemCount As Integer
Dim partLine As New Line
Dim i As Integer
Dim j As Integer

For Each partLine In aLine.Parts ------aLine.Parts不是集合类型!
pCount = pCount + 1
For i = 0 To partLine.Parts.Count - 1 Step 1
itemCount = itemCount + 1
With partLine.Item(i)
.Measure = 10 * i
ListBox1.Items.Add("点 " & itemCount & vbTab & "X= " & Format(.X, "0.00") & vbTab & "Y= " & Format(.Y, "0.00") & vbTab & "M= " & .Measure)
End With
Next i
Next partLine
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim P1 As Point
Dim Pts As Points

Line1 = New Line
Pts = New Points
P1 = AxMap1.ToMapPoint(100, 100)
Pts.Add(P1)
P1 = AxMap1.ToMapPoint(500, 400)
Pts.Add(P1)
P1 = AxMap1.ToMapPoint(100, 300)
Pts.Add(P1)
Line1.Parts.Add(Pts)
Pts = Line1.Parts.Item(0)
outputmeasures(Line1)
AxMap1.Refresh()

End Sub

aLine.Parts 把它改成一楼的代码,确实就不会出现该类型不是集合类型,但是我想调用时一条直线,此处改为点,就不知道调用函数的参数该如何去对应了。
改为Line也不行的。呵呵。
谢谢大家的积极回帖呀。
xysyzj 2009-06-21
  • 打赏
  • 举报
回复
aLine.Parts改为aline试试,因为Parts不能做集合类
yanlongwuhui 2009-06-21
  • 打赏
  • 举报
回复
VB.NET中没有LINE,是自定义的类吧
wjq 2009-06-21
  • 打赏
  • 举报
回复
你的Parts返回什么类型?
.net里for each需要迭代器,该集合需要实现IEnumerable 或 IEnumerable<T> 结构才能用foreach语法~
swatofa 2009-06-21
  • 打赏
  • 举报
回复
按楼上的提法修改了一下,不出现不适集合类型的错误了。但是又出现了一个新错误。

Dim intI As Integer
For intI = 0 To recs.fields.count - 1
ListBox1.Items.Add(recs.fields(intI).name)
Next

未将对象引用设置到对象的实例。
排错提示:
使用new关键字创建对象实例。
在调用方法前通过检查确定对象是否为空。
我new了下不行,再加个aField=recs.fields.item(i)时发现aField为nothing,没有找到对象。
加载更多回复(7)
Borland公司日前发布了其最新版Windows开发工具Delphi 2005,新版软件在同一开发环境加入了对Win32、.Net、Delphi和C#的支持,同时集成了Borland应用生命周期管理工具。   代号Diamondback的新版Delphi是为支持Borland包罗万象的“软件交付最优化”计划设计的,该计划把商业流程自动化应用到了软件开发工具。Borland一直希望自己能在.NET开发平台领域占有一席之地,可惜Delphi8只能用“半成品”来形容,几乎没有吸引到太多的.NET开发人员,也造成了大量的Delphi Win32的开发人员仍然停留在Delphi5、6、7版本上,对是否进入.NET平台而犹豫不决。另外的那个C# Builder也是反映平平,毕竟C#程序员很少会不直接使用VC#的。 现在Borland对Delphi9充满了信心,相信它会是一个“跨时代”的产品。下面是一些关于Delphi 2005的信息: 1、D9的CodeName叫做“Diamandback”。 2、D9基于.Net Fx 1.1。根据李维的说法,这个版本的稳定性非常好,甚至好过D8 SP3!!(从侧面证明了D8的稳定性的确是差...) 3、D9同时支持.NET平台和Win32平台的程序开发,并同时支持Delphi、C#、VB.NET语言。D9可以自动的对Win32的程序生成相应的Wrapper,以让.NET程序可以直接调用。就是说,一个大的解决方案可能包括一个Delphi Win32 dll项目、一个C# .Net dll项目,一个Delphi .Net WinForms项目... 4、D9内置了单元测试、建模、重构工具,看起来很强。 5、对ECO(Enterprise Core Object)进行了加强,可以支持ASP.NET项目了。我一直认为ECO是D8(和C#Builder)面最有价值、最Cool的东东!如果ECO可以单独提取出来,在VS.NET间使用就好了... 如果D9果真能够达到Borland所承诺的那样,具有强大功能(和VS2003比)的同时,具有很好的稳定性,那么D9的确将会是一个值得期待的开发平台。即使从对Object Pascal语言不感兴趣的.NET程序员的角度,在D9面使用C#进行开发也令人很有兴趣。:) Delphi 9 新增功能(未一一列出): 很是奇怪,Delphi 9的What's New很长,但演示却公布了为数不多的几个,希望到时下载好后使用这款软件的网友补充上。 1、新增For ... in 语法 类似Visual Basic的For Each : procedure TestNewFor(); var StrList: TStrings; S: String; begin StrList := TStringList.create(); StrList.Add('Borland Delphi'); StrList.Add('Borland C++ Builder'); StrList.Add('Borland JBuilder'); for S in StrList do begin ShowMessage(S); end; end; 2、支持命名空间 也就是namespace,使用Delphi的uses关键字。 3、IDE支持Delphi语言和C# 以前听说还支持VB.NET,可能是被CUT了。 4、IDE新增重构(ReFactoring)的一些功能 如ExtractMethod、Rename,很新鲜,也很实用,但Delphi 的第三方工具DevExpress Coderush好像已经实现这些功能了,Delphi 9对重构支持得好像还不是太全。 5、代码帮助提示 是相对以前版本Delphi很明显的改进,这一改进应该是学习微软的Visual Studio,但感觉没有Visual Studio强大,Microsoft Visual Studio .NET 2003的代码帮助实在太强了,强得让人很惊喜,很意外,这也是我喜欢微软的一个原因。 6、新增Code History 类似源码控制系统的一些功能,可以随时查看代码的修改记录。 7、新增 Code Editor语法错误提示功能 这一特性也是学习微软Visual Studio,在编码时对错误的语法进行下划波浪线提示
VBScript 语言参考 特性信息 字母顺序关健字列表 常数 错误 事件 函数 方法 对象 运算符 属性 语句 欢迎使用 VBScript 语言参考 通过对信息进行分组,可以使您方便地研究 Visual Basic 脚本的各个主题。 可以在“字母顺序关键字列表”找到 VBScript 语言的所有主题。如果只需要查看某个主题(例如对象),则有对该主题进行详细说明的章节可供查阅。 如何操作呢?单击左边任意一个标题,即可显示该标题所包含的项目列表。从该列表选择要查看的主题。打开所选主题之后,就能够很容易地链接到其他相关章节。 请尽情浏览 JScript 语言参考的各个部分,您会发现 VBScript 语言有多么丰富。 特性 说明 版本信息 按主机应用排序的 VBScript 版本列表和按版本排序的特性列表. VBScript 特性 VBScript 最新特性列表 未包含在 VBScript 的 VBA 特性 VBScript 最新特性列表:未包含在 VBScript 的应用程序编辑。 未包含在 VBA 的 VBScript 特性 未包含在 Visual Basic 的 VBScript 特性列表:应用程序编辑。 Microsoft Scripting 运行时特性 VBScript 最新的 Scripting 运行时特性列表。 语言元素 说明 Abs 函数 返回数的绝对值。 加法运算符 (+) 两数相加。 And 运算符 执行两个表达式的逻辑连接。 Array 函数 返回含一数组的 变体 。 Asc 函数 返回字符串首字母的 ANSI 字符代码。 赋值运算符 (=) 给变量或属性赋值。 Atn 函数 返回数的反正切值。 Call 语句 将控制移交 Sub 或 Function 过程。 CBool 函数 返回已被转换为 Boolean 子的变体的表达式。 CByte 函数 返回已被转换为字节子的变体的表达式。 CCur 函数 返回已被转换为货币子的变体的表达式。 CDate 函数 返回已被转换为日期子的变体的表达式。 CDbl 函数 返回已被转换为双精度子的变体的表达式。 Chr 函数 返回指定 ANSI 字符码的字符。 CInt 函数 返回已被转换为整数子的变体的表达式。 Class 对象 提供对已创建的类的事件的访问。 Class 语句 声明类名 Clear 方法 清除 Err 对象的所有属性设置。 CLng 函数 返回已被转换为 Long 子的变体的表达式。 颜色常数 颜色常数列表。 比较常数 用于比较运算的常数列表。 连接运算符 (&) 强制两个表达式的字符串连接。 Const 语句 声明用于字母值的常数。 Cos 函数 返回角度的余弦值。 CreateObject 函数 创建并返回对“自动”对象的引用。 CSng 函数 返回已被转换为单精度子的变体的表达式。 CStr 函数 返回已被转换为字符串子的变体的表达式。 日期和时间常数 在日期和时间运算用来定义星期几和其他常数的常数列表。 日期格式常数 用于日期和时间格式的常数列表。 Date 函数 返回当前系统日期。 DateAdd 函数 返回加上了指定的时间间隔的日期。 DateDiff 函数 返回两个日期之间的间隔。 DatePart 函数 返回给定日期 的指定部分。 DateSerial 函数 返回指定年月日的 日期子的变体 。 DateValue 函数 返回日期子的变体 。 Day 函数 返回日期,取值范围为 1 至 31。 Description 属性 返回或者设置说明某个错误的字符串。 Dictionary 对象 存储数据键、项目对的对象。 Dim 语句 声明变量并分配存储空间。 除法运算符 (/) 两数相除并以浮点数格式返回商。 Do...Loop 语句 当条件为 True 或者当条件变为 True 时,重复一语句块。 Empty 表示尚未初始化的变量值。 Eqv 运算符 使两个表达式相等。 Erase 语句 重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象 含有关于运行时错误的信息。 Eval 函数 计算并返回表达式的值。 Execute 方法 根据指定的字符串,执行正则表达式的搜索。 Execute 语句 执行单个或更多的指定语句。 ExecuteGlobal 语句 执行一个或多个在全局脚本名字空间所指定的语句。 Exit 语句 退出 Do...Loop、For...Next
一、VBA语言基础 1 第一节 标识符 1 第二节 运算符 1 第三节 数据 1 第四节 变量与常量 1 第五节 数组 2 第六节 注释和赋值语句 2 第七节 书写规范 2 第八节 判断语句 2 第九节 循环语句 3 第十节 其他类语句和错误语句处理 4 第十一节 过程和函数 4 一.Sub过程 4 二.Function函数 5 三.Property属性过程和Event事件过程 5 第十二节内部函数 5 一.测试函数 5 二.数学函数 5 三.字符串函数 6 四.转换函数 6 五.时间函数 6 第十三节 文件操作 6 文件 6 删除 7 打开 7 读入 7 写入 7 关闭 7 其他文件函数 7 二、VISUAL BASIC程序设计网络教学 1 第一课 VBA是什么 1 1.1 VBA是什么 1 1.2 EXCEL环境基于应用程序自动化的优点 1 1.3 录制简单的宏 2 1.4 执行宏 2 1.5 查看录制的代码 2 1.6 编辑录制的代码 3 1.7 录制宏的局限性 4 1.8 小结 4 第二课 处理录制的宏 4 2.1 为宏指定快捷键 4 2.2 决定宏保存的位置 5 2.3 个人宏工作簿 5 2.3.1 保存宏到个人宏工作簿 5 2.3.2 使用并编辑个人宏工作簿的宏 5 2.4 将宏指定给按钮 6 2.5 将宏指定给图片或其他对象 6 2.6 小结 7 第三课 学习控件 7 3.1 EXCEL开发过程简介 7 3.2 认识不同的控件 7 3.3 向工作表添加控件 7 3.4 设置控件的特性 8 3.5 给控件命名 8 3.6 使用用户窗体 8 3.7 疑难解答 9 第四课 理解变量和变量的作用 9 4.1 代码存在的位置:模块 9 4.2 对模块的概览 10 4.2.1 创建过程 10 4.2.2 运行宏 11 4.3 保存对模块所做的改变 11 4.4 变量 11 4.4.1 变量的数据 11 4.4.2 用Dim语句创建变量(声明变量) 13 4.4.3 变量命名的惯例 13 4.4.4 使用数组 14 4.4.5 变量赋值 15 第五课 利用VBA设置工作表使用权限 15 1.使用WITH语句。 17 2.使用对象变量。 17 方法3:减少对象的激活和选择 17 方法4:关闭屏幕更新 18 第六课 提高EXCELVBA的效率 19 方法1:尽量使用VBA原有的属性、方法和WORKSHEET函数 19 方法2:尽量减少使用对象引用,尤其在循环 19 1.使用With语句。 19 2.使用对象变量。 20 3.在循环要尽量减少对象的访问。 20 方法3:减少对象的激活和选择 20 方法4:关闭屏幕更新 20 第七课 如何在EXCEL使用定时器 20 三、学习微软 EXCEL 2002 VBA 编程和XML,ASP技术 22 第一章 电子表格自动化简介和了解宏命令 22 1了解宏 22 2宏命令的普通应用 22 3写宏之前的计划 23 4录制宏 24 5运行宏 26 6修改宏代码 26 7添加注释 29 8分析宏代码 29 9清除宏代码 30 10测试修改好的宏 31 11两个层面运行宏的方法 32 12完善你的宏代码 32 13重新命名宏 34 14运行宏的其它方法 34 15使用键盘快捷键运行宏 34 16通过菜单运行宏 35 17通过工具栏按钮运行宏 37 18通过工作表面的按钮运行宏 38 19保存宏 39 20打印宏 39 21保存宏在个人宏工作簿 40 22打开含有宏的工作簿 41 23VB编辑窗口 42 24了解工程浏览窗口 43 25了解属性窗口 43 26了解代码窗口 44 27 VB编辑器的其它窗口 46 28接下来…… 46 第二章 VBA 第一步 46 1了解指令,模块和过程 47 2 VBA工程命名 47 3模块重命名 48 4从其它工程调用过程 49 5了解对象,属性和方法 50 6学习对象,属性和方法 51 7句法和文法 53 8打断很长的VBA语句 55 9了解VBA错误 55 10查找帮助 57 11语法和编程快捷助手 58 12属性/方法列表 59 13常数列表 59 14参数信息 60 15快速信息 60 16自动完成关键字 60 17缩进/凸出 61 18设置注释块/解除注释块 61 19使用对象浏览器 61 20使用VBA对象库 66 21用对象浏览器来定位过程 67 22使用立即窗口 67 23获取立即窗口的信息 69 24学习对象 70 25电子表格单元格操作 70 26使用RANGE属性 70 27使用CELLS属性 71 28使用OFFSET属性 71 29选择单元格的其它方法 72 30选择行和列 73 31获取工作表信息 73 32往工作表输入数据 73 33返回工作表的信息 74 34单元格格式 74 35移动,复制和删除单元格 74 36操作工作簿和工作表 75 37操作窗口(WINDOWS) 76 38管理EXCEL应用程序 76 39接下来…… 77 第三章 了解变量,数据和常量 77 1保存VBA语句的结果 77 2变量是什么 77 3数据 78 4如何产生变量 78 5如何声明变量 79 6明确变量的数据 80 7变量赋值 81 8强制声明变量 84 9了解变量范围 85 10过程级别(当地)变量 85 11模块级别变量 85 12工程级别变量 86 13变量的存活期 86 14了解和使用静态变量 86 15声明和使用对象变量 87 16使用明确的对象变量 88 17查找变量定义 88 18在VB过程面使用常量 89 19内置常量 89 20接下来…… 90 第四章 VBA过程:子程序和函数 91 1.关于函数过程 91 2.创建函数过程 91 3.执行函数过程 92 4.从工作表运行函数过程 93 5.从另外一个VBA过程运行函数过程 94 6.传递参数 95 7.明确参数 96 8.按地址和按值传递参数 97 9.使用可选的参数 97 10.定位内置函数 98 11.使用MSGBOX函数 99 12.MSGBOX函数的运行值 103 13.使用INPUTBOX函数 104 14.数据转变 105 15.使用INPUTBOX方法 106 16.使用主过程和子过程 109 17.接下来…… 111 第五章 基于VBA做决定 111 1.关系和逻辑运算符 111 2.IF…THEN语句 112 3.基于多于一个条件的决定 114 4.THE IF…THEN…ELSE语句 115 5.IF…THEN…ELSEIF语句 118 6.嵌套的IF…THEN语句 119 7.SELECT CASE语句 120 8.和CASE子句一起使用IS 121 9.确定CASE子句数值的范围 122 10.在CASE子句确定多个表达式 123 11.接下来… 123 第六章 在VBA重复操作 123 1.DO LOOPS: DO…WHILE和DO…UNTIL 123 2.观察过程执行 126 3.WHILE…WEND循环 127 4.FOR…NEXT 循环 128 5.FOR EACH…NEXT循环 129 7.提前跳出循环 130 8.循环嵌套 131 9.接下来… 131 第七章 利用VBA数组管理数据清单和表格 131 1.了解数组 132 2.声明数组 133 3.数组的上界和下界 133 4.在VBA过程使用数组 134 5.数组和循环语句 135 6.使用二维数组 136 7.静态和动态数组 137 8.数组函数 139 9.ARRAY函数 139 10.ISARRAY函数 140 11.ERASE函数 140 12.LBOUND函数和UBOUND函数 141 13.数组的错误 141 14.数组作为参数 143 15.接下来… 143 第八章 利用VBA操纵文件和文件夹 144 1.获取当前文件夹的名称(CURDIR函数) 144 2.更改文件或文件夹名称(NAME函数) 145 3.检查文件或文件夹是否存在(DIR函数) 145 4.获得文件修改的日期和时间(FILEDATETIME函数) 147 5.获得文件大小(FILELEN函数) 147 6.返回和设置文件属性(GETATTR函数和SETATTR函数) 147 7.更改缺省文件夹或驱动器(CHDIR语句和CHDRIVE语句) 149 8.创建和删除文件夹(MKDIR语句和RMDIR语句) 149 9.复制文件(FILECOPY语句) 149 10.删除文件(KILL语句) 151 11.从文件读取和写入数据(INPUT/OUTPUT) 151 12.文件访问 152 13.使用顺序文件 152 14.读取储存于顺序文件的数据 152 15.逐行读取文件 152 16.从顺序文件读取字符 153 17.读取分隔文本文件 155 18.往顺序文件写数据 155 19.使用WRITE # 和PRINT # 语句 156 20.操作随机文件 157 21.创建用户定义的数据 157 22.操作二进制文件 161 23.操作文件和文件夹的时髦方法 162 24.使用WSH获取文件信息 164 25.FILESYSTEMOBJEC的方法和属性 165 26.对象FILE的属性 168 27.文件夹对象属性 169 28.驱动器对象属性 169 29.使用WSH创建文本文件 170 30.使用WSH进行其它操作 172 31.运行其它应用程序 172 32.创建快捷方式 173 33.接下来…… 174 第九章 利用VBA控制其它应用程序 174 1.启动应用程序 174 2.在应用程序之间切换 177 3.控制其它应用程序 177 4.控制应用程序的其它方法 179 5.了解自动控制 179 6.了解链接和嵌入 180 7.使用VBA进行链接和嵌入 181 8.COM和自动控制 182 9.了解绑定 182 10.后期绑定 182 11.早期绑定 182 12.建立到对象库的引用 183 13.创建自动控制对象 184 14.使用CREATEOBJECT函数 184 15.使用自动控制创建一个新的WORD文档 185 16.使用GETOBJECT函数 185 17.打开存在的WORD文档 186 18.使用关键字NEW 187 19.使用自动控制访问MICROSOFT OUTLOOK 188 20.接下来…… 189 第十章 对话框和自定义窗体 189 1.文件打开和另存为对话框 192 2.GETOPENFILENAME和GETSAVEASFILENAME方法 196 3.创建窗体 197 4.创建用户窗体的工具 199 5.标签 200 6.文字框 200 7.框架 200 8.选项按钮 201 9.复选框 201 10.切换按钮 201 11.列表框 201 12.复合框 201 13.滚动条 201 14.旋转按钮 201 15.图像 201 16.多页控件 202 17.TABSTRIP控件 202 18.REFEDIT控件 202 19.在窗体上放置控件 202 20.应用程序示例1:信息调查 202 21.在窗体上添加按钮、选项框和其它控件 204 22.更改控件名称 206 23.设置其它控件属性 206 24.准备工作表以储存窗体数据 207 25.显示自定义窗体 208 26.设置TAB顺序 208 27.了解窗体和控件事件 209 28.编写VBA过程对窗体和控件事件反应 211 29.编写过程来初始化窗体 211 30.编写过程填充列表框控件 213 31.编写过程控制选项按钮 213 32.编写过程同步文字框和旋转按钮 214 33.编写过程关闭用户窗体 214 34.转移窗体数据到工作表 215 35.使用INFO SURVEY应用程序 216 36.应用程序示例2:学生和考试 216 37.使用多页和TABSTRIP控件 216 38.给窗体STUDENTS AND EXAMS自定义窗体编写VBA过程 218 39.使用自定义窗体STUDENTS AND EXAMS 223 40.接下来…… 225 第十一章 自定义集合和类模块 225 1.使用集合 226 2.声明自定义集合 227 3.给自定义集合添加对象 227 4.从自定义集合移出对象 228 5.创建自定义对象 229 6.创建类 229 7.变量声明 229 8.定义类的属性 230 9.创建PROPERTY GET过程 230 10.创建PROPERTY LET过程 231 11.创建类方法 232 12.创建类的示例 232 13.类模块的事件过程 232 14.创建用户界面 233 15.观察VBA过程的执行 242 16.接下来…… 245 第十二章 使用VBA创建自定义菜单和工具栏 245 1.工具栏 245 2.创建自定义工具栏 247 3.删除自定义工具栏 249 4.使用COMMANDBAR的属性 249 5.使用COMMANDBAR控件 249 6.理解和使用控件属性 251 7.控件方法 253 8.使用菜单 254 9.菜单编程 256 10.创建子菜单 258 11.修改内置快捷菜单 260 12.创建快捷菜单 262 13.接下来…… 264 第十三章 调试VBA过程和处理错误 264 1.测试VBA过程 265 2.终止过程 265 3.使用断点 266 4.在断模式下使用立即窗口 269 5.使用STOP语句 271 6.添加监视表达式 271 7.清除监视表达式 274 8.使用快速监视 274 9.使用本地窗口和调用堆栈对话框 275 10.逐句运行VBA过程 276 11.逐句运行过程 277 12.逐过程执行过程 277 13.设置下一条语句 278 14.显示下一条语句 279 15.终止和重新设置VBA过程 279 16.了解和使用条件编译 279 17.操纵书签 281 18.捕捉错误 281 17.接下来…… 285 第十四章 微软EXCEL 2002 的事件编程 285 1.事件过程介绍 285 2.激活和失活事件 287 3.事件次序 289 4.工作表事件 289 5.工作簿事件 294 6.图表事件 312 7.内嵌图表事件 316 8.可为应用软件对象识别的事件 317 9.查询表时间 320 10.接下来…… 323 第十五章 在EXCEL使用ACCESS 323 1.对象库 323 2.建立对对象库的引用 329 3.链接到ACCESS 329 4.使用AUTOMATION链接到ACCESS数据库 331 5.使用DAO链接到ACCESS数据库 334 6.使用ADO链接到ACCESS数据库 334 7.从EXCEL执行ACCESS任务 336 8.创建新ACCESS数据库 336 9.打开ACCESS窗体 338 10.打开ACCESS报表 343 11.运行ACCESS查询 345 12.运行选择查询 347 13.运行参数查询 348 14.调用ACCESS函数 350 15.获取ACCESS数据到EXCEL工作表 350 16.使用GETROWS方法获取数据 350 17.使用COPYFROMRECORDSET方法获取数据 354 18.使用TRANSFERSPREADSHEET方法获取数据 354 19.使用OPENDATABASE方法 356 20.从ACCESS数据创建文本文件 360 21.从ACCESS数据创建查询表 363 22.在EXCEL使用ACCESS数据 365 23.用ACCESS数据创建内嵌图表 365 24.传输EXCEL电子表格到ACCESS数据库 367 25.将EXCEL电子表格链接到ACCESS数据库 369 26.将EXCEL电子表格导入ACCESS数据库 370 27.放置EXCEL数据到ACCESS表 370 28.接下来…… 374
一、VBA语言基础 1 第一节 标识符 1 第二节 运算符 1 第三节 数据 1 第四节 变量与常量 1 第五节 数组 2 第六节 注释和赋值语句 2 第七节 书写规范 2 第八节 判断语句 2 第九节 循环语句 3 第十节 其他类语句和错误语句处理 4 第十一节 过程和函数 4 一.Sub过程 4 二.Function函数 5 三.Property属性过程和Event事件过程 5 第十二节内部函数 5 一.测试函数 5 二.数学函数 5 三.字符串函数 6 四.转换函数 6 五.时间函数 6 第十三节 文件操作 6 文件 6 删除 7 打开 7 读入 7 写入 7 关闭 7 其他文件函数 7 二、VISUAL BASIC程序设计网络教学 1 第一课 VBA是什么 1 1.1 VBA是什么 1 1.2 EXCEL环境基于应用程序自动化的优点 1 1.3 录制简单的宏 2 1.4 执行宏 2 1.5 查看录制的代码 2 1.6 编辑录制的代码 3 1.7 录制宏的局限性 4 1.8 小结 4 第二课 处理录制的宏 4 2.1 为宏指定快捷键 4 2.2 决定宏保存的位置 5 2.3 个人宏工作簿 5 2.3.1 保存宏到个人宏工作簿 5 2.3.2 使用并编辑个人宏工作簿的宏 5 2.4 将宏指定给按钮 6 2.5 将宏指定给图片或其他对象 6 2.6 小结 7 第三课 学习控件 7 3.1 EXCEL开发过程简介 7 3.2 认识不同的控件 7 3.3 向工作表添加控件 7 3.4 设置控件的特性 8 3.5 给控件命名 8 3.6 使用用户窗体 8 3.7 疑难解答 9 第四课 理解变量和变量的作用 9 4.1 代码存在的位置:模块 9 4.2 对模块的概览 10 4.2.1 创建过程 10 4.2.2 运行宏 11 4.3 保存对模块所做的改变 11 4.4 变量 11 4.4.1 变量的数据 11 4.4.2 用Dim语句创建变量(声明变量) 13 4.4.3 变量命名的惯例 13 4.4.4 使用数组 14 4.4.5 变量赋值 15 第五课 利用VBA设置工作表使用权限 15 1.使用WITH语句。 17 2.使用对象变量。 17 方法3:减少对象的激活和选择 17 方法4:关闭屏幕更新 18 第六课 提高EXCELVBA的效率 19 方法1:尽量使用VBA原有的属性、方法和WORKSHEET函数 19 方法2:尽量减少使用对象引用,尤其在循环 19 1.使用With语句。 19 2.使用对象变量。 20 3.在循环要尽量减少对象的访问。 20 方法3:减少对象的激活和选择 20 方法4:关闭屏幕更新 20 第七课 如何在EXCEL使用定时器 20 三、学习微软 EXCEL 2002 VBA 编程和XML,ASP技术 22 第一章 电子表格自动化简介和了解宏命令 22 1了解宏 22 2宏命令的普通应用 22 3写宏之前的计划 23 4录制宏 24 5运行宏 26 6修改宏代码 26 7添加注释 29 8分析宏代码 29 9清除宏代码 30 10测试修改好的宏 31 11两个层面运行宏的方法 32 12完善你的宏代码 32 13重新命名宏 34 14运行宏的其它方法 34 15使用键盘快捷键运行宏 34 16通过菜单运行宏 35 17通过工具栏按钮运行宏 37 18通过工作表面的按钮运行宏 38 19保存宏 39 20打印宏 39 21保存宏在个人宏工作簿 40 22打开含有宏的工作簿 41 23VB编辑窗口 42 24了解工程浏览窗口 43 25了解属性窗口 43 26了解代码窗口 44 27 VB编辑器的其它窗口 46 28接下来…… 46 第二章 VBA 第一步 46 1了解指令,模块和过程 47 2 VBA工程命名 47 3模块重命名 48 4从其它工程调用过程 49 5了解对象,属性和方法 50 6学习对象,属性和方法 51 7句法和文法 53 8打断很长的VBA语句 55 9了解VBA错误 55 10查找帮助 57 11语法和编程快捷助手 58 12属性/方法列表 59 13常数列表 59 14参数信息 60 15快速信息 60 16自动完成关键字 60 17缩进/凸出 61 18设置注释块/解除注释块 61 19使用对象浏览器 61 20使用VBA对象库 66 21用对象浏览器来定位过程 67 22使用立即窗口 67 23获取立即窗口的信息 69 24学习对象 70 25电子表格单元格操作 70 26使用RANGE属性 70 27使用CELLS属性 71 28使用OFFSET属性 71 29选择单元格的其它方法 72 30选择行和列 73 31获取工作表信息 73 32往工作表输入数据 73 33返回工作表的信息 74 34单元格格式 74 35移动,复制和删除单元格 74 36操作工作簿和工作表 75 37操作窗口(WINDOWS) 76 38管理EXCEL应用程序 76 39接下来…… 77 第三章 了解变量,数据和常量 77 1保存VBA语句的结果 77 2变量是什么 77 3数据 78 4如何产生变量 78 5如何声明变量 79 6明确变量的数据 80 7变量赋值 81 8强制声明变量 84 9了解变量范围 85 10过程级别(当地)变量 85 11模块级别变量 85 12工程级别变量 86 13变量的存活期 86 14了解和使用静态变量 86 15声明和使用对象变量 87 16使用明确的对象变量 88 17查找变量定义 88 18在VB过程面使用常量 89 19内置常量 89 20接下来…… 90 第四章 VBA过程:子程序和函数 91 1.关于函数过程 91 2.创建函数过程 91 3.执行函数过程 92 4.从工作表运行函数过程 93 5.从另外一个VBA过程运行函数过程 94 6.传递参数 95 7.明确参数 96 8.按地址和按值传递参数 97 9.使用可选的参数 97 10.定位内置函数 98 11.使用MSGBOX函数 99 12.MSGBOX函数的运行值 103 13.使用INPUTBOX函数 104 14.数据转变 105 15.使用INPUTBOX方法 106 16.使用主过程和子过程 109 17.接下来…… 111 第五章 基于VBA做决定 111 1.关系和逻辑运算符 111 2.IF…THEN语句 112 3.基于多于一个条件的决定 114 4.THE IF…THEN…ELSE语句 115 5.IF…THEN…ELSEIF语句 118 6.嵌套的IF…THEN语句 119 7.SELECT CASE语句 120 8.和CASE子句一起使用IS 121 9.确定CASE子句数值的范围 122 10.在CASE子句确定多个表达式 123 11.接下来… 123 第六章 在VBA重复操作 123 1.DO LOOPS: DO…WHILE和DO…UNTIL 123 2.观察过程执行 126 3.WHILE…WEND循环 127 4.FOR…NEXT 循环 128 5.FOR EACH…NEXT循环 129 7.提前跳出循环 130 8.循环嵌套 131 9.接下来… 131 第七章 利用VBA数组管理数据清单和表格 131 1.了解数组 132 2.声明数组 133 3.数组的上界和下界 133 4.在VBA过程使用数组 134 5.数组和循环语句 135 6.使用二维数组 136 7.静态和动态数组 137 8.数组函数 139 9.ARRAY函数 139 10.ISARRAY函数 140 11.ERASE函数 140 12.LBOUND函数和UBOUND函数 141 13.数组的错误 141 14.数组作为参数 143 15.接下来… 143 第八章 利用VBA操纵文件和文件夹 144 1.获取当前文件夹的名称(CURDIR函数) 144 2.更改文件或文件夹名称(NAME函数) 145 3.检查文件或文件夹是否存在(DIR函数) 145 4.获得文件修改的日期和时间(FILEDATETIME函数) 147 5.获得文件大小(FILELEN函数) 147 6.返回和设置文件属性(GETATTR函数和SETATTR函数) 147 7.更改缺省文件夹或驱动器(CHDIR语句和CHDRIVE语句) 149 8.创建和删除文件夹(MKDIR语句和RMDIR语句) 149 9.复制文件(FILECOPY语句) 149 10.删除文件(KILL语句) 151 11.从文件读取和写入数据(INPUT/OUTPUT) 151 12.文件访问 152 13.使用顺序文件 152 14.读取储存于顺序文件的数据 152 15.逐行读取文件 152 16.从顺序文件读取字符 153 17.读取分隔文本文件 155 18.往顺序文件写数据 155 19.使用WRITE # 和PRINT # 语句 156 20.操作随机文件 157 21.创建用户定义的数据 157 22.操作二进制文件 161 23.操作文件和文件夹的时髦方法 162 24.使用WSH获取文件信息 164 25.FILESYSTEMOBJEC的方法和属性 165 26.对象FILE的属性 168 27.文件夹对象属性 169 28.驱动器对象属性 169 29.使用WSH创建文本文件 170 30.使用WSH进行其它操作 172 31.运行其它应用程序 172 32.创建快捷方式 173 33.接下来…… 174 第九章 利用VBA控制其它应用程序 174 1.启动应用程序 174 2.在应用程序之间切换 177 3.控制其它应用程序 177 4.控制应用程序的其它方法 179 5.了解自动控制 179 6.了解链接和嵌入 180 7.使用VBA进行链接和嵌入 181 8.COM和自动控制 182 9.了解绑定 182 10.后期绑定 182 11.早期绑定 182 12.建立到对象库的引用 183 13.创建自动控制对象 184 14.使用CREATEOBJECT函数 184 15.使用自动控制创建一个新的WORD文档 185 16.使用GETOBJECT函数 185 17.打开存在的WORD文档 186 18.使用关键字NEW 187 19.使用自动控制访问MICROSOFT OUTLOOK 188 20.接下来…… 189 第十章 对话框和自定义窗体 189 1.文件打开和另存为对话框 192 2.GETOPENFILENAME和GETSAVEASFILENAME方法 196 3.创建窗体 197 4.创建用户窗体的工具 199 5.标签 200 6.文字框 200 7.框架 200 8.选项按钮 201 9.复选框 201 10.切换按钮 201 11.列表框 201 12.复合框 201 13.滚动条 201 14.旋转按钮 201 15.图像 201 16.多页控件 202 17.TABSTRIP控件 202 18.REFEDIT控件 202 19.在窗体上放置控件 202 20.应用程序示例1:信息调查 202 21.在窗体上添加按钮、选项框和其它控件 204 22.更改控件名称 206 23.设置其它控件属性 206 24.准备工作表以储存窗体数据 207 25.显示自定义窗体 208 26.设置TAB顺序 208 27.了解窗体和控件事件 209 28.编写VBA过程对窗体和控件事件反应 211 29.编写过程来初始化窗体 211 30.编写过程填充列表框控件 213 31.编写过程控制选项按钮 213 32.编写过程同步文字框和旋转按钮 214 33.编写过程关闭用户窗体 214 34.转移窗体数据到工作表 215 35.使用INFO SURVEY应用程序 216 36.应用程序示例2:学生和考试 216 37.使用多页和TABSTRIP控件 216 38.给窗体STUDENTS AND EXAMS自定义窗体编写VBA过程 218 39.使用自定义窗体STUDENTS AND EXAMS 223 40.接下来…… 225 第十一章 自定义集合和类模块 225 1.使用集合 226 2.声明自定义集合 227 3.给自定义集合添加对象 227 4.从自定义集合移出对象 228 5.创建自定义对象 229 6.创建类 229 7.变量声明 229 8.定义类的属性 230 9.创建PROPERTY GET过程 230 10.创建PROPERTY LET过程 231 11.创建类方法 232 12.创建类的示例 232 13.类模块的事件过程 232 14.创建用户界面 233 15.观察VBA过程的执行 242 16.接下来…… 245 第十二章 使用VBA创建自定义菜单和工具栏 245 1.工具栏 245 2.创建自定义工具栏 247 3.删除自定义工具栏 249 4.使用COMMANDBAR的属性 249 5.使用COMMANDBAR控件 249 6.理解和使用控件属性 251 7.控件方法 253 8.使用菜单 254 9.菜单编程 256 10.创建子菜单 258 11.修改内置快捷菜单 260 12.创建快捷菜单 262 13.接下来…… 264 第十三章 调试VBA过程和处理错误 264 1.测试VBA过程 265 2.终止过程 265 3.使用断点 266 4.在断模式下使用立即窗口 269 5.使用STOP语句 271 6.添加监视表达式 271 7.清除监视表达式 274 8.使用快速监视 274 9.使用本地窗口和调用堆栈对话框 275 10.逐句运行VBA过程 276 11.逐句运行过程 277 12.逐过程执行过程 277 13.设置下一条语句 278 14.显示下一条语句 279 15.终止和重新设置VBA过程 279 16.了解和使用条件编译 279 17.操纵书签 281 18.捕捉错误 281 17.接下来…… 285 第十四章 微软EXCEL 2002 的事件编程 285 1.事件过程介绍 285 2.激活和失活事件 287 3.事件次序 289 4.工作表事件 289 5.工作簿事件 294 6.图表事件 312 7.内嵌图表事件 316 8.可为应用软件对象识别的事件 317 9.查询表时间 320 10.接下来…… 323 第十五章 在EXCEL使用ACCESS 323 1.对象库 323 2.建立对对象库的引用 329 3.链接到ACCESS 329 4.使用AUTOMATION链接到ACCESS数据库 331 5.使用DAO链接到ACCESS数据库 334 6.使用ADO链接到ACCESS数据库 334 7.从EXCEL执行ACCESS任务 336 8.创建新ACCESS数据库 336 9.打开ACCESS窗体 338 10.打开ACCESS报表 343 11.运行ACCESS查询 345 12.运行选择查询 347 13.运行参数查询 348 14.调用ACCESS函数 350 15.获取ACCESS数据到EXCEL工作表 350 16.使用GETROWS方法获取数据 350 17.使用COPYFROMRECORDSET方法获取数据 354 18.使用TRANSFERSPREADSHEET方法获取数据 354 19.使用OPENDATABASE方法 356 20.从ACCESS数据创建文本文件 360 21.从ACCESS数据创建查询表 363 22.在EXCEL使用ACCESS数据 365 23.用ACCESS数据创建内嵌图表 365 24.传输EXCEL电子表格到ACCESS数据库 367 25.将EXCEL电子表格链接到ACCESS数据库 369 26.将EXCEL电子表格导入ACCESS数据库 370 27.放置EXCEL数据到ACCESS表 370 28.接下来…… 374
Collins Cobuild English Dictionary 是Pocket PC上最出色的英语含义查询词典,15年精心打造,超过25000个单词,Collins Cobuild英语词典堪称现代英语最全面、权威的向导。

柯林斯COBUILD英语词典 由英国伯明翰大学资深词典专家编纂而成。供、高等程度的英语教师和学生使用。为理解、学习、教授英语提供了一种革命性的新方法。 本词典是对于英语口语和书面语进行长达15年之久的全面分析的结晶对现代英语进行了清晰而详尽的描述,旨在帮助使用者扩大词汇量增强使用英语的信心,不断提高口语和书面语的运用能力。 收录75 000余词条,其4 000余条新词新义 首次使用取自英浯语料库的10 000余例证 以5个菱形的方式提供首词的词频信息 以独特的附加栏说明首词的语法特征 以最需用的词汇界定所收词目 使用最新版的国际音标注音 本词典在文字表述和版面设计上尽可能避免使用难懂的代码、符号、括号和缩写,是一本极有价值的工具书。

Collins的主要特点表现在例句和释义的选取上。释义本身就是一个例句,非常容易理解。例句也是从Bank of English选取,保证了例句完全来自与真实的环境。

其具体特点如下:
1.丰富的词义、解释和常用词组搭配,列举清晰
2. 快速、方便的单词、文字查找
3.涉及超过75000本参考书
4.从Bank of English数据库提取了超过100000条最新例子
5.增强的语法信息显示
6.修正、改良的语音信息显示
7.通过对相应模块的选择找到其他相关内容(同义词、缩写、同音词等)
8.首词以五个菱形的方式提供词频信息

以Love为例:
①If you love someone,you feel romantically or sexually attracted to them,and they are very important to you. VB
Oh,Amy,I love you ……
②love is a very strong feeling of affection towards someone who you are romantically or sexually attracted to. N-UNCOUNT
Our love for each other has been increased by what we've been through together.
……………………

这是一个需要安装的软件,直接运行setup.exe进行安装,可以装在SD卡上,无需注册,10M左右。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧