Текуща позиция на курсора в MS Word документ
Трябва да се обърна към документ на MS Word и да получа позицията на курсора от него. По-точно номер на таблица, номер на ред, номер на колона.
Това възможно ли е? Ако е така, не ми казвайте как да го направя?
selection.range.start дава номера на знака, където е курсорът.
Всяка клетка на таблица също има диапазон. Всеки диапазон има Range.Start и Range.End_, което означава начален и краен знак на клетката. Като сравнявате на свой ред в кой от интервалите е включен selection.range.start и преминавайки през всички таблици, можете да определите в коя от клетките е курсорът.
Може би обаче можете да опишете задачата по-подробно.?
Задача: доста примитивен обект за автоматизация на MS Word, „опакован“ в добавка.
Чрез кликване върху бутона, поставен в лентата с инструменти, се извиква манипулатор, чиято задача е да вземе данни от Word, да извърши обработка и да постави резултата от обработката в Word. Данните се вземат от една клетка и се поставят в друга.
Такъв перверзен метод се дължи на прехвърлянето и получаването на данни от приложение на трета страна.
Наистина не разбрах за сравнението. Прилича ли на цикъл от .Range (1) до .Range (Range.Count-1), в който трябва да сравнявам началната и крайната позиция на i-ия диапазон с началната и крайната позиция на моя избор? Не съм срещал това преди.
И как да разбера на коя маса съм?
> Как да разбера в коя маса съм?
Теоретично - итерация върху таблици и диапазон start-End_
Можете обаче да опитате маркираната позиция
Тип
WdInformation = TOleEnum;
конст
wdActiveEndAdjustedPageNumber = $ 00000001;
wdActiveEndSectionNumber = $ 00000002;
wdActiveEndPageNumber = $ 00000003;
wdNumberOfPagesInDocument = $ 00000004;
wdHorizontalPositionRelativeToPage = $ 00000005;
wdVerticalPositionRelativeToPage = $ 00000006;