VBA:格式化文档中的所有字体

标签 vba excel ms-word

此代码在 MS Word 中使用时有效,现在尝试从 Excel 运行。我想使用相同的字体类型和相同的字体大小来设置文档中所有文本的格式。

'Format document with universal font type and size
    Selection.WholeStory
    Selection.Font.Name = "Calibri"
    Selection.Font.Size = 11
    End With

这个也不起作用:

ActiveDocument.Range.Font.Color = wdColorAutomatic
ActiveDocument.Range.Font.Name = "Calibri"
ActiveDocument.Range.Font.Size = 11

最佳答案

我想这是你上一个问题的延续。尝试这个。我没有删除之前代码中的某些声明。

Const wdFindContinue = 1

Sub FnFindAndFormat()
    Dim FileToOpen
    Dim objWord As Object, objDoc As Object, Rng As Object
    Dim MyAr() As String, strToFind As String
    Dim i As Long

    '~~> This holds your search words
    strToFind = "deal,contract,sign,award"

    '~~> Create an array of text to be found
    MyAr = Split(strToFind, ",")

    FileToOpen = Application.GetOpenFilename _
    (Title:="Please choose a file to import", _
    FileFilter:="Word Files *.docx (*.docx),")

    If FileToOpen = False Then Exit Sub

    Set objWord = CreateObject("Word.Application")
    '~~> Open the relevant word document
    Set objDoc = objWord.Documents.Open(FileToOpen)

    objWord.Visible = True

    Set Rng = objDoc.Content

    With Rng
        .Font.Name = "Calibri"
        .Font.Size = 11
    End With
End Sub

关于VBA:格式化文档中的所有字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19965004/

相关文章:

excel - WorksheetFunction.countif 标准不起作用

VBA根据单元格的值是否为零显示/隐藏行

vba - 从 vba 中的函数返回字典。错误450

vba - 一个目标怎么可能是当前用户的文档文件夹?

vba - 从当前光标位置创建范围 Word 2010 VBA

Word 中的 VBA : Getting the script execution time

visual-studio-2010 - 如何在 Visual Basic 中给文本加下划线(使用 Visual Studio 2010)

r - 导入 read.csv/read.xlsx 时将 NA 值插入数据框空白单元格

asp.net - 从 ASP.NET 以编程方式生成可编辑的 Word 文档?

c# - 打开 XML(Microsoft Word): C# Table Justification