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

Нужен макрос для организации диалога с пользователем для изменения параметров первого символа каждого абзаца

26.04.2021, 20:27. Показов 3664. Ответов 14

Студворк — интернет-сервис помощи студентам
Очень нужен макрос для организации диалога с пользователем для изменения параметров первого символа каждого абзаца
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.04.2021, 20:27
Ответы с готовыми решениями:

Выбор первого символа каждого абзаца
собственно сабж, сделал так For Each aParagraph In ActiveDocument.Paragraphs Set tmpd = aParagraph.Range ...

Счетчик для каждого абзаца
Знаю , наверное , никто не ответит, но как мне навесить в данном случае на каждый параграф свой счетчик , а то так он выходит общий let...

Создать программу-бот для имитации диалога с пользователем
Всм привет!помогите пожалуйста Создать программу-бот для имитации диалога. Использовать анализ слов заданного вопроса.

14
Динохромный
1638 / 775 / 288
Регистрация: 22.12.2015
Сообщений: 2,422
27.04.2021, 09:04
dilara akh, задача легко решается созданием стиля символа и последующим поиском и заменой по документу в два этапа. Запишите эти действия макрорекордером и получите макрос.
0
Эксперт NIX
3305 / 933 / 201
Регистрация: 14.01.2013
Сообщений: 4,773
27.04.2021, 09:50
Цитата Сообщение от Dinoxromniy Посмотреть сообщение
Запишите эти действия макрорекордером и получите макрос
Как бы вот эту фразу в шапке раздела закрепить? Желательно на гранитном фоне, золотыми буквами ...
0
0 / 0 / 0
Регистрация: 26.04.2021
Сообщений: 9
27.04.2021, 15:18  [ТС]
Цитата Сообщение от Dinoxromniy Посмотреть сообщение
задача легко решается созданием стиля символа и последующим поиском и заменой по документу в два этапа. Запишите эти действия макрорекордером и получите макрос.
Как я поняла, основной задачей является создание именно окна, в котором можно будет все значения для символа прописать. Если не ошибаюсь, для этого нужна User форма? Я только начала изучать работу в VBA, поэтому пока так тяжело со всем справляюсь.
0
Динохромный
1638 / 775 / 288
Регистрация: 22.12.2015
Сообщений: 2,422
27.04.2021, 17:33
dilara akh, задача следует из цели, которую вы перед собой ставите, а цель вы не озвучиваете.
Если цель - получить отформатированные первые символы каждого абзаца, то vba тут вообще не нужно, достаточно один раз от форматировать символы под стиль, и дальше можно легко переформатировать все символы разом. Без vba.

Если цель - поупражняться с vba, то подходов много разных: в форме, в стиле, просто в тексте кода, с запросом каждого параметра через inputbox, с выводом текущих значений и т.д. На мой взгляд - разница примерно как с жаждой: когда пить охото, не так важно, в чашке вода, в стакане, в бутылке, в графине, важнее чтоб она чистая была, подходящей температуры и много. Вода все равно одна и та же. Размер шрифта - он тоже один и тот же, хоть в стиль его пропиши, хоть в форму.
1
0 / 0 / 0
Регистрация: 26.04.2021
Сообщений: 9
27.04.2021, 17:39  [ТС]
Цитата Сообщение от Dinoxromniy Посмотреть сообщение
с запросом каждого параметра через inputbox
Главная цель - завершение лаб.работы. А задача заменить данные символы через диалоговое окно. Очень долго сижу и не могу команду подобрать, чтобы выделить первый символ абзаца.
0
859 / 509 / 187
Регистрация: 09.03.2009
Сообщений: 1,726
27.04.2021, 18:09
Лучший ответ Сообщение было отмечено dilara akh как решение

Решение

Visual Basic
1
2
3
4
5
Sub GP()
   For Each currPara In ActiveDocument.Paragraphs
      MsgBox Left(currPara, 1)
   Next
End Sub
Добавлено через 14 минут
Visual Basic
1
2
3
4
5
6
Sub GP()
   For Each currPara In ActiveDocument.Paragraphs
      MsgBox Left(currPara, 1)
      ActiveDocument.Range(currpara.Range.Start, currpara.Range.Start + 1).Font.Size = 16  ' аналогично шрифт, цвет, стиль...
   Next
End Sub
1
0 / 0 / 0
Регистрация: 26.04.2021
Сообщений: 9
27.04.2021, 20:10  [ТС]
Цитата Сообщение от Zeag Посмотреть сообщение
Sub GP()
   For Each currPara In ActiveDocument.Paragraphs
      MsgBox Left(currPara, 1)
      ActiveDocument.Range(currpara.Range.Star t, currpara.Range.Start + 1).Font.Size = 16  ' аналогично шрифт, цвет, стиль...
  Next
End Sub
Именно то, что я искала, спасибо! Ещё один маленький вопрос: есть ли возможность расстояние между абзацами не выделять как абзац? Или это у меня что-то не так?
0
859 / 509 / 187
Регистрация: 09.03.2009
Сообщений: 1,726
27.04.2021, 20:35
Этого вопроса не понял.
0
0 / 0 / 0
Регистрация: 26.04.2021
Сообщений: 9
27.04.2021, 20:39  [ТС]
Цитата Сообщение от Zeag Посмотреть сообщение
Этого вопроса не понял.
Сейчас объясню. Я решаю Лаб.Работу и сомневаюсь в том, правильно ли "причесала" текст. Имеет ли смысл ещё раз нажимать ENTER между двумя абзацами, вот так:

"Какой-то текст идёт прямо здесь.
(вот тут ещё раз нажимаем ENTER)
И потом текст продолжается".

Это правильно, или так текст не оформляется?
0
859 / 509 / 187
Регистрация: 09.03.2009
Сообщений: 1,726
27.04.2021, 20:45
В ворде параграфы (абзацы) разделяются жесткими переводами строк. Расстояние между абзацами регулируют интервалом. Вы, похоже, даете пустой абзац, 2 раза нажав Enter. Если так, можно проверять, что значение Left(currPara, 1) = 13 и не выполнять действий.
1
0 / 0 / 0
Регистрация: 26.04.2021
Сообщений: 9
28.04.2021, 20:03  [ТС]
Цитата Сообщение от Zeag Посмотреть сообщение
Left(currPara, 1) = 13
А как применить данное значение в нашем макросе?
0
859 / 509 / 187
Регистрация: 09.03.2009
Сообщений: 1,726
28.04.2021, 20:24
Во-первых, макрос ваш.
Во-вторых, что именно не так работает, если подряд 2 перевода строки? И как должно работать в этом случае?
В-третьих, пока тут видим отрывочные операторы, а не цельный макрос.
0
0 / 0 / 0
Регистрация: 26.04.2021
Сообщений: 9
28.04.2021, 21:05  [ТС]
Цитата Сообщение от Zeag Посмотреть сообщение
что именно не так работает
При изменении размера шрифта, размер пустого абзаца соответственно увеличивается.

Цитата Сообщение от Zeag Посмотреть сообщение
И как должно работать в этом случае?
Хочется просто исключить пустые абзацы с помощью значения

Цитата Сообщение от Zeag Посмотреть сообщение
цельный макрос
Я работаю с Юзер формой и использую к значениям код:
Цитата Сообщение от Zeag Посмотреть сообщение
Visual BasicВыделить код
1
2
3
4
5
6
Sub GP()
   For Each currPara In ActiveDocument.Paragraphs
      MsgBox Left(currPara, 1)
      ActiveDocument.Range(currpara.Range.Star t, currpara.Range.Start + 1).Font.Size = 16  ' аналогично шрифт, цвет, стиль...
  Next
End Sub
Не знаю, как правильно вписать в него значение, исключающее пустые абзацы
0
859 / 509 / 187
Регистрация: 09.03.2009
Сообщений: 1,726
28.04.2021, 21:15
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Option Explicit
 
Sub GP()
   Dim currPara As Paragraph
 
   For Each currPara In ActiveDocument.Paragraphs
      ' Пропускаем пустые параграфы
      If currPara.Range.Text <> vbCr Then _
         ActiveDocument.Range(currPara.Range.Start, currPara.Range.Start + 1).Font.Size = 16  ' аналогично шрифт, цвет, стиль...
  Next
End Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.04.2021, 21:15
Помогаю со студенческими работами здесь

В строке добавив заданный пользователем символ после каждого символа строки кроме символа- исключения
Строки на Java! в тупике!помогите кто может! Из заданной пользователем строки сформируйте новую, добавив заданный пользователем...

Выбор контроллера для организации первого рейда
Здравствуйте. Интересует совет по выбору контроллера для организации первого рейда (ОС Win Server 2012 r2). ...

Сделать макрос в Word, вводишь строку и макрос произвольно меняет шрифт, цвет и размер для каждого слова из этого активного вордовского документа.
Началось VBA - лекций нет, только практика. Препод категоричеки отказывается что-нить объяснять, ссылаясь на то, что: &quot;если сам...

Нужен макрос для word, устанавливающий для всех точек в документе 40 размера шрифта
помогите пожалуста:(

Нужен макрос для CorelDraw 11 для автоматизации процесса
Нужен макрос для CORELDRAW 11 для автоматизации процесса


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 23.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru