Время не ждет vba excel

Обновлено: 07.07.2024

Мне было предложено обновить некоторые макросы Excel 2003, но проекты VBA защищены паролем, и похоже, что отсутствует документация. никто не знает пароли.

Есть ли способ удалить или взломать пароль в проекте VBA?

ОТВЕТЫ

Ответ 1

Вы можете попробовать этот прямой подход VBA , который не требует редактирования HEX. Это будет работать для любых файлов (*.xls, *.xlsm, *.xlam. ).

Протестировано и работает на:

Excel 2007
Excel 2010
Excel 2013 - 32-разрядная версия
Excel 2016 - 32-разрядная версия

Ищете 64-битную версию? Смотрите этот ответ

Как это работает

Я постараюсь объяснить, как это работает, извините, пожалуйста, за мой английский.

  1. VBE вызовет системную функцию для создания диалогового окна пароля.
  2. Если пользователь вводит правильный пароль и нажимает OK, эта функция возвращает 1. Если пользователь вводит неправильный пароль или нажимает Отмена, эта функция возвращает 0.
  3. После закрытия диалогового окна VBE проверяет возвращаемое значение системной функции
  4. если это значение равно 1, VBE будет "думать", что пароль верный, поэтому заблокированный проект VBA будет открыт.
  5. Приведенный ниже код заменяет память исходной функции, использованной для отображения диалогового окна ввода пароля, с пользовательской функцией, которая всегда будет возвращать 1 при вызове.

Используя код

Пожалуйста, сначала сделайте резервную копию ваших файлов!

    Откройте файл (ы), которые содержат ваши заблокированные проекты VBA

Создайте новый файл xlsm и сохраните этот код в Module1

code credited to Siwtom (nick name), a Vietnamese developer

Вставьте этот код под вышеуказанным кодом в Module1 и запустите его

Возвращайтесь к своим проектам VBA и наслаждайтесь.

Ответ 2

Да, есть, пока вы используете таблицу формата .xls (по умолчанию для Excel до 2003 года). Для Excel 2007 по умолчанию используется .xlsx , который является довольно безопасным форматом, и этот метод не будет работать.

Как говорит Треб, это простое сравнение. Один из способов - просто поменять запись пароля в файле с помощью шестнадцатеричного редактора (см. Hex editors for Windows). Шаг за шагом:

  • Создайте новый простой файл excel.
  • В части VBA установите простой пароль (скажем - 1234).
  • Сохраните файл и выйдите. Затем проверьте размер файла - см. Stewbob gotcha
  • Откройте файл, который вы только что создали, с помощью шестнадцатеричного редактора.

Скопируйте строки, начинающиеся со следующих клавиш:

FIRST BACKUP файл excel, для которого вы не знаете пароль VBA, затем откройте его с помощью шестнадцатеричного редактора и вставьте указанные выше скопированные строки из фиктивного файла.

Если вам нужно работать с Excel 2007 или 2010, есть некоторые другие ответы ниже, которые могут помочь, особенно эти: 1, 2, 3.

EDIT Февраль 2015: для другого метода, который выглядит очень многообещающим, посмотрите этот новый ответ на Đức Тхань Нгуен.

Ответ 3

Существует другое (несколько проще) решение без проблем с размером. Сегодня я использовал этот подход (в файле XLS 2003 года, используя Excel 2007) и был успешным.

  • Резервное копирование файла xls
  • Откройте файл в редакторе HEX и найдите DPB=. часть
  • Измените строку DPB=. на DPx=.
  • Откройте файл xls в Excel
  • Откройте редактор VBA ( ALT + F11 )
  • волшебство: Excel обнаруживает недействительный ключ (DPx) и спрашивает, хотите ли вы продолжить загрузку проекта (в основном игнорируя защиту).
  • Вы сможете перезаписать пароль, поэтому измените его на то, что вы можете запомнить
  • Сохранить файл xls *
  • Закройте и снова откройте документ и примените магию VBA!

Ответ 4

Я построил на Đức Thanh Nguyễn фантастический ответ, чтобы этот метод работал с 64-разрядными версиями Excel. Я запускаю 64-разрядную версию Excel 2010 в 64-разрядной версии Windows 7.

    Откройте файл (ы), содержащий ваши заблокированные проекты VBA.

Создайте новый файл xlsm и сохраните этот код в Module1

Вставьте этот код в Module2 и запустите его

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ Это сработало для меня, и я зарегистрировал его здесь, надеясь, что это поможет кому-то. Я не полностью его протестировал. Перед продолжением этой операции обязательно сохраните все открытые файлы.

Ответ 5

Колин Пикард имеет отличный ответ, но с этим "один из них". Есть примеры (я еще не выяснил причину), где общая длина записи "CMG =. GC =. " в файле отличается от одного файла excel следующий. В некоторых случаях эта запись будет 137 байтов, а в других - 143 байта. Длина 137 байтов является нечетной, и если это происходит, когда вы создаете свой файл с паролем "1234", просто создайте еще один файл, и он должен перейти к 143 байтовой длине.

Если вы попытаетесь вставить неправильное количество байтов в файл, вы потеряете проект VBA при попытке открыть файл с помощью Excel.

ИЗМЕНИТЬ

Это неверно для файлов Excel 2007/2010. Стандартный формат файла .xlsx на самом деле представляет собой .zip файл, содержащий множество подпапок с форматированием, макетом, контентом и т.д., Которые хранятся в виде XML-данных. Для незащищенного файла Excel 2007 вы можете просто изменить расширение .xlsx на .zip, затем открыть zip файл и просмотреть все XML-данные. Это очень просто.

Однако, когда вы защищаете пароль для файла Excel 2007, весь файл .zip(.xlsx) фактически шифруется с использованием шифрования RSA. Больше не возможно изменить расширение на .zip и просмотреть содержимое файла.

Ответ 6

Для типа файла .xlsm или .dotm вам нужно сделать это несколько иначе.

  1. Измените расширение файла .xlsm на .zip .
  2. Откройте ZIP файл (с WinZip или WinRar и т.д.) И перейдите в папку xl.
  3. Извлеките файл vbaProject.bin и откройте его в Hex-редакторе (я использую HxD, его полностью свободный и легкий).
  4. Найдите DPB и замените DPx и сохраните файл.
  5. Замените старый файл vbaProject.bin этим новым в zip файле.
  6. Измените расширение файла на .xlsm .
  7. Открытая рабочая книга пропускает предупреждения.
  8. Откройте Visual Basic внутри Excel.
  9. Откройте "Инструменты"> "Свойства VBAProject"> вкладка "Защита".
  10. Вставьте новый пароль и сохраните файл .xlsm .
  11. Закройте и снова откройте, и ваш новый пароль будет работать.

Ответ 7

Стоит отметить, что если у вас есть файл Excel 2007 (xlsm), вы можете просто сохранить его как файл Excel 2003 (xls) и использовать методы, изложенные в других ответах.

Ответ 8

У меня возникла аналогичная проблема некоторое время назад и выяснилось, что Excel и Calc не понимают друг друга в шифровании и поэтому допускают прямой доступ ко всему.

Это было давно, поэтому, если бы это была не просто случайность с моей стороны, она также могла быть исправлена.

Ответ 9

Для Excel 2007 вам необходимо изменить расширение файла на .zip В архиве есть подпапка xl, там вы найдете vbaProject.bin. Следуйте приведенному выше шагу с помощью vbaProject.bin, затем сохраните его в архиве. Измените свое расширение и вуаля! (что означает следующие шаги выше)

Ответ 10

С моей стороны, это основано на превосходном ответе kaybee99, который основан на фантастическом ответе Тхана Нгуйена, чтобы этот метод мог работать как с версиями Office для x86, так и для amd64.

Обзор того, что изменилось, мы избегаем push/ret, который ограничен 32-битными адресами, и заменяем его на mov/jmp reg.

Проверено и работает на

Word/Excel 2016 - 32-битная версия.
Word/Excel 2016 - 64-битная версия.

как это устроено

    Откройте файл (ы), которые содержат ваши заблокированные проекты VBA.

Создайте новый файл того же типа, что и выше, и сохраните этот код в Module1

Вставьте этот код в Module2 и запустите его

Ответ 11

В случае, если ваш блок CMG="XXXX"\r\nDPB="XXXXX"\r\nGC="XXXXXX" в вашем файле "известного пароля" короче, чем существующий блок в файле "неизвестного пароля", введите ваши шестнадцатеричные строки с завершающими нулями, чтобы достичь нужной длины.

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

CMG="XXXX00"\r\nDPB="XXXXX000"\r\nGC="XXXXXX0000" , чтобы сохранить длину файла.

У меня также работало с файлами формата .XLA(97/2003) в офисе 2007.

Ответ 12

Документы VBA Project Passwords on Access, Excel, Powerpoint или Word (версии 2007, 2010, 2013 or 2016 с расширениями .ACCDB.XLSM.XLTM.DOCM.DOTM.POTM.PPSM ) могут быть легко удалены.

Это просто вопрос изменения расширения имени файла на .ZIP , разархивирование файла и использование любого базового Hex Editor (например, XVI32) для "разрыва" существующего пароля, который "смущает" Office, поэтому в следующий раз он запрашивает новый пароль, файл открывается.

  • переименуйте файл, чтобы он имел расширение .ZIP .
  • откройте ZIP и перейдите в папку XL .
  • извлеките vbaProject.bin и откройте его с помощью Hex-редактора
  • "Поиск и замена" на "заменить все" смены DPB на DPX .
  • Сохраните изменения, поместите файл .bin обратно в zip, верните ему нормальное расширение и откройте файл, как обычно.
  • ALT + F11, чтобы войти в редактор VB и щелкнуть правой кнопкой мыши в Project Explorer, чтобы выбрать VBA Project Properties .
  • На вкладке " Protection " установите новый пароль.
  • Нажмите OK , закройте файл, откройте его, нажмите ALT + F11.
  • Введите новый пароль, который вы установили.

На этом этапе вы можете полностью удалить пароль, если захотите.

Полные инструкции с пошаговым видео, которые я сделал "назад, когда" находятся на YouTube здесь.

Это шокирует, что это решение уже давно существует, и Microsoft не исправила проблему.

Мораль этой истории?

Пакеты паролей Microsoft Office VBA не должны использоваться для обеспечения безопасности любой конфиденциальной информации. Если важна безопасность, используйте стороннее программное обеспечение для шифрования.

Ответ 13

Колин Пикард в основном прав, но не путайте "пароль для открытия" защиты всего файла с помощью защиты паролем VBA, которая полностью отличается от прежней и одинакова для Office 2003 и 2007 (для Office 2007, переименуйте файл в .zip и найдите vbaProject.bin внутри zip). И технически правильный способ редактирования файла - использовать средство просмотра документов OLE, например CFX, для открытия правильного потока. Конечно, если вы просто заменяете байты, может работать простой старый двоичный редактор.

Кстати, если вам интересно узнать о точном формате этих полей, они уже документированы:

Ответ 14

Если файл является допустимым zip файлом (первые несколько байтов 50 4B - используются в форматах типа .xlsm ), затем распакуйте файл и найдите подфайл xl/vbaProject.bin . Это файл CFB, как файлы .xls . Следуйте инструкциям для формата XLS (применяется к подфайлу), а затем просто запишите содержимое.

с пробелами. Это устраняет проблемы с размером контейнера CFB.

Ответ 15

Я попробовал некоторые из вышеперечисленных решений, и ни один из них не работает для меня (excel 2007 xlsm file). Затем я нашел еще одно решение, которое даже извлекает пароль, а не только разорвать его.

Вставьте этот код в модуль, запустите его и дайте ему некоторое время. Он вернет ваш пароль грубой силой.

Ответ 16

ElcomSoft производит Advanced Office Password Breaker и Advanced Office Password Recovery продукты, которые могут применяться в этом случае, если документ был создан в Office 2007 или более ранней версии.

Ответ 17

Том. Сначала я сделал ошибку школьника, так как я не наблюдал размер байта, и вместо этого я скопировал и вставил из "CMG", настроенного на последующую запись. Это два разных размера текста между этими двумя файлами, и я потерял проект VBA так же, как предупреждал Stewbob.

Используя HxD, отслеживается отслеживание количества файлов, которые вы выбираете. Скопируйте, начиная с CMG, до тех пор, пока счетчик не прочитает 8F (hex для 143), а также при вставке в заблокированный файл. Я закончил с удвоенным количеством ". " в конце пасты, которое выглядело как-то странно и почти неестественно, но это сработало.

Я не знаю, важно ли это, но я убедился, что я закрыл как шестнадцатеричный редактор, так и отлично, прежде чем снова открыть файл в Excel. Затем мне пришлось пройти через меню, чтобы открыть редактор VB, в свойства VBProject и ввести новый пароль для разблокировки кода.

Надеюсь, это поможет.

Ответ 18

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

Ответ 19

Защита - это простое сравнение текста в Excel. Загрузите Excel в ваш любимый отладчик (Ollydbg, являющийся моим инструментом выбора), найдите код, который выполняет сравнение, и исправьте его, чтобы всегда возвращать true, это должно позволить вам получить доступ к макросам.

Ответ 20

ваше расширение файла excel изменится на xml. И откройте его в блокноте. поиск текста в текстовом файле в формате xml.

вы видите строку ниже;

(извините за мой плохой английский)

Ответ 21

Для 64-разрядной версии Excel 2016 на машине с Windows 10 я использовал шестнадцатеричный редактор, чтобы иметь возможность изменять пароль защищенной xla (не тестировал это для каких-либо других расширений). Совет: создайте резервную копию, прежде чем делать это.

Сделанные мной шаги:

Надеюсь, это помогло некоторым из вас!

Ответ 22

Если вы работаете в Java , вы можете попробовать VBAMacroExtractor . После извлечения сценариев VBA из .xlsm я нашел там пароль в открытом тексте.

32 комментария для “VBA Excel. Содержание рубрики”

Здравствуйте! У Вас нет темы по работе с фильтром. Можно проконсультироваться на этот счёт?

Здравствуйте, Сергей!
Задавайте вопрос, постараюсь ответить.

Спасибо, Евгений! Имеется в Excel столбец с включённым автофильтром. Можно ли программно запустить окно фильтра для выбора значений? Т.е. не руками нажимать на иконку фильтра, а заставить окно открываться с помощью макроса. Спасибо за ответ.

Да, это возможно:

Сергей, уточните вопрос: нужно программно нажать кнопки Ok и Отмена или отследить, какая из них была нажата?

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

Пример отслеживания нажатий кнопки «OK» автофильтра. На нажатие кнопки «Отмена» код не реагирует.

myString = Range ( "A1" ) . CurrentRegion . SpecialCells ( xlCellTypeVisible ) . Address myString1 = Range ( "A1" ) . CurrentRegion . SpecialCells ( xlCellTypeVisible ) . Address If Not Intersect ( ActiveCell , Range ( "A1" ) ) Is Nothing Then

Range("A1").CurrentRegion можно заменить на имя таблицы.

Евгений, а формулу в поле B2 оставлять или её можно удалить?

Сергей, событие Worksheet_Calculate() не зависит от команды SendKeys "%" . Ограничение стоит здесь:

If Not Intersect ( ActiveCell , Range ( "A1" ) ) Is Nothing Then

Код в процедуре Worksheet_Calculate() срабатывает только когда активна ячейка Range("A1") . Если заменить в этой строке Range("A1") на диапазон строки заголовков таблицы, тогда код будет срабатывать при любой активной ячейке в заголовке.

В столбце «B» не должно быть пустых ячеек до последней строки таблицы.

Как определить в VBA есть узор в ячейке?

If ActiveCell . Interior . Pattern = xlPatternNone Then

Добрый день! Никак не могу решить проблему с заблокированным автофильтром на защищенном макросом (нашел на форумах) листе. Подскажите пожалуйста, куда и какую строчку нужно добавить в макрос, чтобы при открытии файла был активен автофильтр:

Set ws = ThisWorkbook . Sheets ( 1 ) 'можно указать любой лист книги 'устанавливаем защиту на все ячейки рабочего диапазона листа 'снимаем защиту только с пустых ячеек рабочего диапазона листа Set rr = ws . UsedRange . SpecialCells ( xlCellTypeBlanks ) Private Sub Workbook_BeforeClose ( Cancel As Boolean )

Добрый день, Владислав!
Замените строку

Добрый день, Евгений!
ОГРОМНОЕ СПАСИБО. :))

Здравствуйте, помогите, пожалуйста, решить задачу((

Здравствуйте, Рафия!
С разработкой кредитного калькулятора вам помогут только за плату на бирже фриланса.

Добрый день, Евгений! Я только начинаю работать с VBA. Помогите, пожалуйста, прописать код для автоматического перемещения курсора на ячейку вправо после заполнения предыдущей.

Здравствуйте, Ева! Для перемещения фокуса в ячейку справа код VBA не нужен: используйте для этого клавишу «Tab» или настройте клавишу «Enter» для перехода вправо (Файл >> Параметры >> Дополнительно).

Спасибо за ответ! Да, но это надо делать вручную; речь идёт об автоматическом перемещении курсора.

VBA Excel – это отличный инструмент для автоматизации многих офисных и других учетных и вычислительных процессов. В этой рубрике представлены небольшие заметки по VBA Excel со справочной информацией, которые можно использовать как памятки при написании кода. VBA часто применяется для автоматизации офисных и других работ, которые ведутся в книгах Excel. Это и учет сотрудников, и начисление зарплат и налогов, и формирование различных бланков, и обработка больших объемов каких-либо данных. То, чем приходилось мне пользоваться на практике, также описано в этой рубрике и в рубрике «Офисная работа».

Смотрите Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

VBA Excel. Функция InStrRev (синтаксис, параметры, примеры)

Определение первого вхождения одной строки в другую, начиная с конца строки, с помощью функции InStrRev (VBA Excel). Синтаксис, параметры, примеры. Подробнее » VBA Excel. Функция InStrRev (синтаксис, параметры, примеры)

VBA Excel. Секундомер в ячейке рабочего листа

Реализация простого секундомера в ячейке рабочего листа с помощью кода VBA Excel. Примеры с использованием метода Application.OnTime. Подробнее » VBA Excel. Секундомер в ячейке рабочего листа

VBA Excel. Переход по ссылке к ячейке в другой книге

Обращение к ячейке в другой книге Excel из кода VBA по ссылке, содержащейся в ячейке текущей книги. Переход по ссылке в другую книгу. Примеры. Подробнее » VBA Excel. Переход по ссылке к ячейке в другой книге

VBA Excel. Метод Range.Show

Метод Show объекта Range, использующийся в VBA Excel для прокрутки первой ячейки заданного диапазона в область видимого экрана. Синтаксис, примеры. Подробнее » VBA Excel. Метод Range.Show

VBA Excel. Оператор With

Применение оператора With для упрощения кода VBA Excel и ускорения его работы. Синтаксис оператора With, параметры, поясняющие примеры. Подробнее » VBA Excel. Оператор With

VBA Excel. Функция Hex

Преобразование десятичного числа (decimal) в его шестнадцатеричное представление (hexadecimal) с помощью функции Hex в VBA Excel. Примеры. Подробнее » VBA Excel. Функция Hex

VBA Excel. Метод WorksheetFunction.Match (поиск позиции)

Поиск относительного положения элемента в массиве (диапазоне) с помощью метода VBA Excel WorksheetFunction.Match. Синтаксис, параметры, примеры. Подробнее » VBA Excel. Метод WorksheetFunction.Match (поиск позиции)

VBA Excel. Функция MicroTimer

Пользовательская функция MicroTimer предназначена для более точного определения времени выполнения процедур VBA Excel, чем с помощью функции Timer. Подробнее » VBA Excel. Функция MicroTimer

VBA Excel. Отбор неповторяющихся значений

Отбор неповторяющихся значений из ячеек заданного диапазона с помощью кода VBA Excel. Пример отбора: исходные значения – 1, 2, 1, 3; результат – 2, 3. Подробнее » VBA Excel. Отбор неповторяющихся значений

VBA Excel. Элемент управления Image

Элемент управления пользовательской формы Image, используемый в VBA Excel для добавления на форму изображения. Свойства элемента управления Image. Подробнее » VBA Excel. Элемент управления Image

VBA Excel. Время работы макроса

Определение времени выполнения макроса и сравнение времени работы циклов, суммирующих значения в диапазоне, в переменной диапазона и в массиве. Подробнее » VBA Excel. Время работы макроса

VBA Excel. Функция Shell

Запуск исполняемой программы с помощью функции Shell в VBA Excel. Синтаксис функции Shell, ее параметры, возвращаемые значения, примеры. Подробнее » VBA Excel. Функция Shell

VBA Excel. Узор (рисунок) в ячейке

Добавление узора (штрихового рисунка) в ячейку (диапазон) и присвоение узору цвета с помощью кода VBA Excel. Константы XlPattern и XlThemeColor. Подробнее » VBA Excel. Узор (рисунок) в ячейке

VBA Excel. Открыть папку (каталог) в проводнике

Открыть папку (каталог) в проводнике Windows для просмотра из кода VBA Excel с помощью функции Shell и ключевых слов explorer и cmd. Передача фокуса открытой папке. Подробнее » VBA Excel. Открыть папку (каталог) в проводнике

VBA Excel. Пользовательская автоформа (создание)

Создание пользовательской автоформы с помощью кода VBA и ее преимущества перед встроенной автоформой Excel. Отображение встроенной автоформы. Подробнее » VBA Excel. Пользовательская автоформа (создание)

VBA Excel. Первая форма (для начинающих)

Пример создания пользовательской формы в редакторе VBA Excel для начинающих программировать с нуля. Добавление на форму текстового поля и кнопки. Подробнее » VBA Excel. Первая форма (для начинающих)

VBA Excel. Метод Range.Insert (вставка со сдвигом ячеек)

Вставка диапазона со сдвигом ячеек вправо или вниз методом Insert объекта Range. Вставка и перемещение строк и столбцов из кода VBA Excel. Примеры. Подробнее » VBA Excel. Метод Range.Insert (вставка со сдвигом ячеек)

VBA Excel. Добавление кнопки в контекстное меню

Программное добавление кнопки в контекстное меню ячейки (строки, столбца) из кода VBA Excel. Свойство CommandBars объекта Application. Подробнее » VBA Excel. Добавление кнопки в контекстное меню

VBA Excel. Вырезание, копирование и вставка ячеек (диапазонов)

Вырезание, перемещение, копирование и вставка ячеек (диапазонов) в VBA Excel. Методы Cut, Copy и PasteSpecial объекта Range, метод Paste объекта Worksheet. Подробнее » VBA Excel. Вырезание, копирование и вставка ячеек (диапазонов)

Я хотел бы 1-секундную задержку в моем коде. Ниже приведен код, который я пытаюсь сделать эту задержку. Я думаю, что он опрашивает дату и время от операционной системы и ждет, пока время не совпадет. У меня проблема с задержкой. Я думаю, что он не опрашивает время, когда он соответствует времени ожидания, и он просто сидит там и замерзает. Он зависает только около 5% времени, когда я запускаю код. Мне было интересно О применении.Подождите, и если есть способ проверить, больше ли опрошенное время чем время ожидания.

Я использую эту небольшую функцию для VBA.

Если вы находитесь в Excel VBA, вы можете использовать следующее.

(строка времени должна выглядеть как H:MM: SS.)

вы можете скопировать это в модуле:

и всякий раз, когда вы хотите применить паузы записи:

надеюсь, это поможет!

вы пытались использовать сон?

вот пример здесь (скопировал ниже):

обратите внимание, что это может заморозить приложение на выбранное количество времени.

другой вариант ответа Стива Мэллори, мне особенно нужен был excel, чтобы бежать и делать вещи во время ожидания, и 1 секунда была слишком длинной.

на таймер функция также применяется к Access 2007, Access 2010, Access 2013, Access 2016, Access 2007 Developer, Access 2010 Developer, Access 2013 Developer. Вставить этот код, чтобы приостановить время на определенное количество секунд

Access всегда может использовать процедуру Excel, пока проект имеет Microsoft Excel XX.X Объект справочник включены:

ваш код создает только время без даты. Если ваше предположение верно, что при запуске приложения.подождите время на самом деле уже достигнуто, что время будет ждать 24 часа ровно. Я также немного беспокоюсь о вызове now () несколько раз (может быть по-другому?) Я бы изменил код на

я использовал ответ Стива Мэллори, но я боюсь, что таймер никогда или, по крайней мере, иногда не идет на 86400 или 0 (ноль) sharp (MS Access 2013). Поэтому я изменил код. Я изменил условие полуночи на " если таймер >= 86399, то" и добавил разрыв цикла "Exit Do" следующим образом:

на Windows таймер возвращает сотые доли секунды. Большинство людей просто используют секунды, потому что на платформе Macintosh таймер возвращает целые числа.

с должными кредитами и благодаря Стиву Маллрою.

У меня были полночные проблемы в Word, и приведенный ниже код работал для меня

Читайте также: