xujinhua 发表于 2021-6-10 09:48:20

[求助] 图片插入excel位置调整

(setq range3 (vlax-get-property active-sheet1 "Range" "A1"))
(setq x1 (vlax-get-property range3 'Left);x坐标返回值#<variant 5 259.2>
      y1 (vlax-get-property range3 'Top);Y坐标返回值#<variant 5 1758>
      w1 (vlax-get-property range3 'Width);宽   返回值#<variant 5 244.8>
      h1 (vlax-get-property range3 'Height));高返回值#<variant 5 264>
       (setq sp (vlax-get-property sht 'Shapes));shapes形状外形,返回值#<VLA-OBJECT Shapes 0ac04e4c>         
(vlax-invoke-method sp 'AddPicture x t t x1 y1 w1 h1);按照获取的A1位置



请教下各位大神,上述代码为获得单元格a1坐标及大小,并按照此坐标及大小插入图片
怎么对上述返回值进行编辑,调整插入图片的插入位置及大小呢

stoyer 发表于 2021-6-13 01:18:34

xujinhua 发表于 2021-6-12 09:35
你好,试了下,错误的参数类型,应该是返回值不是数字,不能直接加减

(vlax-invoke-method sp 'AddPicture x t t
    (+ 10 (vlax-variant-value x1))
    (+ 10 (vlax-variant-value y1))
    (- (vlax-variant-value w1) 20)
    (- (vlax-variant-value h1) 20));按照获取的A1位置

stoyer 发表于 2021-6-10 10:36:01

(vlax-invoke-method sp 'AddPicture x 0 1 (+ x1 10) (+ y1 10)(- w1 20) (- h1 20))

xujinhua 发表于 2021-6-12 09:29:07

stoyer 发表于 2021-6-10 10:36
(vlax-invoke-method sp 'AddPicture x 0 1 (+ x1 10) (+ y1 10)(- w1 20) (- h1 20))

谢谢啊,原来可以直接加减的。。

xujinhua 发表于 2021-6-12 09:35:33

stoyer 发表于 2021-6-10 10:36
(vlax-invoke-method sp 'AddPicture x 0 1 (+ x1 10) (+ y1 10)(- w1 20) (- h1 20))

你好,试了下,错误的参数类型,应该是返回值不是数字,不能直接加减

hh_lj007 发表于 2021-6-12 09:54:14

在VBA中我是在AddPicture后,设置的图片的【宽×高】实现

xujinhua 发表于 2021-6-12 10:48:26

hh_lj007 发表于 2021-6-12 09:54
在VBA中我是在AddPicture后,设置的图片的【宽×高】实现

如果插入固定大宽X高照片,我改成
(vlax-invoke-method sp 'AddPicture x t t x1 y1200 200)
就可以了了,可左上角的插入点x1、y1怎么改呢
X1返回值#<variant 5 259.2>
Y1 返回值#<variant 5 1758>

xujinhua 发表于 2021-6-17 18:45:19

stoyer 发表于 2021-6-13 01:18
(vlax-invoke-method sp 'AddPicture x t t
    (+ 10 (vlax-variant-value x1))
    (+ 10 (vlax-var ...

感谢!学习了
页: [1]
查看完整版本: [求助] 图片插入excel位置调整