Workbooks Open Pass
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Workbooks Open Pass Expand / Collapse
Автор
Сообщение
23.08.2007 13:28
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 24.08.2007 17:56
Сообщ.: 37, Visits: 372
Есть проблемка, а идей по её решению нет.
Может мозговым штурмом можно её решить. Суть проблемы:
VBA открывает файл тянет из него нужную инфу и закрывает без сохранения. функция сделана через for __ to, но когда этот гад натыкается на файл защищённый паролем всё встает намертво. Вопрос, такой как сделать проверку на наличие пасса и в случаи наличия не открывать файл?
кусок кода:

For i = 1 To 62511

On Error GoTo ErrorHandle:
DoEvents

Workbooks.Open Filename:=p(i)
ActiveWorkbook.UpdateLinks = xlUpdateLinksNever

Call Module2.Listg(re2, lists)

If lists = True Then

Workbooks(FIMP2).Worksheets("Лист1").Rows("1").EntireRow.Insert
......... и т.д.
i=i+1
next i


____________________________________

Второе следствие из Закона Чизхолма. Если вы уверены, что ваш поступок встретит всеобщее одобрение, кому-то он обязательно не понравится.

Сообщ. #915528
23.08.2007 15:02
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 24.08.2007 17:56
Сообщ.: 37, Visits: 372
Ещё вопросик по теме.
как при открытии файла указанным выше методом отключить обновление связей.
ActiveWorkbook.UpdateLinks = xlUpdateLinksNever не помогает.


____________________________________

Второе следствие из Закона Чизхолма. Если вы уверены, что ваш поступок встретит всеобщее одобрение, кому-то он обязательно не понравится.

Сообщ. #915531
23.08.2007 15:10
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 24.08.2007 17:56
Сообщ.: 37, Visits: 372
Михря (23.08.2007)

как при открытии файла указанным выше методом отключить обновление связей.
ActiveWorkbook.UpdateLinks = xlUpdateLinksNever не помогает.


Сам спросил, сам ответил.
Application.AskToUpdateLinks = False


____________________________________

Второе следствие из Закона Чизхолма. Если вы уверены, что ваш поступок встретит всеобщее одобрение, кому-то он обязательно не понравится.

Сообщ. #915532
23.08.2007 16:20
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.04.2008 11:44
Сообщ.: 366, Visits: 2 473
True if the workbook has a protection password. Read-only Boolean.

Remarks
You can assign a protection password to a workbook by using the SaveAs method.

Example
This example displays a message if the active workbook has a protection password.

If ActiveWorkbook.HasPassword = True Then
MsgBox "Remember to obtain the workbook password" & Chr(13) & _
" from the Network Administrator."
End If

С уважением,
Сообщ. #915538
23.08.2007 16:36
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Здесь советуют указать пустой параметр Password при открытии книги и перехватывать ошибки.
Сообщ. #915539
23.08.2007 18:24
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 24.08.2007 17:56
Сообщ.: 37, Visits: 372
блин засада.
Пробую первое решение метод ActiveWorkbook.HasPassword
не работает потому, что:
часть кода:
.................
Workbooks.Open Filename:=p(i) 'сначала открываем, выскакивает окно с пассом и до if дело не доходит.

If ActiveWorkbook.HasPassword = True Then
i = i + 1
GoTo Line1
End If
......................

Второй вариант выдает ошибку уже не EXCel а VBA,
"P(2058) 1004 was generated by Microsoft Office Excel Неверный пароль. Убедитесь, что отключена клавиша CAPS LOCK и используется правильный регистр."



____________________________________

Второе следствие из Закона Чизхолма. Если вы уверены, что ваш поступок встретит всеобщее одобрение, кому-то он обязательно не понравится.

Сообщ. #915547
23.08.2007 19:54
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 24.08.2007 17:56
Сообщ.: 37, Visits: 372
тоже не понятно с перехватчиком ошибок. если делать каждый шаг с ф8, то ошибочный пас летит в обработчик, если на автомате то вылетает ошибка!

____________________________________

Второе следствие из Закона Чизхолма. Если вы уверены, что ваш поступок встретит всеобщее одобрение, кому-то он обязательно не понравится.

Сообщ. #915549
24.08.2007 11:03
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 24.08.2007 17:56
Сообщ.: 37, Visits: 372
Public Function OpenI(i, openIP)
Dim mypass As Object
On Error GoTo OpenI_Error

Set mypass = Workbooks.Open(Filename:=p(i), Password:="", IgnoreReadOnlyRecommended:=True)
openIP = True
Exit Function

OpenI_Error:
openIP = False

End Function


____________________________________

Второе следствие из Закона Чизхолма. Если вы уверены, что ваш поступок встретит всеобщее одобрение, кому-то он обязательно не понравится.

Сообщ. #915555
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейча