在窗体中显示图表.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在窗体中显示图表 工作表中的图表是不能直接显示在窗体中的,如果需要在窗体上显示图表,除了使用 REF _Ref229540004 \r \h 技巧61 介绍的使用ShowWindow属性将工作表中嵌入的图表显示在独立的窗口中,还可以使用以下的方法。 使用Export方法 可以把图表以图形格式从工作表中导出,再用窗体上的Image控件把图表显示出来,如下面的代码所示。 #001 Private Sub UserForm_Initialize() #002 Dim Charts As Chart #003 Dim cName As String #004 Set Charts = Sheets("Sheet2").ChartObjects(1).Chart #005 cName = ThisWorkbook.Path & "\Temp.gif" #006 Charts.Export Filename:=cName, FilterName:="GIF" #007 Image1.Picture = LoadPicture(cName) #008 End Sub 代码解析: 窗体的初始化事件过程,窗体加载时将工作表中的图表显示在窗体中。 第4行到第6行代码,使用Export方法把Sheet2表中的第一个图表导出到工作簿的同一目录下。 Export方法以图形格式导出图表,语法如下: expression.Export(Filename, FilterName, Interactive) 参数expression是必需的,一个有效的对象。 参数Filename是必需的,导出的文件的名称。 本例中设置Filename参数时加上了导出路径,将图形导出到同一文件夹下。 参数FilterName是可选的,导出文件的格式。 第7行代码,设置窗体中Image控件的Picture属性为导出文件的完整路径。 Picture 属性指定显示在对象上的位图,语法如下: object.Picture = LoadPicture( pathname ) 参数expression是必需的,一个有效的对象。 参数pathname是必需的,一个图片文件的完整路径。 为了使窗体关闭时删除导出的图片文件,在窗体的QueryClose事件中写入下面的代码。 #001 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) #002 Kill ThisWorkbook.Path & "\Temp.gif" #003 End Sub 代码解析: 窗体关闭时使用Kill方法删除导出的图片文件。Kill方法的语法如下: Kill pathname 参数Pathname是必需的,用来指定一个文件名的 字符串表达式。Pathname参数可以包含目录或文件夹、以及驱动器。 运行窗体,将工作表的图表显示在窗体中,如 REF _Ref229540382 \h 图 1462所示。 图 STYLEREF 3 \s 146 SEQ 图 \* ARABIC \s 3 1 在窗体上显示图表 使用API函数 可以使用API函数把图表从工作表中导出,再用窗体上的Image控件把图表显示出来,如下面的代码所示。 #001 Private Declare Function CreateStreamOnHGlobal Lib "ole32" (ByVal hGlobal As Long, ByVal fDeleteOnRelease As Long, ppstm As Any) As Long #002 Private Declare Function OleLoadPicture Lib "olepro32" (pStream As Any, ByVal lSize As Long, ByVal fRunmode As Long, riid As Any, ppvObj As Any) As Long ………代码略详见附件 #012 Private Declare Function GetClipboardFormatName Lib "user32" Alias "GetClipboardFormatNameA" (ByVal wFormat As Long, ByVal lpString As String, ByVal nMaxCount As Long) As Long #013 Public Function LoadShapePicture(shp As Object) As IPictureDisp #014

文档评论(0)

gpcjc1996 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档