Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / конец документа / 12 сообщений из 12, страница 1 из 1
19.04.2007, 10:28:20
    #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
19.04.2007, 12:02:31
    #34472212
Романыч84
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конец документа
что, нет знатоков?
...
Рейтинг: 0 / 0
19.04.2007, 14:23:40
    #34472855
Granata005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конец документа
Есть некрасивый выход....

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

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

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

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

Позицию курсора найти уже обсуждалось в форуме
...
Рейтинг: 0 / 0
23.04.2007, 09:52:18
    #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
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / конец документа / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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