Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
217 / 179 / 43
Регистрация: 02.08.2019
Сообщений: 556
Записей в блоге: 23
1
Excel

Надстройка: Macro Tools VBA – инструменты разработки макросов VBATools

16.09.2019, 11:20. Показов 5149. Ответов 41

Добрый день!

Представляю надстройку: Macro Tools VBA – инструменты разработки макросов VBATools

Цели данного блога:

1. распространение надстройки MacroToolsVBA
2. улучшение функционала (исправление ошибок, внедрение новых функции)

Ссылка на блог: Macro Tools VBA – инструменты разработки макросов VBATools

Инструмент автоматизации разработки макросов в редакторе Visual Basic Editor для MS Excel

Основные преимущества Macro Tools VBA:

• установка, не требующая от пользователя прав администратора
• открытый исходный код
• платформа независимость - работает на версиях MS Excel 32 bit и 64 bit
• русскоязычный интерфейс
• бесплатная

Основные функции Macro Tools VBA:

• удаление паролей с проектов VBA, книг и листов Excel
• автоматическое форматирование кода, расстановка и удаление отступов в коде (функционал надстройки: Smart Indenter)
• автоматическая нумерации строк кода
• микро подстройка элементов в формах
• переименование элементов в формах одновременно с кодом
• обфускация кода в проекте VBA
• выдавать подробную статистику по проекту (кол-во строк кода, процедур, элементов на формах и т.д.)
• имеет свою базу заготовок кода (Code-Library), для типичных случаев с быстрой вставкой в новых макросах
• возможность дополнить Code-Library своими заготовками кода
• автоматическая распаковка и запаковка файла Excel

Файл для установки находится тут: Macro Tools VBA – инструменты разработки макросов VBATools.ru
7
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.09.2019, 11:20
Ответы с готовыми решениями:

Outlook VBA Macro
Здравствуйте! Имеется макрос на VBA, который сохраняет все вложения из писем во Входящих в...

Инструменты для разработки
Здравствуйте. У меня вопрос, есть ли редактор *X модедей и *raw ланшафтов. Если есть, то скиньте...

Инструменты поддержки разработки
Встретилась интересная ссылка Tools for Embeddid Systems C мнением выбора и использования тех...

VBA Macro to VBScript outlook 2010
Помогите нужно макрос VBA переделать в VBScript Sub Perenos_Kontaktov_iz_Excel() Dim objXls As...

__________________
41
es geht mir gut
11226 / 4703 / 1178
Регистрация: 27.07.2011
Сообщений: 11,426
16.09.2019, 11:37 2
Цитата Сообщение от art1289 Посмотреть сообщение
платформа независимость - работает на версиях MS Excel 32 bit и 64 bit
Платформонезависимость ? Слишком пафосно. Пишите проще - "Работает на версиях MS Excel 32 bit и 64 bit"
0
217 / 179 / 43
Регистрация: 02.08.2019
Сообщений: 556
Записей в блоге: 23
16.09.2019, 11:39  [ТС] 3
Хорошо!
Спасибо, за замечание!)
0
217 / 179 / 43
Регистрация: 02.08.2019
Сообщений: 556
Записей в блоге: 23
22.09.2019, 08:04  [ТС] 4
Добрый День!

Исправил найденные ошибки, надстройку обновил!
1
1010 / 114 / 2
Регистрация: 26.08.2011
Сообщений: 1,077
Записей в блоге: 2
24.09.2019, 11:50 5
Не могу норм разархивировать и установить. Какой-то сбой происходит. Никогда такого не было. Скачал последнюю версию 24 сентября 2019.

Добавлено через 2 минуты
Win10 Office 16 64
0
Модератор
Эксперт MS Access
10043 / 4057 / 654
Регистрация: 07.08.2010
Сообщений: 11,388
Записей в блоге: 3
24.09.2019, 11:54 6
Цитата Сообщение от art1289 Посмотреть сообщение
Основные преимущества Macro Tools VBA:
• установка, не требующая от пользователя прав администратора
• открытый исходный код
вот только код настройки защищен паролем - где же открытость
будьте осторожны в стремлении использовать эту настройку
0
1010 / 114 / 2
Регистрация: 26.08.2011
Сообщений: 1,077
Записей в блоге: 2
24.09.2019, 11:55 7
! C:\Users\89181\Downloads\addin_macrotools (1).7z: Неизвестный метод в Addin_MacroTools.xlsb
0
217 / 179 / 43
Регистрация: 02.08.2019
Сообщений: 556
Записей в блоге: 23
24.09.2019, 12:04  [ТС] 8
Добрый день! AndreA SN ,

проблемы с архивом ? .7z
или файлом Excel, сообщение Excel пишет какой ни будь ?

Добавлено через 6 минут
Имя-Галина, Добрый день!

Пароль 1

на сайте в разделе: Рекомендации по настройке

все написано

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

Так же пароль легко снимается самой надстройкой
0
360 / 260 / 90
Регистрация: 18.11.2015
Сообщений: 961
24.09.2019, 13:52 9
art1289, Excel 2013. После нажатия кнопки Снять пароль VBA. При попытке открыть Вашу настройку в редакторе Excel прекращает работу.
0
217 / 179 / 43
Регистрация: 02.08.2019
Сообщений: 556
Записей в блоге: 23
24.09.2019, 14:00  [ТС] 10
ArtNord , Добрый день!

В файле пароль установлен стандартными средствами или когда проект пытаетесь открыть в VBE пишет UNIVABLE
это все без надстройки ?

Добавлено через 3 минуты
AndreA SN , поверил в Excel2016 все нормально работает
Я не понял у вас проблемы с архивом или надстройкой
0
360 / 260 / 90
Регистрация: 18.11.2015
Сообщений: 961
24.09.2019, 14:05 11
art1289, после установки надстройки. Нажимаю на кнопку - Снять пароль VBA.
Затем захожу в редактор (Alt+F11), двойной клик на надстройке (или +), Выходит: Excel прекращена работа....
Затем открываю Excel заново, захожу в редактор и по двойному клику на надстройке предлагает ввести пароль.
Пароль - 1 . Все отрывается.
0
217 / 179 / 43
Регистрация: 02.08.2019
Сообщений: 556
Записей в блоге: 23
24.09.2019, 14:47  [ТС] 12
ArtNord Надо посмотреть) все нормально должно работать

office 32bit или 64bit ?

Добавлено через 27 минут
ArtNord, windows напишите 32bit или 64bit ?

Добавлено через 9 минут
ArtNord, нашел причину новую версию выложу завтра, проверьте)
0
360 / 260 / 90
Регистрация: 18.11.2015
Сообщений: 961
24.09.2019, 14:49 13
Версия 15, 64
0
217 / 179 / 43
Регистрация: 02.08.2019
Сообщений: 556
Записей в блоге: 23
24.09.2019, 14:55  [ТС] 14
поменяйте код в модуле P_UnProtected на этот

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Option Explicit
Option Private Module
 
Private Const PAGE_EXECUTE_READWRITE = &H40
 
Private Declare PtrSafe Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _
(Destination As LongPtr, Source As LongPtr, ByVal Length As LongPtr)
 
Private Declare PtrSafe Function VirtualProtect Lib "kernel32" (lpAddress As LongPtr, _
ByVal dwSize As LongPtr, ByVal flNewProtect As LongPtr, lpflOldProtect As LongPtr) As LongPtr
 
Private Declare PtrSafe Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As LongPtr
 
Private Declare PtrSafe Function GetProcAddress Lib "kernel32" (ByVal hModule As LongPtr, _
ByVal lpProcName As String) As LongPtr
 
Private Declare PtrSafe Function DialogBoxParam Lib "user32" Alias "DialogBoxParamA" (ByVal hInstance As LongPtr, _
ByVal pTemplateName As LongPtr, ByVal hWndParent As LongPtr, _
ByVal lpDialogFunc As LongPtr, ByVal dwInitParam As LongPtr) As Integer
 
Dim HookBytes(0 To 11) As Byte
Dim OriginBytes(0 To 11) As Byte
Dim pFunc As LongPtr
Dim Flag As Boolean
 
Private Function GetPtr(ByVal Value As LongPtr) As LongPtr
    GetPtr = Value
End Function
 
Public Sub RecoverBytes()
    If Flag Then MoveMemory ByVal pFunc, ByVal VarPtr(OriginBytes(0)), 12
End Sub
 
Public Function fHook() As Boolean
    Dim TmpBytes(0 To 11) As Byte
    Dim p As LongPtr, osi As Byte
    Dim OriginProtect As LongPtr
 
    fHook = False
 
       #If Win64 Then
        osi = 1
       #Else
        osi = 0
       #End If
 
    pFunc = GetProcAddress(GetModuleHandleA("user32.dll"), "DialogBoxParamA")
 
    If VirtualProtect(ByVal pFunc, 12, PAGE_EXECUTE_READWRITE, OriginProtect) <> 0 Then
 
        MoveMemory ByVal VarPtr(TmpBytes(0)), ByVal pFunc, osi + 1
        If TmpBytes(osi) <> &HB8 Then
 
            MoveMemory ByVal VarPtr(OriginBytes(0)), ByVal pFunc, 12
 
            p = GetPtr(AddressOf MyDialogBoxParam)
 
            If osi Then HookBytes(0) = &H48
            HookBytes(osi) = &HB8
            osi = osi + 1
            MoveMemory ByVal VarPtr(HookBytes(osi)), ByVal VarPtr(p), 4 * osi
            HookBytes(osi + 4 * osi) = &HFF
            HookBytes(osi + 4 * osi + 1) = &HE0
 
            MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0)), 12
            Flag = True
            fHook = True
        End If
    End If
End Function
 
Private Function MyDialogBoxParam(ByVal hInstance As LongPtr, _
    ByVal pTemplateName As LongPtr, ByVal hWndParent As LongPtr, _
    ByVal lpDialogFunc As LongPtr, ByVal dwInitParam As LongPtr) As Integer
 
    If pTemplateName = 4070 Then
        MyDialogBoxParam = 1
    Else
        RecoverBytes
        MyDialogBoxParam = DialogBoxParam(hInstance, pTemplateName, _
                      hWndParent, lpDialogFunc, dwInitParam)
        fHook
    End If
End Function
 
Public Sub unprotected()
    If MsgBox("Снять пароли с проектов VBA ?", vbInformation + vbYesNo, "Снятие паролей:") = vbYes Then
        If fHook Then
            Call MsgBox("Пароли с проектов VBA отключены!", vbInformation, "******")
        Else
            Call MsgBox("Пароли с проектов VBA не удалось отключить!", vbInformation, "******")
        End If
    End If
End Sub
Добавлено через 25 секунд
отпишитесь получилось ?
0
360 / 260 / 90
Регистрация: 18.11.2015
Сообщений: 961
24.09.2019, 15:11 15
Нет. Все также
0
217 / 179 / 43
Регистрация: 02.08.2019
Сообщений: 556
Записей в блоге: 23
24.09.2019, 15:13  [ТС] 16
странно в 2016 64bit и 32bit у меня работает
0
SoftIce
24.09.2019, 15:15
  #17

Не по теме:

ArtNord, а зачем вам этот геморой ?

0
217 / 179 / 43
Регистрация: 02.08.2019
Сообщений: 556
Записей в блоге: 23
24.09.2019, 15:19  [ТС] 18
странно у меня работает в Excel2016 64bit и 32bit
0
360 / 260 / 90
Регистрация: 18.11.2015
Сообщений: 961
24.09.2019, 15:47 19
SoftIce, время свободного много )
0
1010 / 114 / 2
Регистрация: 26.08.2011
Сообщений: 1,077
Записей в блоге: 2
28.09.2019, 20:06 20
У меня работает.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2019, 20:06

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Переход на бесплатные инструменты разработки
Работаю с asp.net mvc, т.е. запускаю visual studio под windows. Покупать оба продукта MS выходит...

Macro.office.vba.gen.3037 - что это?
Здравствуйте! Я скачал макрос на свой Word (вёрстка текста книжкой), проверил файл запуска...

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

Инструменты для разработки в команде (VS2013, C#, Unity)
Привет! Я изучаю какие есть инструменты для совместной разработки в команде, чтобы выбрать для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.