在form1中定义变量要用public 如:public intI as integer
在模块中调用该变量时要指明对象 如:form1.intI

解决方案 »

  1.   

    这样不行,我试过了。刚查了一下,在模块中public定义即可。谢谢楼上。
      

  2.   

    给那个公共过程设置一个对应Form的参数,当调用该过程时,把ME传给它
      

  3.   

    我也试过了,丢diudiu2002说的可行,而且我平时也是这么用。注意:在form声明public变量,一定要在所有语句之前(在Option Explicit之类的语句之后)。如果你想比较安全一点,可以把变量声明称form的属性
      

  4.   

    在Form1的声明段中用Public 定义你的变量  Public AAA As Integer在建立的模块中的Public过程中调用如下Public Sub GG()
        Form1.txtFile.Text = Form1.AAA
    End Sub
      

  5.   

    看看一下代码,会对您有帮助
    'Form的代码Option Explicit
    Public inta As Integer '一定要为PublicPrivate Sub Command1_Click()
      MsgBox doubleX()
    End SubPrivate Sub Form_Load()
      inta = 2
    End Sub'模块Module1的代码
    Option ExplicitPublic Function doubleX() As Integer
      doubleX = 2 * Form1.inta
    End Function
      

  6.   

    假若说,有几个form共同调用这个模块中的public过程,怎样区分这几个窗体呢。
    变量是窗体(类)级的。
      

  7.   

    几个form共同调用这个模块中的public过程是什么意思?能否给出示意代码说明一下。
      

  8.   

    那只能通过传递参数来实现。例如function(...,byval frmName as string)
      

  9.   

    我想可能这位兄弟的本意是:存在许多窗体,每个窗体都有这样的一个变量需要被模块过程调整,所以在模块中不能指定具体的模块变量名,需要传递参数来确定是哪一个窗体,实现代码如下。
    ====Code in Form1========
    Public kk As LongPrivate Sub Command1_Click()
       modify Me
       MsgBox kk
    End SubPrivate Sub Form_Load()
       kk = 1
    End Sub====Code in module1===============
    Public Sub modify(obj As Object)
        Dim y As Long
        y = CallByName(obj, "kk", VbGet)
        CallByName obj, "kk", VbLet, y + 1
    End Sub