注册 登录
编程论坛 VB6论坛

(求助)如何用VB在EXCEL里面插入图形

loyxqing 发布于 2022-03-13 19:39, 1980 次点击
VBA在EXCEL里面写的程序,为什么转到VB里面报错,如果想用VB在EXCEL里面插入图形不知道应该怎么转换
VBA代码如下
ActiveSheet.Shapes.AddShape(msoShapeOval, 10,10,5,5).Select
    Selection.ShapeRange.Name = "Shape_Oval"
    Selection.ShapeRange.LockAspectRatio = msoTrue
    Selection.Placement = xlFreeFloating
    Selection.ShapeRange.Fill.Visible = msoFalse
    With Selection.ShapeRange.Line
        .Visible = msoTrue
        .Weight = 2
        .ForeColor.RGB = RGB(255, 192, 0)
        .Transparency = 0
    End With
只有本站会员才能查看附件,请 登录
3 回复
#2
约定的童话2022-03-14 06:49
VBA到VB相当于开飞机的来到开潜艇的家里做客,你得按照人家规矩来,所以代码前面得加上excel的对象才行....
#3
loyxqing2022-03-14 18:45
回复 2楼 约定的童话
有去定义引用工作表,但是不知道为什么很多VBA里面支持的属性到VB里就不支持,
不知道应该怎么去转换这个不支持的属性或者命令。
例如1
xlSheet.Shapes.AddLine(177.75, 15.75, 177.75, 500).Name = "abc"
    With xlSheet.Shapes("abc")
        .Visible = msoTrue
        .Color = 3      ’到这一步就提示不支持的属性,感觉是VB不支持VBA里面这种属性,不知道应该怎么处理
        .Weight = 2
    End With
例如2
xlSheet.Shapes.AddShape(msoShapeOval, 10,10.5.5),VB里面好像对于EXCEL里面插入图形的VBA命令都提示属性错误
只有本站会员才能查看附件,请 登录
#4
loyxqing2022-03-14 19:43
只有本站会员才能查看附件,请 登录

微软官网有这个示例,参考这个示例写入
Set xlApp = CreateObject("ket.application")
Set xlBook = GetObject(strPath & "\" & s & ".xlsx")
Set myDocument = xlBook.Worksheets(1)
myDocument.Shapes.AddShape msoShapeRectangle, 50, 50, 100, 200
以上代码运行还是报错,实在是找不到解决办法了
只有本站会员才能查看附件,请 登录
1