Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2009, 09:43   #51
joojle
Пользователь
 
Регистрация: 05.05.2009
Сообщений: 46
По умолчанию

Пароль на сохранение знают только пользователи этой книги. А нужен он для того что бы другой пользователь (если вдруг попадет эта книга к нему в руки)не мог внести изменения.
По поводу сохранения: Во общем так когда после изменения ячейки перейти на другую ячейку и запустить "Ctrl + S" тогда выходит сообщение "Команда недоступна!", а вот когда изменяешь данные в ячейке и оставаясь в ней же и запустить "Ctrl + S" то тогда уже выходит запрос на сохранение. Попробуйте так сделать.
joojle вне форума Ответить с цитированием
Старый 03.07.2009, 11:51   #52
alvazor
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 122
По умолчанию

позвольте выразить свой восторг SAS888 и joojle (за последовательность и настырность) - целый учебник получился!
Если не затруднит, несколько вопросов:
- меню excel ОКНО - ОТОБРАЗИТЬ недоступно по причине свойства листа VeryHidden или отдельной командой сделано недоступным?
- где можно найти перечень хотя бы самых ходовых функций API с кратким описанием и синтаксисом (описания лучше бы на русском)
- EnableControl 945 = (True, False) - ни разу не видел эту конструкцию, красиво.... Где можно узнать назначение кодов?
- когда я в макросе вмешался в меню приложения, изменения коснулись всех открытых книг. Здесь же этого нет. Не соображу, как это достигается?
С уважением и благодарностью, Алексей
alvazor вне форума Ответить с цитированием
Старый 03.07.2009, 12:06   #53
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
- меню excel ОКНО - ОТОБРАЗИТЬ недоступно по причине свойства листа VeryHidden или отдельной командой сделано недоступным?
Свойства листа VeryHidden для этого достаточно.
Цитата:
- где можно найти перечень хотя бы самых ходовых функций API с кратким описанием и синтаксисом (описания лучше бы на русском)
Например, Здесь.
Цитата:
- EnableControl 945 = (True, False) - ни разу не видел эту конструкцию, красиво.... Где можно узнать назначение кодов?
В этой теме уже был ответ Здесь.
Цитата:
- когда я в макросе вмешался в меню приложения, изменения коснулись всех открытых книг. Здесь же этого нет. Не соображу, как это достигается?
О чем идет речь конкретно? Какие настройки Excel Вы имеете ввиду?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 03.07.2009, 13:06   #54
alvazor
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 122
По умолчанию

Спасибо профессионалу! Сориентировался во всех непонятках...
Последний вопрос снят (проверил свой макрос - все нормально ) Я в нем закрываю или убираю некоторые контекстные меню, ярлыки листов и т.п. Но вставлены команды восстановления при деактивации книги....
alvazor вне форума Ответить с цитированием
Старый 03.07.2009, 13:44   #55
joojle
Пользователь
 
Регистрация: 05.05.2009
Сообщений: 46
По умолчанию

SAS888 Вы посмотрели то что я описал?

Пароль на сохранение знают только пользователи этой книги. А нужен он для того что бы другой пользователь (если вдруг попадет эта книга к нему в руки)не мог внести изменения.
По поводу сохранения: Во общем так когда после изменения ячейки перейти на другую ячейку и запустить "Ctrl + S" тогда выходит сообщение "Команда недоступна!", а вот когда изменяешь данные в ячейке и оставаясь в ней же и запустить "Ctrl + S" то тогда уже выходит запрос на сохранение. Попробуйте так сделать.
joojle вне форума Ответить с цитированием
Старый 08.07.2009, 00:29   #56
сергей70
 
Регистрация: 26.06.2009
Сообщений: 3
По умолчанию

Уважаемый SAS 888, доброго времени суток! Подскажите, как из Вашего файла Excel перелить данный макрос в мой файл Excel? Просто в моем файле достаточно много страниц, связанных между собой и при переносе моих листов в Ваш файл предстоит много работы по возобновлению связей между листами. Я попытался скопировать модули и вводную страницу с Вашего файла в свой, но при открытии моего файла с Вашими модулями он открывался полностью без запроса пароля. Заранее прошу прощения, что задаю, скорее всего, элементарный вопрос, но сам ответа на него не нашел. Заранее спасибо!
сергей70 вне форума Ответить с цитированием
Старый 08.07.2009, 07:23   #57
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Нужно скопировать вводный лист, разместив его обязательно первым, скопировать все программные модули, а также (что Вы, скорее всего не сделали), скопировать весь программный код из модуля "Эта книга" в соответствующий модуль.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 08.07.2009, 11:58   #58
сергей70
 
Регистрация: 26.06.2009
Сообщений: 3
По умолчанию

Уважаемый SAS 888, большое Вам спасибо, получилось! Позвольте задать еще вопрос - если мне необходимо, чтобы при вводе пользовательского пароля ("111", "222" и т. п.) помимо принадлежащего паролю листа выходил еще один лист(в моем случае №2), открывающийся при вводе любого пароля. В модуль ввел изменения, но не срабатывает. Будет возможность, посмотрите, пожалуйста.
Dim i As Integer, Psw As String, a
a = Array("230301", "111", "222", "333", "444", "view") 'Пароли
Psw = InputBoxDK("Введите пароль", "Ввод пароля")
If Psw = a(0) Then
Run "SheetsVisible": Exit Sub
End If
If Psw = a(UBound(a)) Then
Sheets(2).Visible = True
For i = 2 To Sheets.Count
Sheets(i).Visible = True
Next
Exit Sub
End If
For i = 0 To UBound(a) - 1
If Psw = a(i) Then
Sheets(i + 1).Visible = True: Sheets(1).Visible = xlVeryHidden
End If
Next
сергей70 вне форума Ответить с цитированием
Старый 09.07.2009, 12:53   #59
joojle
Пользователь
 
Регистрация: 05.05.2009
Сообщений: 46
По умолчанию

Вы имеете ввиду чтоб при вводе пароля напр:111 открывалось несколько страниц. Если так то на странице 3 этой темы есть описание решения этой проблемы.
или вот:
Для этого нужно команду выхода из процедуры вынести за цикл. Т.е. фрагмент кода
Код:
For i = 0 To UBound(a)
If Psw = a(i) Then
Sheets(i + 1).Visible = True: Sheets(1).Visible = xlVeryHidden: Exit Sub
End If
Next

Замените на
Код:
For i = 0 To UBound(a)
If Psw = a(i) Then
Sheets(i + 1).Visible = True: Sheets(1).Visible = xlVeryHidden
End If
Next
Exit Sub
joojle вне форума Ответить с цитированием
Старый 09.07.2009, 13:00   #60
joojle
Пользователь
 
Регистрация: 05.05.2009
Сообщений: 46
По умолчанию

А нет вру там уже это учтено.
joojle вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как с помощью формы календарь, передвигаться по листам книги Excel Deni55 Microsoft Office Excel 3 15.04.2009 12:57
Меню для книги tae1980 Microsoft Office Excel 3 15.04.2009 06:15
Программное создание книги Волк Microsoft Office Excel 2 16.03.2009 07:57
Открытие Excel-книги Леон Microsoft Office Excel 1 04.07.2008 09:14
Как запустить макрос при изменении другой книги Excel? Град Microsoft Office Excel 12 10.06.2008 10:01