Я кодировал базу данных в Excel, недавно должен был поддерживать Mac, Office 2016 и далее, действительно не поддерживает встроенный код, поэтому мне пришлось позаимствовать Mac.
Я хочу создать «патч» .app, который при запуске на компьютере конечного пользователя помещает AppleScripts в файл, который, по словам Microsoft, должен быть.
Я могу определить, существуют ли папки, и создать их при необходимости. Я могу перемещать файлы по команде, используя рабочий стол и каталоги документов, но если я использую каталог onedrive (из которого выполняется файл), он не работает.
Я пробовал несколько различных структур кода, я пользователь Windows, поэтому я занимаюсь изучением операционной системы.
Я пробовал дублировать с заменой, без копирования, печатать, печатать каталог в сравнении с использованием файлов, с файлом или элементами и без них, и без него.
Это мой код прямо сейчас, в значительной степени захватывает местоположение запускаемого скрипта, затем забирает имя приложения и добавляет правильный каталог других скриптов.
Проверяет, существуют ли папки, а если нет, то создает их.
Затем предполагается переместить все файлы в источнике в место назначения.
set Source to POSIX path of ((path to me as text) & "::") & "AppleScripts/"
set ParentDestination to ("/Library/Application Scripts/")
set Destination to ("/Library/Application Scripts/com.microsoft.Excel/")
set ParentFound to false
set DestinationFound to false
tell application "System Events"
if exists folder ParentDestination then
set ParentFound to true
if exists folder Destination then
set DestinationFound to true
end if
end if
end tell
tell application "Finder"
if ParentFound = false then
make new folder at folder "Library" of startup disk with properties {name:"Application Scripts"}
end if
if DestinationFound = false then
make new folder at folder "Application Scripts" of folder "Library" of startup disk with properties {name:"com.microsoft.Excel"}
end if
duplicate (every item in Source) to Destination
end tell
Текущая ошибка, которую я имею: Finder got an error: Handler can’t handle objects of this class.
Это зависит от вариантов кода, которые я пробую, но всегда при перемещении всех файлов.
Я знаю, что это, вероятно, простая вещь, но я даже не успел заставить Excel вызывать код, поэтому мне нужна помощь.