некоторые проблемы Excel 2007
Модератор: Naeel Maqsudov
Ситуация
имеется макрос. башой башой, который и обрабатывает данные, и переразбивает их, а главное - вставляет в определенном порядке на листы. выравнивает все это дело, сам рисует ко всему этому рамочки, заполняет эти рамочки и выводит на печать (применял для спецификаций)
этот макрос был создан рекодером и очумелыми ручками в excel 2003
при переносе файла в 2007 версию работа с графическими объектами пошла некорректно, выдает ошибки типов, значений и прочие трудновразумительные вещи. Подчеркиваю, именно этот макрос в 2003 работает как часы,все рисует и понимает.
и Вот тут столкнулся с траблой.
попытался записать те же команды рекордером и перевести прогу на новый язык (если там что-то поменялось), а макрорекордер 2007 екселя не видит работы с графикой вообще, и еще много чего не видит.
поясняю
включаем запись, рисуем на листе линии картинки, хоть мадонну с младенцем. заходим в макрос - пусто!!! (длинные ругательства)
есть подозрения что неподгружен какой-то модуль либо еще чаво
знающие люди, подскажите
p.s. не являюсь профессионалом, макросы пишу от природной тяги и лени, поэтому бошая просьба писать попонятнее
имеется макрос. башой башой, который и обрабатывает данные, и переразбивает их, а главное - вставляет в определенном порядке на листы. выравнивает все это дело, сам рисует ко всему этому рамочки, заполняет эти рамочки и выводит на печать (применял для спецификаций)
этот макрос был создан рекодером и очумелыми ручками в excel 2003
при переносе файла в 2007 версию работа с графическими объектами пошла некорректно, выдает ошибки типов, значений и прочие трудновразумительные вещи. Подчеркиваю, именно этот макрос в 2003 работает как часы,все рисует и понимает.
и Вот тут столкнулся с траблой.
попытался записать те же команды рекордером и перевести прогу на новый язык (если там что-то поменялось), а макрорекордер 2007 екселя не видит работы с графикой вообще, и еще много чего не видит.
поясняю
включаем запись, рисуем на листе линии картинки, хоть мадонну с младенцем. заходим в макрос - пусто!!! (длинные ругательства)
есть подозрения что неподгружен какой-то модуль либо еще чаво
знающие люди, подскажите
p.s. не являюсь профессионалом, макросы пишу от природной тяги и лени, поэтому бошая просьба писать попонятнее
А макросы в книге включены?
Excel 2007 "заботливо" их отключает по умолчанию
и выводит скромное окно вверху, что макросы отключены и если все-таки хотите включить, то вот вам кнопка для включения.
Это естественно - при определенном уровне безопасности - среднем.
Excel2003 и ниже, как мне помнится, не пускали пользователя модальным окном-вопросом, включать макросы или нет, и честно мучили пользователя, пока тот не сделает выбор.
А здесь выбор делает сам Excel, причем в пользу отключения.
Excel 2007 "заботливо" их отключает по умолчанию
и выводит скромное окно вверху, что макросы отключены и если все-таки хотите включить, то вот вам кнопка для включения.
Это естественно - при определенном уровне безопасности - среднем.
Excel2003 и ниже, как мне помнится, не пускали пользователя модальным окном-вопросом, включать макросы или нет, и честно мучили пользователя, пока тот не сделает выбор.
А здесь выбор делает сам Excel, причем в пользу отключения.
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
Avsha, KOSH же пишет что у него макрос
Возможно здесь проявляются отличия объектной модели 2007 офиса от 2003.
Они есть и довольно значительные. Часть старых объектов и методов заблокирована
или удалена. Тот же FileSearch или коллекция CommandBars...
А вообще спецификации IMHO правильнее делать в MS WORD ...
Но уж если используете EXCEL явно лучше прочерчивать таблицы используя .Borders
чем применять графику. Она кстати чрезвычайно "утяжеляет" файлы ...
- т.е. однозначно запускается.выдает ошибки типов, значений и прочие трудновразумительные вещи
Возможно здесь проявляются отличия объектной модели 2007 офиса от 2003.
Они есть и довольно значительные. Часть старых объектов и методов заблокирована
или удалена. Тот же FileSearch или коллекция CommandBars...

А вообще спецификации IMHO правильнее делать в MS WORD ...
Но уж если используете EXCEL явно лучше прочерчивать таблицы используя .Borders
чем применять графику. Она кстати чрезвычайно "утяжеляет" файлы ...
не ребят. попытку нарисовать стандартную чертежную рамку обводя ячейки ексель мне кажется не совсем толковым, тем более что время от времен находятся какие-нибудь новые госты, нарисовать рамку программируемыми линиями гораздо проще, "тяжесть" файла не пугает.
вчера проверил поконкретнее. например свойство .ReadingOrder = Context не принимает (для объектов Shapes.SelectAll)
а раньше применял
возможно что действительно отрубили эти свойства.
главное в чем проблема - рекордер не записывает графику, если б писал, поковыряться да переделать не проблема...
проблема в том что не пишет он графику. (опять ругательства)
вчера проверил поконкретнее. например свойство .ReadingOrder = Context не принимает (для объектов Shapes.SelectAll)
а раньше применял
возможно что действительно отрубили эти свойства.
главное в чем проблема - рекордер не записывает графику, если б писал, поковыряться да переделать не проблема...
проблема в том что не пишет он графику. (опять ругательства)
to Aent
-------------
да махнул,
действительно... редактор макросов работает вне зависимости от того, включены макросы в книге в данный момент, или нет.
to KOSH
-------------
предлагаю следующий путь решения вашей проблемы...
установите виртуальную машину с 2003 excel-ем и подсматривайте/копируйте оттуда код.
измененные свойства 2007-ого изучайте уже в справке 2007.
-------------
да махнул,
действительно... редактор макросов работает вне зависимости от того, включены макросы в книге в данный момент, или нет.
to KOSH
-------------
предлагаю следующий путь решения вашей проблемы...
установите виртуальную машину с 2003 excel-ем и подсматривайте/копируйте оттуда код.
измененные свойства 2007-ого изучайте уже в справке 2007.
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
Так у KOSH код в 2003-м уже записан макрорекордером" писал(а):установите виртуальную машину с 2003 excel-ем и подсматривайте/копируйте оттуда код

Проблема как я понял с переносом

К сожалению, не имею сейчас возможности посмотреть на 2007 офис
to Aent
правильно поняли. макрос написан и работает в 2003-ем (кстати псиал в исходном сообщении
)
при переносе не все легло ровно, так сказать.
главное что хотелось бы понять - как бы сделать так, чтобы макрорекордер 2007 екселя видел бы побольше, работу с графикой, надписи и прочее.
правильно поняли. макрос написан и работает в 2003-ем (кстати псиал в исходном сообщении

при переносе не все легло ровно, так сказать.
главное что хотелось бы понять - как бы сделать так, чтобы макрорекордер 2007 екселя видел бы побольше, работу с графикой, надписи и прочее.
to KOSH
если вам нужно СОЗДАТЬ НОВЫЙ код - то мы уже выяснили что макрорекордер в 2007 полностью не пишет все объекты.
Если вам необходимо ПОДПРАВИТЬ СУЩЕСТВУЮЩИЙ код в VBA
(повторюсь) тогда смотрите новые свойства объектов в VBA в справке и окне Watches - вживую и подправляйте код.
Запускайте макрос на выполнение и проверяйте пока он не станет РАБОТОСПОСОБНЫМ.
Макрорекордер, как я понимаю, здесь не нужен.
Макрорекордер выводит на используемые объекты, их свойства и метода, а их изучить и правильно задать в макросе уже задача разработчика.
Кстати,
конструкцию из линий можно нарисовать один раз-как шаблонное решение,
а затем копировать ее вместе с диапазоном на другое место - копирование диапазона макрорекордер пишет.
если вам нужно СОЗДАТЬ НОВЫЙ код - то мы уже выяснили что макрорекордер в 2007 полностью не пишет все объекты.
Если вам необходимо ПОДПРАВИТЬ СУЩЕСТВУЮЩИЙ код в VBA
(повторюсь) тогда смотрите новые свойства объектов в VBA в справке и окне Watches - вживую и подправляйте код.
Запускайте макрос на выполнение и проверяйте пока он не станет РАБОТОСПОСОБНЫМ.
Макрорекордер, как я понимаю, здесь не нужен.
Макрорекордер выводит на используемые объекты, их свойства и метода, а их изучить и правильно задать в макросе уже задача разработчика.
Кстати,
конструкцию из линий можно нарисовать один раз-как шаблонное решение,
а затем копировать ее вместе с диапазоном на другое место - копирование диапазона макрорекордер пишет.
-
- Сообщения: 17
- Зарегистрирован: 16 ноя 2007, 13:00
- Откуда: Ekaterinburg
- Контактная информация:
Пардон за офф.
Плз, кто в теме, посоветуйте что-нибудь стоящее почитать по VBA в Офисе-2007, и, скорее всего, только в Экселе. Конечно, куча строк-столбцов это здорово, но я, черт побери, расстроился, когда мой макрос, кот-й у меня в 2003-м отлично робил, а в 2007-м отработал частично. Может есть уже статьи какие по предмету стоящие? Сам пока себе 2007-й не ставил, просмотрел книжку нашего изд-ва про Эксель-2007 (уровень книги навскидку оценю как "говна кусок") и пока не понял, где еще плюсы, а винда у мну XP и Висту не хочется.
ЗЫ Ждать книги Уокенбаха не предлагать)))
Плз, кто в теме, посоветуйте что-нибудь стоящее почитать по VBA в Офисе-2007, и, скорее всего, только в Экселе. Конечно, куча строк-столбцов это здорово, но я, черт побери, расстроился, когда мой макрос, кот-й у меня в 2003-м отлично робил, а в 2007-м отработал частично. Может есть уже статьи какие по предмету стоящие? Сам пока себе 2007-й не ставил, просмотрел книжку нашего изд-ва про Эксель-2007 (уровень книги навскидку оценю как "говна кусок") и пока не понял, где еще плюсы, а винда у мну XP и Висту не хочется.
ЗЫ Ждать книги Уокенбаха не предлагать)))
to packer
--------------
У меня все макросы в 2007-ом заработали,
кто сразу-95%, а кто после некоторой правки.
Читать книги можно - но это все как-то теоретически,
Предложение простое - практически открывать книги в 2007 и подправлять что где не заработало.
Особых преимуществ в 2007-ом перед предыдущими версиями не вижу.
Минусы:
Пришлось собрать свою собственную панель быстрого запуска как в 2003 -
получился симбиоз панелей "Стандартная" и "Форматирование" из 2003-го.
ленточное меню - свернул и практически им не пользуюсь, в основном это тоже меню Файл/Правка/Вид в 2003, только к которому надо заново привыкать.
Плюсы:
Появилась контекстная всплывающая панель управления.
Но подредактировать на ней кнопки у меня не получилось.
Новые листики создаются одним кликом
А так - тот же Excel.
Предлагаю продолжить тему обсуждением...
кто как прижился в 2007-ом,
что хорошего нового и что не очень,
кто на какие ограничения еще наткнулся - и как победил.
--------------
У меня все макросы в 2007-ом заработали,
кто сразу-95%, а кто после некоторой правки.
Читать книги можно - но это все как-то теоретически,
Предложение простое - практически открывать книги в 2007 и подправлять что где не заработало.
Особых преимуществ в 2007-ом перед предыдущими версиями не вижу.
Минусы:
Пришлось собрать свою собственную панель быстрого запуска как в 2003 -
получился симбиоз панелей "Стандартная" и "Форматирование" из 2003-го.
ленточное меню - свернул и практически им не пользуюсь, в основном это тоже меню Файл/Правка/Вид в 2003, только к которому надо заново привыкать.
Плюсы:
Появилась контекстная всплывающая панель управления.
Но подредактировать на ней кнопки у меня не получилось.
Новые листики создаются одним кликом

А так - тот же Excel.
Предлагаю продолжить тему обсуждением...
кто как прижился в 2007-ом,
что хорошего нового и что не очень,
кто на какие ограничения еще наткнулся - и как победил.