[ID CC-CC2021] Выделить абзац, в котором стоит курсор

aleksasha

Топикстартер
15 лет на форуме
Сообщения
316
Реакции
5
Всем привет! Подскажите, как программно, на VBS выделить абзац в котором стоит курсор, но(!) без последнего символа, а именно без символа переноса каретки?
Потому что такой код выделяет и этот последний символ тоже:
Код:
Sub SelectPara()

Set myInD = CreateObject("InDesign.Application")
Set myDoc = myInDesign.ActiveDocument
myInD.Select (myDoc.Selection.Item(1).Paragraphs.Item(1))
myInD.Paste

End Sub
 

aleksasha

Топикстартер
15 лет на форуме
Сообщения
316
Реакции
5
Разобрался... :)
Код:
Set myInD = CreateObject("InDesign.Application")
Set myDoc = myInD.ActiveDocument
'Определяем количество символов в абзаце минус один
CharCount = myDoc.Selection.Item(1).Paragraphs.Item(1).Characters.Count - 1
Debug.Print CharCount
myDoc.Selection.Item(1).Paragraphs.Item(1).Characters.Item(1).Select 1919250519
myDoc.Selection.Item(1).Paragraphs.Item(1).Characters.Item(CharCount).Select 1633969202
'Вставляем содержимое буфера
myInD.Paste
 

lev

Модератор
20 лет на форуме
Сообщения
2 142
Реакции
2 066
В вашем варианте на последнем абзаце во фрейме (где нет символа переноса каретки) может остаться в живых последняя буква.
Как альтернатива можно удалять содержимое абзаца, заменяя его на перенос каретки и уже вставлять на пустое место, обходясь без выделения текста. Правда в последнем абзаце будет появляться лишний перевод строки.
Код:
  Set myInD = CreateObject("InDesign.Application")
  Set myDoc = myInD.ActiveDocument
  myDoc.Selection(1).Paragraphs(1).Contents = vbCr
  myInD.Paste
 
  • Спасибо
Реакции: aleksasha

aleksasha

Топикстартер
15 лет на форуме
Сообщения
316
Реакции
5
В вашем варианте на последнем абзаце во фрейме (где нет символа переноса каретки) может остаться в живых последняя буква.
Как альтернатива можно удалять содержимое абзаца, заменяя его на перенос каретки и уже вставлять на пустое место, обходясь без выделения текста. Правда в последнем абзаце будет появляться лишний перевод строки.
вы имеете в виду может НЕ остаться в живых? :) К счастью у меня очень узкая была задача, где нет надобности выделять последний или единственный абзац фрейма.
 

lev

Модератор
20 лет на форуме
Сообщения
2 142
Реакции
2 066
  • Спасибо
Реакции: aleksasha