Я не можу отримати діапазон документа, якщо цей документ містить посилання. Я можу отримати діапазон текстового об'єкта в документі Word, якщо він не має посилання, але якщо документ Word має посилання, діапазон, який я отримую, неправильний для додавання тексту після посилання. Здається, мені потрібно використовувати інший метод, щоб отримати діапазон (щось інше, ніж текстовий об'єкт?), Але я не знаю, що це таке. Години пошуку в Інтернеті та занурення в словник лише підвели мене до наступного.
(Незважаючи на довжину наведеного нижче коду, питання, яке цікавить мене, стосується лише останньої частини, як створити діапазон, який також фіксує посилання, щоб мати змогу правильно додати більше тексту.)
Ось код, який дає мені неприємності, якщо ви запустите його з будь-яким файлом, який використовується як посилання в FilePath, він додасть посилання на документ Word, але не додасть маркер кінця "End of Email":
set FilePath to (path to desktop) & "somefile.doc"
set FilePath to FilePath as string
set Filename to "ThisFile.txt"
tell application "Microsoft Word"
activate
tell active document --This is just a word document with or without text.
--This creates a range to add the link
set ContTemp to content of text object
set StartRange to (count of ContTemp) - 1
set endrange to StartRange
set theRange to create range start StartRange end endrange
--This adds the link (below the text, if there is any)
tell theRange
set CommentText to "Click here to open attachment " & Filename
--set FilePath to "desktop/" & Filename & " "
make new hyperlink object at end with properties {text to display:CommentText, hyperlink address:FilePath, text object:theRange}
end tell
end tell
--This tries to add text "End of Email" after the link, but doesn't work.
tell active document
set EndOfEmail to return & return & " End of Email" & return as string
set ContTemp to content of text object
set StartRange to (count of ContTemp) - 1
set endrange to StartRange
set theRange to create range start StartRange end endrange
set style of theRange to style normal
set content of theRange to EndOfEmail
end tell
end tell
Код діапазону вище працює відмінно для додавання тексту до документа, але, оскільки посилання має приховані символи, я припускаю, що цей код не може розмістити код у потрібному місці. Будь-які ідеї були б дуже вдячні!