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

Код: 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.
Sub NameknulTipo()
Dim last As Integer
Dim sel  As Integer
Dim s As Long

Selection.MoveRight Unit:=wdWord, count:= 1 , Extend:=wdExtend

While ' здесь нужен конец документа
    sel = Asc(Selection.Text)
    If sel =  13  And last <>  46  Then 'если выделен конец строки и пердыдущий знак не точка
        
        Selection.Delete 'удаляем конец строки
        Selection.MoveLeft Unit:=wdCharacter, count:= 1  'сдвигаем влево на символ для проверки
        If Selection.Text = "-" Then ' на -
         Selection.Delete ' если находим то удаляем
         
         Else
         Selection.MoveRight Unit:=wdCharacter, count:= 1  ' на находимсдвигаем на прово
         Selection.TypeText Text:=" " 'ставим пробел
        End If
    Else
           last = Asc(Selection.Text) ' запоминаем предыдущий символ
           Selection.MoveRight Unit:=wdWord, count:= 1  'выделяем следующий кусоу текста
        
    
    End If
    
    Wend

End Sub
...
Рейтинг: 0 / 0
конец документа
    #34472212
Романыч84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что, нет знатоков?
...
Рейтинг: 0 / 0
конец документа
    #34472855
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некрасивый выход....

Код: plaintext
for i= 0  to Selection.Characters.Count 
Characters.Count - количество символов в документе...
...
Рейтинг: 0 / 0
конец документа
    #34472896
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно!

Код: plaintext
1.
2.
3.
4.
5.
Sub Макрос3()
    Selection.WholeStory
    For Each a In Selection.Characters
        ' проверка значения а
    Next
End Sub
...
Рейтинг: 0 / 0
конец документа
    #34474774
Романыч84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробовал, когда считает символов количество то можно спать ложиться, а его недо считать постоянно, оно же меняется.
...
Рейтинг: 0 / 0
конец документа
    #34475676
lena_####
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Романыч84

Вы ж с Word’ом воюете. А там есть объект Find. Ват скажем, проблема замены дефиса (знака переноса) в конце строки (вместе со знаком абзаца) на пробел во всем документе сразу может быть решена, например, так:
Код: plaintext
1.
2.
Sub s()
  ActiveDocument.Range.Find.Execute FindText:="-^p", ReplaceWith:=" ", Replace:=wdReplaceAll
End Sub
...
Рейтинг: 0 / 0
конец документа
    #34475702
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну замена то заменой, а если в принципе....
...
Рейтинг: 0 / 0
конец документа
    #34475799
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Романыч84пробовал, когда считает символов количество то можно спать ложиться, а его недо считать постоянно, оно же меняется.
Один раз посчитать и начать с конца
...
Рейтинг: 0 / 0
конец документа
    #34479237
Романыч84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to lena_####
Это не получается, так как необходимо анализировать на присутствие точки, что бы правильно абзац распознать.
to Deggasad
Може тогда опредлять начало документа, а начинать с конца. Ставлю другой вопрос. Как найти начало документа?
...
Рейтинг: 0 / 0
конец документа
    #34479299
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:D

Ну блин... поставь там какой-нить спецсимвол, по нему и ориентируйся...
...
Рейтинг: 0 / 0
конец документа
    #34479315
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я не совсем понимаю что вам нужно!
Но если говорить о том как переместить курсор в конец документа то
Код: plaintext
    Selection.EndKey Unit:=wdStory
Если в начало документа то
Код: plaintext
    Selection.HomeKey Unit:=wdStory

Позицию курсора найти уже обсуждалось в форуме
...
Рейтинг: 0 / 0
конец документа
    #34479403
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadМожет я не совсем понимаю что вам нужно!
Но если говорить о том как переместить курсор в конец документа то
Код: plaintext
    Selection.EndKey Unit:=wdStory
Если в начало документа то
Код: plaintext
    Selection.HomeKey Unit:=wdStory

Позицию курсора найти уже обсуждалось в форуме
Продолжение:
Если от имеется ввиду послений символ или последнее слово, то
Код: plaintext
ActiveDocument.Words.Count
А начало всегда равно единице

И потом цикл по словам, например
Код: plaintext
1.
2.
For n = ActiveDocument.Words.Count To  1  Step - 1 
ActiveDocument.Words(n).Delete
Next n
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / конец документа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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