Declare PtrSafe Function MessageBoxTimeout Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long, ByVal wlange As Long, ByVal dwTimeout As Long) As Long
'可自动关闭的提示框MessageBoxTimeout
'定义API函数
Sub 自动关闭的对话框()
Call MessageBoxTimeout(0, "10秒后自动关闭", "提示", vbOKOnly, 0, 10000) '1000表示1秒
End Sub

Sub msgbox1()
MsgBox "hello world!"
End Sub
Sub msgbox2()
If MsgBox("你确定取消吗", vbOKCancel + vbDefaultButton2 + vbExclamation, "标题") = vbOK Then MsgBox "你点击了确定"
End Sub

'Application.InputBox

Sub 输入框1()

Dim usernum As Integer

'Type:=1限定输入数值,如果什么都不输入则会报错让你继续重新输入值,如果点击“取消”或者叉关闭对话框返回则返回0
usernum = Application.InputBox("请输入你的月薪", "月薪测算", 15000, Type:=1)
Debug.Print usernum

End Sub
Sub 输入框2()

Dim userstr As String
'Type:=1限定输入文本,如什么都不输入点“确定”则返回空,“取消”或叉关闭对话框则返回false
userstr = Application.InputBox("请输入你的姓名", "姓名录入", Type:=2)
Debug.Print userstr

End Sub
Sub 输入框8()

'type:=8限定选择单元格,如果我们要获取Range对象那就一定要在前面加上Set,如果要获取单元格值那就不需要Set(但应该注意变量类型的定义)
rngvalue = Application.InputBox("请选择一个单元格", "单元格", Type:=8) '获取单元格值,“取消”或者叉关闭返回false
Debug.Print rngvalue
Dim rng As Range
Set rng = Application.InputBox("请选择一个单元格", "单元格", Type:=8)
Debug.Print rng.Address

End Sub

Sub 输入框8_1()
'使用默认值显示要预览的单元格范围
Dim UserName As String
UserName = Application.InputBox("正在预览数据:", "提示", "Sheet1!C3:L32", Type:=2)
End Sub

'文件选择神器Application.FileDialog
Public Sub 打开D盘()
Debug.Print SelectExcelFile("D:")
End Sub

Public Function SelectExcelFile(InitialFileName As String) As String

With Application.FileDialog(msoFileDialogFilePicker)
.Title = "请选择表格文件"
.InitialFileName = InitialFileName
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Select Files", ".xls"
' SelectExcelFile = IIf(.Show = -1, .SelectedItems(1), "")
If .Show = -1 Then SelectExcelFile = IIf(.SelectedItems(1) = "", "", .SelectedItems(1))
End With

End Function

posted on 2025-11-05 23:44  青竹小轩  阅读(2)  评论(0)    收藏  举报