powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в Word установить курсоh в конец абзаца?
25 сообщений из 40, страница 1 из 2
Как в Word установить курсоh в конец абзаца?
    #38928017
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача 1: установить курсов в конец того абзаца, в начале которого в данный момент стоит курсор (абзац состоит из нескольких строк)
Задача 2: установить курсов в конец определенного по счету абзаца (абзац состояит из нескольких строк)
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928089
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interskЗадача 1нашел ответ прям в хелпе по функции Collapse

Код: vbnet
1.
2.
3.
4.
Set myRange = Selection.Paragraphs(1).Range
myRange.Collapse Direction:=wdCollapseEnd
myRange.MoveEnd Unit:=wdCharacter, Count:=-1
myRange.Select
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928182
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, а если у меня такой код заполнения word
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
With AppS.Selection

        .Font.Name = "Tahoma": .Font.Size = 10
        .MoveDown Unit:=wdLine, Count:=6
        .TypeParagraph: .TypeParagraph
        
        .ParagraphFormat.LeftIndent = AppS.CentimetersToPoints(11)
        .ParagraphFormat.Alignment = wdAlignParagraphLeft
            .TypeText Text:="Руководителю"
        
        .TypeParagraph
            .ParagraphFormat.Alignment = wdAlignParagraphCenter
            .TypeText Text:=CStr(Forms!Данные.плКраткоеНаименование)
        
        .TypeParagraph
        .ParagraphFormat.Alignment = wdAlignParagraphCenter
        .TypeText Text:=CStr(Forms!Данные.Адрес)
            
            .MoveUp Unit:=wdParagraph, Count:=2
            
                .ParagraphFormat.Borders(wdBorderBottom).LineStyle = AppS.Options.DefaultBorderLineStyle
                .ParagraphFormat.Borders(wdBorderBottom).LineWidth = AppS.Options.DefaultBorderLineWidth
                .ParagraphFormat.Borders(wdBorderBottom).Color = AppS.Options.DefaultBorderColor



и мне надо встать на конец введенного
Код: vbnet
1.
.TypeText Text:=CStr(Forms!Данные.Адрес)

как это сделать?
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928204
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По идее так же
Что не получается?
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928231
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProПо идее так же
Что не получается? получилось - спасибо за идею, хотел просто обойтись без объявления переменной myRange, но не получилось

Set myRange = AppS.Selection. Paragraphs(1).Range

пытался сократить так (не работает)

Код: vbnet
1.
2.
3.
.Paragraphs(1).Range.Collapse Direction:=wdCollapseEnd
.Paragraphs(1).Range..MoveEnd Unit:=wdCharacter, Count:=-1
.Paragraphs(1).Range..Select
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928307
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ведь нельзя коллапсировать сам параграф - если удалить только все его содержимое.
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928351
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProТак ведь нельзя коллапсировать сам параграф - если удалить только все его содержимое. кроме коллапса есть другой метод перейти в конец абзаца? может посчитать количество строк в абзаце -> перейти на последнюю строку -> перейти в конец строки.
Какой тогда будет код?
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928371
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем?

Ну, если есть желание, можете поэкспериментировать с
.Paragraphs(1).Range.Characters(.Paragraphs(1).Range.Characters.Count)
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928549
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro.Paragraphs(1).Rangeа что обозначает цифра 1 ?
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928608
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первый параграф в диапазоне

в случае Selection, если выделения нет, то это первый и единственный параграф
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928692
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вариант: для текущего положения
Код: vbnet
1.
2.
n = Selection.Paragraphs(1).Range.End - 1
ActiveDocument.Range(n, n).Select

для i-го абзаца, без использования Selection
Код: vbnet
1.
2.
n = myDoc.Paragraphs(i).Range.End - 1
Set myRange = myDoc.Range(n, n)
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928861
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский, спасибо
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928969
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанскийвариант: для текущего положения
Код: vbnet
1.
2.
n = Selection.Paragraphs(1).Range.End - 1
ActiveDocument.Range(n, n).Select

пробовал по разному - ошибка (код 0)

Код: vbnet
1.
2.
3.
4.
Dim pr As Object
pr = AppS.Selection.Paragraphs(1).Range.End - 1
AppS.ActiveDocument.Range(pr, pr).Select
Set pr = Nothing
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38928973
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Range.End возвращает число, а не объект - ставим курсор на слово и нажимаем F1
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38929017
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProRange.End возвращает число, а не объект - ставим курсор на слово и нажимаем F1
не надо пугать меня такими словами )) подскажите как правильно написать код
ваш вариант использую
Код: vbnet
1.
2.
3.
4.
5.
6.
            Dim myRangeS As Object
            Set myRangeS = AppS.Selection.Paragraphs(1).Range
            myRangeS.Collapse Direction:=wdCollapseEnd
            myRangeS.MoveEnd Unit:=wdCharacter, Count:=-1
            myRangeS.Select
            Set myRangeS = Nothing

но хотелось бы сократить код
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38929025
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interskне надо пугать меня такими словамиа зачем вы тогда пишете код
Dim pr As Object
, если не понимаете, что он означает и пугаетесь его смысла?
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38929033
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
что такое объект ил переменная понимаю, но вот что к чему что относиться не всегда могу понять (как в этом случае). Код Казанского можно как-то адаптировать для моих потребностей?
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38929036
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interskно хотелось бы сократить кодну Казанский же дал вариант в две строки
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38929040
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interskКод Казанского можно как-то адаптировать для моих потребностей?в чем конкретно проблема?

Код Казанского не вызывает ошибки. В ерунде, которую вы написали, работать по идее не должно. Прочитайте раздел учебника "типы данных", все равно понадобится.
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38929127
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProinterskКод Казанского можно как-то адаптировать для моих потребностей?в чем конкретно проблема?

Код Казанского не вызывает ошибки. замена вашего кода на его не работает.
Часть моего кода

Код: vbnet
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.
36.
37.
38.
39.
40.
41.
42.
43.
With AppS.Selection
        
        .MoveDown Unit:=wdLine, Count:=6
        .Font.Name = "Tahoma": .Font.Size = 9
        .TypeParagraph: .TypeParagraph
        
        .ParagraphFormat.LeftIndent = AppS.CentimetersToPoints(10)
        .ParagraphFormat.Alignment = wdAlignParagraphCenter 'wdAlignParagraphLeft
            
            .TypeText Text:="РУКОВОДИТЕЛЮ"
        
        .TypeParagraph
            .ParagraphFormat.Alignment = wdAlignParagraphCenter
            .TypeText Text:=StrConv(Forms!Данные.плКраткоеНаименование, vbUpperCase)
        
        .TypeParagraph
        .ParagraphFormat.Alignment = wdAlignParagraphCenter
        .TypeText Text:=StrConv(Forms!Данные.Адрес, vbUpperCase)
            
            .MoveUp Unit:=wdParagraph, Count:=2
            '.MoveUp Unit:=wdLine, Count:=1
            
                .ParagraphFormat.Borders(wdBorderBottom).LineStyle = AppS.Options.DefaultBorderLineStyle
                .ParagraphFormat.Borders(wdBorderBottom).LineWidth = AppS.Options.DefaultBorderLineWidth
                .ParagraphFormat.Borders(wdBorderBottom).Color = AppS.Options.DefaultBorderColor
                
        .MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdMove

'''''''''''''''''''''''''''
            Dim myRangeS As Object
            Set myRangeS = AppS.Selection.Paragraphs(1).Range
            myRangeS.Collapse Direction:=wdCollapseEnd
            myRangeS.MoveEnd Unit:=wdCharacter, Count:=-1
            myRangeS.Select
            Set myRangeS = Nothing

'''''''''''''''''''''''''''''
n = Selection.Paragraphs(1).Range.End - 1
ActiveDocument.Range(n, n).Select

'''''''''''''''''''''''''''''

        .TypeParagraph: .TypeParagraph: .TypeParagraph
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38929140
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всего то надо было добавить
Код: vbnet
1.
Dim n As Intege

r )
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38929146
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interskвсего то надо было добавить
Код: vbnet
1.
Dim n As Intege


r )всего-то надо было прочитать сообщение об ошибке.
Там-то отсюда ваш экран видно довольно плохо
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38929158
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, Казанский, код с
Код: vbnet
1.
ActiveDocument.Range(n, n).Select

работает только если приложение на первом плане
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38929162
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте ThisDocument для текущего документа

и вообще поменьше работайте с Active и Selection
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38929867
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProИспользуйте ThisDocument для текущего документа

и вообще поменьше работайте с Active и Selection
как с учетом этой статьи сделать? у меня не получилось
вот код
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Set AppS = CreateObject("Word.Application.15") 'делаем ссылку на объект Word для создания нового документа
    
    With AppS
        .Documents.Add (strPathDot_S)  'присоединяем к объекту Word шаблон по заданому пути
        .Visible = True 'запускаем приложение Word
    End With

Dim n
n = AppS.Selection.Paragraphs(1).Range.End - 1
AppS.ActiveDocument.Range(n, n).Select
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в Word установить курсоh в конец абзаца?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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