Синтаксическая ошибка отчета Applescript. Сценарий автоматизации для Excel с использованием Python, xlwings, VBA и applePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Синтаксическая ошибка отчета Applescript. Сценарий автоматизации для Excel с использованием Python, xlwings, VBA и apple

Сообщение Anonymous »

Код предназначен для открытия электронной таблицы Excel, добавления кода VBA (для создания кнопок) и закрытия таблицы.

Код: Выделить всё

import subprocess

#this function is called at the end of another python file (everything else works fine, the error is right here)
def executeMAC():

applescript = """
tell application "Microsoft Excel"
activate
open "/---/---/---/registers2024.xlsx"

tell workbook 1
set vbaCode to "
sub CreateButtons()
Dim btnDate As Object
Dim btnName As Object
Dim btnShowAll As Object
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets(""Sheet1"")

Set btnDate = ws.Buttons.Add(700, 50, 100, 30)
btnDate.OnAction = ""DateFilter.DateFilter""
btnDate.Caption = ""Filter by Date""
btnDate.Placement = xlFreeFloating

Set btnName = ws.Buttons.Add(700, 100, 100, 30)
btnName.OnAction = ""NameFilter.NameFilter""
btnName.Caption = ""Filter by Name""
btnName.Placement = xlFreeFloating

Set btnShowAll = ws.Buttons.Add(700, 150, 100, 30)
btnShowAll.OnAction = ""ShowAllData.ShowAllData""
btnShowAll.Caption = ""Show All Data""
btnShowAll.Placement = xlFreeFloating

Set btnGeneratePDF = ws.Buttons.Add(700, 200, 100, 30)
btnGeneratePDF.OnAction = ""GeneratePDF.GeneratePDF""
btnGeneratePDF.Caption = ""Generate PDF""
btnGeneratePDF.Placement = xlFreeFloating
End Sub
"
set vbModule to make new VB project at end
tell vbModule
make new VB component at end with properties {name:"CreateButtons", code content:vbaCode}
end tell
end tell

save workbook 1 in "/---/---/---/registers2024.xlsm"
close workbook 1

end tell
"""

# AppleScript Execute

process = subprocess.run(\['osascript', '-e', applescript\], text=True)

if process.returncode == 0:
print('- VBA code inserted')
else:
print('- An error occurred while inserting VBA Code.')
Код возвращает следующую ошибку:

Код: Выделить всё

420:421: syntax error: Esperava-se final de linha, encontrou-se """. (-2741)
Я читаю и перечитываю эти строки уже 2 дня. Я пробовал использовать ChatGPT, но все, что он мне дает, это то, что я уже знаю: AppleScript использует две двойные кавычки, чтобы отменить их, когда внутри кода есть код - в данном случае VBA внутри AppleScript - и, видимо, я использую его неправильно. где-то, я просто не могу понять, где это.
Если кто-то с большим опытом может помочь, пожалуйста.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -python-xl
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»