VBA operation WORD (7) establece el estilo de esquema de cada nivel

Algunos códigos extraídos de la red para uso futuro, algunos han sido modificados.

En parte de:

https://zhuanlan.zhihu.com/p/35695960 

 

Sub establece cada nivel de formato de estilo ()
     Con ActiveDocument.Styles (wdStyleHeading1) .Font 
    .Color = wdColorBlack 
    .Bold = False  'El título ya no está en negrita. 
    Size = 22  ' Segundo número. 
    Nombre = " Fangzheng Xiaobiao Song Simplified " 
    End  With 
    With ActiveDocument.Styles (wdStyleHeading2) .Font 
    .Color = wdColorBlack 
    .Bold = Falso  ' Boldface generalmente ya no está en negrita. 
    Tamaño = 16  ' Número tres. 
    Nombre = " Boldface " 
    Termina  con
    Con ActiveDocument.Styles (wdStyleHeading3) .Font 
    .Color = wdColorBlack 
    .bold = Verdadero 
    .size = 16 
    .Name = " 楷体_GB2312 " 
    Fin  Con 
    Con ActiveDocument.Styles (wdStyleHeading4) .Font 
    .Color = wdColorBlack 
    .bold = Verdadero 
    .size = 16 
    .Nombre = " 仿宋_GB2312 " 
    End  Con 
    Con ActiveDocument.Styles (wdStyleHeading5) .Font 
    .Color =wdColorBlack 
    .Bold = False 
    Clasifique = 16 
    .Nombre = " Arial _GB2312 " 
    End  Con 
    Con ActiveDocument.Styles (wdStyleNormal) .font     ' dispuestos texto normal formato de texto 
    .color = wdColorBlack 
    .Bold = False 
    Clasifique = 16 
    .Nombre = " Song-like_GB2312 " 
    Fin  con 
Fin Sub

 

Llama algo como

.Range.Style = wdStyleNormal ' Nota: Establecer como plantilla, si copia el contenido a otra palabra, se convertirá en el estilo wdStyleNormal establecido en la palabra de destino, que es diferente de la fuente.

Pero hay dos inconvenientes: uno al copiar el contenido a otro documento de Word, se convertirá en el estilo establecido por la palabra de destino. El segundo es que el título del esquema es un poco inadecuado para documentos oficiales y otras ocasiones (puede establecerse para ser eliminado, pero no lo sé).

Luego configure manualmente:

Sub establece el formato del título de cada nivel (ib Como párrafo)
 ' Nota: El título puede seguir el contenido directamente sin saltos de línea, por lo tanto, configure la primera oración, no el párrafo completo. 
    ' Similar a los títulos de primer y segundo nivel 
    Si ib.Range Like " [一二 三四五 六 七八 九百 百千], * "  O ib.Range Like " [一二 三四五 六 七八九十Cien y mil], *. * "  Entonces 
        si ib.Range.Sentences.Count = 1  Entonces 
            ' ib.Range.Style = wdStyleHeading2 
            ib.OutlineLevel = wdOutlineLevel2
         End  If 
        ' ib.Range.Font.ColorIndex = wdColorBlack 
        ' ib.Rol .Font.Bold = False 
        ' ib.Range.Font.Size = 16 
        'ib.Range.Font.Name = "Bold 
        Body " ib.Range.Sentences ( 1 ) .Font.ColorIndex = wdColorBlack 
        ib.Range.Sentences ( 1 ) .Bold = False  'El cuerpo en negrita generalmente ya no es negrita 
        ib.Range.Sentences ( 1 ) .Font.Name = " Bold " 
        ib.Range.Sentences ( 1 ) .Font.Size = 16 

    ' Similar al primer nivel del encabezado de tres niveles 
    ElseIf ib.Range Like " ([1 2 3 4 5 6 7 8 Noventa mil mil]) * "  Entonces 
        si ib.Range.Sentences.Count = 1  Entonces 
            ' ib.Range.Style = wdStyleHeading3 
            ib.OutlineLevel =wdOutlineLevel3
         Fin  del Si 
        ib.Range.Sentences ( 1 ) .Font.ColorIndex = wdColorBlack 
        ib.Range.Sentences ( 1 ) .bold = Verdadero 
        ib.Range.Sentences ( 1 ) .Font.Name = " cursiva _GB2312 " 
        ib.Range .Sentences ( 1 ) .Font.Size = 16 

    ' Similar a 1, o 1. El encabezado de cuatro niveles al principio 
    ElseIf ib.Range Like " [0-9] [, ..] * "  Entonces 
        si ib.Range.Sentences.Count = 1  Entonces 
            ' ib.Range.Style = wdStyleHeading4 
            ib.OutlineLevel =wdOutlineLevel4
         Fin  del Si 
        ib.Range.Sentences ( 1 ) .Font.ColorIndex = wdColorBlack 
        ib.Range.Sentences ( 1 ) .bold = Verdadero 
        ib.Range.Sentences ( 1 ) .Font.Name = " Arial _GB2312 " 
        ib.Range .Sentences ( 1 ) .Font.Size = 16 
    ' Similar al título de cinco niveles al principio de (1) 
    ElseIf ib.Range Like " ([0-9]) * "  Entonces 
        si ib.Range.Sentences.Count = 1  Entonces 
            ' ib .Range.Style = wdStyleHeading5 
            ib.OutlineLevel =wdOutlineLevel5
         End  If 
        ib.Range.Sentences ( 1 ) .Font.ColorIndex = wdColorBlack 
        ib.Range.Sentences ( 1 ) .Bold = True 
        ib.Range.Sentences ( 1 ) .Font.Name = " 仿宋 _GB2312 " 
        ib.Range .Sentences ( 1 ) .Font.Size = 16 
    End  If 
End Sub

 

Supongo que te gusta

Origin www.cnblogs.com/GuominQiu/p/12734784.html
Recomendado
Clasificación