向vb 高手求助代码编程:菜单中打开txt或excel数据表文件,求某列中几个数求平均,找出并输出均值附近数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向vb 高手求助代码编程:菜单中打开txt或excel数据表文件,求某列中几个数求平均,找出并输出均值附近数据相关的知识,希望对你有一定的参考价值。
1,菜单中代开txt或excel数据文件;2,选取某列中的连续几个,求平均值;3,然后找出该列中,平均值上下60%的数据(目标值附近的数据);4,把找到的数据(目标值附近的数据)对应的一整行,依次输出到一个新的txt或excel文件中。非常感谢。
具体要做的其实就是一点,读取表格中的数据。不过操作起来,细细的讲来比较费时间
具体的请你看一下以下的内容,这样对你以后也有好处。
用EXCEL对象读取EXCEL文件中数据.然后通过ADODB连接SQL进和导入
下面是EXCEL对象的详解
1 前言
做为一种简捷、系统的 Windows应用程序开发工具,VB具有强大的数据处理功能,提供了多种数据访问方法,可以方便地存取Microsoft SQL Server、Oracle、XBase等多种数据库,被广泛应用于建立各种信息管理系统。但是,VB缺乏足够的、符合中文习惯的数据表格输出功能,虽然使用Crystal Report控件及 Crystal Reports程序可以输出报表,但操作起来比较麻烦,中文处理能力也不理想。Excel在表格方面有着强大的功能,我们可以用VB编写直接控制Excel操作的程序,方法是用VB的OLE自动化技术获取Excel的控制句柄,从而直接控制Excel的一系列操作。本文结合自己的实践和体会,谈谈如何在VB6.0应用程序中调用Exce12000,供大家参考。
2 Excel对象模型
为了在VB应用程序中调用Excel,必须要了解Excel对象模型。Excel对象模型描述了Excel的理论结构,所提供的对象很多,涉及VB调用Excel时最可能用到的对象有:(见Microsoft Excel对象的文章)
3 调用Excel
在VB应用程序中调用Excel,实质是将Excel作为一个外部对象来引用,由Excel对象模型提供能从VB应用程序内部来程序化操纵的对象以及相关的属性、方法和事件。
3.1 在VB工程中添加对Excel类型库的引用
为了能从VB应用程序中访问Excel丰富的内部资源,使Excel应用程序运行得更快,需要在VB工程中添加对Excel类型库的引用。具体步骤如下:
1) 在VB应用程序中调用Excel,你的计算机系统中必须安装Excel。从VB5“工程”菜单中选择“引用”;
2) 在“引用”对话框中选择Excel类型库:"Microsoft Excel9.0 Object Library";
3) 单击左边小方框,使之出现“√”符号;
4) 按“确定”退出。
3.2 引用Application对象
Application对象是Excel对象模型的顶层,表示整个Excel应用程序。在VB应用程序中调用Excel,就是使用Application对象的属性、方法和事件。为此,首先要声明对象变量:
Dim VBExcel As Object
或直接声明为Excel对象:
Dim VBExcel As Excel.Application
在声明对象变量之后,可用CreateObject函数或GetObject函数给变量赋值新的或已存在的Application对象引用。
1)用CreateObject函数生成新的对象引用:
Set VBExcel=CreateObject ("Excel.Application")
字符串“Excel.Application”是提供Excel应用程序的编程ID,这个变量引用Excel应用程序本身。
2)用GetO场ect函数打开已存在的对象引用:
Set AppExcel=GetObject("Temp.XLS")
上面语句打开文件Temp.XLS。
3)Application对象常用的属性、方法
Visible属性取True或False,表明Excel应用程序是否可见。
Left,Top属性Excel窗口的位置;
Height, Width属性Excel窗口的大小;
WindowState属性指定窗口的状态;
Quit方法,退出Microsoft Excel;
Calculate方法,重新计算所有打开的工作簿、工作表或单元格。
Evaluate方法,求值数学表达式并返回结果。
3.3 使用Excel应用程序
下面分类给出其中常用的属性和方法。
1)使用工作薄
Workbook对象代表Excel应用程序中当前打开的一个工作簿,包含在Workbooks集合中。可以通过Workbooks集合或表示当前活动工作簿的Active Workbook对象访问Workbook对象。
常用的方法有:
Add方法:创建新的空白工作簿,并将其添加到集合中。
Open方法:打开工作簿。
Activate方法:激活工作簿,使指定工作簿变为活动工作簿,以便作为Active Workbook对象使用。
Save方法:按当前路径和名称保存现有工作簿(如是首次保存,则将其保存到缺省名称中,如BOOK1.XLS)。
SaveAs方法:首次保存工作簿或用另一名称保存工作簿。
Close方法:关闭工作簿。
PrintOut方法:打印工作簿,语法为:
PrintOut (from, To, Copies, Preview, Printer, ToFile, Collate)
可选参数:
From:打印的起始页号,如省略将从起始位置开始打印。
To:打印的终止页号,如省略将打印至最后一页。
Copies:要打印的份数,如省略将只打印一份。
Preview:如果为True则Excel打印指定对象之前进行打印预览。如果为False或省略则立即打印该对象。
Printer:设置活动打印机的名称。
ToFile:如果为True则打印输出到文件。
Collate:如果为True则逐份打印每份副本。
下面语句将活动工作簿的2到5页打印3份:
ActiveWorkbook.PrintOut From:=2 To 5 Copies:=3
2)使用工作表
Sheets集合表示工作簿中所有的工作表。可以通过Sheets集合来访问、激活、增加、更名和删除工作表。一个Worksheet对象代表一个工作表。
常用的属性、方法有:
Worksheets属性:返回Sheets集合。
Name属性:工作表更名。
Add方法:创建新工作表并将其添加到工作簿中。
Select方法:选择工作表。
Copy方法:复制工作表。
Move方法:将指定工作表移到工作簿的另一位置。
Delete方法:删除指定工作表。
PrintOut方法:打印工作表。
示例:将C盘工作簿中的工作表复制到A盘工作簿中:
Dim VBExcel As Excel.Application
Set VBExcel=CreateObject("Excel.Application")
With VBExcel
Workbooks.Open "C:\Temp\Ex1.XLS"
Workbooks.Open"A:\Ex2.XLS"
Workbooks("Ex1.XLS").Sheets ("Sales").Copy
Workbooks("Ex2.XLS")
Workbooks("Ex2.XLS").Save
Workbooks("Ex1.XLS").Close
Workbooks("Ex2.XLS").Close
Quit
End With
3)使用单元范围
Range对象代表工作表的某一单元格、某一行、某一列、某一选定区域或者某一三维区域。
常用的属性、方法有:
Range属性:Range (arg)其中arg为A1样式符号,表示单个单元格或单元格区域。
Cells属性:Cells (row, col )(其中row为行号,col为列号)表示单个单元格。
ColumnWidth属性:指定区域中所有列的列宽。
Rowl3eight属性:指定区域中所有行的行宽。
Value属性:指定区域中所有单元格的值(缺省属性)。
Formula属性:指定单元格的公式,由A1--样式引用。
Select方法:选择范围。
Copy方法:将范围的内容复制到剪贴板。
C1earContents方法:清除范围的内容。
Delete方法:删除指定单元范围。
4)使用图表
Chart对象代表工作簿中的图表。该图表既可为嵌人式图表(包含于ChartObject对象中)也可为分立的图表工作表。
常用方法有:
Add方法:新建图表工作表,返回Chart对象。
PrineOut方法:打印图表。
ChartWizard方法:修改给定图表的属性,其语法为:
ChartWizard(Source, Gallery, Format, P1otBy, CategoryLabels, SeriesLabels, HasLegend, Title, CategoryTitle, ValueTitle, ExtraTitle)
其中:
Source:包含新图表的源数据的区域。如省略,将修改活动图表工作表或活动工作表中处于选定状态的嵌人式图表。
Gallery:图表类型,其值可为下列常量之一:xlArea, x1Bar, xlColumn, xlLine, x1Pie, xlRadar,x1XYScatter, xlCombination, x13DArea, x13Dbar,x13DColumn, x13DLine, x13Dpie,x13 Dsurface,xlDoughnut或xlDefaultAutoFormat。
Format:内置自动套用格式的编号。如省略,将选择默认值。
P1otBy:指定系列中的数据是来自行(xlRows)还是列(xlColumns)。
CategoryLabels:表示包含分类标志的源区域内行数或列数的整数。
SeriesLabels:表示包含系列标志的源区域内行数或列数的整数。
HasLegend:若指定True,则图表将具有图例。
Title:图表标题文字。
CategoryTitle:分类轴标题文字。
ValueTitle:数值轴标题文字。
ExtraTitle:三维图表的系列轴标题,或二维图表的第二数值轴标题。
可组合使用Add方法和ChartWizard方法,以创建包含工作表中数据的图表工作表。下例基于工作表“Sheetl”中单元格区域“A1:A20”中的数据生成新的折线图并打印。
With Charts.Add
ChartWizard source:=Worksheets ("sheet1").Range_
("a1:a20"),gallery:=xlLine, title:=“折线图表”
Printout
End With
5)使用Excel工作表函数
在VB语句中可使用大部分的Excel工作表函数,可通过WorksheetFunction对象调用Excel工作表函数。下面的Sub过程用Min工作表函数求出指定区域中单元格的最小值,并通过消息框显示结果值。
Sub UserFunction()
Dim myRange As Range
Set myRange=Worksheets ("Sheet1").Range("B2:F10")
answer=Application.WorksheetFunction.Min(myRange)
MsgBox answer
End Sub
如果使用以区域引用为参数的工作表函数,必须指定一个Range对象。如可用Match工作表函数对A1:A10区域的所有单元格进行搜索。
Sub FindFirst()
myVar=Application.WorksheetFunction.Match_
(9,orksheets( 1).Range("A1:A10"),0)
MsgBox myVar
End Sub
要在单元格中插人工作表函数,可将该函数指定为对应于Range对象的Formula属性值。在以下示例中,将当前工作簿Sheetl内A1:B3区域的Formula属性指定为RAND工作表函数(此函数产生二个随机数)。
Sub InsertFormula()
Worksheets ("Sheet1" ).Range("A1:B3").Formula="RAND()"
End Sub
以上简要介绍了Excel对象模型中部分对象及其属性和方法,更详细的信息可参阅Excel 2000帮助中的“Microsoft Excel Visual Basic参考”一节的内容。实际上,Microsoft Office家族的Word,PowerPoint, Access和Project等应用程序都可以在VB应用程序中调用,其原理和步骤完全相同,只是其对象模型有所不同而已。
4、示例:
首先建立一个窗体(FORM1),在窗体中加入一个DATA控件和一按钮,引用Microsoft office/9.shtml' target='_blank' >Excel类型库:从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library;选择"确定"。
在FORM的LOAD事件中加入:
Data1.DatabaseName = 数据库名称
Data1.RecordSource = 表名
Data1.Refresh
在按钮的CLICK事件中加入
Dim Irow, Icol As Integer
Dim Irowcount, Icolcount As Integer
Dim Fieldlen() "存字段长度值
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
With Data1.Recordset.MoveLast
If .RecordCount < 1 Then
MsgBox ("Error 没有记录!")
Exit Sub
End If
Irowcount = .RecordCount "记录总数
Icolcount = .Fields.Count "字段总数
ReDim Fieldlen(Icolcount).MoveFirst
For Irow = 1 To Irowcount + 1
For Icol = 1 To Icolcount
Select Case Irow
Case 1 "在Excel中的第一行加标题
xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1).Name
Case 2 "将数组FIELDLEN()存为第一条记录的字段长
If IsNull(.Fields(Icol - 1)) = True Then
Fieldlen(Icol) = LenB(.Fields(Icol - 1).Name)
Else
Fieldlen(Icol) = LenB(.Fields(Icol - 1))
End If
xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)
xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1)
Case Else
Fieldlen1 = LenB(.Fields(Icol - 1))
If Fieldlen(Icol) < Fieldlen1 Then
xlSheet.Columns(Icol).ColumnWidth = Fieldlen1
Fieldlen(Icol) = Fieldlen1
Else
xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)
End If
xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1)
End Select
Next
If Irow <> 1 Then
If Not .EOF Then .MoveNext
End If
Next
With xlSheet
.Range(.Cells(1, 1), .Cells(1, Icol - 1)).Font.Name = "黑体"
.Range(.Cells(1, 1), .Cells(1, Icol - 1)).Font.Bold = True
.Range(.Cells(1, 1), .Cells(Irow, Icol - 1)).Borders.LineStyle = xlContinuous
End With
xlApp.Visible = True
xlBook.Save
Set xlApp = Nothing
End With追问
大哥,你要是会的话,能整理一下发个完整的程序或代码么?我没学过数据库,使用的都是数组,控件用的是数据表控件MSFlexGrid 、data 和 文件打开控件Commondialo .方便的话贴上来也行,或者发到我邮箱:1223034050@qq.com
你就当练练手,没有问题的话,我追加50分。谢谢了!
我的回答方法比较笨,我写了一下,余下的,你自己完成
我不发QQ,有不明白的地方 百度一下,你全知道了
我不在乎分数,我回答问题不是为了分数。
我之前和你一样,也希望别人能给我一个最完整的,最完美的代码,可是自己一点长进没有,以至现在工作不怎么起色……
自己努力吧
Dim a, b As Integer
'新建一窗体,创建3个text,两个command
Private Sub Command1_Click() '读取
If Text2.Text = "" Or Text3.Text = "" Then
MsgBox "请定位要读取的字段"
GoTo C:
End If
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("d:\test.xls")
Set xlSheet = xlBook.Worksheets("sheet1")
'请注意,我没有判断 text2与text3内容的规则,请自己判断一下是否为数字
a = Text2.Text
b = Text3.Text
Text1.Text = xlSheet.Cells(a, b)
C:
'你的问题1与2:以上为取一个格子中的数据,以此类推,你可以读取多个数据 进行相加
'比如你取了3个,11,12,13, 想加起来,除以3 就是了得了个平均值
'问题3:接下来你可以定义两个比较大的数组,把所有的数据用其中的一个数组都读下来,然后与平均值×60% 比较 如果是你想要的,你可以用另一个数组保存下来
End Sub
Private Sub Command2_Click() ' 写入 对于问题4 与读取相反,原理差不多,具体自己想,不要光想着让别人给你所有,如果这样的话你会成长多少?
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add("d:\test_in.xls")
Set xlSheet = xlBook.Worksheets("sheet1")
xlApp.Visible = False
xlSheet.Cells(1, 1) = 1
xlBook.SaveAs "d:\test_in.xls"
End Sub
参考资料:vilus
追问好吧,我自己参考摸索下,谢谢了。分给你了。非常感谢。
参考技术A 晕,这样的问题不是百度币100能解决的呀!问题比较复杂哦追问是有点难 不过可以追加
高分替兄弟求VB编程题
试题一:设计一个登陆窗体,如果用户输入正确密码和用户名,则进入另一窗体,否则利用消息框提示错误,三次错误即退出程序。
试题二:
制作一个标准WINDOWS界面,包括菜单、工具条、状态栏
要求: 菜单、工具条、状态栏内容不限
菜单中必须含有快捷方式、子菜单和一个弹出菜单(能在窗体上弹出)
状态栏有显示系统时间的功能
试题三:
程序界面如下,编程实现改变文本框中字体、字体样式等功能
试题四:
利用文件系统的知识,编写一个简单文本编辑器,要求实现新建、保存、打开、关闭一个文本文件的功能.
明天下午之前有用了,最好今天晚上之前发到本人邮箱,收到者明天早上加分
邮箱h87ch@163.com
先谢谢了
有位兄弟发了一个
但是编译的时候出错了
希望大家能给个准确点的答案
*
* *
* * *
* * * *
* * * * *
* * * * * *
程序如下:
Private Sub Command1_Click()
For i=1 to ____
For j=1 to ____
Print_____
Next j
Next i
End Sub
二、下列程序的功能是从键盘上任意输入一个数,判断这个数是正数、负数、还是零,
并输出判断结果。
程序中有三处错误,请打开VBTEST子目录下的窗体文件Form2.frm,调试更正。
程序如下:
Private Sub Command1_Click()
Dim a As Single
Dim py As String
a=Val(Text1)
If a>0 Then py="正数"
If a=0 Then py="零"
If a<=0 Then py="负数"
Label3.Caption=a
End Sub
三、打开VBTEST子目录下的窗体文件Form3.frm,修改程序,使能输出:
1-2+3-4+5-6+...+99-100的值
程序如下:
Private Sub Command1_Click()
s=_____
For i=1 To _____
s=s+(-1)^(______)*i
Next i
Print s
End Sub
四、打开VBTEST子目录下的窗体文件Form4.frm。已知一元二次方程的二次项系数、一次
项系数、常数项
分别为a、b、c,其中a不等于0。修改程序,求方程的根。
要求:如果方程无实数根,则输出“无实数根”,否则输出两个实数根。
Private Sub Command1_Click()
Dim a,b,c,d As Single
Dim x1,x2 As Single
a=Val(Text1.Text)
b=Val(Text2.Text)
c=Val(Text3.Text)
d=b^2-4*a*c
If d________ Then
x1=(-b+Sqr(d))/(2*a)
x2=(-b-Sqr(d))/(2*a)
Label1.Caption=x1
Label2.Caption=x2
_______
Label3.Caption=______
End If
End Sub
五、下面的程序是求当r=2,JI=3.14,x=-3,y=1.2时代数式r*r*JI+[(64-6y)+3x]/5的值
,程序中有三处错误,
请打开VBTEXT子目录下的窗体文件Form5.frm,调试更正。
Private Sub Command1_Click()
Dim a As Single
r=2:pi=3.14:x=-3:y=1.2
a1=r*r*JI
a2=(64-6y)+3*x
a3=a2/5
Print a1+a2+a3
End Sub
六、下面的程序是求7!(7!=1*2*3...*6*7)的值,并在默认窗口输出这个值。程序中有
三处错误,请打开
VBTEST子目录下的窗体文件Form6.frm,调试更正。
Private Sub Command1_Click()
Dim a As Single
a=0
For i=1 to n
a=a*i
Next i
Print i
End Sub
七、下面的程序是求100以内奇数和s的值(S=1+3+5+7...+99)。程序中有三处错误,请
打开VBTEST子目录下
的窗体文件Form7.frm,调试更正。
Private Sub Command1_Click()
Dim s As Single
Dim i As Single
s=1
For i=1 to 100 Step 1
s=s*i
Next i
Print s
End Sub
八、下面的程序是当输入的考试成绩不低于60分时输出“及格”,否则输出“不及格”
。程序中有二处错误,
请打开VBTEST子目录下的窗体文件Form8.frm,调试更正。
Private Sub Command1_Click()
Dim cj As Integer
Dim py As String
cj=Val(Text1.Text)
If cj>60 Then
py="及格"
Else
py="不及格"
End If
label3.Caption=py
End Sub
九、打开VBTEST子目录下的窗体文件Form9.frm,完善其中的程序,使能输出如下图形。
--* * * * * *
----* * * * * *
------* * * * * *
--------* * * * * *
----------* * * * * *
------------* * * * * *
---表示空格
程序如下:
Private Sub Command1_Click()
For i=1 To 6
Print Tab(______);
For j=1 To_______
Print_______
Next j
Next i
End Sub
十、打开VBTEST子目录下的窗体文件Form10.frm,修改下面的程序,使运行后输出如下
结果:
张大富 男 39岁
Private Sub Command1_Click()
Dim xm,xb,nl As String
xm=张大富 xb="男":nl="39岁"
Print xm
Print xb
Print nl
Print "岁"
End Sub
十一、打开VBTEST子目录下的窗体文件Form2.frm,完善已写在“计算”按钮的Click事
件下的程序代码,
将代码段中的“常量”、“变量1”、“变量2”处分别换成正确的常量值、变量名(其
他不动),使得当
鼠标单击命令按钮“计算”时,窗体上显示1+2+3+...+99+100的值。
命令代码如下:
Private Sub Command1_Click()
s=常量
For i=1 To 100 Step 1
s=s+变量1
Next i
Print 变量2
End Sub
十二、打开VBTEST子目录下的窗体文件Form3.frm,完善已写在“计算”按钮的Click事
件下的程序代码,
将代码段中的“常量”、“运算符”、“变量”处分别换成正确的常量值、运算符、变
量名,使得当
鼠标单击命令按钮“计算”时,窗体上显示10!(10!=1*2*3*...*10)的值。
命令代码如下:
Private Sub Command1_Click()
s=常量
For i=1 To 10
s=s 运算符 i
Next i
Print 变量
End Sub
十三、打开VBTEST子目录下的窗体文件Form4.frm,完善已写在“执行”按钮的Click事
件下的程序代码,
将代码段中的“常量”、“变量”、“表达式”处分别换成正确的常量值、变量名和具
体的表达式,
使得当鼠标单击命令按钮“执行”时,显示出满足条件2+4+6+...+x<80中最大的x的
值。
命令代码如下:
Private Sub Command1_Click()
s=0
x=0
Do
x=x+常量
s=s+变量
Loop Until s>=80
Print 表达式
End Sub
十四、打开VBTEST子目录下的窗体文件Form5.frm,在窗体适当的位置建立一个Command
1按钮,然后编写代码,
使得当鼠标单击命令按钮Command1时,窗体上的标签文字“Lable1”变为“江苏省信息
技术等级考试”。
十五、打开VBTEST子目录下的窗体文件Form10.frm,完善程序,将代码中的“常量”、
“关系运算符”、
“语句”、“变量”处分别换成正确的常量值、关系运算符、语句、变量名,使当点击
“输出”按钮时,
屏幕显示程序运行结果为:20-10=10
程序代码如下:
Private Sub Command1_Click()
a=10
b=常量
if a 关系运算符 b Then
Print a;"-";b;"=";a-b
语句
Print 变量;"-";a;"=";10
End If
End Sub
答案:
1、6 i "*";
2、Val(Text1)改为Val(Text1.Text) a < =0改为a < 0 Label3.Caption =
a改为Label3.Caption = py
3、0 100 i + 1
4、> 0 Else "无实数根"
5、JI改为pi 6y改为6 * y a1 + a2+ a3改为a1+a3
6、a = 0改为a = 1 n改为7 Print i改为Print a
7、s = 1改为s = 0 Step 1改为Step 2 s = s * i改为s = s + i
8、cj > 60改为cj >= 60 另一错误请同学们自己找
9、2 + i 6 "*";
10、
Private Sub Command1_Click()
Dim xm, xb, nl As String
xm = "张大富": xb = "男": nl = "39岁"
Print xm,
Print xb,
Print nl
End Sub
11、
Private Sub Command1_Click()
s = 0
For i = 1 To 100 Step 1
s = s + i
Next i
Print s
End Sub
12、
Private Sub Command1_Click()
s = 1
For i = 1 To 10
s = s * i
Next i
Print s
End Sub
13、
Private Sub Command1_Click()
s = 0
x = 0
Do
x = x + 2
s = s + x
Loop Until s >= 80
Print "x="; x - 2
End Sub
15、
Private Sub Command1_Click()
a = 10
b = 20
If a > b Then
Print a; "-"; b; "="; a - b
Else
Print b; "-"; a; "="; 10
End If
End Sub
一、选择题
1、 某一VB工程含F1、F2两个窗体,执行“F1.Show:F2.Hide”语句后,F1、F2窗体显示的结果为( )。
A、都显示 B、都不显示 C、仅显示F1窗体 D、仅显示
F2窗体
2、 在VB中,执行“Text1.Text= “0551-2649670” “Tel=0551-2649670”这行语句时,“,”后面的部分为( )。
A、注释部分,不是可执行代码 B、注释部分,但是可以执行代码
C、程序代码的一部分 D、程序代码的另一种写法
3、 VB的数据类型分为( )
A、 数值型、字符型、布尔型、日期型 B、数值型、字符型、对象型、日期型
C、基本类型、扩展类型 D、整型、实型、字符型、日期型、布尔型
4、VB中的变量如果没有显示声明其数据类型,则默认为( )
A、日期型 B、数据型 C、字符型 D、变体型
5在VB中,通过改变表框( )属性的值 ,可以为列表框添加项目。
A、List B、(名称) C、Caption D 、Text
6、在VB中,执行“A=5:A=A+5”语句后,变量A的值为( )
A、0 B、5 C、10 D、不一定
7、VB中运算符被分为四类,分别是( )
A、算术运算符、连接运算符、关系运算符、逻辑运算符
B、算术运算符、比较运算符、关系运算符、逻辑运算符
C、算术运算符、连接运算符、布尔运算符、逻辑运算符
D、连接运算符、比较运算符、逻辑运算符、关系运算符
8、在VB中,执行“A=18MOD4”语句后,A的值为( )。
A、2 B、4 C、6 D、8
9、A为True,B为False, 则 “AandB”和 “AOrB”的值分别是( )。
A、True,True B、True False C 、False,True D 、False,False
10、在VB中,执行 “DimA,B As String” 语句后,A,B的数据结构为( )。
A、整型数 B、实型数 C、字符型 D、字节型
11、在VB中,执行 “A=123:B=Str$(A)”语句后,B的数据结构为( )。
A、整型数、 B、字节型 C、实型数 D、字符型
12、在VB中,复写框(Check)的Value值有三种,分别是( )。
A、-1,0,1 B、0,1,2 C、1,2,3 D、True,False,0
13、在VB中,如要创建“年级”和“班级”两组单选按钮,具体的做法是( )
A、先创建“单选按钮”,然后用“框架”分别框住
B、先分别创建“单选按钮”和“框架”,然后将“单选按钮”拖到相应的框架中
C、先创建“框架”,然后在“框架”中创建“单选按钮”
D、以上方法均可
14、数学关系3〈= x〈10表示成正确的VB表达式为( )
A、3〈=x〈10 B、3〈=xANDx〈10 C、x〉=3ORx〈10 D、3〈=xAND〈10
15、Int(198.555*100+0.5)/100的值为( )
A、198 B、199.6 C、198.56 D、200
16、下面正确的赋值语句是( )
A、x+y=30 B、y= *r*r C、y=x+30 D、3y=x
17、为了给三个变量赋初值1,下面正确的赋值语句是( )
A、x=1:y=1:z=1 B、x=1,y=1,z=1 C、x=y=z=1 D、xyz=1
18、分支结构的程序在进行判断后可分别控制程序有( )个以上的走向。
A、1 B、2 C、3 D、8
19、语句If x=1 Then y=1,下列说法正确的是( )。
A、x=1和 y=1 均为赋值语句 B、x=1和 y=1均为关系表达式
C、x=1为关系表达式,y=1为赋值语句D、x=1为赋值语句,y=1为关系表达
20、可用于设置系统当前时间的语句是( )。
A、Date B、Date$ C、Time D、Timer
21、若要退出For循环,可使用的语句为( )。
A、Exit B、Exit Do C、Time D、Exit For
22、利用VB设计程序的基本步骤可分四步:
(1) 设计用户界;(2)( );(3)运行调试程序;(4)生成执行文件。
A、编写代码 B、设计算法 C、信息反馈 D、系统集成
23、在代码窗口内将表单Form1的“Caption”属性设置为“时钟”,正确的书写形式是( )
A Form.C aption“时钟” B Form.Caption=“时钟”
C Caption=“时钟” D Fopm.Caption( “时钟”)
24 下列操作不能打开代码窗口的是( )
A选中对象,单击鼠标右键,在弹出的快捷菜单中选择“查看代码”命令
B 选中对象,双击鼠标左键 C 按F7键 D按F4键
25 保存文件时,窗体的所有数据存储格式为( )
A *.PRG B *.FRM C.*.VBP D *.EXE
26窗体初始化程序应写在( )事件中.
A Load B Unload C Activate D GotFocus
27 在一个语句内写多条语句时,每个语句之间分隔符号是( )
A , B : C 、 D ;
28 一句语句要在下一行继续写,所用的续行符号为( ).
A + B - C \―― D...X
29 下面是合法的变量名为( )
A x_yz B 123abc C integer D X-Y
30 下面是合法的字符串常数为( )
A ABC $ B “ABC” C ‘ABC' D ABC
二 判断题
1、 VB 中的控件都是用来设计用户界面的。( )
2、在VB程序时,选中Form (窗体)上的某个控件,如果控件周围出现8个白色小方块,则表示该控件未被锁定。( )
4、 设计VB程序时,选中窗体上的“Text1”文本框控件,将其“BackColor”属性值设置为淡绿色,将“ForeColor”属性值设置为红色,则“Text1”文字为红色。( )
5、 在VB中,“方法”是指在对象上起作用的过程,也就是说用来控制对象的功能及操作的内部程序。( )
6、 在编写VB程序代码时,对象属性的表示方法为:方法名.对象名称。( )
7、 Click事件,就是鼠标单击事件。( )
8、 在程序执行的过程中,变量的值始终保持不变,常量的值随时改变。( )
程序代码的基本结构有三种,分别是顺序结构、选择结构(分支结构)、循环结构。( )
9、 在VB中,有一名称为LIST1的列表框,那麽执行“LIST1.ADDITEM“方周工作室””语句后,即在LIST1列表框中添加“方周工作室”这个项目。( )
10、 在VB中,运算级从高到底的顺序是:算数运算、连接运算、关系运算、逻辑运算。( )
一、 选择题((1)~(20)每小题2分,(21)~(30)每小题3分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)以下叙述中错误的是
A)Visual Basic 是事件驱动型可视化编程工具
B)Visual Basic应用程序不具有明显的开始和结束语句
C)Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性
D)Visual Basic中控件的某些属性只能在运行时设置
(2)以下叙述中错误的是
A)在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件
B)以.BAS为扩展名的文件是标准模块文件
C)窗体文件包含该窗体及其控件的属性
D)一个工程中可以含有多个标准模块文件
(3)以下叙述中错误的是
A)双击鼠标可以触发DblClick事件
B)窗体或控件的事件的名称可以由编程人员确定
C)移动鼠标时,会触发MouseMove事件
D)控件的名称可以由编程人员设定
(4)以下不属于Visual Basic系统的文件类型是
A).frm B).bat C).vbg D).vbp
(5)以下叙述中错误的是
A)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件
B)保存Visual Basic程序时,应分别保存窗体文件及工程文件
C)Visual Basic应用程序只能以解释方式执行
D)事件可以由用户引发,也可以由系统引发
(6)以下能正确定义数据类型TelBook的代码是
A)Type TelBook
B)Type TelBook
Name As String*10 Name As String*10
TelNum As Integer TelNum As Integer
End Type End TelBook
C)Type TelBook
D)Typedef TelBook
Name String*10 Name String*10
TelNum Integer TelNum Integer
End Type TelBook End Type
(7)以下声明语句中错误的是
A)Const var1=123 B)Dim var2 = 'ABC' C)DefInt a-z D)Static var3 As Integer
(8)设窗体上有一个列表框控件List1,且其中含有若干列表项。则以下能表示当前被选中的列表项内容的是
A)List1.List B)List1.ListIndex C)List1.Index D)List1. Text
(9)程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是
A)MouseDown B)MouseUp C)Load D)Click
(10)设a=10,b=5,c=1,执行语句Print a > b > c后,窗体上显示的是
A)True B)False C)1 D)出错信息
(11)如果要改变窗体的标题,则需要设置的属性是
A)Caption B)Name C)BackColor D)BorderStyle
(12)以下能判断是否到达文件尾的函数是
A)BOF B)LOC C)LOF D)EOF
(13)如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是
A)如果工程中含有Sub Main过程,则程序一定首先执行该过程
B)不能把标准模块设置为启动模块
C)用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体
D)任何时刻最多只有一个窗体是活动窗体
(14)窗体的MouseDown事件过程
Form_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
有4个参数,关于这些参数,正确的描述是
A)通过Button参数判定当前按下的是哪一个鼠标键
B)Shift参数只能用来确定是否按下Shift键
C)Shift参数只能用来确定是否按下Alt和Ctrl键
D)参数x,y用来设置鼠标当前位置的坐标
(15)设组合框Combo1中有3个项目,则以下能删除最后一项的语句是
A)Combo1.RemoveItem Text
B)Combo1.RemoveItem 2
C)Combo1.RemoveItem 3
D)Combo1.RemoveItem Combo1.Listcount
(16)以下关于焦点的叙述中,错误的是
A)如果文本框的TabStop属性为False,则不能接收从键盘上输入的数据
B)当文本框失去焦点时,触发LostFocus事件
C)当文本框的Enabled属性为False时,其Tab顺序不起作用
D)可以用TabIndex属性改变Tab顺序
(17)如果要在菜单中添加一个分隔线,则应将其Caption属性设置为
A)= B)* C)& D)-
(18)执行语句Open "Tel.dat" For Random As #1 Len = 50后,对文件Tel.dat中的数据能够执行的操作是
A)只能写,不能读 B)只能读,不能写 C)既可以读,也可以写 D)不能读,不能写
(19)在窗体上画一个名称为Command1的命令按钮和两个名称分别为Text1、Text2的文本框,然后编写如下事件过程:
Private Sub Command1_Click()
n = Text1.Text
Select Case n
Case 1 To 20
x = 10
Case 2, 4, 6
x = 20
Case Is < 10
x = 30
Case 10
x = 40
End Select
Text2.Text = x
End Sub
程序运行后,如果在文本框Text1中输入10,然后单击命令按钮,则在Text2中显示的内容是
A)10 B)20 C)30 D)40
(20)设有以下循环结构
Do
循环体
Loop While <条件>
则以下叙述中错误的是
A)若"条件"是一个为0的常数,则一次也不执行循环体
B)"条件"可以是关系表达式、逻辑表达式或常数
C)循环体中可以使用Exit Do语句
D)如果"条件"总是为True,则不停地执行循环体
(21)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim num As Integer
num = 1
Do Until num > 6
Print num;
num = num + 2.4
Loop
End Sub
程序运行后,单击命令按钮,则窗体上显示的内容是
A)1 3.4 5.8 B)1 3 5 C)1 4 7 D)无数据输出
(22)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim a As Integer, s As Integer
a = 8
s = 1
Do
s = s + a
a = a-1
Loop While a <= 0
Print s; a
End Sub
程序运行后,单击命令按钮,则窗体上显示的内容是
A) 7 9 B) 34 0 C) 9 7 D)死循环
(23)设有如下通用过程:
Public Function f(x As Integer)
Dim y As Integer
x = 20
y = 2
f = x * y
End Function
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Static x As Integer
x = 10
y=5
y = f(x)
Print x; y
End Sub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是
A)10 5 B)20 5 C)20 40 D)10 40
(24)设有如下通用过程:
Public Sub Fun(a(), ByVal x As Integer)
For i = 1 To 5
x = x + a(i)
Next
End Sub
在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下的事件过程:
Private Sub Command1_Click()
Dim arr(5) As Variant
For i = 1 To 5
arr(i) = i
Next
n = 10
Call Fun(arr(), n)
Text1.Text = n
End Sub
程序运行后,单击命令按钮,则在文本框中显示的内容是
A)10 B)15 C)25 D)24
(25)在窗体上画一个名称为Command1的命令按钮,然后编写如下代码:
Option Base 1
Private Sub Command1_Click()
d = 0
c = 10
x = Array(10, 12, 21, 32, 24)
For i = 1 To 5
If x(i) > c Then
d = d + x(i)
c = x(i)
Else
d = d-c
End If
Next i
Print d
End Sub
程序运行后,如果单击命令按钮,则在窗体上输出的内容为
A)89 B)99 C)23 D)77
(26)在窗体上画两个滚动条,名称分别为Hscroll1 、Hscroll2;六个标签,名称分别为Label1、Label2、Label3、Label4、Label5、Label6,其中标签Label 4~ Label6分别显示"A"、"B"、"A*B"等文字信息,标签Label1、Label2分别显示其右侧的滚动条的数值,Label3 显示A*B的计算结果。如图所示。当移动滚动框时,在相应的标签中显示滚动条的值。当单击命令按钮"计算"时,对标签Label1、Label2中显示的两个值求积,并将结果显示在Label3中。以下不能实现上述功能的事件过程是
A)Private Sub Command1_Click()
Label3.Caption = Str(Val(Label1.Caption )*Val( Label2.Caption))
End Sub
B)Private Sub Command1_Click()
Label3.Caption = HScroll1.Value * HScroll2.Value
End Sub
C)Private Sub Command1_Click()
Label3.Caption = HScroll1 * HScroll2
End Sub
D)Private Sub Command1_Click()
Label3.Caption = HScroll1. Text * HScroll2.Text
End Sub
(27)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
For n = 1 To 20
If n Mod 3 <> 0 Then m = m + n \ 3
Next n
Print n
End Sub
程序运行后,如果单击命令按钮,则窗体上显示的内容是
A)15 B)18 C)21 D)24
(28)在窗体上画一个名称为Text1的文本框,并编写如下程序:
Private Sub Form_Load()
Show
Text1.Text = ""
Text1.SetFocus
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Print "程序设计"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Print "Visual Basic";
End Sub
程序运行后,如果按"A"键,然后单击窗体,则在窗体上显示的内容是
A)Visual Basic B)程序设计 C)A程序设计 D)Visual Basic程序设计
(29)设有如下程序:
Private Sub Command1_Click()
Dim sum As Double, x As Double
sum = 0
n = 0
For i = 1 To 5
x = n / i
n = n + 1
sum = sum + x
Next
End Sub
该程序通过For循环计算一个表达式的值,这个表达式是
A)1+1/2+ 2/3+3/4+4/5 B)1+1/2+2/3+3/4 C)1/2+2/3+3/4+4/5 D)1+1/2+1/3+1/4+1/5
(30)以下有关数组定义的语句序列中,错误的是
A) Static arr1(3) B)Dim arr2() As Integer
arr1(1) = 100 Dim size As Integer
arr1(2) = "Hello" Private Sub Command2_Click()
arr1(3) = 123.45 size = InputBox("输入:")
ReDim arr2(size)
......
End Sub
C)Option Base 1 D)Dim n As Integer
Private Sub Command3_Click() Private Sub Command4_Click()
Dim arr3(3) As Integer Dim arr4(n) As Integer
...... ......
End Sub End Sub 参考技术A 你是哪个学校的?
我的专业就是计算机,做毕业设计时,正好作的设计是你描述的那样的设计,如果咱们不是一个学校的我就把设计给你好了! 参考技术B 课本上都有,一点都不难.照课本上做就行 参考技术C 在我这运行好好的,怎么会不能编译呢?
提示什么错误了? 参考技术D 这个不难,自己作吧!
以上是关于向vb 高手求助代码编程:菜单中打开txt或excel数据表文件,求某列中几个数求平均,找出并输出均值附近数据的主要内容,如果未能解决你的问题,请参考以下文章
linux下vsftp的相关设置,关于子目录文件的打开问题。求助,高分,高手来!~