Добавить в корзинуПозвонить
Найти в Дзене

Visual Basic Editor. Настройка темных тем: Inspired, Solarized, Dracula

Основанием для написания данной статьи стал пост на github, а так же всеобъемлющее желание заменить стандартную палитру цветов в редакторе VBE новыми оттенками, приближенными к темам оформления из современного редактора Visual Studio Code. Палитра цветов, установленная по умолчанию, рано или поздно приведет к переутомлению Ваших глаз, особенно при реализации крупных проектов, требующих написания большого объема программного кода.
Вспомогательные материалы для данной статьи доступны по ссылке. Для применения тем оформления таких как: Inspired, Solarized, Dracula и других тем вне стандартной палитры цветов в VBE необходимо внести изменения в файл - VBE7.DLL Краткая справка: VBE7.DLL — это системный файл, который является частью приложений Microsoft Office. Он в первую очередь связан со средой Visual Basic for Applications (VBA). Распространяется как часть установок Microsoft Office и является неотъемлемой частью реализации расширенных возможностей сценариев и автоматизации.
Расположен о
Оглавление
Dark Inspired
Dark Inspired
Dark Solarized
Dark Solarized
Dark Drakula
Dark Drakula
  • I. Модификация VBE7.DLL
  • Подготовительные работы
  • Способ 1. Прямая редакция файла VBE7.DLL hex-редактором HxD
  • Способ 2. Применение ПО VBEThemeColorEditor
  • Способ 3. Применение ПО VBE_Colours
  • Примечание. Обновление VBE7.DLL корпорацией Майкрософт
  • II. Применение пользовательских настроек редактора VBE
  • Ссылки на видеообзор и статью на других платформах

Основанием для написания данной статьи стал пост на github, а так же всеобъемлющее желание заменить стандартную палитру цветов в редакторе VBE новыми оттенками, приближенными к темам оформления из современного редактора Visual Studio Code. Палитра цветов, установленная по умолчанию, рано или поздно приведет к переутомлению Ваших глаз, особенно при реализации крупных проектов, требующих написания большого объема программного кода.

Вспомогательные материалы для данной статьи доступны по
ссылке.

I. Модификация VBE7.DLL

Для применения тем оформления таких как: Inspired, Solarized, Dracula и других тем вне стандартной палитры цветов в VBE необходимо внести изменения в файл - VBE7.DLL

Краткая справка:

VBE7.DLL — это системный файл, который является частью приложений Microsoft Office. Он в первую очередь связан со средой Visual Basic for Applications (VBA). Распространяется как часть установок Microsoft Office и является неотъемлемой частью реализации расширенных возможностей сценариев и автоматизации.
Расположен обычно по следующему адресу:

Для 32-разрядных операционных систем
C:\Program Files (x86)\Microsoft Office\root\vsf\ProgramFilesCommonX86\Microsoft Shared\VBA\VBA7.1

Для 64-разрядных операционных систем
C:\Program Files\Microsoft Office\root\vfs\ProgramFilesCommonX64\Microsoft Shared\VBA\VBA7.1

Для реализации новых тем оформления необходимо заменить в файле
VBE7.DLL шестнадцатеричное представление цветов ( Hex ) стандартной палитры на шестнадцатеричное представление цветов соответствующих темам указанным выше. Данную операцию можно будет выполнить несколькими способами, выполнив в обязательном порядке, предварительную подготовку.

🟥 Все действия по изменению содержания файла VBE7.DLL, независимо от
выбранного способа редакции, необходимо выполнять только над копией
оригинального файла ❗

Подготовительные работы

Перед выполнением всех последующих действий необходимо:

🔶 закрыть все документы из пакета MS Office❗

🔶
создать несколько копий файла VBE7.DLL в отдельные папки: Копия 1 - для замены цветов под тему оформления Inspired Копия 2 - для замены цветов под тему оформления Dracula Копия 3 - для замены цветов под тему оформления Solarized Копия 4 - резервная, на случай повреждения оригинального файла.

🔶
открыть вспомогательный файл "VBE-Customized. VSTOColorThemes.xlsm" вкладку "Inspared | Solerized | Dracula" которая содержит следующие параметры новых цветовых оттенков:
- HEX-код
- RGB параметры
- шестнадцатеричное представление

-4
-5
-6

Способ 1. Прямая редакция файла VBE7.DLL hex-редактором HxD

Открываем файл VBE7.DLL ( Копия 1 ) по адресу указанному выше в редакторе HxD, запускаем поиск ( ctrl + F ), переходим на вкладку Hex-значения

-7

В поле Найти необходимо последовательно найти ( поиск производить с начала документа ❗) код стандартной палитры цветов в шестнадцатеричном представлении:

1-строка замены
ff ff ff 00 c0 c0 c0 00 80 80 80 00 00 00 00 00 ff 00 00 00 80 00 00 00 ff ff 00 00 80 80 00 00 00 ff 00 00 00 80 00 00 00 ff ff 00 00 80 80 00 00 00 ff 00 00 00 80 00 ff 00 ff 00 80 00 80 00

2-строка замены
00 00 00 00 00 00 80 00 00 80 00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80 00 00 c0 c0 c0 00 80 80 80 00 00 00 ff 00 00 ff 00 00 00 ff ff 00 ff 00 00 00 ff 00 ff 00 ff ff 00 00 ff ff ff 00

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

Тема - Inspired
00 00 00 00 1e 1e 1e 00 34 3a 40 00 3c 42 48 00 d4 d4 d4 00 ff ff ff 00 26 4f 78 00 56 9c d6 00 74 b0 df 00 79 4e 8b 00 9f 74 b1 00 e5 14 00 00 d6 9d 85 00 ce 91 78 00 60 8b 4e 00 b5 ce a8 00

Тема - Solarized
00 2b 36 00 07 36 42 00 58 6e 75 00 65 7b 83 00 83 94 96 00 93 a1 a1 00 ee e8 d5 00 fd f6 e3 00 b5 89 00 00 cb 4b 16 00 dc 32 2f 00 d3 36 82 00 6c 71 c4 00 26 8b d2 00 2a a1 98 00 85 99 00 00

Тема - Dracula
23 25 33 00 32 33 50 00 28 2A 36 00 37 39 59 00 8B E9 FD 00 F8 F8 F2 00 26 4F 78 00 FF 79 C6 00 74 B0 DF 00 5D 70 A1 00 BD 93 F9 00 F8 4E 4B 00 F1 FA 8C 00 F4 B1 69 00 58 66 7F 00 30 A6 6D 00

🟥 При выполнении поиска обязательно использовать кнопку "Ок". Использование вместо этого кнопки "Найти все" приведет к неточному определению последовательности замены - в результате файл будет поврежден❗

-8

Замену осуществлять посредством обычного Copy-Paste:

1-ая строка до замены ( ищем с начала документа ):

-9

1-ая строка после замены на новое значение из темы Inspired

-10

2-ая строка до замены ( ищем с начала документа ):

-11

2-ая строка после замены на новое значение из темы Inspired

-12

В конце сохраняем 💾 измененный файл и закрываем HxD-редактор.

Способ 2. Применение ПО VBEThemeColorEditor

Данная программа имеет очень простой интерфейс и сравнительно небольшой функционал которого достаточно для выполнения тех же действий что и в предыдущем способе плюс есть возможность сохранять и подгружать ранее настроенные темы с применением к файлу VBE7.DLL.

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

-13

Опции Меню Save and Load позволяют сохранять настроенную цветовую гамму в файлах с расширением .xml и использовать их, в дальнейшем, для быстрой смены темы

-14

Кнопка "Apply theme to VBE.DLL" применяет настроенную или выбранную тему к файлу VBE.DLL

-15

Способ 3. Применение ПО VBE_Colours

Другим, весьма полезным программным продуктом для создания пользовательских тем оформления и управления ими, является VBE_Colours от разработчика сайта thevbahelp John Mallinson. Данное ПО предоставляет комплексное решение по изменению настроек системного файла VBE7.DLL и изменению цветовых значений в специальной папке реестра Windows - Common

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

В рамках данной статьи раскрытие возможностей данного ПО не предполагается, но упомянуто как достойная альтернатива к предоставленому в способе 2 портативному ПО.

🟠 На завершающем этапе независимо от выбранного способа редакции
выполняем замену оригинального файла
VBE7.DLL на модифицированный
VBE7.DLL с применением новой палитры цветов

Примечание. Обновление VBE7.DLL корпорацией Майкрософт

Файл VBE7.DLL время от времени обновляется в рамках обновлений для более широкой среды Office. При обновлении тщательно выбранная цветовая схема будет потеряна, так как Microsoft ничего не знает о выбранной вами цветовой схеме (хотя значения реестра сохранятся).

По этой причине важно, чтобы вы сохранили свою цветовую схему, чтобы когда наступит день, когда ваш файл VBE7.DLL будет обновлен и ваша цветовая схема будет перезаписана (и вы откроете VBE только для того, чтобы увидеть «цветовой хаос», потому что значения реестра затем применяют стандартные цвета VBE, но не так, как вы ожидаете). затем вы можете вернуться к VBE_Colours, загрузить свою цветовую схему (или стандартную, если вы хотите вернуться к цветам VBE по умолчанию) и «Применить» ее.

II. Применение пользовательских настроек редактора VBE

Как было отмечено в предыдущем посте на эту тему, настройки VBE хранятся в специальной папке реестра Windows - Common: HKEY_CURRENT_USER\Software\Microsoft\VBA\7.1\Common

Цвета, отображаемые в коде и окне ввода VBE, управляются комбинацией:

  • 16 цветов, определенных в файле VBE7.DLL
  • 3 Значения реестра ( по 1 для цветов переднего плана, фона и цветов индикаторов ), которые указывают, какие из цветов, определенных в файле VBE7.DLL, отображаются для какого «типа текста» ( обычный, выделение, ключевое слово и т. д. )
-16

При использовании выпадающих списков цветов на вкладке Формат редактора диалогового окна Параметры в VBE обновляются значения в Реестре. Эти значения сообщают VBE, какой ( из 16 цветов в VBE7.DLL ) должен быть показан для какого «типа текста» ( существует 10 «типов текста»: обычный, выделение, синтаксическая ошибка, точка выполнения, точка останова, комментарий, ключевое слово, идентификатор, закладка и возврат вызова ).

В следующих файлах реестра:

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\VBA\7.1\Common\CodeForeColors
  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\VBA\7.1\Common\CodeBackColors
  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\VBA\7.1\Common\FontFace
  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\VBA\7.1\Common\FontHeight

можно задать числовые параметры:

  • сочетания цветов для переднего плана
  • сочетания цветов для фона
  • конкретный шрифт
  • размер шрифта Один из вариантов пользовательских настроек по сочетанию цветов:

Dark CodeBackColors 1 7 1 13 15 1 1 1 11 9 0 0 0 0 0 0
Dark CodeForeColors 13 5 12 1 6 15 8 5 1 1 0 0 0 0 0 0
Dark FontFace Fira Code Light
Dark FontHeight d

Если Вам требуется более насыщенные темный фон строго черного цвета можно прописать значение для параметра CodeBackColors:

Dark CodeBackColors 2 7 1 13 15 1 1 1 11 9 0 0 0 0 0 0

Соответствующие значения нужно заменить в папках как на картинке ниже:

-17

🟠 С Вашей стороны возможна импровизация с цветами непосредственно в
меню опций VBE без необходимости прямой редакции файлов реестра

Ссылки на видеообзор и статью на других платформах

Видеообзор на медиаканалах:
Youtube
Rutube
VKvideo
Dzen
Telegram
Boosty

Оригинальная статья с подробным описанием:
Teletype
Word
PDF