powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / изменение защищенного кода макроса прграмным путем.
23 сообщений из 23, страница 1 из 1
изменение защищенного кода макроса прграмным путем.
    #34036790
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Друзья, посдкажите пожалуйста.

как в Екселе можно изменить\дописать\удалить код макроса, если project запоролен (lock project for viewing).

Пароль мне известен. но таких файлов в которых нужно сделать однотипные изменения - несколько сотен.
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34037109
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
знаете чтобы я вам в таком случае порекомендовал бы...ммм.... программу Network Automation, с помощью которой можно автоматизировать все произодимые вами действия, например снять Automate'ом все защиты затем программно изменить код, и затем снова Automate'ом поставить защиту
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34037142
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению, придется снимать пароль с каждого вручную. Или сбросить с помощью AVPR, это будет побыстрее.
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34037195
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyК сожалению, придется снимать пароль с каждого вручную. Или сбросить с помощью AVPR, это будет побыстрее.

а потом обратно сможет поставить?
как вариант в принципе. пасиб.
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34037199
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orunbekзнаете чтобы я вам в таком случае порекомендовал бы...ммм.... программу Network Automation, с помощью которой можно автоматизировать все произодимые вами действия, например снять Automate'ом все защиты затем программно изменить код, и затем снова Automate'ом поставить защиту

пасиб. а ссылочкой не поделитесь где можно скачать?)
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34037218
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ссылка на официальный сайт программы:
http://www.networkautomation.com/
вообще это классная прога, я им часто пользуюсь с самого выхода проги, облегчает труд, но иногда глючит, что можно перетерпеть
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34037256
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orunbekссылка на официальный сайт программы:
http://www.networkautomation.com/
вообще это классная прога, я им часто пользуюсь с самого выхода проги, облегчает труд, но иногда глючит, что можно перетерпеть

пасиб
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34039246
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно открыть запороленный проект с помощью SendKeys.
У меня работает такой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    Dim objExcel As Excel.Workbook
    Dim objVBProject As VBIDE.VBProject
    Dim objVBComponent As VBIDE.VBComponent
    Dim objWindow As VBIDE.Window
    
    Set objExcel = GetObject("C:\test.xls")
    Set objVBProject = objExcel.VBProject
    For Each objWindow In objVBProject.VBE.Windows
        If objWindow.Type = vbext_wt_ProjectWindow Then ' vbext_wt_ProjectWindow =6
            objWindow.Visible = True
            objWindow.SetFocus
        End If
    Next
    Set objVBProject.VBE.ActiveVBProject = objVBProject
    SendKeys "~password~", True
    
    DoEvents
    For Each objVBComponent In objVBProject.VBComponents
        Debug.Print objVBComponent.Name
    Next
    Set objVBProject = Nothing
    objExcel.Close
    Set objExcel = Nothing
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34039306
m.juanito_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
о! Супер!!!!! пасиб
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34039758
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge GavrilovМожно открыть запороленный проект с помощью SendKeys.
У меня работает такой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    Dim objExcel As Excel.Workbook
    Dim objVBProject As VBIDE.VBProject
    Dim objVBComponent As VBIDE.VBComponent
    Dim objWindow As VBIDE.Window
    
    Set objExcel = GetObject("C:\test.xls")
    Set objVBProject = objExcel.VBProject
    For Each objWindow In objVBProject.VBE.Windows
        If objWindow.Type = vbext_wt_ProjectWindow Then ' vbext_wt_ProjectWindow =6
            objWindow.Visible = True
            objWindow.SetFocus
        End If
    Next
    Set objVBProject.VBE.ActiveVBProject = objVBProject
    SendKeys "~password~", True
    
    DoEvents
    For Each objVBComponent In objVBProject.VBComponents
        Debug.Print objVBComponent.Name
    Next
    Set objVBProject = Nothing
    objExcel.Close
    Set objExcel = Nothing

Отличная идея
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34040859
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge GavrilovМожно открыть запороленный проект с помощью SendKeys.
У меня работает такой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    Dim objExcel As Excel.Workbook
    Dim objVBProject As VBIDE.VBProject
    Dim objVBComponent As VBIDE.VBComponent
    Dim objWindow As VBIDE.Window
    
    Set objExcel = GetObject("C:\test.xls")
    Set objVBProject = objExcel.VBProject
    For Each objWindow In objVBProject.VBE.Windows
        If objWindow.Type = vbext_wt_ProjectWindow Then ' vbext_wt_ProjectWindow =6
            objWindow.Visible = True
            objWindow.SetFocus
        End If
    Next
    Set objVBProject.VBE.ActiveVBProject = objVBProject
    SendKeys "~password~", True
    
    DoEvents
    For Each objVBComponent In objVBProject.VBComponents
        Debug.Print objVBComponent.Name
    Next
    Set objVBProject = Nothing
    objExcel.Close
    Set objExcel = Nothing


а каую библиотеку подключать надо?
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34040975
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавьте ссылку в Referenc'ах (Project>References) к библиотеке Microsoft Visual Basic for Application Extensibility x.x
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34040993
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок. спасибо
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34041848
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M.Juanito
а каую библиотеку подключать надо?
Можете ничего не подключать, но тогда замените объявления на
Код: plaintext
1.
2.
    Dim objVBProject As Object
    Dim objVBComponent As Object
    Dim objWindow As Object
и вместо vbext_wt_ProjectWindow используйте 6
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34041856
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orunbekОтличная идея
Спасибо.
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #34041863
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge Gavrilov M.Juanito
а каую библиотеку подключать надо?
Можете ничего не подключать, но тогда замените объявления на
Код: plaintext
1.
2.
    Dim objVBProject As Object
    Dim objVBComponent As Object
    Dim objWindow As Object
и вместо vbext_wt_ProjectWindow используйте 6

ок. еще раз пасиб
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
изменение защищенного кода макроса прграмным путем.
    #35420185
marmihalovna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge GavrilovМожно открыть запороленный проект с помощью SendKeys.
У меня работает такой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    Dim objExcel As Excel.Workbook
    Dim objVBProject As VBIDE.VBProject
    Dim objVBComponent As VBIDE.VBComponent
    Dim objWindow As VBIDE.Window
    
    Set objExcel = GetObject("C:\test.xls")
    Set objVBProject = objExcel.VBProject
    For Each objWindow In objVBProject.VBE.Windows
        If objWindow.Type = vbext_wt_ProjectWindow Then ' vbext_wt_ProjectWindow =6
            objWindow.Visible = True
            objWindow.SetFocus
        End If
    Next
    Set objVBProject.VBE.ActiveVBProject = objVBProject
    SendKeys "~password~", True
    
    DoEvents
    For Each objVBComponent In objVBProject.VBComponents
        Debug.Print objVBComponent.Name
    Next
    Set objVBProject = Nothing
    objExcel.Close
    Set objExcel = Nothing


у меня на этапе "...SendKeys "~password~", True..." происходит "бдын" и все, проект остается без изменения, т.е. остается запороленным
а мне надо открыть проект записать макрос в молуль листа и снова запоролить и скыть от просмотра проект
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #35425420
marmihalovna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
разблокировать-то получилось, а как потом закрыть доступ к открытому проекту
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #35770616
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это все конечно интересно, действительно, работает. Но это очень похоже на макрос, записанный вручную... Как бы имитация последовательности действия полльзователя, как если бы он самостоятельно открывал VBA-браузер, кликал на проект и сам вводил пароль. А вот интересно, программно в таком методе можно внести изменения в модуль? Он для самой application считается разблокированным?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
изменение защищенного кода макроса прграмным путем.
    #36451183
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересный код, сначала попробовал в пошаговом режиме, сталкнулся с пару граблями, но всё-же потом получилось.
Чтобы другим было проще, напишу дополнение.
В команде
Код: plaintext
SendKeys "~password~", True
символы "~" убирать не нужно.
Т.е. если пароль на проект имеет пароль 123, то в коде должна быть такая строчка
Код: plaintext
SendKeys "~123~", True

Замечу, что если запускать данный код в пошаговом режиме, то ничего не получиться, только по F5, по крайней мере до команды DoEvents.
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #36762802
livestud
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня проблема с базой данных асесс 2000
Скачал прогу аутомате 7 там про ацес даже и не вспоминается.
Выдает туже ошыбку "project locked".

Можно ли ету проблему както решыть?
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #36779697
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
livestudВыдает туже ошыбку "project locked".
Можно ли ету проблему както решыть?В Excel такую ошибку выдаёт, когда проект заблокирован с помощью каких-то других средств, а не Excel-ем, какие-то байтики там подправили.
При такой ошибке через Exсel открыть не получиться, т.к. пароль даже не будет спрашиваться. Нужна специальная программа для взлома проектов.
...
Рейтинг: 0 / 0
изменение защищенного кода макроса прграмным путем.
    #36779739
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
livestud,

проверь что файл у тебя не в shared mode (совместное использование, по русски кажется)

т.к. при совместном использование даже выполнение макросов может блокироваться.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / изменение защищенного кода макроса прграмным путем.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]