【问题标题】:Insert bold text into Word using VBA使用 VBA 将粗体文本插入 Word
【发布时间】:2010-10-19 17:34:46
【问题描述】:

我编写了一个小脚本,将某些 Excel 单元格值导出到 Word 中。但是,某些插入需要加粗。而且似乎没有一种简单的方法可以做到这一点。

此代码循环遍历记录并将它们添加到 Word 文档中


Do While intRow < intTotalRows + 1

                strTemp = " ;b;" & Range("G" & intRow).FormulaR1C1 & " " & Range("I" & intRow).FormulaR1C1 & ";e; "

                If strTemp <> strCur Then
                    strCur = strTemp
                    .Content.Font.Bold = True
                    .Content.InsertAfter strCur
                End If

                .Content.Font.Bold = False
                .Content.InsertAfter Range("A" & intRow).FormulaR1C1 & " - " & Range("C" & intRow).FormulaR1C1 & " " & Range("E" & intRow).FormulaR1C1 & " * "

            intRow = intRow + 1
        Loop

在插入文本之前打开粗体并在之后再次关闭它似乎是最合乎逻辑的解决方案,因此它不起作用。

然后我尝试查找并替换文本,但这也不起作用:


        .Content.Find.ClearFormatting
        With .Content.Find
            .Text = ";b;" 'Look for
            .Replacement.Text = ";bbb;" 'Replace with
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False 
            .MatchWholeWord = False
            .MatchWildcards = False 
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With

    .Content.Find.Execute Replace:=wdReplaceAll

【问题讨论】:

    标签: vba ms-word excel


    【解决方案1】:

    .InsertAfter 替换为.TypeText。插入的作用类似于粘贴,而 TypeText 的作用类似于您实际在键盘上键入文本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-27
      相关资源
      最近更新 更多