ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

VBA常用技巧代码解析

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-4-19 22:41 | 显示全部楼层

回复 791楼 yuanzhuping 的帖子

本帖已被收录到知识树中,索引项:开发帮助和教程
版主你好,
我在使用如下一段程序(简略版)来调用Outlook 2003发送邮件,但邮件字体及行距还无法控制,能否支支招?
        Dim OlApp As Outlook.Application
        Dim Email As Outlook.MailItem
        
        Set OlApp = CreateObject("Outlook.Application")
        Set Email = OlApp.CreateItem(olMailItem)
        With Email
            .Subject = Sheets......
            .To = Sheets......
            .CC = Sheets......
            .Attachments.Add Application.ThisWorkbook.Path & "\" & "Wkly Report.xls "
            .BodyFormat = olFormatHTML
            .HTMLBody = "<html><body><h>" & ......& "</p></body></html>"
            .Display
        End With

TA的精华主题

TA的得分主题

发表于 2009-4-20 00:43 | 显示全部楼层
这个贴子的确不错,是从入门到高级的好教材

TA的精华主题

TA的得分主题

发表于 2009-4-20 16:01 | 显示全部楼层

请教。。。。。。。

技巧4         定位单元格
       在Excel中使用定位对话框可以选中工作表中特定的单元格区域,而在VBA中则使用SpecialCells方法,如下面的代码所示。
复制内容到剪贴板代码:

#001  Sub SpecialAddress()
#002      Dim rng As Range
#003      Set rng = Sheet1.UsedRange.SpecialCells(xlCellTypeFormulas) (赋予等号左边变量rng的是单元格的值还是地址?
#004      rng.Select
#005      MsgBox "工作表中有公式的单元格为: " & rng.Address
#006      Set rng = Nothing (这句代码是什么意思?
#007  End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-4-20 17:12 | 显示全部楼层
原帖由 menghuazhang 于 2009-4-20 16:01 发表
技巧4         定位单元格
       在Excel中使用定位对话框可以选中工作表中特定的单元格区域,而在VBA中则使用SpecialCells方法,如下面的代码所示。
复制内容到剪贴板代码:

#001  Sub SpecialAddress()
#002 ...

http://club.excelhome.net/viewth ... ;page=44#pid2614723

TA的精华主题

TA的得分主题

发表于 2009-4-20 21:34 | 显示全部楼层
感謝分享!!

這可以提升我的vba實力,終於找到了!!

謝謝!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-4-20 22:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

第8部分 控件与用户窗体

技巧126         显示GIF动画图片
       如果希望在Excel中显示GIF格式的动画图片,可以使用AniGif控件。
       步骤1,在工作表中单击菜单“视图”→“工具栏”→“控件工具箱”→“其他控件”,选择“VBAniGIF. AniGif”后在工作表中拖动添加AniGif控件,如图所示。
Snap10.jpg
       如果“其他控件”中没有该控件,那么需要对该控件进行注册。注册控件请参阅技巧118 。AniGif控件的文件名为VBAniGIF.OCX,也可以在工作表中单击菜单“视图”→“工具栏”→“控件工具箱”→“其他控件”,选择“注册自定义控件”,在显示的对话框中选择VBAniGIF.OCX文件进行注册,如图所示。
Snap12.jpg
       步骤2,在设计模式下右键单击AniGif控件,选择“属性”,设置AniGif控件的Filename属性为CIF图片所在的路径,如图所示。
Snap4.jpg
       可以使用代码设置AniGif控件的Filename属性,如下面的代码所示。
  1. #001  Private Sub Workbook_Open()
  2. #002      Sheet1.AniGif1.Filename = ThisWorkbook.Path & "\001.gif"
  3. #003  End Sub
复制代码
代码解析:
       工作簿打开时将AniGif控件的Filename属性设置为同一目录中的“001.gif”文件。
       工作簿打开时可能出现如图所示的对话框,这是因为当打开包含ActiveX控件的文件时,如果该控件被标识为初始化不安全时,Office程序不加载或激活未被标志为初始化安全的ActiveX控件。
Snap9.jpg
       解决此问题的方法是更改Office程序处理ActiveX组件的方式,需要对注册表进行修改。也可以使用以下代码修改注册表:
  1. #001  Sub RegWriteProc()
  2. #002      Dim WshShell
  3. #003      Set WshShell = CreateObject("Wscript.Shell")
  4. #004      WshShell.RegWrite "HKCU\Software\Microsoft\Office\Common\Security\UFIControls", 1, "REG_DWORD"
  5. #005      WshShell.RegWrite "HKCU\Software\Microsoft\VBA\Security\LoadControlsInForms", 1, "REG_DWORD"
  6. #006      Set WshShell = Nothing
  7. #007  End Sub
复制代码
代码解析:
       RegWriteProc过程修改注册表设置。第4行代码将UFIControls子项设置为1(最不安全)。第5行代码将LoadControlsInForms子项设置为1(最不安全)。关于为ActiveX控件授予权限请参阅微软的技术文章:http://support.microsoft.com/kb/827742/zh-cn
       退出设计模式后,将在工作表中显示GIF动画图片,如图所示。
Snap8.jpg

技巧126 显示GIF动画图片.rar

225.22 KB, 下载次数: 1583

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-4-20 22:43 | 显示全部楼层

第8部分 控件与用户窗体

技巧127         播放Flash文件
       如果需要在工作表中播放Flash文件,那么可以使用ShockwaveFlash控件。
       步骤1,在工作表中单击菜单“视图”→“工具栏”→“控件工具箱”→“其他控件”,选择“ShocKwave Flash Object”后在工作表中拖动添加ShockwaveFlash控件,如图所示。
Snap3.jpg
       如果“其他控件”中没有该控件,请参阅技巧126 对其进行注册,ShockwaveFlash控件的文件名为Flash9d.OCX。
       步骤2,在设计模式下右键单击ShockwaveFlash控件,选择“属性”,设置ShockwaveFlash控件的Base属性和Movie属性为Flash文件所在的路径,设置Embedmovie属性为True,使Flash文件嵌入到Excel中,如图所示。
Snap2.jpg
       可以使用代码设置ShockwaveFlash控件的各项属性,如下面的代码所示。
  1. #001  Private Sub Workbook_Open()
  2. #002      With Sheet1.ShockwaveFlash1
  3. #003          .Base = ThisWorkbook.Path & "\face.swf"
  4. #004          .Movie = ThisWorkbook.Path & "\face.swf"
  5. #005          .EmbedMovie = True
  6. #006      End With
  7. #007  End Sub
复制代码
代码解析:
       工作簿打开时将ShockwaveFlash控件的Base属性和Movie属性设置为同一目录中的“face.swf”文件,设置Embedmovie属性为True。
       退出设计模式后,将在工作表中显示Flash动画,如图所示。
Snap1.jpg

技巧127 播放Flash文件.rar

1.1 MB, 下载次数: 4072

TA的精华主题

TA的得分主题

发表于 2009-4-21 01:37 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-4-21 10:34 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-4-21 19:40 | 显示全部楼层
每天再忙都要抽出半个小时来跟进.不知不觉中似乎闻到一点VBA的味道.
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-16 07:58 , Processed in 0.055658 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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