krampaul82 发表于 2010-6-30 17:03:50

重命名文件

<请参见><br>此程序将使用用户指定的项目名称、编号等创建一个新的项目目录结构。<br>一旦创建了新项目,有时需要重新指定项目编号。是否有办法以创建文件的方式重命名这些文件?我希望我在这里讲得有道理……
有没有办法让程序在这个msgbox之后继续,而不点击OK?(如稍微延迟2秒,程序将继续)
MsgBox“带前缀的Excel文件已就位。请转到数据提取文件…”
**** Hidden Message *****

Matt__W 发表于 2010-7-1 08:13:33

试试这个...
Sub TimedMsgBox()
    Dim cTime As Long
    Dim WSH As Object
    Set WSH = CreateObject("WScript.Shell")
    cTime = 2 ' 2 secs
    Select Case WSH.Popup("Open an Excel file?!", cTime, "Question", vbYesNo)
      Case vbOK
            MsgBox "You clicked OK"
      Case vbCancel
            MsgBox "You clicked Cancel"
      Case -1
            MsgBox "Timed out"
      Case Else
    End Select
End Sub

krampaul82 发表于 2010-7-1 10:15:56

Matt,
好吧,现在我学习了一种显示消息框的新方法,感谢您的代码,但我想在短时间内显示消息,然后继续下一行代码,而无需用户点击“确定”这可能吗?
马克

Matt__W 发表于 2010-7-1 10:17:43

这就是代码的作用;它显示一个消息框2秒钟,然后继续。 读取:
      Case -1
            MsgBox "Timed out"
的行
是您将代码放在继续的地方。

krampaul82 发表于 2010-7-1 11:33:42

马特
消息框只是无限地坐在那里,它不会继续......
选择“案例 WSH”。Popup(“Open an Excel file?!”, cTime, “Question”, vbYesNo) 这应该是 vbok 吗?      
案例 vbOK
MsgBox “您单击了确定”
案例 vbCancel
MsgBox “您单击了取消”
案例 -1
MsgBox “超时”
案例 其他
结束 选择
标记

Matt__W 发表于 2010-7-1 11:46:53

看起来你没有复制整个代码块。您刚刚发布的内容缺失
    Dim cTime As Long
    Dim WSH As Object
    Set WSH = CreateObject("WScript.Shell")
    cTime = 2 ' 2 secs

krampaul82 发表于 2010-7-1 12:44:05


我把你的整个代码放在一个模块中,并从我放置msgbox代码的地方调用子仍然没有骰子....

Matt__W 发表于 2010-7-1 13:26:41

可以贴出全部或者部分代码吗?你是用Excel还是AutoCAD做的?

krampaul82 发表于 2010-7-1 15:09:36

Matt
查看已发布的模块1(有点长),但是sub“GTC _ move _ Excell”调用来自模块3(已发布),我现在显示msgbox的地方是我现在调用sub“TimedMsgBox”的地方。这是可行的,我的意思是它会显示一个msgbox,但不会超时。我想我可以跳过msgbox,安静地完成程序,但是我想让用户知道程序在哪里....
标记

Matt__W 发表于 2010-7-2 13:42:28

看一看我放在一起的这个样品。运行主子菜单。它将提示您打开Excel文件。什么都不要做。2秒后,它将通过加载用户表单(frmMain)自动继续,并将显示一个进度条
您不需要加载表单,而是输入代码来执行任何您想要的操作。
页: [1] 2
查看完整版本: 重命名文件