用VB编写的dll文件中窗体和类模块间参数传递的问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 22:25:26
用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编程的不多、

给我发一份源程序,共同研究研究!cnbubble@163.com
你只是这样讲的话,也看不出什么实质性的问题来

传递是肯定可以的,问题是你的代码有问题,但只是这么说,分析不出来原因所在阿

这个dll调试过,确实无问题吗?