vb操作word的一个问题!VB2005
我的程序的用途是改变某个图片的大小到1024*768,然后插入到指定路径的word文档里。我自己编的过程是这样的:1、openfile打开一个图片文件2、新建一个bitm...
我的程序的用途是改变某个图片的大小到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文档里。
或者还有更简单的方法? 展开
我自己编的过程是这样的:
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文档里。
或者还有更简单的方法? 展开
展开全部
花了点时间帮你写了下,你自己测试一下.
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()
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()
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询