Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Подскажите как правильно использовать Application.OnTime в проекте VB6. Для примера в новом проекте есть форма с одной кнопкой и кодом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. при нажатии на кнопку через 5 секунд появляется ошибка: P.S. Библиотека Excel подключена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2010, 10:38 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Ruslan B., Попытался вышеуказанный код впихнуть в VB 5.0 (т.к. VB 6.0 у меня нет), так ему строчка Application.OnTime вообще не понравилась, наверно надо библиотеку подключать какую-то. Потом увидел что на вашем скрине окошко у Excel. Нарисовал я в Excel 2003 форму с кнопкой и вышеуказанный код прикрепил, там всё работает, через 5 секунд после нажатия кнопки выходит сообщение "Ok". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2010, 10:51 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Ruslan B., В VB6 нет объекта Application. А если уж вы подключили референс на эксель, то надо загружать эксель, да и макрос должен быть тогда в экселе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2010, 10:52 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Shocker.ProRuslan B., В VB6 нет объекта Application. А если уж вы подключили референс на эксель, то надо загружать эксель, да и макрос должен быть тогда в экселе. Да, но время то он отсчитывает как положено, а вот нужную функцию запустить не хочет. Значит без загрузки Excel не получится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2010, 11:14 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Ruslan B., "MySub" должен быть в Экселе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2010, 11:28 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Ruslan B.Значит без загрузки Excel не получится? Первое обращение к Application неявно запускает Эксель. Это вы можете скорее всего почувствовать по торможению. Обратите также внимание на заголовок сообщения об ошибке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2010, 11:32 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Hugo121Ruslan B., "MySub" должен быть в Экселе. Сделал связку с Excel: Код: plaintext 1. 2. 3. 4. 5. файл.xlsm висит какое-то время в памяти (невидимый) и ждет срабатывания On.Time (в процедуре MySub). Так вот если в это время вручную открыть любой другой файл Excel, то окошко файл.xlsm становится видимым и его можно закрыть вручную, пока он еще не закончил свою работу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2010, 08:50 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Ruslan B., Книгу можно скрыть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2010, 09:30 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Shocker.ProRuslan B., Книгу можно скрыть А как? Если Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2010, 09:37 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Ruslan B., Visible для какого объекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2010, 09:38 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Вы имеете ввиду код выше? так вы скрываете эксель, а не книгу. Точнее даже так - скрывается не книга, а окно (то есть .Visible=False надо применить к объекту типа Window) Например Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2010, 09:46 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Shocker.ProВы имеете ввиду код выше? Да Shocker.Pro Например Код: plaintext В этом случае при открытии и последующем закрытие (вручную) другого файла xls остается видимым окно Excel (правда самого файла "файл.xlsm" не видно, но при закрытии окна Excel "файл.xlsm" закрывается. Shocker.Proчерез коллекцию Windows вашего объекта wb Об этом можно поподробнее пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2010, 10:20 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
При открытии файла xls из VB6 и вручную (разные файлы) - они открываются в одном процессе excel.exe (в диспетчере задач). Можно ли сделать так, чтобы эти процессы открывались независимо друг от друга? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2010, 11:42 |
|
||
|
Application.OnTime
|
|||
|---|---|---|---|
|
#18+
Ruslan B.Shocker.Proчерез коллекцию Windows вашего объекта wb Об этом можно поподробнее пожалуйста. А что тут подробнее? Так как, открыв свою книгу, вы вряд ли плодите окна, то в wb.Windows единственный член, его и делайте Visible=False. Но вас это не устраивает, так как остается окно экселя при закрытии файла. Можете попытаться следить за событиями вашего экселя из VB. При закрытии пользователем последнего документа кроме вашего, делать окно экселя невидимым. Ruslan B.При открытии файла xls из VB6 и вручную (разные файлы) - они открываются в одном процессе excel.exe (в диспетчере задач). Можно ли сделать так, чтобы эти процессы открывались независимо друг от друга? Ну создайте два процесса excel.exe, поэкспериментируйте, в каком из них будут открываться файлы по инициативе пользователя. Только все это ради OnTime в VB6? Может все-таки проще пересмотреть алгоритм? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2010, 13:58 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=120&tid=2159468]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 160ms |

| 0 / 0 |
