Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/47: Рейтинг темы: голосов - 47, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 4
1

Как вставить символ после каждой 5-ой строки (Word 2010)?

29.07.2015, 11:43. Показов 8788. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Подскажите пожалуйста кто знает, как вставить символ (например *) перед словом после каждой пятой строки. Например у меня есть тесты в виде:
1 ВОПРОС
ВАРИАНТ1
ВАРИАНТ2
ВАРИАНТ3
ВАРИАНТ4
2 ВОПРОС
ВАРИАНТ1
ВАРИАНТ2
ВАРИАНТ3
ВАРИАНТ4

И я хочу сделать вот так:
1 ВОПРОС
*ВАРИАНТ1
ВАРИАНТ2
ВАРИАНТ3
ВАРИАНТ4
2 ВОПРОС
*ВАРИАНТ1
ВАРИАНТ2
ВАРИАНТ3
ВАРИАНТ4

Помогите пожалуйста или есть уже готовое решение как искать? Даже не знаю как и с чем это сделать?
Спасибо за ранее!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.07.2015, 11:43
Ответы с готовыми решениями:

WORD 2003, вставить в тексте после каждой десятой точки перенос строки
Камрады, помогите решить такую задачу. Есть текст в WORD 2003, как вставить после каждой десятой...

После каждого символа строки вставить символ, введённый пользователем
Написать процедуру, которая после каждого символа строки вставляет символ, введённый пользователем,...

Вставить в 1-ую строку самый часто повторяющийся символ 2-ой строки после каждой буквы
В Pascal: Вставить в 1-ую строку самый часто повторяющийся символ 2-ой строки после каждой буквы.

Как в текстовый файл вставить пустые строки после каждой непустой строки, кроме последней?
Есть текстовый файл в котором n-е количество строк с записями. Надо после каждой строки с...

8
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
29.07.2015, 12:17 2
Лучший ответ Сообщение было отмечено sawa428 как решение

Решение

sawa428, если каждая строка образует абзац
Visual Basic
1
2
3
4
5
6
Sub bb()
Dim i&
For i = 1 To ActiveDocument.Paragraphs.Count Step 5
  ActiveDocument.Paragraphs(i).Range.InsertAfter "*"
Next
End Sub
1
5612 / 1596 / 414
Регистрация: 23.12.2010
Сообщений: 2,392
Записей в блоге: 1
29.07.2015, 12:20 3
В примере нет символов конца абцаза в конце каждой строки.
В файле с тестами это действительно так?
0
6082 / 1326 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
29.07.2015, 12:37 4
Лучший ответ Сообщение было отмечено sawa428 как решение

Решение

Написал программу с учётом трех возможных вариантов организации теста, но чувствую, что все равно ни один из них топикстартеру не подойдет...

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
Sub InsertAsterisksV1()
    Dim i As Long, ps As Paragraphs
    Set ps = ActiveDocument.Paragraphs
    For i = 2 To ps.Count Step 5
        ps(i).Range.InsertBefore "*"
    Next i
End Sub
Sub InsertAsterisksV2()
    Dim i As Long, ss() As String
    ss = Split(ActiveDocument.Content, Chr(11))
    For i = 1 To UBound(ss) Step 5
        ss(i) = "*" & ss(i)
    Next i
    ActiveDocument.Content = Join(ss, Chr(11))
End Sub
Sub InsertAsterisksV3()
    Dim i As Long, ps As Paragraphs
    Set ps = ActiveDocument.Paragraphs
    For i = 1 To ps.Count
        ps(i).Range.Text = Replace(ps(i).Range.Text, Chr(11), Chr(11) & "*", , 1)
    Next i
End Sub
Sub Main()
    If MsgBox("Каждый вариант теста отделен знаком абзаца и вопросы тоже разделены знаком абзаца?", vbYesNo + vbQuestion, "Обработка документа - вариант первый.") = vbYes Then
        InsertAsterisksV1
    ElseIf MsgBox("Каждый вариант теста отделен знаком мягкого переноса и вопросы тоже разделены знаком знаком мягкого переноса?", vbYesNo + vbQuestion, "Обработка документа - вариант второй.") = vbYes Then
        InsertAsterisksV2
    ElseIf MsgBox("Каждый вариант теста отделен знаком мягкого переноса, а вопросы разделены знаком абзаца?", vbYesNo + vbQuestion, "Обработка документа - вариант третий.") = vbYes Then
        InsertAsterisksV3
    Else
        MsgBox "Мы не знаем, как обрабатывать ваш документ.", vbExclamation, "Ошибка обработки документа"
        Exit Sub
    End If
    MsgBox "Документ успешно обработан!", vbInformation, "Обработка документа завершена"
End Sub
С уважением,
Аксима
1
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 4
29.07.2015, 21:18  [ТС] 5
Казанский, да каждая строка образует абзац. СПАСИБО БОЛЬШОЕ!!! Сработала) С меня бакалчик)

Добавлено через 6 минут
KoGG, соррй, я хотел поставить но не знал как. Сейчас нашел https://www.cyberforum.ru/cgi-bin/latex.cgi?\P вот.

Добавлено через 11 минут
Аксима, и Вам спасибо за ответ и за коды! Ваш код тоже сработал (первый вариант InsertAsterisksV1). Соррй за оффтоп, хотел спросить перед тем, как закрыть тему, коды которые Вы написали на языке Microsoft Visual Basic for Applications? И ещё Visual Basic 2005 и Microsoft Visual Basic for Applications это одно и тоже?
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
29.07.2015, 22:03 6
Цитата Сообщение от sawa428 Посмотреть сообщение
Visual Basic 2005 и Microsoft Visual Basic for Applications это одно и тоже
Если вы под Visual Basic 2005 имеете ввиду VB.NET, то они с VBA разные вещи. Код, который вам написали, написан на VBA.
1
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 4
30.07.2015, 00:24  [ТС] 7
У меня ещё одна проблемко, нужно удалить пробелы перед строками:

1 ВОПРОС (абзац)
(пробел)ВАРИАНТ1(абзац)
(пробел)ВАРИАНТ2(абзац)
(пробел)ВАРИАНТ3(абзац)
(пробел)ВАРИАНТ4(абзац)
2 ВОПРОС (абзац)
(пробел)ВАРИАНТ1(абзац)
(пробел)ВАРИАНТ2(абзац)
(пробел)ВАРИАНТ3(абзац)
(пробел)ВАРИАНТ4(абзац)

Для этого мне нужна создать другую тему или на этой теме можно?

Казанский, Аксима, спасибо вам ещё раз, вы делаете мир лучше помогая людям! Я по професси стоматолог, преподаю в институте и работаю стоматологом. Если у вас по моей специальности возникнут какие то вопросы я буду рад вам помочь.
0
6082 / 1326 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
30.07.2015, 09:00 8
Лучший ответ Сообщение было отмечено sawa428 как решение

Решение

Цитата Сообщение от sawa428 Посмотреть сообщение
Для этого мне нужна создать другую тему или на этой теме можно?
По-хорошему, надо создать новую тему, но в виде исключения отвечу прямо тут:

Для удаления пробелов перед строками можно воспользоваться диалоговым окном "Поиск и замена". Окно вызывается по сочетанию клавиш Ctrl+h. В поле "Найти" (Find what) вводится ^p и пробел, а в поле "Заменить на" (Replace with) - ^p без пробела. Потом нажимаете кнопку "Заменить все" (Replace All), и все знаки абзаца, за которыми следует пробел, будут заменены на знаки абзаца без пробела после них (другими словами, будут удалены пробелы в начале всех строк, кроме самой первой).

С уважением,
Аксима
1
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 4
30.07.2015, 19:19  [ТС] 9
Аксима, вау! Спасибо! Я чаще пользуюсь "Ctrl+h"ом, но мне не пришло в голову такое решение)) Спасибо ещё раз!

Добавлено через 1 минуту
Всем спасибо! Проблемы решены, тема закрыта.
0
30.07.2015, 19:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2015, 19:19
Помогаю со студенческими работами здесь

После каждой буквы предпоследнего слова вставить символ «*»
После каждой буквы предпоследнего слова вставить символ «*».

Запись в файл: после каждой записи вставить символ
Написал код, записывает в текстовый документ, но я хочу записать это в csv (excel) файл, после...

После каждой буквы предпоследнего слова вставить символ «*»
После каждой буквы предпоследнего слова вставить символ «*».

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru