用VB编写的dll文件中窗体和类模块间参数传递的问题 70
用vb编了一个dll文件,文件中有一个类模块和一个窗体,想dll被excelVBA调用时把excel的表格名传给dll文件窗体中的代码段,不知道怎么操作。传给类模块是没有...
用vb编了一个dll 文件,文件中有一个类模块和一个窗体,想dll被excel VBA调用时把excel的表格名传给dll文件窗体中的代码段,不知道怎么操作。
传给类模块是没有问题的,vba通过调用类模块的方法可以显示dll中的窗体,用户在窗体中输入数据后窗体代码要调用Excel的单元格进行运算就不成了,总说找不到对象。
尝试用类模块属性来传递excle表格对象,好像dll得窗体模块根本就不认识该dll中类模块的属性,尝试过用public参数,也不行。
不知道高手们听明白了没有。
创建dll文件,在class1模块输入以下代码和声明:
Public wsheet As Excel.Worksheet
Public Sub foropen()
Form1.Show
End Sub
接着创建窗体form1,窗体上添加一个文本款text1输入以下声明和代码:
Public fsheet As Excel.Worksheet
Private Sub Text1_Change()
Set fsheet = Class1.wsheet
fsheet.Cells(1, 1) = Text1
End Sub
生成dll文件。
打开一个excel文件,输入以下代码和声明;
Dim xa As New project1.Class1
Private Sub Workbook_Open()
Set xa.wsheet = Worksheets(1)
xa.foropen
End Sub
重新打开excel文件,弹出窗体,尝试文本框输入,弹出提示“运行错误‘424’需要对象”。
期间的引用等由于是vb6.0 所以引用的是excel 10.0 和office 12.0 project library.
开来baidu上喜欢vb编程的不多、 展开
传给类模块是没有问题的,vba通过调用类模块的方法可以显示dll中的窗体,用户在窗体中输入数据后窗体代码要调用Excel的单元格进行运算就不成了,总说找不到对象。
尝试用类模块属性来传递excle表格对象,好像dll得窗体模块根本就不认识该dll中类模块的属性,尝试过用public参数,也不行。
不知道高手们听明白了没有。
创建dll文件,在class1模块输入以下代码和声明:
Public wsheet As Excel.Worksheet
Public Sub foropen()
Form1.Show
End Sub
接着创建窗体form1,窗体上添加一个文本款text1输入以下声明和代码:
Public fsheet As Excel.Worksheet
Private Sub Text1_Change()
Set fsheet = Class1.wsheet
fsheet.Cells(1, 1) = Text1
End Sub
生成dll文件。
打开一个excel文件,输入以下代码和声明;
Dim xa As New project1.Class1
Private Sub Workbook_Open()
Set xa.wsheet = Worksheets(1)
xa.foropen
End Sub
重新打开excel文件,弹出窗体,尝试文本框输入,弹出提示“运行错误‘424’需要对象”。
期间的引用等由于是vb6.0 所以引用的是excel 10.0 和office 12.0 project library.
开来baidu上喜欢vb编程的不多、 展开
3个回答
展开全部
给我发一份源程序,共同研究研究!cnbubble@163.com
你只是这样讲的话,也看不出什么实质性的问题来
你只是这样讲的话,也看不出什么实质性的问题来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
传递是肯定可以的,问题是你的代码有问题,但只是这么说,分析不出来原因所在阿
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个dll调试过,确实无问题吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询