【发布时间】:2015-07-31 09:27:29
【问题描述】:
当我启动我的用户表单时,我首先会寻找一个值。如果此值不存在,则用户表单应关闭。
Try1:UserForm_Inizialize
Public Sub UserForm_Initialize()
Call languagePack
'
'initialize the userform
'
End Sub
Try1:选择语言包的功能
Private Sub languagePack()
Dim LanguageItems(45) As String
Dim Language_ID As Integer
Language_ID = Outlook.LanguageSettings.LanguageID(msoLanguageIDUI)
Call Language_AS.getLanguage(Language_ID, LanguageItems)
If Not LanguageItems(0) = "" Then
With Me
'--write the array items into the userform objects and vaues
End With
Else
MsgBox "It doesn't exist a Language-Pack for your language! Pleas change to english."
Unload Advanced_Search ' will not work
End If
End Sub
Try1 是在函数languagePack() 中卸载用户窗体,但没有停止运行,我得到一个错误。所以我尝试了另一件事:
Try2:UserForm_Inizialize
Private close_userform As Boolean
Public Sub UserForm_Initialize()
Call languagePack
If close_userform = Flase Then
'
'initialize the userform
'
else
Unload Advanced_Search ' will not work
end if
End Sub
Try2:选择语言包的功能
Private Sub languagePack()
Dim LanguageItems(45) As String
Dim Language_ID As Integer
Language_ID = Outlook.LanguageSettings.LanguageID(msoLanguageIDUI)
Call Language_AS.getLanguage(Language_ID, LanguageItems)
If Not LanguageItems(0) = "" Then
With Me
'
'--write the array items into the userform objects and vaues
'
End With
close_userform = False
Else
MsgBox "It doesn't exist a Language-Pack for your language! Pleas change to english."
close_userform = True
End If
End Sub
Try2 有什么问题?布尔值close_userform 是全局的,因此两个函数都可以读取该值。但如果它达到卸载它不会发生任何事情。到达end sub 后出现错误。
错误是:
运行时错误“91”:
目标变量或未设置块变量
启动用户窗体的宏
Sub start_Advanced_Search()
Advanced_Search.Show (vbModeless)
End Sub
请帮帮我。感谢每个命令的答案。亲切的问候,尼科
【问题讨论】: