1 / 1 / 0
Регистрация: 03.07.2012
Сообщений: 13
|
|
1 | |
Отследить изменение в редакторе макросов12.07.2012, 18:42. Показов 1955. Ответов 15
Метки нет (Все метки)
отследить изменение в редакторе макросов возможно отследить изменение в редакторе макросов и если да то как запустить другой
0
|
12.07.2012, 18:42 | |
Ответы с готовыми решениями:
15
Отследить выбранную ячейку, без макросов (формулы excel) Изменение цвета в редакторе. изменение имени агента в эклипсовом редакторе 8.5.1 Изменение размеров диалогового окна в редакторе |
1687 / 559 / 74
Регистрация: 10.04.2009
Сообщений: 9,201
|
|
12.07.2012, 19:25 | 3 |
0
|
1 / 1 / 0
Регистрация: 03.07.2012
Сообщений: 13
|
|
13.07.2012, 13:53 [ТС] | 4 |
Catstail,я над излаганием поработаю...... мне нужно проверить на целисность кода после закрытия файла, или же проверить открыт ли редактор формул
0
|
Модератор
|
|
13.07.2012, 18:05 | 5 |
Сообщение было отмечено как решение
Решение
О! Проверить целостность кода можно через объектную модель VBE. Можно посчитать CRC-код для всех исходников (модулей, форм, классов). А потом сравнивать его со спрятанным в "укромном уголке" значением.
Добавлено через 4 часа 8 минут Выкладываю наглядный пример расчета CRC-кода для одного модуля. В примере CRC-код хранится в ячейке B1 листа Лист4. Щелкните по кнопке "Пуск" - вам будет предложено установить CRC или проверить его. Сначала установите. Затем откроется код модуля. Чего-нибудь поправьте, вернитесь на первый лист, нажмите "Пуск" и снова проверьте CRC... Предупреждаю, программный доступ к проекту доводит антивирусы до бешенства.
7
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
14.07.2012, 07:58 | 6 |
Классно, спасибище! Это твоя собственная реализация алгоритма CRC32?
Меня сразу смутила там программная реализация shr - такие грабли все из-за того, что Long - знаковый тип данных, хотя и 32bit. Почему в VBA нет беззнакового 32-bit целого? Это его недостаток. В x86 ассемблере операция shr выполняется за 1 такт, а по размеру кода например shr eax,1 занимает 2 байта. Если бы был беззнаковый тип, достаточно было бы написать Переменная = Переменная \ (2 ^ ПравыйCдвиг) и все. Для контроля целостности VBA-проекта также можно использовать встроенную возможность - цифровую подпись проектов VBA.
1
|
Модератор
|
|
14.07.2012, 09:25 | 7 |
Спасибо за добрые слова!
Реализация - не помню откуда взял прототип и переписал на VB. А насчет проблем с отсутствием беззнаковых в VB/VBA... Мои принципы просты: 1) нужна возможность - реализуй (от простой реализации к сложной) 2) все работает - забудь 3) не хватает производительности - улучшай (от простого к с ложному) про shr я благополучно забыл. Производительности хватает.
2
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
14.07.2012, 11:14 | 8 |
Эту цитату в рамочку и в FAQ или в Правила форума, мне особенно понравилось! Ещё несколько подобных тезисов и можно озаглавить "*ть заповедей программиста". Перфекционизм может быть вреден для эффективной разработки.
Что до реализации типа Unsigned Long (назовем его uLong), то скажем я создам класс для этого типа, но в VBA нельзя как в C++ перегрузить операторы '+', '-', '/', '\', '*' и т.д. (я прав здесь?), а реализация через синтаксис методов и свойств класса будет выглядеть "экзотически", чего бы не очень хотелось.
0
|
Модератор
|
|
14.07.2012, 14:09 | 9 |
Еще раз спасибо за оценку... Да, перегружать операторы в VB/VBA, к сожалению нет возможности. Кстати, рекомендую замечательную книгу Брюса Мак-Кинни "Visual Basic - крепкий орешек". Там много интересного.
2
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
14.07.2012, 16:15 | 10 |
0
|
1 / 1 / 0
Регистрация: 03.07.2012
Сообщений: 13
|
|
16.07.2012, 14:03 [ТС] | 12 |
Catstail, ваш вариант то что надо, только что за код он проставляет в листе 4.....и чутаху о методе проверки плиз....пока розобрасться сам не могу
0
|
Модератор
|
|
16.07.2012, 14:14 | 13 |
На Листе 4 он запоминает т.н. CRC-код модуля. СRC - это, грубо говоря, вот что: по произвольной п-ти байтов любой длины строится 32-х битное беззнаковое целое, которое обладает таким свойством: любое изменение исходной последовательности дает код CRC, отличный от предыдущего.
1
|
1 / 1 / 0
Регистрация: 03.07.2012
Сообщений: 13
|
|
16.07.2012, 18:11 [ТС] | 14 |
Catstail, а можно проверить програмно открыт ли редактор ВБА?
0
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
||||||
16.07.2012, 21:07 | 16 | |||||
Это сработает только если не закрыты все дочерние окна с кодом, можно сделать проще и надежней:
1
|
16.07.2012, 21:07 | |
16.07.2012, 21:07 | |
Помогаю со студенческими работами здесь
16
Изменение шрифта в самодельном текстовом редакторе Отследить Изменение Аттачмента Отследить изменение в базе Как отследить изменение БД Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как проверить, что файл НЕ существует с помощью Bash
bytestream 25.01.2025
В системном администрировании проверка существования файлов является фундаментальной операцией, особенно при написании скриптов на Bash. Правильная обработка ситуаций, когда файл отсутствует,. . .
|
Как проверить, что строка пустая, неопределена или null в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript разработчики регулярно сталкиваются с необходимостью проверки строковых значений на различные состояния. Валидация данных является критически важным. . .
|
Как проверить существование ключа в объекте или массиве в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript программисты постоянно сталкиваются с необходимостью работать с объектами и массивами. Эти структуры данных являются фундаментальными элементами языка и. . .
|
Как создать ArrayList из массива (array) в Java
bytestream 25.01.2025
При разработке программного обеспечения на языке Java программисты часто сталкиваются с необходимостью эффективного управления наборами данных. Массивы и ArrayList являются двумя фундаментальными. . .
|
Как сгенерировать случайные целые числа (int) в указанном диапазоне в Java
bytestream 25.01.2025
В программировании генерация случайных чисел является важнейшим инструментом для решения множества практических задач. От создания игровых механик до реализации алгоритмов машинного обучения, от. . .
|
Как сделать, чтобы grep выводил строки до и после найденной
hw_wired 25.01.2025
Утилита grep стала незаменимым инструментом для поиска и фильтрации информации в Unix-подобных операционных системах. Эта командная утилита позволяет осуществлять поиск строк, соответствующих. . .
|
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
|
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
|
Как получить имя текущей ветки в Git
bytestream 24.01.2025
При работе с Git часто возникает необходимость определить имя текущей ветки, в которой ведется разработка. Знание текущей ветки является критически важным аспектом для эффективного управления. . .
|
Как отсортировать массив объектов по значению поля объекта в JavaScript
bytestream 24.01.2025
При разработке веб-приложений на JavaScript разработчики часто сталкиваются с необходимостью работать с массивами объектов. Эти структуры данных представляют собой упорядоченные наборы элементов, где. . .
|
Ошибка "src refspec master does not match any" при пуше коммита в Git
bytestream 24.01.2025
При работе с системой контроля версий Git разработчики нередко сталкиваются с различными ошибками, одной из которых является сообщение "src refspec master does not match any". Эта ошибка возникает. . .
|
Как округлить не более двух цифр после запятой в JavaScript
bytestream 24.01.2025
При работе с числами в JavaScript разработчики часто сталкиваются с необходимостью округления десятичных значений до определенного количества знаков после запятой. Это особенно важно при работе с. . .
|