ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3616|回复: 8

[求助] 如何制作视窗标题的闪烁功能

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-3-12 15:54 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:Windows API应用
各位前辈,
因为使用的巨集会跑个2分多钟,这时会去别的视窗作业,请问要如何让巨集执行完成时让视窗闪烁颜色进而达到提醒的目的!!! 谢谢
(闪烁的颜色为蓝色!)

Windows_ALARM_COLOR.rar

26.06 KB, 下载次数: 80

Example

TA的精华主题

TA的得分主题

发表于 2011-3-13 18:05 | 显示全部楼层

〖Excel Home友情提示〗

   

很遗憾通知楼上朋友,您的帖子在24小时之内没有任何回复!

通常情况下,本论坛发布的主题帖会在8小时被回复或处理。您的帖子在24小时之内未被回复,其中的原因可能是

1、问题表述不清、模棱两可,难以理解,帮助者被搞晕了,夺帖而出;
2、没有上传必要的附件,或附件被遗忘在某个角落;
3、发帖提问时,语气带棱角、带挑衅,不幸被列入不受欢迎的帖子;
4、所提问题不成立,或提不合理的要求,乐于助人者使出“走为上”之计;
5、话题较偏、较冷或者发布到了不合适的版块,暂时无人问津,顾影自怜。


为了提高您的问题解决效率,我们推荐您阅读以下文章:
* 如何发表新话题和上传附件:http://club.excelhome.net/thread-45649-1-1.html
* 发帖的技巧:http://club.excelhome.net/thread-176339-1-1.html
* EH技术论坛的最佳学习方法:http://club.excelhome.net/thread-117862-1-1.html

TA的精华主题

TA的得分主题

发表于 2011-3-14 09:55 | 显示全部楼层
程序代码最后加一句msgBox,在出现对话框后,如果excel不是当前程序,窗体自然会闪烁提醒

如果不想出现对话框,可以使用下面的代码:

  1. Public Enum enuFlashOptions
  2.     FLASHW_ALL = &H3 ' Flash both the window caption and taskbar button.
  3.     ' This is equivalent to setting the FLASHW_CAPTION | FLASHW_TRAY flags.
  4.     FLASHW_CAPTION = &H1 ' Flash the window caption.
  5.     FLASHW_STOP = 0 ' Stop flashing. The system restores the window to its original state.
  6.     FLASHW_TIMER = &H4 ' Flash continuously, until the FLASHW_STOP flag is set.
  7.     FLASHW_TIMERNOFG = &HC ' Flash continuously until the window comes to the foreground.
  8.     FLASHW_tray = &H2
  9. End Enum

  10. Public Type FlashWindowInfo
  11.     cbSize As Long
  12.     hwnd As Long
  13.     dwFlags As Long
  14.     uCount As Long
  15.     dwTimeout As Long
  16. End Type
  17. Declare Function FlashWindowEx Lib "user32.dll" (ByRef pInfo As FlashWindowInfo) As Boolean

  18. Public Sub FlashWindow(ByVal hwnd As Long, _
  19.     ByVal FlashWindowInfoFlags As enuFlashOptions, _
  20.     Optional ByVal intFlashTimes As Long = 5)
  21.    
  22.     Dim info As FlashWindowInfo
  23.     With info
  24.         .cbSize = Len(info)
  25.         .dwFlags = FlashWindowInfoFlags ' See enumeration for flag values
  26.         .dwTimeout = 0 'Flash rate in ms or default cursor blink rate
  27.         .hwnd = hwnd
  28.         .uCount = intFlashTimes ' Number of times to flash
  29.     End With
  30.     FlashWindowEx info
  31. End Sub

  32. Sub flash()
  33.     FlashWindow Application.hwnd, FLASHW_TIMERNOFG Or FLASHW_tray, 0
  34. End Sub

  35. Sub test()
  36.     Application.OnTime Now() + TimeValue("00:00:04"), "flash"
  37. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2011-3-14 16:47 | 显示全部楼层
3楼老师的代码 很值得学习研究呢,留个记号

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-3-15 02:23 | 显示全部楼层
fisher前辈,
感谢您的代码!!! 马上来试试...
只不过看不太懂...要费一点功夫了解了......
研究了2个多小时还是看不懂.........
可以请fisher前辈说明一下吗??有关FLASH的语法要阅读哪些参考资料??我在Excel HELP中都找不到.......
代码可以执行成功!!!
但...如果要闪烁蓝灯该如何修改???
另外,发现当万一开启两个活页簿的话闪橘灯的功能将无法再正常work ....... 有解吗?...
谢谢. 提出那么多无理的要求........ 谢谢

[ 本帖最后由 pptamanegi 于 2011-3-15 03:21 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-3-15 09:12 | 显示全部楼层
原帖由 pptamanegi 于 2011-3-15 02:23 发表
fisher前辈,
感谢您的代码!!! 马上来试试...
只不过看不太懂...要费一点功夫了解了......
研究了2个多小时还是看不懂.........
可以请fisher前辈说明一下吗??有关FLASH的语法要阅读哪些参考资料??我在Excel ...

有关FLASH的语法要阅读哪些参考资料??
可以查看MSDN上关于FlashWindowEx 函数的说明:http://msdn.microsoft.com/en-us/library/ms679347(v=vs.85).aspx
这是Windows API函数,Excel的帮助文件中是没有的
闪烁蓝灯

你是指闪烁标题栏吗?那样将代码中的FLASHW_tray改为FLASHW_CAPTION或FLASHW_ALL即可
开启两个活页簿的话闪橘灯
这个可能比较麻烦,我试验了一下,在对工作簿窗口使用FlashWindowEx时,窗口不会闪烁,而同一Excel进程中打开的两个工作簿同享一个主窗口,尽管它们在任务栏上是两个图标

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-3-15 09:38 | 显示全部楼层

回复 6楼 小fisher 的帖子

原来是要参考MSDN!! 只不过我的等级没前辈高... 不过我会努力试看看 , 试着从中找出我要的资料~~ thanks!

我是指一般XP视窗标题档底色闪烁的颜色是橘色 , 有办法改成蓝色或是其他颜色吗???

那开启两个活页簿的问题就先搁着,不好意思再麻烦您, 您已经帮忙小的很多了!!!感谢!!!

TA的精华主题

TA的得分主题

发表于 2017-9-22 16:32 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-8-9 10:46 | 显示全部楼层
win10 64 + office2010 64 ,以上代码没有反映,不没报错,程序在运行,但没有闪;
同样使用flashWindow任务栏是可以闪的,奇怪了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-3-29 09:25 , Processed in 0.053254 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表