Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/42: Рейтинг темы: голосов - 42, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 08.03.2010
Сообщений: 3
Word

Выровнять текст по ширине пробелами

08.03.2010, 04:49. Показов 8186. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток господа. Очень нужна квалифицированная помощь программиста VBA. Необходимо в Worde выровнять текст по ширине исключительно при помощи пробелов, причем пробелы должны располагаться равномерно в предложениях. Как это делал DOS-овский лексикон. Длина каждого предложения не должна превышать 66 символов. Переносы можно не ставить. Буду очень признателен, если поможете написать макрос. С уважением.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.03.2010, 04:49
Ответы с готовыми решениями:

Нужно выровнять текст в RichTextBox по ширине
помогите мне, плиз!!! Такая проблема: мне нужно выровнять текст в RichTextBox по ширине (это как в...

Выровнять текст по ширине в RichTextBox
Каким методом в VB 6.0 можно ПРОГРАММНО выровнять текст по ширине в RichTextBox' е? (Microsoft Rich...

Дан текстовый файл, содержащий текст, выровненный по левому краю. Выровнять текст по центру
Дан текстовый файл, содержащий текст, выровненный по левому краю. Выровнять текст по центру,...

5
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
08.03.2010, 08:17
Gonkur,
вставь сюда файл с образцом, как должно быть. И что это за DOS-овский лексикон?

Добавлено через 31 минуту
Gonkur,
а какие идеи есть, как это сделать?
Т.е. смысл в чём? Нужно сделать, чтобы каждая строка содержала 66 символов. Т.е. после 66 символа поставить знак абзаца.
0
0 / 0 / 0
Регистрация: 08.03.2010
Сообщений: 3
08.03.2010, 09:01  [ТС]
Суть в том, чтобы реализовать в Worde форматирование DOSовского текстогого редактора.
Вложения
Тип файла: doc Выравнивание по ширине пробелами.doc (40.5 Кб, 359 просмотров)
Тип файла: txt Выравнивание по ширине пробелами.txt (3.5 Кб, 162 просмотров)
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
08.03.2010, 10:48
Gonkur,
ну а какие у тебя есть соображения, как это сделать? Что именно у тебя не получается?
0
0 / 0 / 0
Регистрация: 08.03.2010
Сообщений: 3
08.03.2010, 11:59  [ТС]
Да собственно я и прошу хотя бы сориентировать в каком направлении двигаться, поскольку опыта в программировании не хватает.
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
08.03.2010, 19:06
Gonkur,
нужны Название и размер Шрифта, который будет использоваться.

Добавлено через 1 час 9 минут
  1. Выделяем в документе Word весь текст и делаем одинаковый шрифт: Название и Размер. Такой же Шрифт должен быть и в Блокноте.
  2. Печатаем в одной строке цифру 1, пока не будет количество символов, равное 66 (см. рисунок 1).
  3. Двигаем право поле в нужную сторону (см. рисунок 2), чтобы в строке умещалось только 66 символов.
  4. Далее применяем макрос.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Sub m_1()
'Удаляем лишние пробелы
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = " {2;}"
        .Replacement.Text = " "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
'Ставим в конце каждой Строки знак абзаца
    Dim vLineCount As Long
    Dim vСчётчик As Long
    vLineCount = ActiveDocument.ComputeStatistics(wdStatisticLines)
    Selection.HomeKey unit:=wdStory
    For vСчётчик = 1 To vLineCount
        Selection.EndKey unit:=wdLine
        If Selection.Text <> Chr(13) Then
            Selection.TypeParagraph
        Else
            Selection.HomeKey unit:=wdLine, Extend:=wdExtend
            Selection.Font.Animation = wdAnimationMarchingRedAnts
            Selection.MoveDown
        End If
    Next
    vLineCount = Empty
    vСчётчик = Empty
'Удаляем пробел в конце каждой Строки
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = " ^p"
        .Replacement.Text = "^p"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
'Вставляем пробелы, чтобы расстянуть текст
    Dim oParagraph As Paragraph
metka:
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = " "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        While .Execute
            If Selection.Paragraphs(1).Range.Characters.Count < 66 And Selection.Paragraphs(1).Range.Font.Animation = wdAnimationNone Then
                Selection.TypeText "  "
            End If
        Wend
    End With
    For Each oParagraph In ActiveDocument.Paragraphs
        If oParagraph.Range.Characters.Count < 66 And oParagraph.Range.Font.Animation = wdAnimationNone Then
            GoTo metka
        End If
    Next
    ActiveDocument.Range.Font.Animation = wdAnimationNone
End Sub
Миниатюры
Выровнять текст по ширине пробелами   Выровнять текст по ширине пробелами  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.03.2010, 19:06
Помогаю со студенческими работами здесь

Текст в TextBox выровнять по краям
Как текст в TextBox выровнять по краям (одновременно по правому и левому краю)

Дан текстовый файл, выровненный по левому краю. Выровнять текст по центру
помогите) Дан текстовый файл, содержащий текст, выровненный по левому краю. Выровнять текст по...

Выровнять текст по центру
Дан текстовый файл, содержащий текст, выровненный по левому краю. Выровнять текст по центру,...

Разделить текст в конкретном месте пробелами
Здравствуйте всем гуру программирования, сразу скажу поиском пользовался, гуглил и мат.часть читал,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru