如何才能做到:打开excel文件前,先查找D盘有无123.txt文件,如存在则打开此excel文件,否则倒计时关闭。
发布网友
发布时间:2022-04-30 10:04
我来回答
共4个回答
热心网友
时间:2023-10-22 12:40
这个问题提的不错,呵呵.是可以实现的.
想要答案请点我的名字看我的联系方式找我.
先贴代码:
Private Sub Workbook_Open()
Dim newHour, newMinute, newSecond, waitTime
If Dir("d:\123.txt", 16) = Empty Then
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 10
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
Application.Quit
End If
End Sub
这样就能了. 你要怎么倒计时啊?弹出框框?提示信息?
这个你要是d:\123.txt这个不存开,它不会打开的啊.等待10秒后关闭.
再次修改代码:这个有提示.
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Workbook_Open()
Dim path1
path1 = "d:\123.txt"
If Dir(path1, 16) = Empty Then
With Worksheets(1)
.Columns("A:A").ColumnWidth = 163.38
Rows("1:1").RowHeight = 388.5
.Range("B2").Select
ActiveWindow.SmallScroll ToRight:=-1
ActiveWindow.SmallScroll Down:=-6
ActiveWindow.FreezePanes = True
.Range("A1").Select
With Selection.Font
.Name = "宋体"
.Size = 80
End With
Dim ss
Dim aa
aa = "倒计时: "
ss = 10
For i = 10 To 0 Step -1
.Cells(1, 1) = path1 & "不存在,10秒后关闭本文件." & vbCrLf & aa & i & "秒"
DoEvents
Sleep 1000
Next
.Columns("A:A").ColumnWidth = 8.38
.Rows("1:1").RowHeight = 14.25
With .Range("A1").Font
.Name = "宋体"
.Size = 12
End With
.Cells(1, 1) = ""
ActiveWindow.FreezePanes = False
End With
ThisWorkbook.Save
Application.Quit
End If
End Sub
其中dir函数中间的16代表:
vbDirectory 16 指定无属性文件及其路径和文件夹。 详细请参看vba帮助.
热心网友
时间:2023-10-22 12:41
倒计时关闭什么东西?关机?还是关闭软件?
关机用批处理和/或计划任务就可以办到。关闭软件也可以。
热心网友
时间:2023-10-22 12:41
才能做到:打关闭什么东西?关机?还是关闭软件?
关机用批处理
热心网友
时间:2023-10-22 12:42
4259182316+456178jkghdfiyjgkovidxgjt
热心网友
时间:2023-10-22 12:40
这个问题提的不错,呵呵.是可以实现的.
想要答案请点我的名字看我的联系方式找我.
先贴代码:
Private Sub Workbook_Open()
Dim newHour, newMinute, newSecond, waitTime
If Dir("d:\123.txt", 16) = Empty Then
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 10
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
Application.Quit
End If
End Sub
这样就能了. 你要怎么倒计时啊?弹出框框?提示信息?
这个你要是d:\123.txt这个不存开,它不会打开的啊.等待10秒后关闭.
再次修改代码:这个有提示.
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Workbook_Open()
Dim path1
path1 = "d:\123.txt"
If Dir(path1, 16) = Empty Then
With Worksheets(1)
.Columns("A:A").ColumnWidth = 163.38
Rows("1:1").RowHeight = 388.5
.Range("B2").Select
ActiveWindow.SmallScroll ToRight:=-1
ActiveWindow.SmallScroll Down:=-6
ActiveWindow.FreezePanes = True
.Range("A1").Select
With Selection.Font
.Name = "宋体"
.Size = 80
End With
Dim ss
Dim aa
aa = "倒计时: "
ss = 10
For i = 10 To 0 Step -1
.Cells(1, 1) = path1 & "不存在,10秒后关闭本文件." & vbCrLf & aa & i & "秒"
DoEvents
Sleep 1000
Next
.Columns("A:A").ColumnWidth = 8.38
.Rows("1:1").RowHeight = 14.25
With .Range("A1").Font
.Name = "宋体"
.Size = 12
End With
.Cells(1, 1) = ""
ActiveWindow.FreezePanes = False
End With
ThisWorkbook.Save
Application.Quit
End If
End Sub
其中dir函数中间的16代表:
vbDirectory 16 指定无属性文件及其路径和文件夹。 详细请参看vba帮助.
热心网友
时间:2023-10-22 12:41
倒计时关闭什么东西?关机?还是关闭软件?
关机用批处理和/或计划任务就可以办到。关闭软件也可以。
热心网友
时间:2023-10-22 12:41
才能做到:打关闭什么东西?关机?还是关闭软件?
关机用批处理
热心网友
时间:2023-10-22 12:42
4259182316+456178jkghdfiyjgkovidxgjt