我知道有一个窗体的字符串,但是我现在想调用这个窗体,就是Show出来,但在Show之前(也就是Form_Load之前我有一个属性 DocType 要进行赋值 ) 我用了各种方法,但是还是有问题,望各位大虾援手。
StrFormLoadName ="Bas_Info"
1.
Dim F as Form set F=Forms.Add(StrFormLoadName)
F.Show
2 Set F= Forms.Add(StrFormLoadName) Set AA = CreateObject("MSScriptControl.ScriptControl")
AA.Language = "vbscript"
AA.AddObject StrFrm, NewForm
AA.ExecuteStatement (StrFormLoadName & ".DOCType=""02""")
AA.ExecuteStatement (StrFormLoadName & ".Show")
这里引用了ScriptControl 要注意
3
Public Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As LongPublic Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(ByVal StrPtr(sCode), 0&, 0&, fCheckOnly) = 0
End Function
ExecuteLine StrFrm & ".DOCType=""02"""
ExecuteLine StrFrm & ".Show"第三种最完美,但是是调试的时候,编译之后一运行这个ExecuteLine 整个个系统就跳出来了,5~ 这是怎么加速呀,请各位大虾帮忙
StrFormLoadName ="Bas_Info"
1.
Dim F as Form set F=Forms.Add(StrFormLoadName)
F.Show
2 Set F= Forms.Add(StrFormLoadName) Set AA = CreateObject("MSScriptControl.ScriptControl")
AA.Language = "vbscript"
AA.AddObject StrFrm, NewForm
AA.ExecuteStatement (StrFormLoadName & ".DOCType=""02""")
AA.ExecuteStatement (StrFormLoadName & ".Show")
这里引用了ScriptControl 要注意
3
Public Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As LongPublic Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(ByVal StrPtr(sCode), 0&, 0&, fCheckOnly) = 0
End Function
ExecuteLine StrFrm & ".DOCType=""02"""
ExecuteLine StrFrm & ".Show"第三种最完美,但是是调试的时候,编译之后一运行这个ExecuteLine 整个个系统就跳出来了,5~ 这是怎么加速呀,请各位大虾帮忙
解决方案 »
- 高分求打开文件夹问题,100全送你
- 编译好程序后,用exescope转化成xp风格,但所有的frame标题都变兰色了
- [急救]日期转换问题(cdate)???
- 给一中专学校学生(专业计算机)的开学上一节电脑兴趣课,大家给推荐点课件,只要让增加他们对计算机认识与兴趣.谢谢
- 求助:VB自带的可视化数据管理器怎么打开EXCEL表?怎么每次都弹出"找不到可插入的ISAM"??
- SQL数据库转换excel问题,急!!!
- 装了Delphi后,VC的程序运行出错后,怎么改回VC调试啊?
- 各位老大,有没有好的,真正免费的上传组件给推荐一下(ASP)急。
- 如何动态修改水晶报表的.rpt文件内嵌的数据库路径?
- delphi比vb也就强100倍!!!!!!!
- ListView 如果使用 Report 样式,能否在每个Item 中显示一个 Icon ?
- VB中MS SQL Server2000的问题
Private Sub Form_Initialize()
Dim F As Form
Dim StrFormLoadName As String
StrFormLoadName = "Bas_Info"
Set F = Form1
F.Show
F.Caption = StrFormLoadName
End Sub
正确的写法是
ExecuteLine = EbExecuteLine(ByVal StrPtr(sCode), 0&, 0&, ABS(fCheckOnly)) = 0
当然,不怕可读性差点的话,可将ExecuteLine的fCheckOnly参数声明为Long。
写,他在form_load前运行
Private m_nCount As Integer '窗口的个数Private Sub Command1_Click()ReDim Preserve m_arryForms(m_nCount)
Set m_arryForms(m_nCount) = New Form1'可以把Caption属性换成你的DOCType属性
m_arryForms(m_nCount).Caption = "第" & m_nCount & "个窗口"
m_arryForms(m_nCount).Showm_nCount = m_nCount + 1 '又多了一个窗口
End Sub
Private m_nCount As Integer '窗口的个数Private m_nDocType As IntegerPublic Property Let DocType(nType As Integer)
m_nDocType = nType
End PropertyPublic Property Get DocType() As Integer
DocType = m_nDocType
End PropertyPrivate Sub Command1_Click()ReDim Preserve m_arryForms(m_nCount)
Set m_arryForms(m_nCount) = New Form1m_arryForms(m_nCount).DocType = m_nCount
m_arryForms(m_nCount).Show
m_arryForms(m_nCount).Caption = "第" & m_nCount & "个子窗口"
m_arryForms(m_nCount).Command1.Enabled = False
m_nCount = m_nCount + 1 '又多了一个窗口
End SubPrivate Sub Form_Initialize()
'无论如何都显示 0,因为 New 以后就调用本过程
Debug.Print "INIT", "DocType=" & Me.DocType
End SubPrivate Sub Form_Load()
Me.Caption = "主窗口" '区别其他Form1 窗口
'你会发现DocType属性已经被改变
Debug.Print "LOAD", "DocType=" & Me.DocType
End Sub
应该是我只知道有个“Form1” 然后我要用 F=Forms.Add(“From1”)这个函数这加这个窗体,但是用Forms.Add的时候就已经有Form_Load 这个事件触发了,但如果我不加这个 然后我知道这个属性由于也只知道是字符串 所以我才会想到用ExecuteLine StrFrm & ".DOCType=""02"""这个方法 的呀