我尝试了多种不同的解决方案来尝试将图像插入文档模板。我取得了一些成功,但没有达到预期的效果。基本上,我只是想在所有其他内容上方的文档顶部插入图像。图片最多应将其余内容移到页面的下方,而不是放在顶部。
execv
用以下内容替换上面的评论,我已经成功了。下面将图像插入到标题中。但是无论定义图像参数如何,图像都会以非常奇怪的方式缩放。
With objDoc
Dim filePath As String = Path.Combine(appPath, fileName)
If Not filePath = "" Then
Dim img As Image = Image.FromFile(filePath)
Dim imgX As Integer = img.Width
Dim imgY As Integer = img.Height
'insert picture here
End If
End With
以下内容将在标题下方和文本顶部插入图像。尝试将其转换为inlineshape会引发异常。在这种情况下,给画布一个 .PageSetup.DifferentFirstPageHeaderFooter = True
.Sections(1).Headers(Word.WdHeaderFooterIndex.wdHeaderFooterPrimary).Shapes.AddPicture(
FileName:=filePath,
LinkToFile:=False,
SaveWithDocument:=True,
Left:=0,
Top:=0,
Width:=imgX,
Height:=imgY
).ConvertToInlineShape()
开始会忽略模板边距,并将图像放置在图纸的左边缘。即使我将其向右移动并使文本向下移动,由于顶部的空白过多,还是不理想的。
0,0
下面的其余部分是尝试通过msdn和其他各种渠道进行筛选的尝试。这些都不显示任何图像。
Dim objCanvas As Word.Shape = objWordApp.ActiveDocument.Shapes.AddCanvas(Left:=0, Top:=0, Width:=imgX, Height:=imgY)
objCanvas.CanvasItems.AddPicture(FileName:=filePath, LinkToFile:=False, SaveWithDocument:=True)
文档本身只是具有某种格式的四个表。我到底在做什么错了?
答案 0 :(得分:0)
以下代码来自我的VB.Net加载项之一。
rng = rng.Rows(1).Cells(1).Range
rng.Delete()
rng.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
rng.InlineShapes.AddPicture(.SelectedItems(i))
它将图像添加到表格单元格中。 “ SelectItems(i)”引用指向用户从msoFileDialogFilePicker函数中选择的图像文件,您可以将其更改为图像的任何已知文件路径。我发布它是为了向您展示实际代码的示例。
将图像放置在文档顶部就像将插入范围设置到该位置一样简单。以下代码将完成此操作。
Dim rng as Word.Range
rng = ActiveDocument.Content
rng.Collapse(Word.WdCollapseDirection.wdCollapseStart)
rng.InlineShapes.AddPicture(Your Path)