vb操作 word 把图片如何复制出来?

哼哼唧唧嘿嘿 2012-12-08 08:59:25
Private Sub Command5_Click()
Dim a As Object
Dim pnum As Long
Dim picturenum As Long
Set a = CreateObject("Word.Application")
a.Documents.Open (Text1.Text)
picturenum = ActiveDocument.InlineShapes.Count
'a.Visible = True
MsgBox picturenum
a.Quit
For pnum = 1 To picturenum Step 1
a.InlineShapes(pnum).Select'这一句 错误 ,怎么改。。。。
a.Application.Selection.Copy
Picture = Clipboard.GetData()
SavePicture Picture, Text1.Text + "\111" + pnum + ".bmp"
Next
End Sub
...全文
248 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2012-12-09
  • 打赏
  • 举报
回复
引用 3 楼 chenjl1031 的回复:
引用 2 楼 worldy 的回复: 不用那么麻烦 a.InlineShapes(pnum).range.copy 即可 我是上机测试了一下,引用了word对象库,实例化以后,发现a根本没有InlineShapes属性,所以那一行会出错。
你要插入一个或者几个图片再测
东方之珠 2012-12-09
  • 打赏
  • 举报
回复
引用 2 楼 worldy 的回复:
不用那么麻烦 a.InlineShapes(pnum).range.copy 即可
我是上机测试了一下,引用了word对象库,实例化以后,发现a根本没有InlineShapes属性,所以那一行会出错。
worldy 2012-12-09
  • 打赏
  • 举报
回复
不用那么麻烦 a.InlineShapes(pnum).range.copy 即可
东方之珠 2012-12-09
  • 打赏
  • 举报
回复
'改成这样就OK了
Option Explicit

Private Sub Command5_Click()
    Dim a As Object
    Dim pnum As Long
    Dim picturenum As Long
    Set a = CreateObject("Word.Application")
    a.Documents.Open ("c:\word1.doc")
    picturenum = ActiveDocument.InlineShapes.Count
    'a.Visible = True
    'MsgBox picturenum
    'a.Quit
    For pnum = 1 To picturenum 'Step 1
        'a.InlineShapes(pnum).Select  '这一句 错误 ,怎么改。。。。
        ActiveDocument.InlineShapes(pnum).Select
        a.Application.Selection.Copy
        Picture1.Picture = Clipboard.GetData()
        SavePicture Picture1.Image, "c:\wordpicture.bmp" ' Text1.Text + "\111" + pnum + ".bmp"
    Next
    a.Quit
End Sub

2,464

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧