Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 11603|回复: 14

VB中如何调用EXCEL中的窗体?

[复制链接]
发表于 2013-3-31 13:51 | 显示全部楼层 |阅读模式
本帖最后由 happytiger2012 于 2013-3-31 14:49 编辑

EXCEL VBE中有个窗体,名称为a
VB中代码如下:
sub tt()
    Dim el As Object
    Set el = GetObject(, "Excel.Application")
    el.thisworkbook.a.show
end sub

为什么出错?
问题类似于:http://club.excelhome.net/thread-166623-1-1.html
发表于 2013-3-31 14:01 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2013-3-31 14:05 | 显示全部楼层
hwc2ycy 发表于 2013-3-31 14:01
你没指定工作簿参数嘛。

不明白,求代码?
回复

使用道具 举报

发表于 2013-3-31 14:17 | 显示全部楼层
实际上你这里创建的对象就就是当前EXCE对象的引用了。
回复

使用道具 举报

 楼主| 发表于 2013-3-31 14:20 | 显示全部楼层
hwc2ycy 发表于 2013-3-31 14:17
实际上你这里创建的对象就就是当前EXCE对象的引用了。

但是把el.thisworkbook.a.show改成el.a.show 或者 a.show都是出错啊!
回复

使用道具 举报

发表于 2013-3-31 14:45 | 显示全部楼层
  1. Sub test()
  2.     UserForm1.Show
  3. End Sub

  4. Sub tt()
  5.      Dim el As Object
  6.      Set el = GetObject(, "Excel.Application")
  7.      el.Run "test"
  8. End Sub
复制代码
窗体名跟你的改成一致就行了。
翻了下很早以前帮人写的类似的代码。
回复

使用道具 举报

 楼主| 发表于 2013-3-31 14:53 | 显示全部楼层
hwc2ycy 发表于 2013-3-31 14:45
窗体名跟你的改成一致就行了。
翻了下很早以前帮人写的类似的代码。

如果窗体上有很多文本框的数据都需要获取,并赋值给变量,那岂不是要写很多sub ,然后再run
回复

使用道具 举报

 楼主| 发表于 2013-3-31 15:02 | 显示全部楼层

VBA封装问题?

VB封装VBA代码时候:
工作簿定义可以这样:Dim excelWorkBook As Excel.Workbook  工作表定义可以这样:Dim excelWorksheet As Excel.Worksheet  

那么工作簿中VBE中的窗体如何定义呢?
dim excelForm as excel.??????
回复

使用道具 举报

发表于 2013-3-31 15:05 | 显示全部楼层
dim excelForm as  object
回复

使用道具 举报

 楼主| 发表于 2013-3-31 15:42 | 显示全部楼层
无聊的疯子 发表于 2013-3-31 15:05
dim excelForm as  object

疯子,能看看此贴不?http://www.excelpx.com/thread-298238-1-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 03:08 , Processed in 0.429210 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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