Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Пароль в VBA не принимается при открытии файла - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пароль в VBA не принимается при открытии файла (Макросы/Sub)
Пароль в VBA не принимается при открытии файла
Stork4ever Дата: Четверг, 21.01.2016, 12:05 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 82
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
В прошлом году на открытие файла был добавлен следующий код:

[vba]
Код
Private Sub Workbook_Open()
   Dim zdate As Date
   zdate = #1/1/2016#
   If Date > zdate Then
      MsgBox "Данные этой книги актуальны для 2016 года!"
   UserForm1.Show
       If pswd <> "12345" Then
           MsgBox "Введен неверный пароль!"
        ThisWorkbook.Close
       End If
   End If
End Sub
[/vba]

Сейчас появилась необходимость проверить данные... Но вот беда - пароль не принимает! С чем может быть проблема? Пароль знаю точно - проблема в другом.
 
Ответить
СообщениеВ прошлом году на открытие файла был добавлен следующий код:

[vba]
Код
Private Sub Workbook_Open()
   Dim zdate As Date
   zdate = #1/1/2016#
   If Date > zdate Then
      MsgBox "Данные этой книги актуальны для 2016 года!"
   UserForm1.Show
       If pswd <> "12345" Then
           MsgBox "Введен неверный пароль!"
        ThisWorkbook.Close
       End If
   End If
End Sub
[/vba]

Сейчас появилась необходимость проверить данные... Но вот беда - пароль не принимает! С чем может быть проблема? Пароль знаю точно - проблема в другом.

Автор - Stork4ever
Дата добавления - 21.01.2016 в 12:05
_Boroda_ Дата: Четверг, 21.01.2016, 12:28 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11327
Репутация: 4676 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Попробуйте при открытии файла держать нажатым Шифт. Файл откроется без запуска макроса. А дальше уже разбирайтесь.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПопробуйте при открытии файла держать нажатым Шифт. Файл откроется без запуска макроса. А дальше уже разбирайтесь.

Автор - _Boroda_
Дата добавления - 21.01.2016 в 12:28
Stork4ever Дата: Четверг, 21.01.2016, 12:41 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 82
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Открыть файл я могу. Открываю, вижу пароль, понимаю, что он правильный. Проблема не в этом. Я хочу понять, почему обычный пользователь зная пароль не может открыть файл?

Полагаю, что данный пароль прописывается в параметры безопасности. Но почему не проходит проверку. Ведь, когда этот код вводился я его тестировал и все работало, а сейчас, когда срок настал - не работает :(
[moder]Кладите сюда файл с макросом и юзерформой. Остальное можно поубивать


Сообщение отредактировал _Boroda_ - Четверг, 21.01.2016, 12:46
 
Ответить
СообщениеОткрыть файл я могу. Открываю, вижу пароль, понимаю, что он правильный. Проблема не в этом. Я хочу понять, почему обычный пользователь зная пароль не может открыть файл?

Полагаю, что данный пароль прописывается в параметры безопасности. Но почему не проходит проверку. Ведь, когда этот код вводился я его тестировал и все работало, а сейчас, когда срок настал - не работает :(
[moder]Кладите сюда файл с макросом и юзерформой. Остальное можно поубивать

Автор - Stork4ever
Дата добавления - 21.01.2016 в 12:41
Udik Дата: Четверг, 21.01.2016, 13:56 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 191 ±
Замечаний: 0% ±

Excel 2016 х 64
If pswd <> "12345"

А pswd где устанавливается? И pswd глобальная переменная?
Надо посмотреть значение pswd на момент проверки условия.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
Сообщение
If pswd <> "12345"

А pswd где устанавливается? И pswd глобальная переменная?
Надо посмотреть значение pswd на момент проверки условия.

Автор - Udik
Дата добавления - 21.01.2016 в 13:56
Stork4ever Дата: Пятница, 22.01.2016, 11:10 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 82
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Да, на момент проверки pswd пустой. Почему?
Код формы таков:
[vba]
Код
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then
        pswd = TextBox1.Text
        Unload UserForm1
    End If
End Sub
[/vba]
 
Ответить
СообщениеДа, на момент проверки pswd пустой. Почему?
Код формы таков:
[vba]
Код
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then
        pswd = TextBox1.Text
        Unload UserForm1
    End If
End Sub
[/vba]

Автор - Stork4ever
Дата добавления - 22.01.2016 в 11:10
_Boroda_ Дата: Пятница, 22.01.2016, 11:39 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11327
Репутация: 4676 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А pswd - глобальная переменная?
В каком-нибудь модуле сверху написано что-то типа
[vba]
Код
Public pswd  
[/vba]?
Я ж писал уже
Кладите сюда файл с макросом и юзерформой

Что из Вас все по кусочкам вытягивать нужно?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА pswd - глобальная переменная?
В каком-нибудь модуле сверху написано что-то типа
[vba]
Код
Public pswd  
[/vba]?
Я ж писал уже
Кладите сюда файл с макросом и юзерформой

Что из Вас все по кусочкам вытягивать нужно?

Автор - _Boroda_
Дата добавления - 22.01.2016 в 11:39
RAN Дата: Пятница, 22.01.2016, 11:42 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4533
Репутация: 920 ±
Замечаний: 0% ±

2010
все по кусочкам вытягивать нужно?

А оно тебе надо? :)
Если бы человек хотел получить ответ, он получил бы его еще вчера.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
все по кусочкам вытягивать нужно?

А оно тебе надо? :)
Если бы человек хотел получить ответ, он получил бы его еще вчера.

Автор - RAN
Дата добавления - 22.01.2016 в 11:42
Stork4ever Дата: Пятница, 22.01.2016, 11:45 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 82
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Цитата
Public pswd

Такого нет нигде... А где это нужно прописать? В коде формы или внутри Workbook_Open()?
 
Ответить
Сообщение
Цитата
Public pswd

Такого нет нигде... А где это нужно прописать? В коде формы или внутри Workbook_Open()?

Автор - Stork4ever
Дата добавления - 22.01.2016 в 11:45
Stork4ever Дата: Пятница, 22.01.2016, 12:08 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 82
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Сделал простой пример. Смотрите вложенный файл...
К сообщению приложен файл: 2249780.xls(39Kb)
 
Ответить
СообщениеСделал простой пример. Смотрите вложенный файл...

Автор - Stork4ever
Дата добавления - 22.01.2016 в 12:08
RAN Дата: Пятница, 22.01.2016, 12:21 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4533
Репутация: 920 ±
Замечаний: 0% ±

2010
[vba]
Код
Private Sub Workbook_Open()
   Dim zdate As Date
   zdate = #1/1/2016#
   If Date > zdate Then
      MsgBox "Срок действия программы истек!"
   UserForm1.Show
   End If
End Sub
[/vba]
[vba]
Код
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Dim pswd As String
    If KeyCode = 13 Then
        pswd = TextBox1.Text
        If pswd = "12345" Then
            MsgBox pswd
         Unload UserForm1
       Else
            MsgBox "Введен не верный пароль!"
            '        ThisWorkbook.Close
        End If
    End If
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Private Sub Workbook_Open()
   Dim zdate As Date
   zdate = #1/1/2016#
   If Date > zdate Then
      MsgBox "Срок действия программы истек!"
   UserForm1.Show
   End If
End Sub
[/vba]
[vba]
Код
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Dim pswd As String
    If KeyCode = 13 Then
        pswd = TextBox1.Text
        If pswd = "12345" Then
            MsgBox pswd
         Unload UserForm1
       Else
            MsgBox "Введен не верный пароль!"
            '        ThisWorkbook.Close
        End If
    End If
End Sub
[/vba]

Автор - RAN
Дата добавления - 22.01.2016 в 12:21
_Boroda_ Дата: Пятница, 22.01.2016, 12:26 | Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11327
Репутация: 4676 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ловите
К сообщению приложен файл: 2249780_1.xls(44Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЛовите

Автор - _Boroda_
Дата добавления - 22.01.2016 в 12:26
Stork4ever Дата: Пятница, 22.01.2016, 12:35 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 82
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Благодарю!
 
Ответить
СообщениеБлагодарю!

Автор - Stork4ever
Дата добавления - 22.01.2016 в 12:35
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пароль в VBA не принимается при открытии файла (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!