powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проект статьи для FAQ про избавление от Select
5 сообщений из 30, страница 2 из 2
Проект статьи для FAQ про избавление от Select
    #37747045
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
работай бы код
Код: vbnet
1.
Set Wb = Worksheets("Sheet2").Copy

, т.е. будь Сору функцией, а не процедурой, то я был бы уверен, что объектная переменная Wb ссылается на книгу, созданную в результате вызова метода Worksheets("Sheet2").Copy, и ни на какую другую.
...
Рейтинг: 0 / 0
Проект статьи для FAQ про избавление от Select
    #37747060
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

Вообще то я могу мышкой кликнуть на панели Windows на какую нибудь другую книгу и она станет ActiveWorkbook.
Никто и ничто не запрещает мне это сделать в момент между
Код: vbnet
1.
    Worksheets("Sheet2").Copy


и
Код: vbnet
1.
    Set Wb = ActiveWorkbook


Конечно, специально сделать это не так просто, но все же возможно.
...
Рейтинг: 0 / 0
Проект статьи для FAQ про избавление от Select
    #37747096
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диклевич АлександрAntonariy,

Вообще то я могу мышкой кликнуть на панели Windows на какую нибудь другую книгу и она станет ActiveWorkbook.
Никто и ничто не запрещает мне это сделать в момент между
Код: vbnet
1.
    Worksheets("Sheet2").Copy


и
Код: vbnet
1.
    Set Wb = ActiveWorkbook


Конечно, специально сделать это не так просто, но все же возможно.Она не станет активной до завершения работы макроса. И таки запрещает. Запрещает сам поток, поскольку занят макросом, а не обработкой оконных сообщений от мыши.
Откройте эксель, создайте две книги, запустите указанный ниже код в любой из них и попробуйте переключится на вторую.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Declare Sub Sleep lib "kernel32.dll" ()

sub test()
Do 
    Sleep
Loop
End sub
...
Рейтинг: 0 / 0
Проект статьи для FAQ про избавление от Select
    #37747126
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

это да. Но вот если остановить макрос по Ctrl+Break, кликнуть на другую книгу, то ActiveWorkbook поменяется.
Спросите зачем останавливать? да мало ли, хотя бы для отладки.
...
Рейтинг: 0 / 0
Проект статьи для FAQ про избавление от Select
    #37747153
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диклевич АлександрAntonariy,

это да. Но вот если остановить макрос по Ctrl+Break, кликнуть на другую книгу, то ActiveWorkbook поменяется.
Спросите зачем останавливать? да мало ли, хотя бы для отладки.А если воткнуть в материнскую плату отвертку, то комп зависнет. Опять виноваты баги экселя?

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

PS: Конечно, все это не отменяет неудобства отсутствия ссылки на результат у Copy.
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проект статьи для FAQ про избавление от Select
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]