Уважаемые гуру форума, помогите решить небольшую проблемку возникшую у меня. Итак, необходимо по срабатыванию СheckBox-a изменить указанную строку кода активной UserForm. Делать я это предполагал (найдя в сети похожий материал об изменении кода модуля) так:
В принципе частично срабатывает, НО есть 2 момента:
1. В реальном коде эта строка выглядит как sPass ="пароль" (пароль заключен в кавычки), а после отработки кода выглядит как sPass = new_пароль (без кавычек), что, как я понимаю будет неправильно использовано кодом в дальнейшем. Попытка использовать CSrt(new_пароль) к положительным результатам не привела
2. Более главное. Для смены пароля (чтобы не прописывать новый пароль заранее, что лишает сам смысл смены) предполагалось использовать InputBox:
но в таком случае строка после отработки кода выглядит как sPass = sNewPass, т.е. во-первых без кавычек и во-вторых со значение sNewPass, а не с данными InputBox-а. Здесь так же использование CStr не помогло.
В обоих случаях вариант sPass = new_пароль или sPass = sNewPass приводит к результату False
Как можно решить данный вопрос, причем если он решается, то строго в варианте с InputBox? Правильным ответом должна стать строка
sPass = данные InputBox, причем данные обязательно в кавычках.
Заранее спасибо всем откликнувшимся
Код |
---|
... If MsgBox("Вы подтверждаете смену пароля на Вашем почтовом аккаунте?", vbCritical + vbYesNo, "Внимание! Подумайте перед ответом") = vbYes Then ThisWorkbook.VBProject.VBComponents.Item("Mail").CodeModule.ReplaceLine 9, "sPass = new_пароль" ... |
1. В реальном коде эта строка выглядит как sPass ="пароль" (пароль заключен в кавычки), а после отработки кода выглядит как sPass = new_пароль (без кавычек), что, как я понимаю будет неправильно использовано кодом в дальнейшем. Попытка использовать CSrt(new_пароль) к положительным результатам не привела
2. Более главное. Для смены пароля (чтобы не прописывать новый пароль заранее, что лишает сам смысл смены) предполагалось использовать InputBox:
Код |
---|
... sNewPass = CStr(InputBox("Введите НОВЫЙ пароль к вашему почтовому аккаунту", "Ввод нового пароля")) If MsgBox("Вы подтверждаете смену пароля на Вашем почтовом аккаунте?", vbCritical + vbYesNo, "Внимание! Подумайте перед ответом") = vbYes Then ThisWorkbook.VBProject.VBComponents.Item("Mail").CodeModule.ReplaceLine 9, "sPass = sNewPass" ... |
В обоих случаях вариант sPass = new_пароль или sPass = sNewPass приводит к результату False
Как можно решить данный вопрос, причем если он решается, то строго в варианте с InputBox? Правильным ответом должна стать строка
sPass = данные InputBox, причем данные обязательно в кавычках.
Заранее спасибо всем откликнувшимся