Как заполнить файл страниц из Excel Excel, используя Applescript - PullRequest
1 голос
/ 09 декабря 2011

Я пытаюсь заполнить шаблон из данных в электронной таблице Excel.Это мой первый набег в Applescript.Мой план состоит в том, чтобы в шаблоне были уникальные текстовые строки (т. Е. Value_1, Value_2 и т. Д.), Затем каждое значение сохранялось в переменной, находил и заменял каждую переменную каждой строкой.

Я был бы очень признателен за любую помощь;вот где я нахожусь:

tell application "Microsoft Excel"
    tell active workbook
        activate object worksheet "Page 2"
        copy range range "B7" of active sheet
        // Store as variable?
    end tell
end tell

tell application "Pages"
    activate
    tell application "System Events"
        keystroke "v" using command down
        // Find and replace?
    end tell
end tell

1 Ответ

1 голос
/ 11 декабря 2011

Примерно так будет делать то, что вы хотите:

tell application "Microsoft Excel"
    tell active workbook
        activate object worksheet "Sheet2"
        set B7_Value to string value of range "B7" of active sheet
    end tell
end tell

tell application "Pages"
    set my_text to first document's body text
    set temp to do shell script "echo " & quoted form of my_text & " | sed -e 's/B7_Value/" & B7_Value & "/g'"
    set first document's body text to temp
end tell

Этот скрипт не поддерживает форматирование.Если вы хотите продолжить форматирование, возможно, что-то вроде этого:

tell application "Microsoft Excel"
    tell active workbook
        activate object worksheet "Sheet2"
        set B7_Value to string value of range "B7" of active sheet
    end tell
end tell

tell application "Pages"
    activate
    tell application "System Events"
        keystroke "f" using command down
        set the clipboard to "B7_Value"
        keystroke "v" using command down
        delay 0.1
        keystroke tab
        delay 0.1
        set the clipboard to B7_Value
        keystroke "v" using command down
        delay 0.1
        keystroke tab
        delay 0.1
        keystroke space
        delay 0.1
        key code 53 -- escape
    end tell
end tell

Чтобы это работало, вам нужно включить Системные настройки -> Клавиатура -> Все элементы управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...