Страницы: 1
RSS
Ошибка активации листа при открытии книги
 
Кто поможет, кто избавит?  :)  

Внутреннее имя листа изменено.
Вот такой супер-код:
Код
Private Sub Workbook_Open()
    wsWorker.Activate
End Sub
Работает. Но если файл копировать и открывать уже новый, ошибка:

Откуда такой гонор у вновь созданного? Или это мой Офис характер показывает?
Файл ковырялся-изменялся-дорабатывался (здесь он пустой) - может, поломался?  :)
 
Доброе утро Виктор,
20 раз закрыл с сохранением при другом активном листе, открыл.
Супер-экстра-плюс-код у меня работает. :)
Попробуйте разные варианты:
Код
Private Sub Workbook_Open()
wsWorker.Activate
wsWorker.select
sheets(1).activate
sheets(1).select
End Sub
 
 
Цитата
k61 пишет: закрыл с сохранением при другом активном листе,
... и после этого копировать книгу и открывать копию.  Да?
Worksheets(1).activate применял сразу. Тот же фокус.

Но сейчас обнаружил.
Копия файла первый раз открывается в защищенном режиме. activate листа при этом вызывает ошибку, select - без ошибки, но и лист не активируется.
Открываю еще раз (даже если не сохранять после первого раза) - копия открывается в нормальном режиме (не защищенном) и лист активируется без проблем.
 
Цитата
vikttur пишет: ... и после этого копировать книгу и открывать копию.Да?
Да. Лист1 при открытии копии активный.
 
Цитата
vikttur пишет: первый раз открывается в защищенном режиме
Вить, значит надо папку, в которую копируешь файл, добавить в надежные расположения:
Файл-Параметры-Центр управления безопасностью-Параметры центра управления безопасностью-Надежные расположения
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Вопрос не в папке.
При копировании файла куда-либо. Все папки добавлять? И на форуме ни у кого не повторяется (пока что?)
При копировании только этого файла. С другими не наблюдал.
Похоже, только у меня ему что-то не нравится.
И это почему-то по-разному:
Цитата
activate листа при этом вызывает ошибку, select - без ошибки
Дополнительно: файл гулял по почте туда-сюда, открывался на МАК'е, проблема обнаружилась после очередного возвращения блудного файла (не утверждаю, что раньше было не так).
 
хм, был у меня csv созданный одним конвертером - импортироваться макросом от Educated Fool не хотел по ячейкам (выкидывал всё в 1й столбец) - причём если это csv просто открыть и закрыть (при этом вся инфо расставлялась по ячейкам) не сохраняя - макрос от Игоря срабатывал корректно... не знаю отчего?.. пока Hugo не заметил каких-то кавычек левых в этом csv (видимо для чего-то вставленных ещё конвертером изначально) и пришлось их VBA (--) приводить в числовой формат... ну и макрос получился совсем др и импорт норм (без предварительного открытия-закрытия без сохр-я этого csv)... я понимаю, что Worksheet событие - это не разнос csv по ячейкам - но одна какая-то мелочь (") прицепиться где-то и уже ошибка  :(  ... просто делюсь опытом по аналогии - идей по вашему вопросу нет

но разве что какие-то свойства файла где-нибудь здесь были изменены автоматом пока он гулял... как версия...
Изменено: JeyCi - 27.10.2014 12:20:03
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Покопался. С некоторыми файлами проблема воспроизводится. И не обязательно при активации листа, в других файлах ошибка может возникать в другом месте кода.
В Параметры-Центр_управления_безопасностью-Параметры_центра_управления_безопасностью-Защищенный_просмотр выключилЗащищенный_просмотр_для_файлов_из_интернета
Ошибка пропала.

Но отключать защиту навсегда желания нет.
Как рассказать Excel'ю, что файл после интернета давно уже побывал на жестком диске? Т.е. дать понять, что книга уже не из интернета и не нужно ругаться, когда копия открывается впервые?
 
есть такие 2 слова (может оно?) - в доп к моей картинке выше (как снять эту гадость выделенную красным) ?
в любом случае пошла в поисковик GetAttr  - и дальше по линкам... (и даже какой-то Unlock)... увидела такое:

IsSecuritySafeCritical Получает значение, которое указывает, является ли текущий тип защищенным критически важным для безопасности на текущем уровне безопасности и, следовательно, может ли он выполнять критические операции и предоставлять доступ прозрачному коду
IsSecurityTransparentПолучает значение, которое указывает, является ли текущий тип прозрачным на текущем уровне доверия и, следовательно, не может выполнять критические операции.
(и слева ещё всякие разные)

p.s. как пользовать не знаю...
Изменено: JeyCi - 27.10.2014 13:45:20
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
да, наверно, я погорячилась с ассоциативными линками и надеждой "логично если сработает"... GettAttr - не распознаёт ту подпись "осторожно" (из поста #7), а SettAttr не изменяет её (хоть и изменяет стандартные возможные аттрибуты файла)... sorry... хоть для истории линки оставлю...
p.s. про win.api32 промолчу - не знакома - тоже лишь мысли с надеждой...
Изменено: JeyCi - 27.10.2014 19:06:38
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Виктор, когда выбирается режим Защищенный_просмотр_для_файлов_из_интернета, то подразумевается, что такой файл после сохранения в обычную папку можно безопасно открывать, но вся опасная .функциональность его заблокирована. Если пользователь откроет файл и не обнаружит опасностей, то ему достаточно сохранить этот файл для разблокировки. Наверное, можно попробовать это сделать и в коде (при ошибке Activate - сохранить, закрыть и открыть снова).
У меня такой режим отключен, но при загрузке книги  с макросами стоит предупреждение, этого достаточно, чтобы случайно не запустить чьи-то непроверенные макросы.
А чтобы не возникало подобных проблем при пересылке файла, его лучше пересылать (выкладывать в Интернет) в архиве.
Изменено: ZVI - 27.10.2014 22:02:09
 
Было подобное с файлом Word. Написал макрос, заполняющий шаблон Word из Excel.
Отправил заказчику. Он внес свои изменения в шаблон, загрузил на сервер. Файл перестал открываться. Он прислал его мне. Я открыл, посмотрел, запустил макрос - все работает. После этого делаю копию файла на другой диск - макрос работать перестает. После мучений выяснил, что нужно в свойствах файла нажать кнопочку "разблокировать".
 
Цитата
JeyCi пишет: разве что какие-то свойства файла... были изменены автоматом пока он гулял
Цитата
ZVI пишет: ...сохранить этот файл для разблокировки
Цитата
RAN пишет: в свойствах файла нажать кнопочку "разблокировать"
Вот оно, спасение. И порядок. Не знал.
Спасибо большое всем.
 
Вить, так это надо в любом случае сделать после открытия вручную.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
А не знал!
 
 
В сообщении №7 такая же.
 
Ребят, из Вашей переписки мэтров EXEL, отключить защищенный просмотр не представляется возможным.
Если я ошибся, подскажите каким кодом?
Спасибо!

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Не ошиблись, нельзя.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
The_Prist, спасибо!

Бессмысленно осмысливать смысл неосмысленными мыслями.
Страницы: 1
Наверх