powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Набросайте пожалуйста в VBA
5 сообщений из 5, страница 1 из 1
Набросайте пожалуйста в VBA
    #33512397
Tachkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не разбираюсь совсем.

Есть текстовый документ отредактированный под .txt, т.е. в конце каждой строчки стоит "возврат коретки" Enter. :)
Мне нужен код програмки VBA что бы она искала какие строчки начинаются тремя пробелами (новый параграф) и Ентеры в конце предыдущих строк не трогала, а остальные заменяла пробелом.
...
Рейтинг: 0 / 0
Набросайте пожалуйста в VBA
    #33512454
Прикрепи текстовый файлик с примером текста.
...
Рейтинг: 0 / 0
Набросайте пожалуйста в VBA
    #33512549
LeonM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.запустить word
2.начать запись макроса
3.считать файл
4.провести изменения
5.завершить запись макроса
6.открыть макрос
7.отредактировать
...
Рейтинг: 0 / 0
Набросайте пожалуйста в VBA
    #33512672
Tachkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователь2Прикрепи текстовый файлик с примером текста
...
Рейтинг: 0 / 0
Набросайте пожалуйста в VBA
    #33515353
1.

Код: plaintext
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.
Public Sub X()

    Dim rng As Range
    Dim varValue As Variant
    Dim varTemp As Variant
    Dim avarItems As Variant
    Dim intI As Integer
    
    With ActiveDocument
        Set rng = .Range( _
          Start:=.Paragraphs( 1 ).Range.Start, _
          End:=.Paragraphs(.Paragraphs.Count).Range.End)
    End With
    
    varValue = rng.Text
    
    avarItems = Split(varValue, Chr( 13 ))
    
    For intI = LBound(avarItems) To UBound(avarItems) -  1 
        If InStr(avarItems(intI), "   ") =  1  Then
            If Not IsEmpty(varTemp) Then
                varTemp = varTemp & Chr( 13 ) & avarItems(intI)
            Else
                varTemp = avarItems(intI)
            End If
        Else
            varTemp = varTemp & " " & avarItems(intI)
        End If
    Next
    
    rng.Text = varTemp
End Sub

Либо так: :)

2.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub X2()

    Dim p As Paragraph
    
    For Each p In ActiveDocument.Paragraphs
        If InStr(p.Range.Text, "   ") <>  1  Then
            p.Previous.Range = _
              Replace(p.Previous.Range, Chr( 13 ), " ")
        End If
    Next p
End Sub
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Набросайте пожалуйста в VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]