Модераторы: mihanik

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Pwd на листы Excel макросом, Excel 2003 
V
    Опции темы
kashemirny
Дата 16.8.2010, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 12.11.2007

Репутация: нет
Всего: нет



Привет всем! Посмотрите, пожалуйста, приложенный файл. Первый макрос работает, но меня он не совсем устраивает, второй - вызывает ошибку (видимо не правльно передается переменная). Что не так? 

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  _____.rar 7,76 Kb
PM MAIL   Вверх
Akina
Дата 16.8.2010, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



pasv - локальная переменная процедуры Passw, а не свойство книги.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kashemirny
Дата 17.8.2010, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 12.11.2007

Репутация: нет
Всего: нет



 ну тогда так:
Код

Sheets("Табло2").Protect Passw.pasv

но тоже не проканывает...
PM MAIL   Вверх
Akina
Дата 17.8.2010, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Правильно не прокатывает - Passw есть процедура, а не объект.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kashemirny
Дата 17.8.2010, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 12.11.2007

Репутация: нет
Всего: нет



нгу если процедура, то (что в прочем тоже не работает):
Код

Call Passw
Sheets("Табло2").Protect pasv

Akina,  помоги smile 
PM MAIL   Вверх
Akina
Дата 17.8.2010, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kashemirny
Дата 17.8.2010, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 12.11.2007

Репутация: нет
Всего: нет



Цитата

Или подобные вопросы будут возникать постоянно. 

нет времени  нет нормальной справки. ну не мучай меня, подскажи, плизз  smile 
PM MAIL   Вверх
Akina
Дата 17.8.2010, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(kashemirny @  17.8.2010,  16:07 Найти цитируемый пост)
нет нормальной справки

http://msdn.microsoft.com/en-us/library/aa...5(v=VS.60).aspx


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kashemirny
Дата 17.8.2010, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 12.11.2007

Репутация: нет
Всего: нет



спасибо за ссылку.

Цитата

Variables Used by All Modules
To make a module-level variable available to other modules, use the Public keyword to declare the variable. The values in public variables are available to all procedures in your application. Like all module-level variables, public variables are declared in the Declarations section at the top of the module. For example:

Public intTemp As Integer
Note   You can't declare public variables within a procedure, only within the Declarations section of a module.

For More Information   For additional information about variables, see "Advanced Variable Topics."


ок.

в объекте ЭтаКнига пишу:

Код

Public pasv As String  'объявляю переменную, которую буду юзать в модулях. Как я понял - это моя основная ошибка (сверху приведен текст)

Public Sub Passw()  'создаю процедуру только для того чтобы задать значение переменной, ибо без процедуры не дает
pasv = 1234 'задаю переменную-пароль, очень хочу его использовать в других модулях обычной подстановкой
End Sub


В основном модуле пишу:

Код

Sub Tablo2()
Sheets("Табло2").Protect pasv 'И опять не работает! Не подхватывается переменная, хотя вроде как и объявлена!!! Пойду выпью йаду(((((((((((((((((((((((
End Sub

PM MAIL   Вверх
Akina
Дата 17.8.2010, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(kashemirny @  17.8.2010,  18:24 Найти цитируемый пост)
Как я понял - это моя основная ошибка (сверху приведен текст)

Вот именно.
Ты способен воспринять разницу между термином "Модуль" и термином "Модуль книги (листа, формы, иного объекта)"? Тогда исправляйся срочно.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kashemirny
Дата 18.8.2010, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 12.11.2007

Репутация: нет
Всего: нет



хорошо, даже если я пишу "Public pasv As String" в Module1, то в этом же Module1 мне нужно задать явное значение переменной "pasv = 1234". как это сделать? в процедуре или в функции? как потом обратиться к функции и вытащить переменную? уже почти сошел с ума.
PM MAIL   Вверх
Akina
Дата 18.8.2010, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



 smile а почему в этом же модуле? сделай это при старте приложения, скажем при открытии книги.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kashemirny
Дата 18.8.2010, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 12.11.2007

Репутация: нет
Всего: нет



в ЭтаКнига:

Код

Public pasv As String
Public Sub Workbook_open()
pasv = 1234
End Sub


в Module1:

Код

Sub Tablo2()
Sheets("Табло2").Protect pasv
End Sub


не работает  smile 
PM MAIL   Вверх
Akina
Дата 18.8.2010, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Блин, ну почему ты ОПЯТЬ определяешь переменную в МОДУЛЕ КНИГИ???


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kashemirny
Дата 18.8.2010, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 12.11.2007

Репутация: нет
Всего: нет



потому что Workbook_open() работает только в нем...
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0598 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.