| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 878 人关注过本帖
标题:VFP控制EXCEL实现指定单元格嵌入图片(非简单粘贴图片)
只看楼主 加入收藏
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
结帖率:33.33%
收藏
 问题点数:0 回复次数:13 
VFP控制EXCEL实现指定单元格嵌入图片(非简单粘贴图片)
希望VFP精准控制EXCEL做表格并贴图,希望能将图片嵌入指定单元格。
如cell(1,1)为图片名称
  cell(1,2)为嵌入的图片
学习有关知识,只能实现浮于文字上方的图片插入,请问如何实现图片嵌入式插入。
谢谢!
objExcel=createobject("excel.application")
objExcel.visible=.t.
objExcel.workbooks.add
objExcel.worksheets(1).activate
objExcel.worksheets(1).cells(1,1).value="4D50F73E4918DB4AE7F20CCD11FCFD98(03).JPG"
objExcel.Sheets(1).Cells(1,2).Select
objExcel.ActiveSheet.Pictures.Insert("D:\4D50F73E4918DB4AE7F20CCD11FCFD98(03).JPG").Select
搜索更多相关主题的帖子: 嵌入 VFP 控制 EXCEL 图片 
2023-08-01 23:19
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
收藏
得分:0 
感谢群里高手分享,结合搜索,下面代码基本满足要求。
mpicture="D:\20230731CN_ZP\截取\黑2_000101_000180\4D50F73E4918DB4AE7F20CCD11FCFD98(03).JPG"
myexcel=newobject("EXCEL.application")
WITH myexcel
    .visible=.t.
    .workbooks.add
    .rows(1).RowHeight = 29
    .cells(1,1).ColumnWidth = 52
    .cells(1,1).value="4D50F73E4918DB4AE7F20CCD11FCFD98(03).JPG"
    .rows(2).RowHeight =108
    .Range("A2").select
    cellW = .ActiveCell.Width
    cellH = .ActiveCell.Height
    WITH .ActiveSheet.Pictures.Insert(mpicture)
        .Placement = 1
        WITH .ShapeRange
            .LockAspectRatio = 0
            .Width=cellw
            .Height=cellh
        ENDWITH
    ENDWITH
ENDWITH
2023-08-02 06:22
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1744
专家分:3333
注 册:2012-2-29
收藏
得分:0 
谢谢分享!
2023-08-02 06:32
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
收藏
得分:0 
但是测试后,发现图片还是粘贴到excel上,不是嵌入
2023-08-02 07:33
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
收藏
得分:0 
office宏录制里可以看到嵌入图片操作发生的动作,但不知到VFP如何实现调用,其中图片ID好像是office内部管理的。
Sub Macro1()
    .Select
    Range("A2").Formula = "=DISPIMG(" & """" & "ID_A3747A119B6243A9A89E89FF2BC3C133" & """" & ",1)"
    Selection.ShapeRange.Delete
    Range("A2").Select
End Sub
图片附件: 游客没有浏览图片的权限,请 登录注册

下面是插入图片(浮于文字上)
Sub Macro2()
    Range("A2").Select
    ActiveSheet.Shapes.AddPicture Filename:="D:\4D50F73E4918DB4AE7F20CCD11FCFD98(06).JPG", LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, Left:=-1, Top:=-1, Width:=-1, Height:=-1
    .Select
End Sub
2023-08-02 07:54
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
收藏
得分:0 
另外查了placement参数,只找到相关类似VB里的资料,好像是设置浮动格式的具体类型

placement参数的选项取决于使用的控件类型。以下是常见控件类型的placement参数选项:

CommandButton:

1. fmButtonFace(默认):按钮将位于表单上。

2. fmButtonTop:按钮将浮动在表单上方。

3. fmButtonLeft:按钮将浮动在表单左侧。
2023-08-02 08:37
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
以下是引用shschy在2023-8-2 07:33:40的发言:

但是测试后,发现图片还是粘贴到excel上,不是嵌入

“嵌入”是什么意思?
图片边界对齐单元格、大小随单元格变动而变就可以了吧。单元格既然用来放图片,就不会在图片底下存放文字,不存在“浮于文字上方”的做法。
2023-08-02 09:25
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
以下是引用shschy在2023-8-2 07:54:03的发言:

office宏录制里可以看到嵌入图片操作发生的动作,但不知到VFP如何实现调用,其中图片ID好像是office内部管理的。
Sub Macro1()
    .Select
    Range("A2").Formula = "=DISPIMG(" & """" & "ID_A3747A119B6243A9A89E89FF2BC3C133" & """" & ",1)"
    Selection.ShapeRange.Delete
    Range("A2").Select
End Sub

excel2007好像没有DISPIMG()函数
2023-08-02 09:28
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
收藏
得分:0 
目前VFP可以调用比excel2007更高版本的excel吗?
2023-08-02 11:00
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
以下是引用shschy在2023-8-2 11:00:32的发言:

目前VFP可以调用比excel2007更高版本的excel吗?

32位的应用应该可以
2023-08-02 11:29
快速回复:VFP控制EXCEL实现指定单元格嵌入图片(非简单粘贴图片)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.068344 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved