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

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

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

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

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

пасиб
...
Рейтинг: 0 / 0
07.10.2006, 10:33
    #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
07.10.2006, 11:58
    #34039306
m.juanito_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение защищенного кода макроса прграмным путем.
о! Супер!!!!! пасиб
...
Рейтинг: 0 / 0
07.10.2006, 20:08
    #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
09.10.2006, 10:45
    #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
09.10.2006, 11:18
    #34040975
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение защищенного кода макроса прграмным путем.
Добавьте ссылку в Referenc'ах (Project>References) к библиотеке Microsoft Visual Basic for Application Extensibility x.x
...
Рейтинг: 0 / 0
09.10.2006, 11:24
    #34040993
M.Juanito
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение защищенного кода макроса прграмным путем.
ок. спасибо
...
Рейтинг: 0 / 0
09.10.2006, 14:58
    #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
09.10.2006, 14:59
    #34041856
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение защищенного кода макроса прграмным путем.
orunbekОтличная идея
Спасибо.
...
Рейтинг: 0 / 0
09.10.2006, 15:00
    #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
Период между сообщениями больше года.
09.07.2008, 13:16
    #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
11.07.2008, 13:26
    #35425420
marmihalovna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение защищенного кода макроса прграмным путем.
разблокировать-то получилось, а как потом закрыть доступ к открытому проекту
...
Рейтинг: 0 / 0
21.01.2009, 22:14
    #35770616
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение защищенного кода макроса прграмным путем.
Это все конечно интересно, действительно, работает. Но это очень похоже на макрос, записанный вручную... Как бы имитация последовательности действия полльзователя, как если бы он самостоятельно открывал VBA-браузер, кликал на проект и сам вводил пароль. А вот интересно, программно в таком методе можно внести изменения в модуль? Он для самой application считается разблокированным?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
05.02.2010, 10:07
    #36451183
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменение защищенного кода макроса прграмным путем.
Интересный код, сначала попробовал в пошаговом режиме, сталкнулся с пару граблями, но всё-же потом получилось.
Чтобы другим было проще, напишу дополнение.
В команде
Код: plaintext
SendKeys "~password~", True
символы "~" убирать не нужно.
Т.е. если пароль на проект имеет пароль 123, то в коде должна быть такая строчка
Код: plaintext
SendKeys "~123~", True

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

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

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

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


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