Eu não entendo totalmente o que você está tentando fazer, mas posso dizer que você quase definitivamente não quer fazer isso enviando teclas pressionadas através de Eventos do Sistema , ou usando System Events de alguma forma para controlar processos. É um script ruim , e esses scripts quebram em tempo recorde.
Sua ideia de usar o TextEdit foi realmente a melhor idéia, pois é possível roteirizar o TextEdit para editar um documento diretamente, o que é mais confiável do que a sua abordagem atual. / p>
Mas, mesmo utilizando TextEdit é realmente desnecessário, como você pode simplesmente gravar dados em um arquivo diretamente do AppleScript:
Suponho que a variável data_memory_full
contém dados em texto simples e que você provavelmente desejará que o arquivo de texto resultante use a codificação de texto UTF-8.
Com isso, você pode escrever o conteúdo da variável data_memory_full
em um arquivo novo ou existente como este:
set data_memory_full to "Some sample text to store in memory."
script memoryfile
property sys : application "System Events"
property path : "~/Google Drive/AppleScript/bot/MEMORY.data"
property file : a reference to sys's file (my path)
to make
if not (my file exists) then ¬
sys's (make new file ¬
with properties {name:my path})
end make
to write textdata without overwriting
local textdata, overwriting
set textdata to textdata & linefeed
if overwriting then set eof of ¬
(my file as alias) to 0
tell the current application ¬
to write the textdata ¬
to (my file as alias) ¬
starting at eof ¬
as «class utf8»
end write
to read
tell the current application ¬
to read (my file as alias) ¬
as «class utf8»
end read
end script
make memoryfile -- Create the data file if it doesn't already exist
-- This command commits data_memory_full to storage
tell the memoryfile to write data_memory_full without overwriting
read memoryfile -- This allows you to retrieve the file's contents
Altere esta linha:
property path : "~/Google Drive/AppleScript/bot/MEMORY.data"
para conter o caminho do arquivo onde você deseja que o arquivo de memória seja criado. O arquivo não precisa existir, já que o script irá criá-lo, se necessário. No entanto, as pastas que compõem o caminho para onde o arquivo reside devem existir. Nos meus testes, criei um arquivo armazenado localmente no diretório "Google Drive", que é sincronizado com o Google Drive na nuvem (isso requer que você tenha instalado o Backup & Sincronizar software).