分享

vb操作word的一个问题改变某个图片的大小到1024*768,然后插入到指定路径的word文档里

 YYBBS2848 2013-08-25
我的程序的用途是改变某个图片的大小到1024*768,然后插入到指定路径的word文档里。
我自己编的过程是这样的:
1、openfile打开一个图片文件
2、新建一个bitmap对象,
3、将打开的图片文件赋值给bitmap
4、设置bitmap对象大小为4024*768
5、将bitmap对象另存为1.jpe文件
6、建立word对象,并打开一指定的word文件
7、使用addpicture()方法,将1.jpg插入到word里。
8、删除1.jpe。
我不想bitmap对象另存后,再插入到word文档里,然后还要删除这个文件,以清理磁盘。感觉非常麻烦,且添加了程序处理时间。有什么方法可以直接将bitmap对象插入到word文档里。
或者还有更简单的方法?
2011-12-27 15:46提问者采纳
花了点时间帮你写了下,你自己测试一下.

Using f As New OpenFileDialog
f.Filter = "*.jpg|*.jpg"
If f.ShowDialog <> Windows.Forms.DialogResult.OK Then Return
Using fs As New IO.FileStream(f.FileName, IO.FileMode.Open, IO.FileAccess.Read)
Dim img = Image.FromStream(fs)
If img.Size.Height <> 768 OrElse img.Size.Width = 1024 Then
Using bmp As New Bitmap(1024 * 768)
Using g = Graphics.FromImage(bmp)
g.DrawImage(img, New Rectangle(0, 0, 1024, 768))
img = bmp
End Using

Clipboard.Clear()
Clipboard.SetImage(img)

End Using
End If

End Using
End Using

Dim path As String = "c:\abcd.doc"
Dim wd As New Microsoft.Office.Interop.Word.Application
Dim doc As Microsoft.Office.Interop.Word.Document = wd.Documents.Open(FileName:=path)
doc.Activate()
wd.Selection.EndKey(Unit:=Microsoft.Office.Interop.Word.WdUnits.wdStory)
wd.Selection.TypeParagraph()
wd.Selection.Paste()
doc.Save()
doc.Close()
wd.Quit()

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多