powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в Word установить курсоh в конец абзаца?
40 сообщений из 40, показаны все 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
Как в Word установить курсоh в конец абзаца?
    #38929877
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
плохо прочитали

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim MyDoc As Word.Document 'As Object, если не подключена библиотека ворда

   Set AppS = CreateObject("Word.Application.15") 'делаем ссылку на объект Word для создания нового документа
    
    With AppS
        Set MyDoc = .Documents.Add(strPathDot_S)  'присоединяем к объекту Word шаблон по заданому пути
        .Visible = True 'запускаем приложение Word
    End With

Dim n
n = MyDoc.Selection.Paragraphs(1).Range.End - 1
MyDoc.Range(n, n).Select
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38930086
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, как не пытался приспособить к своему коду не получилось. Выкладываю код целиком (с вашим вариантом), прошу внести необходимые правки (по варианту Казанского и без selection)
Код: 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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
Private Function funOutputWord_S(strPathDot_S As String, strPathWord_S As String) As Boolean

Dim strPathDot_S As String, strPathWord_S As String
Dim AppS As Object 'для заполнения бланка
  

    Set AppS = CreateObject("Word.Application.15") 'делаем ссылку на объект Word для создания нового документа
    
    With AppS
        .Documents.Add (strPathDot_S)  'присоединяем к объекту Word шаблон по заданому пути
        .Visible = True 'запускаем приложение Word
    End With
    
    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
            
                .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

        .TypeParagraph: .TypeParagraph: .TypeParagraph
        .ParagraphFormat.LeftIndent = AppS.CentimetersToPoints(0)
        .ParagraphFormat.Alignment = wdAlignParagraphLeft
        
        .Font.Size = 10: .Font.Bold = wdToggle
            .TypeText Text:="Сопроводительное письмо"
        .Font.Bold = wdToggle

        .TypeParagraph: .TypeParagraph
            .TypeText Text:="Направляем Вам дополнительные документы (прилагаются)."

    End With
                
                With AppS
                    .ActiveDocument.SaveAs (strPathWord_S) 'сохраняем созданный документ по заданному пути strPathWord_Z без запроса
                    .WindowState = 1
                    .Activate
                End With
        
End If
    
Set AppS = Nothing 'уничтожаем переменную
funOutputWord_S = True 'ставим флаг успешного выполнения функции

Exit_:
    Exit Function
Err_:
    funOutputWord_S = False
    StatusBarNo
    MsgBox "Описание ошибки: " & Err.Description & "  Номер ошибки " _
               & "(функция funOutputWord_S): " & Err.number
    Err.Clear
    AppS.Quit 'на время отладки
    Set AppS = Nothing
    Resume Exit_

End Function
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38930160
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема в чем? Что значит "не получилось"?
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38930199
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProПроблема в чем? Что значит "не получилось"?
ошибка выполнения кода именно на месте нужного кода
Код: 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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
Dim MyDoc As Word.Document 'As Object, если не подключена библиотека ворда
  
    Set AppS = CreateObject("Word.Application.15") 'делаем ссылку на объект Word для создания нового документа
    
    With AppS
        Set MyDoc = .Documents.Add(strPathDot_S)   'присоединяем к объекту Word шаблон по заданому пути
        .Visible = True 'запускаем приложение Word
        
    End With
    
    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
            
                .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 n
n = MyDoc.Selection.Paragraphs(1).Range.End - 1
MyDoc.Range(n, n).Select

        .TypeParagraph: .TypeParagraph: .TypeParagraph
        .ParagraphFormat.LeftIndent = AppS.CentimetersToPoints(0)
        .ParagraphFormat.Alignment = wdAlignParagraphLeft
        
        .Font.Size = 10: .Font.Bold = wdToggle
            .TypeText Text:="Сопроводительное письмо"
        .Font.Bold = wdToggle

        .TypeParagraph: .TypeParagraph
            .TypeText Text:="В связи с уточнением исковых требований по данному делу направляем Вам дополнительные документы (прилагаются)."

    End With
                
                With AppS
                    .ActiveDocument.SaveAs (strPathWord_S) 'сохраняем созданный документ по заданному пути strPathWord_Z без запроса
                    .WindowState = 1
                    .Activate
                End With
        
End If
    
Set AppS = Nothing 'уничтожаем переменную
funOutputWord_S = True 'ставим флаг успешного выполнения функции

Exit_:
    Exit Function
Err_:
    funOutputWord_S = False
    StatusBarNo
    MsgBox "Описание ошибки: " & Err.Description & "  Номер ошибки " _
               & "(функция funOutputWord_S): " & Err.number
    Err.Clear
    AppS.Quit 'на время отладки
    Set AppS = Nothing
    Resume Exit_

  
End Function
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38930212
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interskShocker.ProПроблема в чем? Что значит "не получилось"?
ошибка выполнения кода именно на месте нужного кодаКакая именно ошибка? Вы осознаете, что мы не можем запустить ваш код, не имея ваших форм и прочего окружения?


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

ошибка выполнения кода именно на месте нужного кодаКакая именно ошибка? Вы осознаете, что мы не можем запустить ваш код, не имея ваших форм и прочего окружения?


P.S. Видимо, проблема в том, что у документа нет Selection - используйте AppS.Selection
наверно именно в этом потому что сделал так и всё работает, даже когда word в фоне
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
            
Dim AppSW As Word.Document
Dim N As Integer

    Set AppS = CreateObject("Word.Application.15")
    Set AppSW = AppS.Documents.Add(strPathDot_S)


N = AppS.Selection.Paragraphs(1).Range.End - 1
AppSW.Range(N, N).Select



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


interskтак что без Selection не обойтись!Не вижу, почему. Что мешает все эти операции проделывать над произвольным Range-диапазоном
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38930547
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Prointerskдаже когда word в фонетем не менее, у вас сохраняется активный документ, а не MyDoc


interskтак что без Selection не обойтись!Не вижу, почему. Что мешает все эти операции проделывать над произвольным Range-диапазоном

спасибо за наводку, заменил
Код: vbnet
1.
2.
With AppS
                    .ActiveDocument.SaveAs (strPathWord_S)


на
Код: vbnet
1.
2.
3.
4.
5.
6.
                AppSW.SaveAs (strPathWord_S) 
                
                With AppS
                    .WindowState = 0: .WindowState = 1 '.WindowState = wdWindowStateMaximize
                    .Activate
                End With


работает, от одного ActiveDocument избавились )
А как все операции проделывать над произвольным Range-диапазоном ?
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38930552
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну замените With AppS.Selection на переменную диапазона

Если вам это тяжело осознать - забейте, работает и ладно
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38930809
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProНу замените With AppS.Selection на переменную диапазона

Если вам это тяжело осознать - забейте, работает и ладно не надо забивать ) как заменить? как обозначить диапазон в Word?
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38930886
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interskкак обозначить диапазон в Word?
Код: vbnet
1.
Dim MyRange As Word.Range
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38931136
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Prointerskкак обозначить диапазон в Word?
Код: vbnet
1.
Dim MyRange As Word.Range

как использовать диапазон для заполнения word текстом , форматирования текста и т.д. ?
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38931142
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
Dim k As Range
Set k = Application.Selection.Range
k.InsertParagraph
k.InsertAfter Text:="РУКОВОДИТЕЛЮ"
k.ParagraphFormat.LeftIndent = Application.CentimetersToPoints(1)
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38931189
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
Код: vbnet
1.
k.InsertAfter Text:="РУКОВОДИТЕЛЮ"

спасибо, буду пробовать!
а почему InsertAfter, а не TypeText ?
...
Рейтинг: 0 / 0
Как в Word установить курсоh в конец абзаца?
    #38931191
intersk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

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


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