ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Word > 用VBA创建热感应窗体

用VBA创建热感应窗体

作者:绿色风 分类: 时间:2022-08-18 浏览:145
楼主
罗刚君
附源代码

andysky.rar
2楼
罗刚君
附加一个 动画音乐欣赏

Word中欣赏动画音乐.rar



Private Sub CommandButton1_Click()'单击控件按钮时之代码
Application.Visible = False                  '将WORD隐藏
UserForm1.Show 0                             '以无模式运行窗体
End Sub                                              '结束过程

Private Sub Document_open()           '打开WORD时运行之代码
Application.Visible = False                  '将WORD隐藏
UserForm1.Show 0                             '以无模式运行窗体
End Sub
Option Explicit
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Private Const SW_SHOW As Long = 5
Private Const GWL_STYLE = (-16)
Private Const WS_THICKFRAME As Long = &H40000
Private Const WS_MINIMIZEBOX As Long = &H20000
Private Const WS_MAXIMIZEBOX = &H10000
Function hWnd() As Long
    hWnd = FindWindow(IIf(Val(Application.Version) > 8, "ThunderDFrame", "ThunderXFrame"), lpWindowName:=Me.Caption)
End Function
以上为声明API函数
Private Sub UserForm_Activate()                    '激活窗体时运行代码
    Dim IStyle As Long                                      '声明变量
    IStyle = GetWindowLong(Me.hWnd, GWL_STYLE)  '设置变量值--线型
    IStyle = IStyle Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX
    SetWindowLong Me.hWnd, GWL_STYLE, IStyle
    ShowWindow Me.hWnd, SW_SHOW
    DrawMenuBar Me.hWnd
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)'关闭窗体时运行代码
Application.Visible = True  '让WORD可见
End Sub                             '过程结束
Private Sub UserForm_Resize()    '重调窗体大小
UserForm1.ShockwaveFlash1.Width = UserForm1.Width - 6   'flash动画之宽度等于窗体宽度减6
UserForm1.ShockwaveFlash1.Height = UserForm1.Height - 6  'flash动画之高度等于窗体高度减6

End Sub   '结束过程

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap