ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: gdjxwz

[分享]vb控制excel及access

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-6-14 14:41 | 显示全部楼层
本帖已被收录到知识树中,索引项:其他专业开发
学习一下!
感谢楼主!

TA的精华主题

TA的得分主题

发表于 2009-6-26 14:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
哈哈
很不错
学习中

TA的精华主题

TA的得分主题

发表于 2009-6-26 14:35 | 显示全部楼层
VB与EXCEL的相互勾通:
  充分利用EXCEL的启动宏和关闭宏,可以实现VB与EXCEL的相互勾通,其方法如下:
  在EXCEL的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏中加入一段删除此标志文件的程序。VB程序在执行时通过判断此标志文件存在与否来判断EXCEL是否打开,如果此标志文件存在,表明EXCEL对象正在运行,应该禁止其它程序的运行。如果此标志文件不存在,表明EXCEL对象已被用户关闭,此时如果要使用EXCEL对象运行,必须重新创建EXCEL对象。
  四、举例:
  1、在VB中,建立一个FORM,在其上放置两个命令按钮,将Command1的Caption属性改为EXCEL,Command2的Caption属性改为End。然后在其中输入如下程序:
Dim xlApp As Excel.Application '定义EXCEL类
Dim xlBook As Excel.Workbook '定义工件簿类
Dim xlsheet As Excel.Worksheet '定义工作表类
Private Sub Command1_Click() '打开EXCEL过程
 If Dir("D:\temp\excel.bz") = "" Then '判断EXCEL是否打开
  Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
  xlApp.Visible = True '设置EXCEL可见
  Set xlBook = xlApp.Workbooks.Open("D:\temp\bb.xls") '打开EXCEL工作簿
  Set xlsheet = xlBook.Worksheets(1) '打开EXCEL工作表
  xlsheet.Activate '激活工作表
  xlsheet.Cells(1, 1) = "abc" '给单元格1行驶列赋值
  xlBook.RunAutoMacros (xlAutoOpen) 运行EXCEL中的启动宏
 Else
  MsgBox ("EXCEL已打开")
 End If
End Sub
Private Sub Command2_Click()
 If Dir("D:\temp\excel.bz") <> "" Then '由VB关闭EXCEL
  xlBook.RunAutoMacros (xlAutoClose) '执行EXCEL关闭宏
  xlBook.Close (True) '关闭EXCEL工作簿 
  xlApp.Quit '关闭EXCEL
 End If
 Set xlApp = Nothing '释放EXCEL对象
 End
End Sub
  2、在D盘根目录上建立一个名为Temp的子目录,在Temp目录下建立一个名为"bb.xls"的EXCEL文件。
  3、在"bb.xls"中打开Visual Basic编辑器,在工程窗口中点鼠标键选择插入模块,在模块中输入入下程序存盘:
Sub auto_open()
 Open "d:\temp\excel.bz" For Output As #1 '写标志文件
 Close #1
End Sub
Sub auto_close()
 Kill "d:\temp\excel.bz" '删除标志文件
End Sub
  4、运行VB程序,点击EXCEL按钮可以打开EXCEL系统,打开EXCEL系统后,VB程序和EXCEL分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB程序中重复点击EXCEL按钮时会提示EXCEL已打开。如果在EXCEL中关闭EXCEL后再点EXCEL按钮,则会重新打开EXCEL。而无论EXCEL打开与否,通过VB程序均可关闭EXCEL。这样就实现了VB与EXCEL的无缝连接。

TA的精华主题

TA的得分主题

发表于 2009-7-9 08:31 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-7-9 13:57 | 显示全部楼层
留个记号。如果以后学习vb会用到的
51楼也不错

TA的精华主题

TA的得分主题

发表于 2009-7-16 21:25 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-3-22 09:38 | 显示全部楼层
看不太懂,要是有图就好了!!

TA的精华主题

TA的得分主题

发表于 2010-4-12 18:48 | 显示全部楼层
我正好有个问题,前一段时间看通过VBS控制EXCEL,但是我试了一下,结果发现居然在VBA中很常用的cell.end(xlup).row这样的功能都用不了,很疑惑,

TA的精华主题

TA的得分主题

发表于 2010-9-25 14:09 | 显示全部楼层
我向来不喜欢灌水,觉得在浪费网络资源!
但是看到楼主这么好心,牛B的人,不得不表示一下我的佩服之情!

TA的精华主题

TA的得分主题

发表于 2010-9-25 15:15 | 显示全部楼层
楼主和42楼都是高手,佩服。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-22 10:58 , Processed in 0.032797 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表