通过消息框继续执行代码
嘿,大家看下面的代码---------------------------------------------------------------------------------------&039;模块 ;:模块3\u get\u excell\u文件;日期时间:2012年11月23日15:05;作者 ;:标记;目的 ;:此模块获取新创建的当前项目所需的Excel文件---------------------------------------------------------------------------------------
选项显式;声明变量;Dim sSourceDir作为字符串;Dim sBackDir作为字符串;将sNextFile设置为字符串;Dim sDriveLetter作为字符串;Dim currpath作为字符串;将ws作为字符串;Dim gtcprojnum为双精度;On Error GoTo FileCopyError
&039;更改Excel数据以准备文件移动;ChDir“;Excel数据“
&039;更改这些路径以适合
;sSourceDir=";五: “gtc\U项目\Excel\U数据”
;sDriveLetter=左$(CurDir$(),1);currpath=CurDir$()
;sBackDir=gtcprojnum';模块1中的全局变量集;sNextFile=Dir$(sSourceDir.*.XLS)
;而sNextFile<&燃气轮机&引用&引用
 ;文件副本sSourceDir&;sNextFile、sBackDir&;sNextFile文件 ;sNextFile=Dir$
;Wend;MsgBox“;带有前缀的Excel文件已就位。关于数据提取文件……” ;(这是我想在用户不点击OK的情况下继续的地方)这可能吗
感谢您的帮助 ;
MsgBox是一个模式对话框,因此在显示当前执行时停止当前执行
然而,也有一些解决方案,例如对话框超时,就像用户在时间过去后按下按钮一样(不确定是否在AutoCAD vba中可用),但是,也有可以创建和使用的无模式表单
将一个新表单添加到项目中,并使其与msgbox对话框的大小相同
将所需的标签和按钮放置在表单上,根据需要进行设计。您可以添加图像以在msgbox上实现相同的外观
在代码中,设置标签值、标题等,以说出您想要的内容,然后创建一个新表单,即'Create the form
set NewForm = New MyMsgBoxForm '(if MyMsgBoxForm is what you named your form)
With Newform
.Caption = "Message"
.label1.Text ="Excel Files W/Prefix are in place. On to the Data Extraction Files..."
.show(vbModeless)
End With
每当您想在代码执行期间隐藏表单时,只需调用NewForm。隐藏如果您在一个函数中创建表单,并且变量超出范围,则您将赢得';无法使用变量名将其关闭,因此您可能需要创建一个保存消息表单的属性。例如:
Private _Myform as Userform
_Myform = New MyMsgBoxForm
Property Get MessageBox() As MyMsgBoxForm
set MessageBox = _Myform
End Property
现在你可以调用MessageBox来完成这项工作
With MessageBox
'do stuff here
End With
当然,我已经好几年没有使用vba了,所以我可以#039;我不能保证VBA库中没有变化,也不能保证语法正确……但这个想法应该适合你。
页:
[1]