Добрейшего утра, многоуважаемые форумчане. Хотелось бы поинтересоваться потому как в ГУГЛ помощи найти подобное не могу. А если и нахожу то не то что хотелось бы. ЗАДАЧА Имеется три папки. в каждой папке имеются файлы экселя. Все файлы взаимосвязаны (где формулами, где макросами). В одной из основных папок (имеются файлы рабочие: куда поступает информация от рук оператора. И с которых данная информация раздается на отчеты и т.д). Вот как можно ЗАПРЕТИТЬ оператору изменять наименование файла эксель!? К примеру файл называется "Камаз е 969 кк 197" и он не должен как то изменить свое наименование ИНАЧЕ потому как прописанный макрос в другом файле ищет именно ПАПКУ определенную и определенное наименование... Возможны ли какие то варианты, или же имеется информация что нужно сделать. Хотя мне кажется что это НЕТ... Спасибо заранее за ответы и пояснения
Добрейшего утра, многоуважаемые форумчане. Хотелось бы поинтересоваться потому как в ГУГЛ помощи найти подобное не могу. А если и нахожу то не то что хотелось бы. ЗАДАЧА Имеется три папки. в каждой папке имеются файлы экселя. Все файлы взаимосвязаны (где формулами, где макросами). В одной из основных папок (имеются файлы рабочие: куда поступает информация от рук оператора. И с которых данная информация раздается на отчеты и т.д). Вот как можно ЗАПРЕТИТЬ оператору изменять наименование файла эксель!? К примеру файл называется "Камаз е 969 кк 197" и он не должен как то изменить свое наименование ИНАЧЕ потому как прописанный макрос в другом файле ищет именно ПАПКУ определенную и определенное наименование... Возможны ли какие то варианты, или же имеется информация что нужно сделать. Хотя мне кажется что это НЕТ... Спасибо заранее за ответы и поясненияlebensvoll
Добрый день. Запретить изменение названия можно, но только вместе с запретом на изменение этого файла. Т.е. информацию в него этот оператор не добавит, только "чтение".
Добрый день. Запретить изменение названия можно, но только вместе с запретом на изменение этого файла. Т.е. информацию в него этот оператор не добавит, только "чтение".sboy
sboy, да я понимаю. Вот именно на эту информацию я и натыкался ((((. Сами листы и так уже запоролил (чтоб оператор не мог лезть туда куда ему не нужно). Но когда в очередной раз она открывает отчет и видит что НЕТ информации (не подтянулось), начинает КРИЧАТЬ, да ты сделал теперь вообще не поймешь как это все работает (((( Начинаешь в панике выяснять причину и натыкаешься "Камаз е 969 кк 197 ВАСЯ" да БЛИН КАК ДА ЗАЧЕМ!!!! Вот и решил задать вопрос на форум, может кто что знает, кто то с талкивался с подобным. Говорю сразу уволить ОПЕРАТОРА не реально
sboy, да я понимаю. Вот именно на эту информацию я и натыкался ((((. Сами листы и так уже запоролил (чтоб оператор не мог лезть туда куда ему не нужно). Но когда в очередной раз она открывает отчет и видит что НЕТ информации (не подтянулось), начинает КРИЧАТЬ, да ты сделал теперь вообще не поймешь как это все работает (((( Начинаешь в панике выяснять причину и натыкаешься "Камаз е 969 кк 197 ВАСЯ" да БЛИН КАК ДА ЗАЧЕМ!!!! Вот и решил задать вопрос на форум, может кто что знает, кто то с талкивался с подобным. Говорю сразу уволить ОПЕРАТОРА не реальноlebensvoll
Здравствуйте. Можно спрятать файл, а доступ дать через ярлык. Если сохранит как и с новым названием, естественно изменений в старом файле не останется. Или прописать макрос который будет при закрытии книги присваивать нужное имя этой книге, не пробовал, но можно попробовать.Да макрос при переименовании книги в паке, не поможет.
Здравствуйте. Можно спрятать файл, а доступ дать через ярлык. Если сохранит как и с новым названием, естественно изменений в старом файле не останется. Или прописать макрос который будет при закрытии книги присваивать нужное имя этой книге, не пробовал, но можно попробовать.Да макрос при переименовании книги в паке, не поможет.gling
ЯД-41001506838083
Сообщение отредактировал gling - Среда, 15.08.2018, 10:10
gling, sboy, СПАСИБО ОГРОМНОЕ за ответы. Будем про бывать. Лучше конечно достучаться до сознания операторов (но боюсь это очень сложно). Но если все таки что то найдется интересное то я буду очень рад. А с ярлыками нужно про бывать....
gling, sboy, СПАСИБО ОГРОМНОЕ за ответы. Будем про бывать. Лучше конечно достучаться до сознания операторов (но боюсь это очень сложно). Но если все таки что то найдется интересное то я буду очень рад. А с ярлыками нужно про бывать....lebensvoll
Да макрос при переименовании книги в паке, не поможет.
А если вот так? В модуль книги Оставляет файл с неверным названием и рядом делает такой же с верным. Неверный можно стирать, но на всякий случай оставил [vba]
Код
Private Sub Workbook_AfterSave(ByVal Success As Boolean) fn_ = "129867.xlsm" If Me.Name <> fn_ Then Application.DisplayAlerts = 0 Me.SaveAs Filename:=Me.Path & "\" & fn_, FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = 1 End If End Sub
Private Sub Workbook_Open() fn_ = "129867.xlsm" If Me.Name <> fn_ Then Application.DisplayAlerts = 0 Me.SaveAs Filename:=Me.Path & "\" & fn_, FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = 1 End If End Sub
Да макрос при переименовании книги в паке, не поможет.
А если вот так? В модуль книги Оставляет файл с неверным названием и рядом делает такой же с верным. Неверный можно стирать, но на всякий случай оставил [vba]
Код
Private Sub Workbook_AfterSave(ByVal Success As Boolean) fn_ = "129867.xlsm" If Me.Name <> fn_ Then Application.DisplayAlerts = 0 Me.SaveAs Filename:=Me.Path & "\" & fn_, FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = 1 End If End Sub
Private Sub Workbook_Open() fn_ = "129867.xlsm" If Me.Name <> fn_ Then Application.DisplayAlerts = 0 Me.SaveAs Filename:=Me.Path & "\" & fn_, FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = 1 End If End Sub
_Boroda_, Александр!!! А если оператор не открывая файла берет и переименовывает файл был "Камаз е 969 кк 197" а взяла и сделала так вот "Камаз е 969 кк 197 ВАСЯ" Вот в чем загвоздка. И вот именно с этим КАК БОРОТЬСЯ, если мы можем макросами прописать или запреты указать на что то. Но как быть с НАГЛЫМ и УПОРНЫМ вмешательством оператором в переименовыванием самого файла. А АЛЕКСАНДР!!! Да вы гений!!! Попробовал поиграться с вашим вариантом. ЭТО же СУПЕР
_Boroda_, Александр!!! А если оператор не открывая файла берет и переименовывает файл был "Камаз е 969 кк 197" а взяла и сделала так вот "Камаз е 969 кк 197 ВАСЯ" Вот в чем загвоздка. И вот именно с этим КАК БОРОТЬСЯ, если мы можем макросами прописать или запреты указать на что то. Но как быть с НАГЛЫМ и УПОРНЫМ вмешательством оператором в переименовыванием самого файла. А АЛЕКСАНДР!!! Да вы гений!!! Попробовал поиграться с вашим вариантом. ЭТО же СУПЕРlebensvoll
Кто бы ты ни был, мир в твоих руках
Сообщение отредактировал lebensvoll - Среда, 15.08.2018, 11:57
столкнулся с проблемой (((( с чем связано не пойму!!! Перенес код в модуль книги и получаю ругательство при открытии файла [img][/img]
перевод
Цитата
Обнаружено неоднозначное имя: Рабочая книга открыта
А кое что заметил (((( на форуме вы прописываете один код а в файле приложенном другой. Тупанул, простите!!! Есть загвоздка (((( данный код у меня под таким наименованием оказывается есть (((( нужно исправить наименование [vba]
Код
Private Sub Workbook_Open()
[/vba] Как можно исправить наименование кода на открытие!? Один код с таким наименованием снимает защиту и обновляет связи и вновь устанавливает защиту. А другой код производит при открытии файла проверку по его наименованию [img][/img]
_Boroda_,
столкнулся с проблемой (((( с чем связано не пойму!!! Перенес код в модуль книги и получаю ругательство при открытии файла [img][/img]
перевод
Цитата
Обнаружено неоднозначное имя: Рабочая книга открыта
А кое что заметил (((( на форуме вы прописываете один код а в файле приложенном другой. Тупанул, простите!!! Есть загвоздка (((( данный код у меня под таким наименованием оказывается есть (((( нужно исправить наименование [vba]
Код
Private Sub Workbook_Open()
[/vba] Как можно исправить наименование кода на открытие!? Один код с таким наименованием снимает защиту и обновляет связи и вновь устанавливает защиту. А другой код производит при открытии файла проверку по его наименованию [img][/img]lebensvoll
Кто бы ты ни был, мир в твоих руках
Сообщение отредактировал lebensvoll - Среда, 15.08.2018, 12:47
если оператор не открывая файла берет и переименовывает файл
Для этого как раз код на открытие файла [vba]
Код
Private Sub Workbook_Open() fn_ = "129867.xlsm" If Me.Name <> fn_ Then Application.DisplayAlerts = 0 Me.SaveAs Filename:=Me.Path & "\" & fn_, FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = 1 End If 'Дальше то, что в уже имеющемся Workbook_Ope End Sub
если оператор не открывая файла берет и переименовывает файл
Для этого как раз код на открытие файла [vba]
Код
Private Sub Workbook_Open() fn_ = "129867.xlsm" If Me.Name <> fn_ Then Application.DisplayAlerts = 0 Me.SaveAs Filename:=Me.Path & "\" & fn_, FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = 1 End If 'Дальше то, что в уже имеющемся Workbook_Ope End Sub
Ругается ((( переменную нужно объявить ((( для fn_ я так понимаю. Если верно понимаю [vba]
Код
Private Sub Workbook_Open() fn_ = "Камаз в 300 нс 197.xlsm" If Me.Name <> fn_ Then Application.DisplayAlerts = 0 Me.SaveAs Filename:=Me.Path & "\" & fn_, FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = 1 End If 'Дальше то, что в уже имеющемся Workbook_Ope
Dim sh As Worksheet 'снимаем защиту For Each sh In Worksheets sh.Unprotect "09052002" 'цифры - это пароль Next sh 'очищаем записи For Each sh In ThisWorkbook.Sheets ActiveWorkbook.RefreshAll Next sh 'устонавливаем защиту For Each sh In Worksheets sh.Protect password:="09052002", DrawingObjects:=True, Contents:=True, Scenarios:=True Next sh
[/vba] Попытался так вроде бред получается. ЩЕТ [vba]
Код
Private Sub Workbook_Open() Dim fn_ As Workbook For Each fn_ In Workbook fn_ = "Камаз в 300 нс 197.xlsm" If Me.Name <> fn_ Then Application.DisplayAlerts = 0 Me.SaveAs Filename:=Me.Path & "\" & fn_, FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = 1 End If 'Дальше то, что в уже имеющемся Workbook_Ope
[/vba]
Ругается ((( переменную нужно объявить ((( для fn_ я так понимаю. Если верно понимаю [vba]
Код
Private Sub Workbook_Open() fn_ = "Камаз в 300 нс 197.xlsm" If Me.Name <> fn_ Then Application.DisplayAlerts = 0 Me.SaveAs Filename:=Me.Path & "\" & fn_, FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = 1 End If 'Дальше то, что в уже имеющемся Workbook_Ope
Dim sh As Worksheet 'снимаем защиту For Each sh In Worksheets sh.Unprotect "09052002" 'цифры - это пароль Next sh 'очищаем записи For Each sh In ThisWorkbook.Sheets ActiveWorkbook.RefreshAll Next sh 'устонавливаем защиту For Each sh In Worksheets sh.Protect password:="09052002", DrawingObjects:=True, Contents:=True, Scenarios:=True Next sh
[/vba] Попытался так вроде бред получается. ЩЕТ [vba]
Код
Private Sub Workbook_Open() Dim fn_ As Workbook For Each fn_ In Workbook fn_ = "Камаз в 300 нс 197.xlsm" If Me.Name <> fn_ Then Application.DisplayAlerts = 0 Me.SaveAs Filename:=Me.Path & "\" & fn_, FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = 1 End If 'Дальше то, что в уже имеющемся Workbook_Ope
Зачем Вы название файла (текст) пытаетесь сделать книгой Excel? Примерно вот так: [vba]
Код
Private Sub Workbook_Open() Dim fn_ fn_ = "129867.xlsm" If Me.Name <> fn_ Then Application.DisplayAlerts = 0 Me.SaveAs Filename:=Me.Path & "\" & fn_, FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = 1 End If 'отключаем обновление экрана Application.ScreenUpdating = False
Dim sh As Worksheet 'снимаем защиту For Each sh In Worksheets sh.Unprotect "09052002" 'цифры - это пароль Next sh 'очищаем записи For Each sh In ThisWorkbook.Sheets ActiveWorkbook.RefreshAll Next sh 'устонавливаем защиту For Each sh In Worksheets sh.Protect password:="09052002", DrawingObjects:=True, Contents:=True, Scenarios:=True Next sh
Зачем Вы название файла (текст) пытаетесь сделать книгой Excel? Примерно вот так: [vba]
Код
Private Sub Workbook_Open() Dim fn_ fn_ = "129867.xlsm" If Me.Name <> fn_ Then Application.DisplayAlerts = 0 Me.SaveAs Filename:=Me.Path & "\" & fn_, FileFormat:=xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = 1 End If 'отключаем обновление экрана Application.ScreenUpdating = False
Dim sh As Worksheet 'снимаем защиту For Each sh In Worksheets sh.Unprotect "09052002" 'цифры - это пароль Next sh 'очищаем записи For Each sh In ThisWorkbook.Sheets ActiveWorkbook.RefreshAll Next sh 'устонавливаем защиту For Each sh In Worksheets sh.Protect password:="09052002", DrawingObjects:=True, Contents:=True, Scenarios:=True Next sh
StoTisteg, да но при открытии переименнованного файла и его сохранении после занесением оператором информации он сохранит файл с нужным наименованием. КОД БОМБА!!! попробуйте пример приложенного файла от АЛЕКСАНДРА _Boroda_,
StoTisteg, да но при открытии переименнованного файла и его сохранении после занесением оператором информации он сохранит файл с нужным наименованием. КОД БОМБА!!! попробуйте пример приложенного файла от АЛЕКСАНДРА _Boroda_,lebensvoll