首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在标题中插入字段

如何在标题中插入字段
EN

Stack Overflow用户
提问于 2017-07-19 23:28:24
回答 1查看 25关注 0票数 0

我尝试在Word文档的标题内插入字段,而不是在它们之前或之后插入字段。这是为了准备导入Madcap Flare的Word文件,Madcap Flare允许在私有的Word字段中指定文件名。下面的代码不起作用,因为字段被附加在标题开头之前,需要嵌入其中。我该怎么做呢。

代码语言:javascript
复制
Sub prepareDocForImport()
    Dim headingText As String '  
        With Selection.Find  
         .ClearFormatting  
         .Wrap = wdFindContinue  
         .Forward = True  
         .Format = True  
         .MatchWildcards = False  
         .Text = ""  
         .Style = ActiveDocument.Styles("Heading 1 ")  
         .Execute  
         While .Found  
             headingText = Selection.Range.Text  
             headingText = Replace(headingText , " ", "_")  
             headingText = LCase(headingText )  
             Selection.Collapse Direction:=wdCollapseStart  
             Set myField = ActiveDocument.Fields.Add(Range:=Selection.Range, Type:=wdFieldEmpty, Text:="PRIVATE:MADCAP:FILENAME<" & headingText & ">")  
            .Execute  

         Wend
     End With
End Sub
EN

回答 1

Stack Overflow用户

发布于 2017-07-20 16:40:36

尝试将光标移动到标题单词中的一个字符。

我还添加了一行代码,以确保搜索从文档的开头开始。

代码语言:javascript
复制
Sub prepareDocForImport()

    Dim headingText As String
    Dim myfield As Field

    'Moving to beginning of doc in case a different starting point is selected
    Selection.HomeKey wdStory

        With Selection.Find
         .ClearFormatting
         .Wrap = wdFindContinue
         .Forward = True
         .Format = True
         .MatchWildcards = False
         .Text = ""
         .Style = ActiveDocument.Styles("Heading 1 ")
         .Execute

         While .Found

             headingText = Selection.Range.Text
             headingText = Replace(headingText, " ", "_")
             headingText = LCase(headingText)
             Selection.Collapse Direction:=wdCollapseStart

             'Move seleection one character into the header text
             Selection.MoveRight Count:=1

             Set myfield = ActiveDocument.Fields.Add(Range:=Selection.Range, _
                                                     Type:=wdFieldEmpty, _
                                                     Text:="PRIVATE:MADCAP:FILENAME<" & headingText & ">", _
                                                     PreserveFormatting:=True)
             .Execute

         Wend
     End With
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45194968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档