доброго времени суток! давненько меня здесь не было....
Пишу скрипт и решил на определенном этапе удалять текстовые фреймы, но почему-то не выходит. Программа видит textframe, видит contents, видит id, даже делает select в индизайне, но сам textframe удалить не может, конечно можно записать contents = "", но мне уж очень хочется сделать именно remove. Пишу на python через win32com, InDesign 5.5, может кто-нибудь знает как правильно построить строку кода, заранее спасибо!
Пишу скрипт и решил на определенном этапе удалять текстовые фреймы, но почему-то не выходит. Программа видит textframe, видит contents, видит id, даже делает select в индизайне, но сам textframe удалить не может, конечно можно записать contents = "", но мне уж очень хочется сделать именно remove. Пишу на python через win32com, InDesign 5.5, может кто-нибудь знает как правильно построить строку кода, заранее спасибо!
Код:
def getTypeById(id):
return app.DoScript('app.activeDocument.pageItems.itemByID(%s).getElements()[0].constructor.name;' % id,1246973031)
app = win32com.client.dynamic.Dispatch('Indesign.Application.CS5.5')
doc = app.ActiveDocument
ti = doc.Pages(1).pageItems
for cti in ti:
if getTypeById(cti.id) == 'TextFrame':
print cti.contents
print cti.id
print cti.select
# верхняя часть кода работает, а следующая строка нет, пишет что объект cti не имеет атрибута remove, хотя в документации он есть:
void remove ()
Deletes the TextFrame.
cti.remove