Vba 在单词标题中插入文本而不是图片
我有几个带有标题的Word文档。在这个标题中有一个三列的小表格。 在第一列是一个小标志。 在每个文档中,我都会更改标题内左栏中的徽标。 现在我想用一些简单的文字来替换Logo,但我无法让它工作。 以下是我更换徽标图片的代码:Vba 在单词标题中插入文本而不是图片,vba,ms-word,Vba,Ms Word,我有几个带有标题的Word文档。在这个标题中有一个三列的小表格。 在第一列是一个小标志。 在每个文档中,我都会更改标题内左栏中的徽标。 现在我想用一些简单的文字来替换Logo,但我无法让它工作。 以下是我更换徽标图片的代码: Sub AutoOpen() text = "Text to replace" Dim dd1 As Document: Set dd1 = ActiveDocument Dim rng1 As Range, seC As Section, an(2
Sub AutoOpen()
text = "Text to replace"
Dim dd1 As Document: Set dd1 = ActiveDocument
Dim rng1 As Range, seC As Section, an(2) As Long
Dim rngO As Range, rngAN As Range
Dim strToPict As String
strToPict = "C:\Logo.png"
For Each rngO In dd1.StoryRanges
ActiveDocument.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
If rngO.StoryType = wdEvenPagesHeaderStory Then
Set rng1 = rngO.Duplicate
For Each seC In rng1.Sections
an(0) = seC.Headers(1).Range.InlineShapes(1).Height
an(1) = seC.Headers(1).Range.InlineShapes(1).Width
Set rngAN = seC.Headers(1).Range.InlineShapes(1).Range.Duplicate
seC.Headers(1).Range.InlineShapes(1).Delete
seC.Headers(1).Range.InlineShapes.AddPicture FileName:=strToPict, _
LinkToFile:=False, SaveWithDocument:=True, Range:=rngAN
With seC.Headers(1).Range.InlineShapes(1)
.Height = 25
End With
如何用文本替换现有徽标
非常感谢试试这个:
Sub ReplaceLogoWithText()
Dim dd1 As Document: Set dd1 = ActiveDocument
Dim seC As Section
'If rngO.StoryType = wdEvenPagesHeaderStory Then
For Each seC In dd1.Sections
With seC.Headers(wdHeaderFooterEvenPages)
If .LinkToPrevious = False Then
With .Range.Tables(1).Cell(1, 1).Range
If .InlineShapes.Count = 1 Then .InlineShapes(1).Delete
.Text = "Whatever text you want to insert"
End With
End If
End With
Next seC
End Sub
你好谢谢你的回答,但是你的代码不起作用。问题:with.Range.Tables(1)。单元格(1,1)。Range找不到table@0x01_PH-您的问题表明您的偶数页眉中有一个表格。显然你没有。您需要检查文档并找出三个标题中的哪一个包含表,然后使用seC.header(WDHeaderFooterEventPages)编辑行
,以指向正确的标题。对不起,我是vba中的noob。这很好用。我只是将WDHeaderFooterEventPages更改为WDHeaderFooterPerprimary,它就可以工作了。非常感谢你。