最近正好在做和你差不多的事先在Module1中打入Option ExplicitPublic xla" />
乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 怎么用<em>VB</em>实现将<em>EXCEL</em>的数据导入

怎么用<em>VB</em>实现将<em>EXCEL</em>的数据导入

作者:乔山办公网日期:

返回目录:excel表格制作




最近正好在做和你差不多的事
先在Module1中打入
Option Explicit
Public xlapp As Object 'Excel对象
Public xlbook As Object '工作簿
Public xlsheet As Object '工作表
Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As Long) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

然后新窗体中打入

Dim f As Integer
Sub GetExcel()
Dim MyXL As Object '用于存放Microsoft Excel 引用的变量。
Dim ExcelWasNotRunning As Boolean '用于最后释放的标记。

On Error Resume Next '延迟错误捕获。

'不带第一个参数调用Getobject函数将返回对该应用程序的实例的引用。
'如果该应用程序不在运行,则会产生错误。
Set MyXL = GetObject(, "Excel.Application")
If Err.Number <> 0 Then ExcelWasNotRunning = True
Err.Clear '如果发生错误则要清除 Err 对象。

'检测 Microsoft Excel。如果 Microsoft Excel 在运行,则将其加入运行对象表。
DetectExcel '该过程检测并登记正在运行的 Excel

'设置其 Application 属性,显示 Microsoft Excel。
'然后使用 MyXL 对象引用的 Windows 集合,显示包含该文件的实际窗口。
MyXL.Application.Visible = True
MyXL.Parent.Windows(1).Visible = True

'如果在启动时,Microsoft Excel 的这份副本不在运行中,
'则使用 Application 属性的 Quit 方法来关闭它。
'注意,当试图退出 Microsoft Excel 时,
'标题栏会闪烁,并显示一条消息询问是否保存所加载的文件。
If ExcelWasNotRunning = True Then
MyXL.Application.Quit
End If
Set MyXL = Nothing '释放对该应用程序和电子数据表的引用。
End Sub

'该过程检测并登记正在运行的 Excel。
Sub DetectExcel()
Const WM_USER = 1024
Dim hwnd As Long

'如果 Excel 在运行,则该 API 调用将返回其句柄。
hwnd = FindWindow("XLMAIN", 0)
If hwnd = 0 Then '0 表示没有 Excel 在运行。
Exit Sub
Else
'Excel 在运行,因此可以使用 SendMessage API'函数将其放入运行对象表。
SendMessage hwnd, WM_USER + 18, 0, 0
End If
End Sub

Private Sub cmdRun_Click()
Dim intLow, intCol As Integer

Call GetExcel
Set xlapp = GetObject(App.Path + "\轮滑社08招新成员.xls") '打开模扳文件
xlapp.Parent.Windows(1).Visible = True '使父窗体可见
Set xlsheet = xlapp.Application.Worksheets(1) '当前工作簿的第一页

Dim s1
s1 = xlsheet.Cells(f, j) '当前工作簿第一页的第I行第J列

End Sub

最后s1那就是从EXCEL的列、行取东东的.你可dim,s1,s2,s3......
数据提取了,你可以用ADO导入.(s1,s2,s3放在已与ADO联接的TEXT上)接下来自e799bee5baa6e997aee7ad94e59b9ee7ad94366己用循环做了,都是别人帮你,没意思了.

既然你这么问,数据库的东东你应该知道的了
请提供:
execel:有几列,几行,有几个表,列名
access:有几个字段,以及字段名,表名

你只是要删除数据而不是删除表,所以用 Delete 语句而不是 Drop Table,后面不加 where 子句就是删除全部数据。
插入数据用 Insert into ... (select ...)
如果还是不行,你可以借助记录集对象 Recordset 把数据读出来,然后再写入Access,这样需要一个循环,额外花费一点时间。一般来说这样需要两个Connection对象来分连接Excel和Access,当然你的代码直接把数据库写在 Select 语句中也可以,就是不好排错。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网