在 Word 中插入文本而不是图片 Header
Insert Text instead of Picture in Word Header
我有几个带有 Header 的 Word 文档。在这个 header 中有一个三列的小 table。
第一列是一个小Logo。
在每个文档中,我都更改了 header 内左栏中的徽标。
现在我想用一些简单的文本替换徽标,但无法正常工作。
这是我替换Logo图片的代码:
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
我有几个带有 Header 的 Word 文档。在这个 header 中有一个三列的小 table。 第一列是一个小Logo。 在每个文档中,我都更改了 header 内左栏中的徽标。 现在我想用一些简单的文本替换徽标,但无法正常工作。 这是我替换Logo图片的代码:
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