Як отримати діапазон текстового об'єкта в Word Doc, який містить посилання?


1

Я не можу отримати діапазон документа, якщо цей документ містить посилання. Я можу отримати діапазон текстового об'єкта в документі 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

Код діапазону вище працює відмінно для додавання тексту до документа, але, оскільки посилання має приховані символи, я припускаю, що цей код не може розмістити код у потрібному місці. Будь-які ідеї були б дуже вдячні!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.