|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Имеется макрос завязаный на кнопку в листе Excel. Макрос благополучно отработан и проблем ниразу не имел :-) Теперь возникла необходимость вызвать его извне по OLE Вызываю, он доходит вот до такой строки и падает :-) Код: vbnet 1. 2.
Ошибка во вложении. Так вот чего не так то, есть идеи? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 11:19 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Петров Андрей, Может для ячеек листа установлены стили? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 13:38 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Что за стили? Я ж говорю из Excel макрос отрабатывает без проблем... Мне кажется тут дело в ссылках на WorkBook, ActiveSheet и т.д. Переделал код вот так - не помогает: Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 14:14 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Петров АндрейЧто за стили? Я ж говорю из Excel макрос отрабатывает без проблем... Мне кажется тут дело в ссылках на WorkBook, ActiveSheet и т.д. Переделал код вот так - не помогает: Код: vbnet 1. 2. 3. 4. 5.
Попробуйте не использоваться ActiveWorkbook и ActiveWorkSheet. Вместо первой ThisWorkbook, а вторую задать явным образом. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 14:56 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Та же фигня. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 15:05 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
1. При использовании With нужно точку ставить в месте "подрузамевания", в данном случае перед Columns("L:L") Код: vbnet 1. 2.
2. У меня что-то подобное было, когда была активна форма на листе, а не его ячейки, поборолось путем выполнения сначала Sheets("Статистика").Range("A1").Activate, а потом уж работа с ячейками. Но что-то сейчас воспроизвести такую ситуацию не смог. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 15:07 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
еще идея, может стоит защита листа? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 15:16 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Неа нет защиты листа. Я ж говорю если вызываю из Excel все работает... Попробовал с "." и без них (кстати помоему нет разницы) Попробовал Columns("L:L").Activate Selection.NumberFormat = "General" Одна шляпа. Может как еще попробовать? Причем остальные ссылки типа таких работают: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 15:23 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
еще есть идея "тупейного" подхода 1. В ручном режиме остановить макрос в месте ошибки, оставить один лист и одну колнку L, сохранить в xlsx. 2. То же самое проделать в OLE режиме. 3. Сравнить содержимое xlsx файлов (разархивировав предварительно), и узнать, чем же разнятся колонки L в xml файлах. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 15:45 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Ну ваще :-))) Это ж надо... Возьму на заметку. Лучше я их оставлю закоменченными. Фиг бы с ними... Тем более что нету у меня Excel 2013 (помоему) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 15:50 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Оставь макрос с форматированием в Excel и делай Run этого макроса из программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 16:00 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2.
Так задумано? Активируете лист активной книги, а все остальное применяете к книге с кодом. Вы из книги запускаете код? Вроде бы извне. Так и делайте все извне, зачем привязываться к активным книгам? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
А вообще уточните, что значит "извне"? Из другой программы или другой книги? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 16:50 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Нет не задумано - пробовал по разному никак не заработало. Извне значит из Oracle Forms. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2013, 09:12 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Петров Андрей, Тогда напишите как подключаетесь к Excel, открываете ли книгу или она открыта. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2013, 11:23 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2013, 11:41 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Петров Андрей, Хорошо. Посмотрел. Я так понимаю Вы предлагает нам теперь угадать где расположен макрос? Из кода в той теме видно, что Вы создаете новую книгу. В ней по определению не может быть кода, т.к. Вы его туда не воткнули. Значит код в какой-то другой книге, но в какой опять же нам надо угадывать. К тому же Вы создаете новое приложение Excel - значит там только одна книга - созданная. неужели для помощи Вам же нам надо из Вас вытягивать весь порядок Ваших действий? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2013, 12:43 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Согласен был не прав, держите весь код: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2013, 13:33 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Ну и до кучи: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2013, 13:47 |
|
Падает на простейшей команде установки формата
|
|||
---|---|---|---|
#18+
Петров Андрей, Если честно, не вижу причин для краха. Либо проблема не в коде. Вы мой код пробовали применить? Без Select-ов который? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
wbAct.Names("StatData").RefersTo = .Range("B4:U" & aEndOn) и не применяйте знак + при работе со строками в VBA. Там это не приветствуется, в отличие от С. Там для соединения текста используется амперсанд & . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2013, 20:38 |
|
|
start [/forum/topic.php?fid=61&fpage=72&tid=2174546]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 304ms |
total: | 432ms |
0 / 0 |