注册 登录
编程论坛 VFP论坛

Word文档中固定模板的表格中的图片另存为文件的问题

预言家 发布于 2020-01-10 11:53, 3523 次点击
只有本站会员才能查看附件,请 登录

Word文档中有多个表格,每个表格都是固定样式的。
我需要把表格指定位置的图片另存到一个文件夹中,并按需求进行命名。

如果能够直接复制该Word文档中的图片,粘贴到另一个Word文档的指定位置,也可以不存放到文件夹中了。

mrange=JccgWord.Documents(1).range(JccgWord.Documents(1).Tables(i).Cell(11, 1).Range.start,JccgWord.Documents(1).Tables(i).Cell(11, 1).Range.end)

我现在能够选中该图片,但是不会操作它。
有关于VFP操作Word的帮助文档也非常感谢。
11 回复
#2
xuminxz2020-01-10 13:21
用粘贴板导出图片质量很差。可以将文档另存为HTML文件图片就出来了,如果量大想改名可以从HTML文件中找到对应的文件名。
也可以用 WinRAR 等解压工具将 DOCX  文件解压得到imageXX 文件,但XX是按图片加入文档先后顺序编排的数字。
如果不知道(一般可能都不知道吧)加入的顺序,可以按图片在文档中的顺序复制到一个新的 DOCX  文件中,然后解压,得到的imageXX 文件顺序与在文档中的顺序一致了,再改名就很方便了。
 在原文件中读出图片到粘贴板
mrange.select
mrange.Copy

复制到新文件中。
 newdoc.Paste

[此贴子已经被作者于2020-1-10 18:23编辑过]

#3
吹水佬2020-01-10 22:05
oWord = CREATEOBJECT("Word.Application")
oWord.Documents.Open("C:\TEMP\3333.docx")
FOR i=1 TO oWord.ActiveDocument.InlineShapes.Count
    oWord.ActiveDocument.InlineShapes[i].Range.CopyAsPicture &&将图片放到剪贴板
    接下来可以进行粘贴处理或将剪贴板的内容保存到文件
ENDFOR

3333.docx是一个压缩包文件,可用WinRAR解压,图片文件存放路径是 3333.docx\word\media
#4
预言家2021-02-01 16:45
回复 3楼 吹水佬
已经成功,就是你这句代码起作用了,以前我在网上找了一个程序代码,就是一直不能把全部图片另存出来。
oWord.ActiveDocument.InlineShapes[i].Range.CopyAsPicture &&将图片放到剪贴板
挺久了才看到哈,感谢了
#5
预言家2021-02-01 16:48
只有本站会员才能查看附件,请 登录
   这个是已经成功的代码,以后肯定还有人需要的
#6
预言家2021-02-01 16:57
回复 3楼 吹水佬
提示: 该帖被管理员或版主屏蔽,只有管理员可见
#7
预言家2021-02-01 16:59
回复 2楼 xuminxz
你的思路我没有尝试哈,楼下吹水佬解决了问题,我附到有源码和实验数据,你有兴趣可以试试
#8
预言家2021-02-01 17:15
回复 5楼 预言家
有个两千多人的VFP群,经常讨论一些VFP的问题,请你加入一下哇?9,1,4,5,3,9,6,1,3  这个截图是二群[attach]103258[/attach]
#9
sdta2021-02-01 17:43
以下是引用预言家在2021-2-1 17:15:41的发言:

有个两千多人的VFP群,经常讨论一些VFP的问题,请你加入一下哇?9,1,4,5,3,9,6,1,3  这个截图是二群

那你为什么还要在论坛发帖解决问题啊
#10
预言家2021-04-05 14:02
回复 10楼 sdta
那个群里的人有些搞数据库的,有些搞网页的,有些搞系统的,不一定恰好能解决的问的那个Word的问题噻。
#11
sdta2021-04-07 10:16
这种群不加入也罢,还是来论坛进修吧
#12
秃头小宝贝2021-05-24 09:37
回复 6楼 预言家
1111
1