用文字編輯器開啟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 = 新 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中文網其他相關文章!