Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 След.
Удаление форм и модулей из книги
 
понял - если напрямую не удаляется - сменить размер шрифта - сохранить - потом со второй попытки удаляется - проверил
Удаление форм и модулей из книги
 
первую удалил - получилось а 2-я не удаляется почемуто  те если не удаляется - сменить размер шрифта а потом удалить ?  щас
Изменено: oleg355 - 28.07.2018 18:28:59
Удаление форм и модулей из книги
 
я и говорю что при ответах иногда такая надпись появляется при ответах  и не убирается редактированием - я это не пишу
Удаление форм и модулей из книги
 
спасибо Игорь буду пробовать

PS:строка данная иногда появляется при ответах и редактированием почемуто не убирается
Изменено: oleg355 - 29.07.2018 11:26:06
Удаление форм и модулей из книги
 
к сожалению плохо разбираюсь в oVBComponent и прочем  не подскажете как изменить код чтобы удалил все кроме имен перечисленных в макросе ?
Удаление форм и модулей из книги
 
Добрый вечер всем !

Вопрос такого плана - как программно удалить лишние модули и формы книги, оставив только нужные ?
Есть конечно проверенный макрос который удаляет все модули и формы из книги - но задача не удалять все, а оставить нужные модули и формы - остальные удалить.
Код
Sub Delete_Macroses_ОСН()
    Dim oVBComponent As Object, lCountLines As Long
    'Проверяем, защищен проект или нет
    If ActiveWorkbook.VBProject.Protection = 1 Then
        MsgBox "VBProject выбранной книги защищён." & vbCrLf & _
             "     Компоненты не будут удалены.", vbExclamation, "Отмена выполнения"
        Exit Sub
    End If
 
    For Each oVBComponent In ActiveWorkbook.VBProject.VBComponents
        On Error Resume Next
        With oVBComponent
            Select Case .Type
            Case 1    'Модули
                .Collection.Remove oVBComponent
            Case 2    'Модули Класса
                .Collection.Remove oVBComponent
            Case 3    'Формы
                .Collection.Remove oVBComponent
            Case 100    'ЭтаКнига, Листы
                    lCountLines = .CodeModule.CountOfLines
                    .CodeModule.DeleteLines 1, lCountLines
            End Select
        End With
    Next
    Set oVBComponent = Nothing
End Sub
Перенос данных из закрытой книги и в закрытую книгу
 
Eco можете какой-то пример ссылку если несложно
Перенос данных из закрытой книги и в закрытую книгу
 
немного понял как - буду пробовать   благодарю Nordheim за пример !
Перенос данных из закрытой книги и в закрытую книгу
 
еще бы знал как реализовать (GetObject вообще не знаю) - ссылочку какую на пример реализации или пример не подкинете ?
Изменено: oleg355 - 11.06.2018 10:15:12
Вопросы по защите в Excel/VBA
 
Цитата
bedvit написал:
Даже если он включил и увидит что все удалилось, что помешает ему открыть копию в следующий раз без макросов, а на наш форум написать что вот проблема, файл открывается, данные пропадают, помогите!
ничего не мешает - согласен
этот вариант 50 на 50  - но на первые 50 процентов работает  - все зависит от продвинутости пользователя по макросам и вопросам VBA
на предприятии стоят компы - файлы индивидуальные дб привязаны к индивидуальным компам
у непродвинутого пользователя хватит ума скопировать файл на внешний носитель или себе на почту перекинуть и пр (переместить файл)
после 2-3 неуспешных открытий с самоуничтожением листов с инфой он просто перестанет это делать - на это и рассчитано

паролить лист-книгу - это каждый раз предварительно пользователю открывать книгу перед началом работы (чтоб пароля не знал)- это не выход

другой вопрос - из-за привязки к компам и механизма самоуничтожения - как потом себе рез копию сохранять если комп полетит (привязка полетит сломается) - делаем копию в облако или еще как    потом как открыть этот файл админу - вот и ищу как совместить эти факторы

пока 2 варианта восстановления без риска
1)по пути файла - можно повторить путь директории файла при восстановлении на другом компе
2)по имени файла - переименовать архив и открыть

Другие варианты
3)вариант с флешкой-ключем тоже нравиться (флешку забить внутрь компа надо чтоб пользователь не видел флешки воткнутой либо как то ее эмулировать в скрытом режиме а у себя держать копию на физическом носителе)

4)Варианты с привязкой к оборудованию - можно переписывать MAC адрес новой сетевой карты при выходе старой из строя (прогой SMAC 2.7 и тп) - параметры какие жесткого диска можно принудительно ввести на новый диск

Вот и ищу оптимальные варианты и как их реализовать
+ еще надо запретить пользователю открывать книгу без включенных макросов - те если макросы выключены в конкретной книге (тоже самоуничтожение)  - а пока только вариант рабочий скрыть листы (не уничтожить) - при отключенных макросах выше писал с раб вариантом выкладывал

При всех этих вариантах выше обязательно пароль на проект VBA.
Изменено: oleg355 - 11.06.2018 10:56:51
Перенос данных из закрытой книги и в закрытую книгу
 
День добрый всем !

Столкнулься с таким вопросом - можно ли в VBA осуществлять перенос данных макросом из открытой 1 книги в закрытую 2 книгу (не открывая 2 книгу).
И обратная ситуация  - можно ли в 1 открытую книгу макросом 1 книги  забрать данные из 2 закрытой книги (не открывая 2 книгу).

Почитал в инете - вроде проскальзывает что можно  - или нельзя и обязательно надо открывать 2 книгу ?
Вопросы по защите в Excel/VBA
 
Цитата
Юрий М написал:
Сетевую карту не рассматриваете?
а если к сетевой карте привязываться - какой параметр брать - MAC адрес или что будет ?

Цитата
DenSyo написал:
классический вариант с простеньким юсб-ключом который можно сделать из обычной флэшки?
интересный вариант - токо как сделать этот ключ на каких принципах он должен работать ?
Вопросы по защите в Excel/VBA
 
все таки понятно что тема ассоциирутся снисходительно - все равно защиту сломаешь и пароль на VBA на раз ломается это понятно
но среднестатичное положение такое - в основном фирмы и сотрудники - это не продвинутые пользователи и если уволокут файл - он ликвидируется - они это дело бросят тк не счем будет работать после увольнения и тд   на этом и основанно ликвидность темы
вопрос такой к чему привязаться  выводы сделаны
самоуничтожение файла при открытии на других компах
условия
- серийник диска С - рискованно
- путь файла - оставляем
- название файла - оставляем

Есть еще пути какие при каких условиях может по хешу файла привязаться как вариант ?
Вопросы по защите в Excel/VBA
 
выскажу свое мнение - 1)тема интересует многих 2)тема набрала мого просмотров за 2 дня 3)как корректно переименовать эту тему чтоб не нарушать правила форума
Вопросы по защите в Excel/VBA
 
Вопрос в другом - стоит ли эту тему далее продолжать есть еще идеи  (нужно   не нужно - сам пользователь решит) просто для таких
1)у вас сотрудник начинающий пользователь Excel - защита подходит
2)у вас сотрудник средний пользователь Excel - защита подходит
3)2)у вас сотрудник продвинутый пользователь Excel - защита не подходит

Че тут думать ?  Надо или не надо защиту

Предлагаю перевести плоскость обсуждения в варианты защиты
Изменено: oleg355 - 06.06.2018 14:42:26
Вопросы по защите в Excel/VBA
 
Вставлю свои 5 копеек хотя модератор запретил
Стоит или не стоит наработки Excel?
Считаю стоит.Обоснование - есть база данных на начинающем предприятии сотрудники меняются как перчатки - и что ?
Вопрос из практики - ответ из практики.
Смысл сего действия - чтоб не уволок базу и скрипты сотрудник при уволнении
Зачем сотруднику это надо ? Как вариант уходит к конкурентам и пр

Почему столько просмотров - значит тема не зря

Считаю что тему прекращать не надо - коллективное обсуждение принесет свои плоды

вывод сделал
самоуничтожение файла при открытии на других компах
условия
- серийник диска С - рискованно
- путь файла - оставляем
- название файла - оставляем

Есть еще пути какие как идея ?
БМВ извините конечно - но покритиковать конечто надо - но что в остатке остается ? Хотя бы элементарную защиту сделать - что в этом плохого ?
Изменено: oleg355 - 06.06.2018 14:29:15
Вопросы по защите в Excel/VBA
 
Благодарю всех кто откликнулся по теме ! Как сделаю рабочий вариант с вопросами - открою тему
Вопросы по защите в Excel/VBA
 
по защите от выключения макросов - пример дополненный как вариант приложил   только надо запустить файл при отключенных макросах в Excel
это с https://www.excel-vba.ru/chto-umeet-excel/kak-zapustit-fajl-s-vklyuchennymi-makrosami/
может у кого другой вариант есть по защите от выключения макросов

по поводу
Цитата
БМВ написал:
Я не о том. Как вы будете открывать эту копию на новом ПК если старых не осталось (офис сгорел, компы поворовали, ОБЭП пришел и диски изъял)
подумаю как - есть вариант как идея
Изменено: oleg355 - 04.06.2018 18:52:15
Вопросы по защите в Excel/VBA
 
так надежнее по диску код логического диска (серийный номер тома) или  серийник через  WMI ? По поводу бэкдора - однонаправленная скрытая синхронизация с облаком на компе пользователя
Вопросы по защите в Excel/VBA
 
потихоньку все - но сейчас проверка серийник диска  и путь к файлу + наименование файла   Осталось как программно запретить выключать макросы или выключение через пароль ( при этом пароль на сам код VBA поставить)
Изменено: oleg355 - 04.06.2018 17:56:55
Вопросы по защите в Excel/VBA
 
Извините что поднял тему - но это хотя бы чтото - лучше чем ничего
Вопросы по защите в Excel/VBA
 
Те как понимаю для бм защиты нужно 3 вида защиты
1)Защита на отключение макросов
2)Защита с самоуничтожением по серийному номеру при переносе на другой комп
3)Защита с самоуничтожением по пути файла и имени файла
ну и запаролить VBA

"Alemox написал:
А  вообще если по теме, зачем вам от переименования или адреса защищать?  Это Excel файл и у него предназначение ползать туда куда его положат. А  если я файл на флешку закинул и открыл дома, получается я не могу с ним  дома работать?"
да предполагается  что пользователь только на рабочем может пользоваться например базой данных и пр - если захочет уволочь с флешкой - то не получится
Изменено: oleg355 - 04.06.2018 16:36:02
Вопросы по защите в Excel/VBA
 
Для защиты "от дурака" может хватить  - понятно что идеальной защиты нет
Вопросы по защите в Excel/VBA
 
Благодарю БМВ за ответ -понял. Еще один вопрос если можно - реализация защиты по  полному пути файла Excel на этих же принципах можно реализовать  ? как понимаю тут
Function Drive_C_SerialNumber() As String  будет просто другая например - как прописать путь файла ?
те 2 защиты совместить - если файл будут пытаться открыть на другом компе или из другой папки (или даже просто переименовав файл)
Код
Function ПутьФайла() As String ' функция по полному пути файла
..................................... как прописать путь файла ?
End Function 

 
Изменено: oleg355 - 04.06.2018 16:00:24
Вопросы по защите в Excel/VBA
 
Число с минусом прокатило - работает   ( проверил на других компах)
Число без минуса не работает ( проверил на других компах)

 хотя это же не серийный номер - откуда это число берется ?  
Изменено: oleg355 - 04.06.2018 15:24:24
Вопросы по защите в Excel/VBA
 
У меня вот такое выдало по коду Catboyun  "-1861936793"    число с минусом   (ячейка A1 в текстовом формате)  это число с минусом без минуса вводить как серийный номер ?
Изменено: oleg355 - 04.06.2018 15:24:53
Вопросы по защите в Excel/VBA
 
я к сожалению чайник в VBA  и даже не понимаю как это сделать в UCase   Код выше срабатывает на уничтожение информации - создает пустой лист и удаляет листы с информацией - но почему родной серийник не воспринимает ?
Изменено: oleg355 - 04.06.2018 15:01:27
Вопросы по защите в Excel/VBA
 
День добрый всем !

Задался целью обезопасить учетную рабочую таблицу чтобы файл Excel работал только на определенном компе
- а если на других открываешь файл самоуничтожается
Нашел замечательный код здесь http://www.programmersforum.ru/showthread.php?t=36480 от уважаемого EducatedFool
Код
Private Sub Workbook_Open()
    Const My_Drive_C_SerialNumber = "12345678" ' сюда пишем серийный номер своего диска
    If Drive_C_SerialNumber <> My_Drive_C_SerialNumber Then
        MsgBox "Вы пытаетесь открыть файл на другом компьютере", vbCritical, "Нет доступа"
        Application.DisplayAlerts = False
        newsh = ThisWorkbook.Worksheets.Add.Name    ' создаём пустой лист
        For Each sh In ThisWorkbook.Worksheets
            If sh.Name <> newsh Then sh.Delete    ' удаляем все листы этого файла, кроме пустого
        Next
        ThisWorkbook.Save
        ThisWorkbook.Close False
    End If
End Sub

Function Drive_C_SerialNumber() As String
    Drive_C_SerialNumber = CreateObject("scripting.filesystemobject").GetDrive("c:\").SerialNumber
End Function

При тесте узнал предварительно серийник диска С своего компьютера (через командную строку сделать wmic diskdrive get model,name,serialnumber ) , ввожу свой серийник диска С  и пробую запустить на своем же компьютере  - но вываливается
MsgBox "Вы пытаетесь открыть файл на другом компьютере"  хотя серийник ввел правильно 100% (перепроверил серийный номер другими прогами)
В чем может быть ошибка - серийник диска обычно выдается большими буквами типа JPS930N11PNDRV  - может маленькими надо вводить или что в коде поправить ?
Изменено: oleg355 - 06.06.2018 17:54:08
Не отключается таймер по времени в макросе
 
Благодарю Юрий за помощь ! сейчас понятно хоть стало ..
Не отключается таймер по времени в макросе
 
Понял где ошибка (при открытии книги ругается Compile error:Ambiguous name detected: Flag) была зарыта и почему
Код
Private Sub Workbook_Open() 
Flag = True

ругалась на Flag  (а в тестовых примерах все нормально работает)

1)у меня в рабочей книге
Код
Public Flag As Boolean

была обьявлена в нескольких  модулях, тк там тоже Flag используется
Получается Модуль1 Public Flag As Boolean - обьявлен Flag
                 Модуль2 Public Flag As Boolean - обьявлен Flag
                 Модуль3 Public Flag As Boolean - обьявлен Flag

2)Убрал текст Public Flag As Boolean  из 2 и 3 модуля, оставил только в 1 - все заработало, книга открывается нормально и сохранение работает

3)Те если Flag работает в нескольких Модулях (макросах)  то его  обьявлять Public Flag As Boolean только в 1(одном) модуле - остальные его подхватят ?
Изменено: oleg355 - 04.06.2018 16:26:51
Страницы: 1 2 3 4 След.
Наверх