Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
доброго времени суток, уважаемые Подскажите пожалуйста существуют ли приемы условно говоря всех объектов Excel и заполнения только конкретного экземпляра? Ситуация следущая: Имеется приложение, которое по кнопке выводит пользователю отчет с форматированием не только шапки, но и всего объема данных (условно говоря секционирование строк + форматирование по центру в первом столбце каждой секции) в зависимости от объема данных отчет может заполняться до 50 секунд В это время пользователь хочет работать в другом (своем) экземпляре Excel, и как только он позиционирует курсор на своем экселевом файле, то теряется ссылка на ActiveSheet, ну и возникает ошибка "Application-defined or object-defined error" выгружать данные через буфер - не вариант, потому как не понимаю как можно будет задать указанное форматирование. собственно, может ли кто-нибудь помочь советом по вопросу блокировки всех экземпляров Excel или поделиться опытом в случае удачного решения описанной проблемы. _________________________________ Не нужно бежать от снайпера, только умрешь уставшим(с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:04 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
видимо так ваше ПО написано, надо было делать не через ActiveSheet, а через именнованный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:06 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Просто не надо работать с ActiveSheet - работать со ссылкой на конкретный лист ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:08 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Konst_Oneвидимо так ваше ПО написано, надо было делать не через ActiveSheet, а через именнованный Ну можно просто в начале макроса Set MySheet=ActiveSheet и дальше работать с MySheet ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:09 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Shocker.ProKonst_Oneвидимо так ваше ПО написано, надо было делать не через ActiveSheet, а через именнованный Ну можно просто в начале макроса Set MySheet=ActiveSheet и дальше работать с MySheet ну так и я об этом же или просто сделать уникальное имя и к нему обращаться при открытие объекта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:10 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Konst_Oneвидимо так ваше ПО написано, надо было делать не через ActiveSheet, а через именнованный Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:14 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
это я к тому, что вроде как ссылка именнованная ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:15 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
плохо это очень, через findwindow - это вообще жесть какая-то. может сразу createobject() попробуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:15 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Konst_Oneплохо это очень, через findwindow - это вообще жесть какая-то. может сразу createobject() попробуете?а ты дальше второй строки смотришь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:16 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
KallandorKonst_Oneплохо это очень, через findwindow - это вообще жесть какая-то. может сразу createobject() попробуете?а ты дальше второй строки смотришь? смотрю, но это извращение, а не код. открывайте сразу нужный вам sheet ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:17 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Kallandorэто я к тому, что вроде как ссылка именнованная ;) Если дальнейшая работа идет ТОЛЬКО с exws, то проблем с уводом фокуса пользователем быть не должно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:18 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Konst_OneKallandorKonst_Oneплохо это очень, через findwindow - это вообще жесть какая-то. может сразу createobject() попробуете?а ты дальше второй строки смотришь? смотрю, но это извращение, а не код. открывайте сразу нужный вам sheetсейчас о чем идет речь? о макросе? о приложении? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:18 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Shocker.ProKallandorэто я к тому, что вроде как ссылка именнованная ;) Если дальнейшая работа идет ТОЛЬКО с exws, то проблем с уводом фокуса пользователем быть не должнода, дальше работа идет только по exws и проблема возникает =) парадокс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:19 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
KallandorShocker.ProЕсли дальнейшая работа идет ТОЛЬКО с exws, то проблем с уводом фокуса пользователем быть не должнода, дальше работа идет только по exws и проблема возникает =) парадокс Тогда приведенных вами данных недостаточно для локализации проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:21 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
KallandorShocker.ProKallandorэто я к тому, что вроде как ссылка именнованная ;) Если дальнейшая работа идет ТОЛЬКО с exws, то проблем с уводом фокуса пользователем быть не должнода, дальше работа идет только по exws и проблема возникает =) парадокс я вообще не понимаю зачем вы окно excel-a пытаетесь искать, из-за этого у вас и проблемы. и объект workbook тоже можно получить при добавлении, а не юзать по ссылке ActiveWorkbook ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:22 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Konst_OneKallandorShocker.ProKallandorэто я к тому, что вроде как ссылка именнованная ;) Если дальнейшая работа идет ТОЛЬКО с exws, то проблем с уводом фокуса пользователем быть не должнода, дальше работа идет только по exws и проблема возникает =) парадокс я вообще не понимаю зачем вы окно excel-a пытаетесь искать, из-за этого у вас и проблемы. и объект workbook тоже можно получить при добавлении, а не юзать по ссылке ActiveWorkbook Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:28 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Shocker.ProKallandorShocker.ProЕсли дальнейшая работа идет ТОЛЬКО с exws, то проблем с уводом фокуса пользователем быть не должнода, дальше работа идет только по exws и проблема возникает =) парадокс Тогда приведенных вами данных недостаточно для локализации проблемы. то есть вы сомневаетесь в моей способности локализовать проблему? =) Ошибка происходит при попытке установки значения в ячейку Код: plaintext строка на которой происходит ошибка =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:30 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
ещё раз: создавайте объект экселя сами на основе нужного вам sheet и не будет у вас проблем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:32 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
> Автор: Kallandor Привет, меч, который не меч и не меч вовсе :) Перепиши код таким образом, чтобы исключить любое обращение с общим свойствам типа ActiveSheet, ActiveCell. Для этого пообявляй переменные нужных типов и инициализируй их при начале работы макроса/программы. Например так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. В примере на входе книга с листом данных, зачастую повторяющихся по многим столбцам, макрос "вытаскивает" уникальные комбинации данных по нужным столбцам в новую книгу, и потом "перетряхивает" исходные данные для "ужатия", т.е. отбрасывает ненужные столбцы, а сумму суммирует. При этом происходят постоянные обращения к разным книгам и никакой проблемы нет. Дальше, тебе сказали что глупо искать окно ексела, если можно обойтись несколькими строчками кода: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:35 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Konst_Oneещё раз: создавайте объект экселя сами на основе нужного вам sheet и не будет у вас проблем звучит также как: ешьте чеснок три раза в день и будет вам счастье ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:35 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
KallandorKonst_Oneещё раз: создавайте объект экселя сами на основе нужного вам sheet и не будет у вас проблем звучит также как: ешьте чеснок три раза в день и будет вам счастье что вам пытаются объяснить: метод ExcelApp.Workbooks.Add возвращает Workbook использовать ActiveWorkbook НЕ НАДО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:36 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос > Автор: Kallandor Привет, меч, который не меч и не меч вовсе :) Перепиши код таким образом, чтобы исключить любое обращение с общим свойствам типа ActiveSheet, ActiveCell. Для этого пообявляй переменные нужных типов и инициализируй их при начале работы макроса/программы. Дальше, тебе сказали что глупо искать окно ексела, если можно обойтись несколькими строчками кода. привет =) обращение к ActiveSheet у меня идет всего лишь один раз. Обращения к ActiveCells нет. данные берутся из RecordSet, и обрабатываются не макросом, а приложением (приложение написано на VB6) выделенное не поняла к чему относится =) Shocker.Pro что вам пытаются объяснить: метод ExcelApp.Workbooks.Add возвращает Workbook использовать ActiveWorkbook НЕ НАДО а как мне тогда достучаться до листа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:46 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Kallandorа как мне тогда достучаться до листа? Чистого? WorkSheets(1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:48 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
1. Kallandor то есть вы сомневаетесь в моей способности локализовать проблему? 2. Kallandorто теряется ссылка на ActiveSheet, ну и возникает ошибка 3. Kallandorда, дальше работа идет только по exws и проблема возникает Если 3., то причем здесь 2.? Либо проблема в другом, либо ActiveЧтоТо все же используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 14:49 |
|
||
|
Excel. Потеря ActiveSheet
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro1. Kallandor то есть вы сомневаетесь в моей способности локализовать проблему? 2. Kallandorто теряется ссылка на ActiveSheet, ну и возникает ошибка 3. Kallandorда, дальше работа идет только по exws и проблема возникает Если 3., то причем здесь 2.? Либо проблема в другом, либо ActiveЧтоТо все же используется. Коллега, при всем уважении к вашему искреннему желанию помочь мне в решении проблемы и ради исключения флуда и офтопа давайте сравним словари. 1. Есть ли у вас приложения написанные на VB6, которые долго и упорно что-либо пишут в Excel, с форматированием из приложения (не по макросу)? 2. Если подобные приложения имеются не могли бы вы провести эксперимент: а) открыть новый файл экселя.. что-нибудь туда записать (не закрывать) б) запустить приложение которое бы наполняло Excel в) переключиться на созданный вами файл Excel и что-либо в нем отредактировать? 3. Сообщить о результатах эксперимента. В случае возникновения ошибки (отлов ошибки в приложении должен быть предусмотрен) написать ее текс, или отловить ошибку в RunTime ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2010, 15:08 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36887218&tid=2159366]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 384ms |

| 0 / 0 |
