我正在VB.NET Visual Studio 2010中编写应用程序。我的目标是从硬盘驱动器上的选定位置向Word文档中插入许多图像,但每个图像应通过一行文本{{1我编写了程序,可以选择一些图片并将它们插入到doc文件中,但图像不是用文本行分隔的。我不知道怎么做,所以我在寻求你的帮助。
"picture no 1,2..."
答案 0 :(得分:3)
问题1:您未正确地实例化Word。在您向我们展示的代码示例的顶部使用它,并删除CreateObject:
Dim oword As Microsoft.Office.Interop.Word.Application = New Microsoft.Office.Interop.Word.Application()
问题2:当您需要在Word文档中放置内容时,最好使用Range对象。想象一个范围就像一个选择,除了它在屏幕上不可见,你可以拥有你需要的尽可能多的范围对象(虽然只有一个选择是可能的)。
实现目标有很多方法;这些方面的东西是我个人的偏好:
Dim oPara2 As Word.Paragraph, oRng as Word.Range
oPara2 = odoc.Content.Paragraphs.Add()
oRng = oPara2.Range
oRng.Collapse(Word.WdCollapseDirection.wdCollapseStart)
Dim map As InlineShape = odoc.InlineShapes.AddPicture _
(filename, Type.Missing, Type.Missing, oRng)
map.Height = 350
map.Width = 350
oRng = map.Range
oRng.InsertAfter(vbCr)
oRng.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
oRng.Text = "Picture no " & vbCr
oRng.Font.Name = "Arial"
oRng.Font.Size = 14
oRng.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
NEXT