用文本编辑器打开FRM文件,
VERSION 5.00
Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} UserForm1 '这里需要修改成Begin VB.Form Form1
Caption = "UserForm1"
ClientHeight = 3120
ClientLeft = 45
ClientTop = 435
ClientWidth = 4710
OleObjectBlob = "UserForm1.frx":0000 '这行去掉
StartUpPosition = 1 '所有者中心
End
Attribute VB_Name = "UserForm1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'其他对象也做类似修改
在VB中要想调用Excel,需要打开VB编程环境“工程”菜单中的“引用”项目,并选取项目中的“MicrosoftExcel 11.0 object library”项。由于你的Excel版本不同,所以这个选项的版本号也是不同的。
因为EXCEL是以层次结构组织对象的,其对象模型中含有许多不同的对象元素。
第一层:Application对象,即Excel本身;
第二层:workbooks对象集,指Excel的工作簿文件
第三层:worksheets对象集,表示的是Excel的一个工作表;
第四层:Cells和Range对象,指向Excel工作表中的单元格。
Dim xlapp As Excel.Application 'Excel对象
Dim xlbook As Excel.Workbook '工作簿
Dim xlsheet As Excel.Worksheet '工作表
Set xlapp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlbook = xlapp.Workbooks.Open("D:data.xls") '打开已经存在的data.xls工件簿文件
xlapp.Visible = True '设置EXCEL对象可见(或不可见)
Set xlsheet = xlbook.Worksheets(1) '设置活动工作表''
''~~~当前工作簿的第一个表,这里也可以换成“表名”比如“Sheet1”
【数组部分自行定义】
将表中某个单元格中的值赋值给一个变量,比如数组中的一个元素
arr(1,1)=xlsheet.Range("B2").Value
……
最后关闭:
xlbook.Close
xlapp.quit
然后把三个对象 Set成 nothing
用数据库的查询方式
读取出来放入到 二维数组中
Dim cnn2 As New ADODB.Connection
Dim rs2 As New ADODB.Recordset
cnn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & Text1.Text & ";Extended"
rs2.Open "Select 姓名,性别 From [sheet1$]", cnn2, adOpenKeyset, adLockOptimistic
i=0
s = rs2.ields.Item(0).Value '读取sheet1中的 姓名,性别
If IsNull(s) Then Exit Do
a(i)=rs2.fields.Item(0).Value '姓名
b(i)=rs2.Fields.Item(1).Value '性别
i=i+1
rs2.MoveNext
Loop
Set rs2 = Nothing
Set cnn2 = Nothing
读取A2单元格的代码:(数据在变量R中,工程前需引用MICROSOFT EXCEL OBJECT LIBRARY)
Private excelApp As excel.Application
Private Sub Command2_Click()
Set excelApp = New excel.Application
excelApp.Visible = True
excelApp.Workbooks.Open FileName:="C:student.xls"
excelApp.Range("A2").Select
r = excelApp.ActiveCell.FormulaR1C1
Debug.Print r
excelApp.Quit
Set excelApp = Nothing
End Sub
'不愿意让大家看到EXCEL界面的,就把 excelApp.Visible = True去掉。
以上是将VBA Excel用户窗体转换为VB的详细内容。更多信息请关注PHP中文网其他相关文章!