Выравнивание текста в word - VBA
Формулировка задачи:
Здравствуйте. нужна помощь в данном вопросе.
нужно в выбранном файле(пользователь сам выбирает файл) выровнять весь текст по центру, при этом что бы таблицы,заголовки и картинки оставались не тронутыми. Пробовал через стандартное выделение но там затрагивает все.
Решение задачи: «Выравнивание текста в word»
textual
Листинг программы
Sub CommandButton2_Click() Dim FileName As String, oMyDoc As Word.Document FileName = GetFilePath If FileName$ = "" Then Exit Sub MsgBox "Выбран файл: " & FileName$ Set oMyDoc = Documents.Open(FileName$) oMyDoc.Activate Dim P As Paragraph For Each P In ActiveDocument.Paragraphs If IsOrdinaryParagraph(P) Then P.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter Next End Sub Function IsOrdinaryParagraph(Par As Paragraph) As Boolean Dim ParCharLen&, i& With Par.Range ParCharLen = Len(Trim$(.Text)) If ParCharLen = 1 Then Exit Function ' Пустая строка If .ListFormat.ListType > 0 Then Exit Function ' Список If .Tables.Count > 0 Then Exit Function ' Таблица If .InlineShapes.Count > 0 Then Exit Function ' Рисунок If .OMaths.Count > 0 Then Exit Function ' Формула If .Style.NameLocal Like "Заголовок*" Then Exit Function 'Заголовок Select Case .StoryType Case wdCommentsStory ' Комментарии. Exit Function Case wdEndnoteContinuationNoticeStory Exit Function Case wdEndnoteContinuationSeparatorStory Exit Function Case wdEndnoteSeparatorStory Exit Function Case wdEndnotesStory Exit Function Case wdEvenPagesFooterStory ' Нижний колонтитул Exit Function Case wdEvenPagesHeaderStory ' Верхний колонтитул Exit Function Case wdFirstPageFooterStory ' Нижний колонтитул 1-ой страницы раздела Exit Function Case wdFirstPageHeaderStory ' Верхний колонтитул 1-ой страницы раздела Exit Function Case wdFootnoteContinuationNoticeStory Exit Function Case wdFootnoteContinuationSeparatorStory Exit Function Case wdFootnoteSeparatorStory Exit Function Case wdFootnotesStory 'Текст сноски. Exit Function Case wdPrimaryFooterStory ' Нижний колонтитул Exit Function Case wdPrimaryHeaderStory ' Верхний колонтитул Exit Function Case wdTextFrameStory 'Текстовая рамка - полотно Exit Function Case wdMainTextStory ' Основной текст , только его и надо проверять Case Else Exit Function End Select If .Fields.Count > 0 Then For i = 1 To .Fields.Count Select Case .Fields(i).Type Case wdFieldTOC: Exit Function ' Содержание Case wdFieldEmbed: Exit Function ' Внедренный OLE объект Case wdFieldIncludePicture: Exit Function ' Поле с рисунком Case wdFieldBibliography: Exit Function ' Поле - библиография End Select Next i End If If ParCharLen < 20 And (UCase$(.Text) Like "РИС*") Then Exit Function ' Нумерация рисунков If ParCharLen < 20 And (UCase$(.Text) Like "ДИА*") Then Exit Function ' Нумерация диаграмм If ParCharLen < 20 And (UCase$(.Text) Like "ТАБ*") Then Exit Function ' Нумерация таблиц End With IsOrdinaryParagraph = True End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д