首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB中显示EXCEL中图,该怎么处理

2012-02-11 
VB中显示EXCEL中图我自己编写了一个程序,程序中部分代码如下:Private Sub Command1_Click()If Combo1.Text

VB中显示EXCEL中图
我自己编写了一个程序,程序中部分代码如下:
Private Sub Command1_Click()
If Combo1.Text = "" Then
  MsgBox "请输入井名", vbOKOnly, "提示信息"
  Exit Sub
End If
If Combo1.Text = "Esh" Then
Call Esh
Exit Sub
End If
If Combo1.Text = "J1b" Then
Call J1b
Exit Sub
End If
If Combo1.Text = "J1s" Then
Call J1s
Exit Sub
End If
End Sub
其中的Esh、J1b、J1s函数均为在EXCEL中画图的宏过程。现在要的做的是将所画的图在VB界面中的控件内显示出来。该怎么实现呢?



[解决办法]
宏过程后在excell里面画了一张图 你要先得知这张图片的区间

VbExcell.Range("P9:R16").Select '选定excell的图片区间
VbExcell.Selection.CopyPicture '复制到剪切板
Picture1.Picture = Clipboard.GetData '黏贴到vb的Picture1

[解决办法]
不用那么麻烦 
xlSheet.Shapes("Chart 1").Select '选定excell的图片
xlApp.Selection.CopyPicture '复制到剪切板
Picture1.Picture = Clipboard.GetData '粘贴到vb的Picture1

[解决办法]
要这样联合使用才有效果:

VB code
Option ExplicitDim mXlsApp As Excel.Application '应用Dim mXlsBook As Excel.Workbook '工作薄Dim mXlsSheet As Excel.Worksheet '工作表Private Sub Command1_Click()  Set mXlsApp = New Excel.Application  Set mXlsBook = mXlsApp.Workbooks.Open("D:\graph.xls")  Set mXlsSheet = mXlsBook.Worksheets(1)  mXlsSheet.Range("A2:K23").Select'图片所占区域  mXlsSheet.OLEObjects.CopyPicture  '读取图片到剪贴板(OLE对象)  '如果是复制图表上面两行换成下面一行:  'mXlsSheet.ChartsObject(1).Chart.CopyPicture '读取图表到剪贴板  Picture1.Picture = Clipboard.GetData '粘贴图片到图片框  Clipboard.Clear '清除剪贴板数据  mXlsBook.Close  mXlsApp.Quit  Set mXlsSheet = Nothing  Set mXlsBook = Nothing  Set mXlsApp = NothingEnd Sub
[解决办法]
我不懂VB,但是帮她调试之后,发现module是无法调用form内变量(Picture1),就是这个问题。全部移到form中即可。 我还是不知道module程序段访问Picture1最正确的方法。 请教。。。

热点排行