Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2015, 10:20   #41
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

предполагаю "главный таймер" крутися за счет цикла Do ... Loop до наступления нужного момента времени, поставте где-то в цикл DoEvent - заработают Ваши кнопки
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 15.01.2015, 10:53   #42
PascalSF
 
Регистрация: 15.01.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
предполагаю "главный таймер" крутися за счет цикла Do ... Loop до наступления нужного момента времени, поставте где-то в цикл DoEvent - заработают Ваши кнопки
Накидал болванку. Пробовал, безрезультатно. Выкладываю болванку, может у Вас получится!?
Вложения
Тип файла: zip TrackRace.zip (16.8 Кб, 14 просмотров)
PascalSF вне форума Ответить с цитированием
Старый 15.01.2015, 11:28   #43
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а теперь я не совсем понимаю что Вы хотите получить в итоге.
запустил таймер, нажал Ctrl+F, всплыло окно поиска, таймер работает... что еще надо-то?
какова сверхзадача?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 15.01.2015, 11:37   #44
PascalSF
 
Регистрация: 15.01.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
а теперь я не совсем понимаю что Вы хотите получить в итоге.
запустил таймер, нажал Ctrl+F, всплыло окно поиска, таймер работает... что еще надо-то?
какова сверхзадача?
1. Жмем кнопку "Включить горячие клавиши" (при нажатии клавиши "i" на клаве вызывается макрос RunTimer):
Код:
Sub RunShortcuts()
    On Error Resume Next
    EnableShortcuts = Not EnableShortcuts
    If EnableShortcuts Then
        listTimer.Shapes("buttonRunShortcuts").OLEFormat.Object.Caption = "Выключить горячие клавиши"
        Application.OnKey "i", "RunTimer"
    Else
        listTimer.Shapes("buttonRunShortcuts").OLEFormat.Object.Caption = "Включить горячие клавиши"
        Application.OnKey "i"
    End If
End Sub
2. Жмем клавишу "i" - запускается таймер. При повторном нажатии клавиши "i" ничего не происходит, а должен остановиться таймер.
PascalSF вне форума Ответить с цитированием
Старый 15.01.2015, 12:48   #45
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

похоже это тупиковая схема...

поставте где-то в RunShortcuts точку останова
жмите кнопку "Вкл.гор.клавиши" в своем файле (выполнение макроса остановилось)
нажмите повторно "Вкл.гор.клавиши"... видите сообщение? (звучит логично в данной ситуации)

не уверен, но предполагаю, что в пределах одного экземпляра Ексель нет возможности одновременно выполнять два пользовательских макроса, странно что никаких сообщений нет от Ексель при попытке запустить макрос еще раз

найдёте подтверждение или опровержение моих слов, выложите ссылку, пожалуйста

возможно, решение Вашей задачи находится в Application.OnTime
это точно не противоречит логике работы интерпретатора VBA
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 05.04.2015, 00:35   #46
grafff
Новичок
Джуниор
 
Регистрация: 05.04.2015
Сообщений: 4
По умолчанию секундомер

Всем привет! помогите немного. нужно сделать 3 макроса на горячие клавиши. 1 запускает секундомер и продолжает его после остановки. Секундомер запускается в той ячейке в которой стоит курсор. 2ой макрос выполняет остановку секундомера. 3й макрос выполняет сброс.
Т.е я могу запустить неограниченное кол-во секундомеров в любой ячейки листа. в зависимости от того где стоит курсор. останавливать и сбрасывать эти секундомеры.
Заранее благодарен!
grafff вне форума Ответить с цитированием
Старый 05.04.2015, 00:39   #47
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Посмотрите пример секундомера здесь:
http://excelvba.ru/programmes/StopWatch
и доработайте под свои нужды

> Т.е я могу запустить неограниченное кол-во секундомеров в любой ячейки листа
это может очень сильно тормозить комп, - если не тот макрос применить

сами пробовали что-нибудь сделать?
делать всё «с нуля» как-то не очень хочется...
EducatedFool вне форума Ответить с цитированием
Старый 05.04.2015, 00:43   #48
grafff
Новичок
Джуниор
 
Регистрация: 05.04.2015
Сообщений: 4
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Посмотрите пример секундомера здесь:
http://excelvba.ru/programmes/StopWatch
и доработайте под свои нужды

> Т.е я могу запустить неограниченное кол-во секундомеров в любой ячейки листа
это может очень сильно тормозить комп, - если не тот макрос применить

сами пробовали что-нибудь сделать?
делать всё «с нуля» как-то не очень хочется...
Да я посмотрел. Секундомер запускается в 1ой ячейке. Объясните как запускать его там где установлен курсор? Одновременно мне требуется запускать не более 4х секундомеров. Вообщем задача такая. Таблица из двух столбцов в первом задача над которой ведется работа. Во втором время. Т.е. таким образом хочу считать время затраченное на выполнение той или иной задачи. Одновременно выполняется не более 4х.
grafff вне форума Ответить с цитированием
Старый 05.04.2015, 00:46   #49
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот оно вам надо, секундомеры эти?
вы сильно усложняете задачу.

столбец 1 - задача
столбец 2 - дата начала
столбец 3 - дата окончания

можно написать простейший макрос из одной строки, который при двойном щелчке на ячейке второго или третьего столбца, пропишет туда текущее значение времени

и никакие секундомеры нафиг не нужны
а то запустите секундомер - и потом файл закрыть не можете, так как подсчет времени остановится

а мой вариант намного проще, и намного надежнее
EducatedFool вне форума Ответить с цитированием
Старый 05.04.2015, 00:50   #50
grafff
Новичок
Джуниор
 
Регистрация: 05.04.2015
Сообщений: 4
По умолчанию

Проблема в том, что нужно время выполнения задачи.
Я так и сделал для себя сначала. Но
1. Не удобно ставить время.
Даже взять рабочий день. есть обед есть совещания планерки и тд.
а нужно знать для отчета сколько времени затрачено на то или иное дело.
зная начало и конец нельзя выкинуть простои. которых может быть очень много.
grafff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите скрипт на секундомер? molodoyy PHP 1 23.03.2009 22:24
Секундомер aesoem Общие вопросы Delphi 10 28.01.2008 19:25
секундомер itisiam Общие вопросы Delphi 6 31.05.2007 16:55