ActiveSheet.PageSetup.Zoom = False как присвоить?

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Здравствуйте, уважаемое Clarion-сообщество!

Кому-нибудь удалось побороть? ActiveSheet.PageSetup.Zoom = 0 даже VBA не пропускает, только ActiveSheet.PageSetup.Zoom = False. А из Clarion как?

Успехов!

Андрей Сапожников.
Написал: ClaList(2)
Гость

Сообщение Гость »

?ExcelObjec{'ActiveSheet.PageSetup.Zoom'} = False
Написал: Ravenous(3)
Гость

Сообщение Гость »

Ravenous
Здравствуйте, Ravenous!

Не сработала хреновина! Видимо не правильно набрано имя галактики в спирали!
Я пишу так :

controls SIGNED(0)
.....
controls = create(0, CREATE:OLE)
Controls{PROP:Create} = 'Excel.Application'
controls{Prop:ReportException}=True
controls{'Application.Visible'}=True
Controls{'Application.Workbooks.Add'}
Controls{'ActiveSheet.PageSetup.Zoom'} = False

И не работает!
На какую кнопку жать ?

Успехов!

Андрей Сапожников.
Написал: angal(63)
Гость

Сообщение Гость »

Пропертя Zoom в Ёкселе может находится в диапазоне от 10 до 400.
Кларионовский FALSE - это 0 (ноль), соответственно и облом.

С уважением,
Новиков Антон
anfront@mail.ru
ICQ #50995986
Написал: ClaList(2)
Гость

Сообщение Гость »

ClaList
Здравствуйте, Антон!

Насчет диапазона для PageSetup.Zoom я знаю, в help-е прочел. Насчет трудностей выставить False - тоже (на одном сайте 1С прочитал). Думал что Ravenous знает хитрый ход конем, раз пишет. Вот и уточнил - как, мол, правильно?

Успехов!

Андрей Сапожников.
Написал: angal(63)
Гость

Сообщение Гость »

Ну попробуй так:

Controls{'ActiveSheet.PageSetup.Zoom'} = 'empty'

С уважением,
Новиков Антон
Написал: ClaList(2)
Гость

Сообщение Гость »

ClaList
Здравствуйте, Антон!
Вы писали:
>Ну попробуй так:

>Controls{'ActiveSheet.PageSetup.Zoom'} = 'empty'

Не работает.

Успехов!

Андрей Сапожников.
Написал: angal(63)
Гость

Сообщение Гость »

angal
Sorry, поторопился с ответом.

А какая собственно цель. М.б. можно найти другие пути решения.

Конкретно
ActiveSheet.PageSetup.Zoom = False

переключает Radio Button в секции Масштаб с
установить ..... на
разместить не более чем...

ты этого хочешь добиться?

Написал: Ravenous(3)
Гость

Сообщение Гость »

Ravenous
Здравствуйте, Ravenous!
Вы писали :
>переключает Radio Button в секции Масштаб с
>установить ..... на
>разместить не более чем...

>ты этого хочешь добиться?

Имянно!

При выводе отчета его ширина м.б. разной в зависимости от выводимых данных, а упрямый и старый юзер не понимает, что учение - свет и не хочет переключать этот самый Button.

Успехов!

Андрей Сапожников.
Написал: angal(63)
Гость

Сообщение Гость »

angal
Здравствуйте, уважаемое Clarion-сообщество!

Потратил три дня - но не жалею! Много узнал про макро-вирусы.
Решил задачу следующим образом :

Controls{'Application.Modules.Add'}
Controls{'Application.VBE.ActiveVBProject.VBComponents.Item(1).CodeModule.InsertLines(1,"Sub PageSetup()")'}
Controls{'Application.VBE.ActiveVBProject.VBComponents.Item(1).CodeModule.InsertLines(2,"ActiveSheet.PageSetup.Zoom = False")'}
Controls{'Application.VBE.ActiveVBProject.VBComponents.Item(1).CodeModule.InsertLines(3,"end sub")'}
Controls{'Application.Run("PageSetup")'}

Успехов!

Андрей Сапожников.

PS: в Office Xp д.б. поставлена галочка "Доверять доступ к Visual Basic Project" на закладке "Надежные источники" в настройке "Безопасность макросов" - иначе не работает, но и это в принципе, как пишут, обходится правкой реестра reg-ом. Уровень безопасности роли не играет.
PPS
Забыл упомянуть другие возможности:
- так вместо InsertLines можно использовать
Controls{'Application.VBE.ActiveVBProject.VBComponents.Item(1).CodeModule.AddFromString("Sub PageSetup()'&chr(13)&'ActiveSheet.PageSetup.Zoom = False'&chr(13)&'end sub'&'")'}
- и лично мне понравившийся и имеющий, как мне кажется, большие перспективы
Controls{'Application.VBE.ActiveVBProject.VBComponents.Import("FileName.txt")'}
где FileName.txt обычный текстовый файл, содержащий программу на VBA.
Написал: angal(63)
Ответить