Сделайте первую букву жирным на каждом предложении в документе MS Word - PullRequest
4 голосов
/ 22 июня 2010

Я бы хотел сделать первую букву в каждом предложении жирным шрифтом в документе MS Word. Что было бы хорошим способом сделать это?

Ответы [ 3 ]

6 голосов
/ 23 июня 2010

Довольно просто в VBA

Sub BoldFirstLetterInSentence()
Dim ad As Document
Set ad = ActiveDocument
Dim sen As Range
For Each sen In ad.Sentences
    sen.Words.First.Characters.First.Font.Bold = True
    /* sen.Words(1).Characters(1).Font.Bold = True also works */
Next
End Sub
3 голосов
/ 22 июня 2010

Это можно сделать с помощью встроенного в Word расширенного поиска + замены. Вам нужно будет указать выражение для подстановки, такое как это, чтобы выбрать первый символ после разделителя предложения и пробела:

[\.\?\!] ?

Вы можете указать, как каждый найденный символ будет стилизован в одном и том же пользовательском интерфейсе (это не строго найти / заменить - вы можете найти / стиль). Обратите внимание, что вышеприведенное выражение будет содержать как первый символ каждого предложения, так и предыдущий? /! /. смелый. Вы можете исправить это, выполнив другой поиск только знаков препинания и вычеркнув их.

См. Это руководство: http://www.gmayor.com/replace_using_wildcards.htm

Знаю, не очень запрограммировано, но гораздо быстрее, чем копаться в VBA.

1 голос
/ 17 сентября 2010

у меня работает следующее

Option Explicit

Public Sub SetFirstLetterBold()
    Dim i As Integer
    Dim doc As Document
    Set doc = ActiveDocument

    For i = 1 To doc.Sentences.Count
        doc.Sentences(i).Characters(1).Bold = True
    Next
End Sub
...