- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Excel VBA随机调用图片时的几个细节
(2009-01-02 18:56:05) 转载标签:excelvba图片随机调用 分类:EXCEL及其VBA
载自:/s/blog_58260f420100bv9t.html
假如:在Excel工作簿里有一个名为“关机画面”的表,在VBA里插入一个窗体,窗体里有一个Image1图片控件,在该工作簿所在目录下有一个\系统工具\图片\关机画面的子目录,里面放一些图片。那么,在窗体的UserForm_Activate事件里编辑后面所述的代码,则窗体运行时会从图片目录里随机选择一张图片,显示在窗体上,然后再随机选择一张图片,显示在sheet表里。初始程序编好之后,反复调试很长时间才彻底成功,其中几个非常耗时的细节:
1、在sheet表里直接插入的图片是pictures集合,而不是shapes集合。这个图片只能用.Pictures.Insert(图片文件的含路径的全名) .Name = ……创建,不能用:.Shapes.Addshape(Type:=msopicture,Left:=……)创建但是这个pictures集合里的图片却可以用.Shapes(……).Delete删除。挺奇怪!这是调试耗时很长的一个主要原因。
2、用 .Shapes.Addshape(Type:=msopicture,Left:=……)也可以在Sheet里创建图片,但是如何命名,又如何调整大小,由于资料有限,我无法做深入的分析。
3、窗体里的图片控件用Image1.Picture = LoadPicture(文件名)装载图片。
4、j = Int((n * Rnd) + 1),生成的是1~n之间的一个随机整数。
5、用with……end with语句编辑代码时,我忘记在 Width 前加点“.” ,这给调试代码带来很大的困惑。
6、窗体里的图片尺寸调整起来很容易,只需要把图片的PictureSizeMode属性设置为3,即fmPictureModeRoom(图片自动适应控件)即可,不必再单独编写代码。
7、需要特别注意的是,仅仅用Rnd()函数生成的并不是真正的随机数,这些数会有固定的序列,因此,从打开文件开始,如果没有重复调用图片,显示的会总是那几张图片。必须要用 Randomize 初始化一下随机数的种子,如此调用的图片才是真正随机的。----------------------------------------------------------------Private Sub UserForm_Activate()查找图片Dim 查找图片 As FileSearchDim 图片路径 As StringDim i As Long, n As Long, j As LongSet 查找图片 = Application.FileSearch图片路径 = ThisWorkbook.Path \系统工具\图片\关机画面With 查找图片.NewSearch.LookIn = 图片路径.FileType = msoFileTypeAllFiles.Filename = *.*.SearchSubFolders = True随机选择一张图片,抽取出来读入窗体、读入关机画面If .Execute(SortBy:=msoSortByFileName) 0 Thenn = .FoundFiles.CountReDim 图集(1 To n) As Stringj = Int((n * Rnd) + 1)调入图片到窗体Image1.Picture = LoadPicture(.FoundFiles(j))调入图片到表(关机画面)Randomizej = Int((n * Rnd) + 1)Sheets(关机画面).Visible = 1On Error Resume NextSheets(关机画面).Shapes(关机画面).DeleteWith Sheets(关机画面).Pictures.Insert(.FoundFiles(j)).Name = 关机画面.LockAspectRatio = msoTrue.Left = 0.Top = 0.Width = .Width * 425 / .Height.Height = 425.Left = 380 - .Width / 2End WithElseMsgBox 图片保存位置: Chr(10) Chr(10) 图片路径 _ Chr(10) Chr(10) 里面没有图片,请导入要随机显示的图片集。End IfEnd WithSet 查找图片 = NothingDoEve
您可能关注的文档
最近下载
- 石材行业绿色矿山建设规范.pdf VIP
- 改良的TMP制浆方法——ATMP Advanced l]aermo-Mechanical Pulping Process: ATMP.pdf VIP
- A3演示文稿设计与制作(一)主题说明 (1).pdf
- 环县辅警考试历年真题及答案.pdf
- 《十二公民》剧本.docx
- 湖南工业大学2022-2023学年《数据结构》期末考试试卷(B卷)附参考答案.docx
- 必威体育精装版少数民族彝族知识介绍、彝族传统文化学习讲解PPT模板.pptx
- 化纤智能制造技术及装备在纺织行业的应用新进展.pptx VIP
- 香港借款合同范本3篇.docx
- Surprised by Oxford《牛津的惊喜(2022)》完整中英文对照剧本.docx VIP
文档评论(0)