Страница 1 из 2

некоторые проблемы Excel 2007

Добавлено: 14 ноя 2007, 14:37
KOSH
Ситуация
имеется макрос. башой башой, который и обрабатывает данные, и переразбивает их, а главное - вставляет в определенном порядке на листы. выравнивает все это дело, сам рисует ко всему этому рамочки, заполняет эти рамочки и выводит на печать (применял для спецификаций)
этот макрос был создан рекодером и очумелыми ручками в excel 2003
при переносе файла в 2007 версию работа с графическими объектами пошла некорректно, выдает ошибки типов, значений и прочие трудновразумительные вещи. Подчеркиваю, именно этот макрос в 2003 работает как часы,все рисует и понимает.
и Вот тут столкнулся с траблой.
попытался записать те же команды рекордером и перевести прогу на новый язык (если там что-то поменялось), а макрорекордер 2007 екселя не видит работы с графикой вообще, и еще много чего не видит.
поясняю
включаем запись, рисуем на листе линии картинки, хоть мадонну с младенцем. заходим в макрос - пусто!!! (длинные ругательства)
есть подозрения что неподгружен какой-то модуль либо еще чаво
знающие люди, подскажите
p.s. не являюсь профессионалом, макросы пишу от природной тяги и лени, поэтому бошая просьба писать попонятнее

Re: некоторые проблемы Excel 2007

Добавлено: 14 ноя 2007, 20:13
Avsha
А макросы в книге включены?
Excel 2007 "заботливо" их отключает по умолчанию
и выводит скромное окно вверху, что макросы отключены и если все-таки хотите включить, то вот вам кнопка для включения.

Это естественно - при определенном уровне безопасности - среднем.

Excel2003 и ниже, как мне помнится, не пускали пользователя модальным окном-вопросом, включать макросы или нет, и честно мучили пользователя, пока тот не сделает выбор.
А здесь выбор делает сам Excel, причем в пользу отключения.

Re: некоторые проблемы Excel 2007

Добавлено: 14 ноя 2007, 23:35
Aent
Avsha, KOSH же пишет что у него макрос
выдает ошибки типов, значений и прочие трудновразумительные вещи
- т.е. однозначно запускается.
Возможно здесь проявляются отличия объектной модели 2007 офиса от 2003.
Они есть и довольно значительные. Часть старых объектов и методов заблокирована
или удалена. Тот же FileSearch или коллекция CommandBars... ;)
А вообще спецификации IMHO правильнее делать в MS WORD ...
Но уж если используете EXCEL явно лучше прочерчивать таблицы используя .Borders
чем применять графику. Она кстати чрезвычайно "утяжеляет" файлы ...

Re: некоторые проблемы Excel 2007

Добавлено: 15 ноя 2007, 05:19
KOSH
не ребят. попытку нарисовать стандартную чертежную рамку обводя ячейки ексель мне кажется не совсем толковым, тем более что время от времен находятся какие-нибудь новые госты, нарисовать рамку программируемыми линиями гораздо проще, "тяжесть" файла не пугает.
вчера проверил поконкретнее. например свойство .ReadingOrder = Context не принимает (для объектов Shapes.SelectAll)
а раньше применял
возможно что действительно отрубили эти свойства.
главное в чем проблема - рекордер не записывает графику, если б писал, поковыряться да переделать не проблема...
проблема в том что не пишет он графику. (опять ругательства)

Re: некоторые проблемы Excel 2007

Добавлено: 15 ноя 2007, 14:09
Avsha
to Aent
-------------
да махнул,
действительно... редактор макросов работает вне зависимости от того, включены макросы в книге в данный момент, или нет.

to KOSH
-------------
предлагаю следующий путь решения вашей проблемы...
установите виртуальную машину с 2003 excel-ем и подсматривайте/копируйте оттуда код.
измененные свойства 2007-ого изучайте уже в справке 2007.

Re: некоторые проблемы Excel 2007

Добавлено: 15 ноя 2007, 14:37
Aent
&quot писал(а):установите виртуальную машину с 2003 excel-ем и подсматривайте/копируйте оттуда код
Так у KOSH код в 2003-м уже записан макрорекордером ;)
Проблема как я понял с переносом ;)
К сожалению, не имею сейчас возможности посмотреть на 2007 офис

Re: некоторые проблемы Excel 2007

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

Re: некоторые проблемы Excel 2007

Добавлено: 16 ноя 2007, 09:28
Avsha
to KOSH
если вам нужно СОЗДАТЬ НОВЫЙ код - то мы уже выяснили что макрорекордер в 2007 полностью не пишет все объекты.

Если вам необходимо ПОДПРАВИТЬ СУЩЕСТВУЮЩИЙ код в VBA
(повторюсь) тогда смотрите новые свойства объектов в VBA в справке и окне Watches - вживую и подправляйте код.
Запускайте макрос на выполнение и проверяйте пока он не станет РАБОТОСПОСОБНЫМ.
Макрорекордер, как я понимаю, здесь не нужен.
Макрорекордер выводит на используемые объекты, их свойства и метода, а их изучить и правильно задать в макросе уже задача разработчика.

Кстати,
конструкцию из линий можно нарисовать один раз-как шаблонное решение,
а затем копировать ее вместе с диапазоном на другое место - копирование диапазона макрорекордер пишет.

Re: некоторые проблемы Excel 2007

Добавлено: 16 ноя 2007, 18:35
packer
Пардон за офф.
Плз, кто в теме, посоветуйте что-нибудь стоящее почитать по VBA в Офисе-2007, и, скорее всего, только в Экселе. Конечно, куча строк-столбцов это здорово, но я, черт побери, расстроился, когда мой макрос, кот-й у меня в 2003-м отлично робил, а в 2007-м отработал частично. Может есть уже статьи какие по предмету стоящие? Сам пока себе 2007-й не ставил, просмотрел книжку нашего изд-ва про Эксель-2007 (уровень книги навскидку оценю как "говна кусок") и пока не понял, где еще плюсы, а винда у мну XP и Висту не хочется.
ЗЫ Ждать книги Уокенбаха не предлагать)))

Re: некоторые проблемы Excel 2007

Добавлено: 17 ноя 2007, 01:10
Avsha
to packer
--------------
У меня все макросы в 2007-ом заработали,
кто сразу-95%, а кто после некоторой правки.

Читать книги можно - но это все как-то теоретически,
Предложение простое - практически открывать книги в 2007 и подправлять что где не заработало.

Особых преимуществ в 2007-ом перед предыдущими версиями не вижу.
Минусы:
Пришлось собрать свою собственную панель быстрого запуска как в 2003 -
получился симбиоз панелей "Стандартная" и "Форматирование" из 2003-го.
ленточное меню - свернул и практически им не пользуюсь, в основном это тоже меню Файл/Правка/Вид в 2003, только к которому надо заново привыкать.
Плюсы:
Появилась контекстная всплывающая панель управления.
Но подредактировать на ней кнопки у меня не получилось.
Новые листики создаются одним кликом :)

А так - тот же Excel.

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