Вот более подробная информация о том, как это сделать в Mac OS X:
Познакомьтесь с приложением «AppleScript Editor».
Введите следующий сценарий в новое окно сценария:
tell application "Microsoft Word"
set d to active document
get content of text object of d
end tell
Если у вас есть текстовый документ, открытый в Word, а затем вы запускаете этот скрипт, он должен напечатать его простой текст в области результатов под кодом скрипта.
Таким же образом вы можете изменить текст в документе Word:
tell application "Microsoft Word"
set d to active document
set content of text object of d to "new text"
end tell
Это основы чтения и записи текста в Word через Applescript. Узнайте, как добавить текст к существующему тексту или изменить шрифты и т. Д., Вам необходимо прочитать «Словарь» Word, который вы можете открыть в редакторе AppleScript, см. Меню «Файл».
Для получения дополнительной помощи по AppleScript посетите http://www.macscripter.net.
Теперь, чтобы использовать это с REALbasic, создайте этот скрипт:
on run {newContent}
tell application "Microsoft Word"
set d to active document
set content of text object of d to newContent
end tell
end run
Сохраните его как файл сценария (расширение файла .scpt), например как "SetContentInActiveWordDocument.scpt"
Затем перетащите этот файл сценария в свой проект REALbasic, он появится как элемент с именем «SetContentInActiveWordDocument», выделенный курсивом.
Теперь вы можете вызвать этот SetContentInActiveWordDocument как функцию, передав ему строку.
Например, напишите:
eFile.Launch() // this should open an existing word file if it exists in "eFile"
SetContentInActiveWordDocument("the new text") // replaces the text in the opened word file
Однако с созданием таблицы в текстовом документе все становится сложнее. Таким образом, вы можете передавать в сценарий из RB только строки и числа, поэтому, если у вас есть массив значений, которые вы хотите поместить в таблицу, вам придется преобразовать значения массива в строку с уникальными разделителями, передать эту строку в сценарий, в котором строка снова разделяется на отдельные поля.
Также очень помогает, если вы приобретаете «Отладчик сценариев», который не только позволяет выполнять пошаговые инструкции по сценариям, но также предоставляет «Проводник», который позволяет вам видеть все значения запущенного приложения, что значительно упрощает определение того, что вы делаете. хотите получить доступ. Я использовал Script Debugger, чтобы увидеть, как получить доступ к контенту, просто используя его проводник. Без этого вам пришлось бы выяснять это из Словаря сценариев, что обычно довольно сложно, если вы не имеете в этом опыта.
(позже)
Я попытался добавить или даже просто прочитать таблицу с помощью Word 2008. Я не могу заставить работать что-либо, что ссылается на таблицы в «активном документе», несмотря на то, что я нашел несколько примеров в сети, которые предполагают, что это должно работать, например:
tell application "Microsoft Word"
get table 1 of active document
end tell
Я не могу сказать, является ли это общей проблемой Word 2008 или моей конкретной установкой. И у меня нет других версий для тестирования, извините. Это дает вам возможность самостоятельно найти в Google такие примеры и посмотреть, сможете ли вы разобраться в этом. В любом случае сначала разработайте и протестируйте свой код в редакторе сценариев, прежде чем пытаться заставить его работать с REALbasic.
Кроме того, найдите в Google «Справочник по Word 2004 AppleScript», который представляет собой довольно подробное руководство по использованию Word с AppleScript.
person
Thomas Tempelmann
schedule
15.05.2013