1、首先在开发工具中打开VBA编辑器
2、在单元格区域当中输入一些内容作为例子
3、在VBA编辑器中插入模块
4、在模块当中输入如下代码,然后运行Private Declare Function SetLayeredWindowAttributes Lib "use32&鳎溻趄酃quot; (ByValhWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags AsLong) As LongPrivate Declare Function GetWindowLong Lib "use32" Alias"GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function FindWindow Lib "use32" Alias "FindWindowA"(ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function SetWindowLong Lib "use32" Alias"SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLongAs Long) As Long Private Declare Function DrawMenuBar Lib "use32" (ByVal hWnd As Long) As Long Private Declare Function SetFocus Lib "use32" (ByVal hWnd As Long) As Long Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Const WS_EX_LAYERED=&H80000 Const GWL_EXSTYLE=(-20) Const LWA_ALPHA=&H2 Private Sub UserForm_activate() Application.Wait Now+TimeValue("00:00:05") '激活窗体5秒钟后开始执行下一句代码 Dim xl As Long hWndForm=FindWindow("ThunderDFrame", Me.Caption) Dim rtn As Long rtn=GetWindowLong(hWndForm, GWL_EXSTYLE) rtn=rtn Or WS_EX_LAYERED SetWindowLong hWndForm, GWL_EXSTYLE, rtn For i=255 To 0 Step-5 '此句控制速度,值越小速度越快 SetLayeredWindowAttributes hWndForm, 0, i, LWA_ALPHA ' Sleep 10 DoEvents DrawMenuBar hWndForm SetFocus hWndForm Next i Unload Me '关闭窗体 End Sub
5、用快捷键F5运行窗体,窗体在5秒钟后关闭,且关闭时有过渡效果