Страницы: 1
RSS
ошибка компиляции проекта
 
Файл Excel-2007 размещен в локальной сети. На всех компьютерах сети одинаковые конфигурации офиса и системы. Проект разработан на моем компьютере. Пытаюсь использовать его на другом компьютере (пока в тестовом режиме) и получаю сообщение об ошибке компиляции «Не могу найти объект или библиотеку». Ошибка (пока) обнаружена на двух элементах кода.  
Первый – в модуле «Книга» есть код  
Private Sub Workbook_BeforeClose(Cancel As Boolean)  
Application.Calculation = xlAutomatic  
Dim x As String  
10:    strPath = "\\Server-unk\обмен унк\Новая структура каталога Отдела КИН\Базы данных и реестры\Базы ОУ\Archiv"  
   On Error Resume Next  
   x = GetAttr(strPath) And 0  
   If Err = 0 Then ' если путь существует - сохраняем копию книги  
       strDate = Format(Now, "dd/mm/yy hh-mm")  
       FileNameXls = strPath & "\" & "Копия автоматизации от " & strDate & ".xlsm"  
       ActiveWorkbook.SaveCopyAs Filename:=FileNameXls  
   Else 'если путь не существует - выводим сообщение  
       MsgBox "Папка " & strPath & " недоступна или не существует!", vbCritical  
   End If  
End Sub  
Ошибка на строке 10 (в реальном коде строки не пронумерованы, эта метка приведена здесь для удобства).  
Вторая ошибка в коде формы с множественным листбоксом. Уважаемый Prist подсказал способ ввода в одну ячейку нескольких записей из списка:  
m = ""  
For a = 0 To ListBox2.ListCount - 1  
If ListBox2.Selected(a) Then m = m & vbCrLf & ListBox2.List(a)  
Next a  
Cells(r, "AP").Value = Mid$(m, 2)  
Ошибка на функции Mid$ (только на другом компьютере, на моем все работает нормально).  
Чуть раньше вылетали ошибки на всех используемых (не объявленных явно) переменных, типа r = Cells(Rows.Count, 1).End(xlUp).Row. Пришлось все эти переменные объявить явно как Long. Вроде сработало.  
На форуме и в литературе нашел советы подключить недостающие библиотеки, но как узнать, какие библиотеки нужны?
 
Для начала в ВБЕ меню tools-References поотключайте все библиотеки с пометкой Missing. А потом перезапустите Экс с Вашим файлом.
Я сам - дурнее всякого примера! ...
 
{quote}{login=KuklP}{date=30.09.2010 01:04}{thema=}{post}Для начала в ВБЕ меню tools-References поотключайте все библиотеки с пометкой Missing. А потом перезапустите Экс с Вашим файлом.{/post}{/quote}  
Спасибо, вроде сработало. Однако при закрытии файла Экс вылетает со стандартной ошибкой "Перезапустить Excel и отправить отчет".
 
А что там было отмечено как MISSING ?
 
{quote}{login=}{date=30.09.2010 05:26}{thema=}{post}А что там было отмечено как MISSING ?{/post}{/quote}  
Ms VBA Extensibility 5/3
 
{quote}{login=kalle}{date=01.10.2010 07:22}{thema=Re: }{post}Ms VBA Extensibility 5/3{/post}{/quote}  
Если в коде используется доступ к проекту, то эту ссылку нужно восстановить и убедиться, что в начале не добавилось MISSING. При необходимости можно воспользоваться кнопкой Browse и выбрать файл библиотеки, который обычно здесь:  
C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB  
 
Кроме того, для работы с библиотекой требуется, чтобы стояла галочка в меню:  
Сервис/Макрос/Безопасность/вкладка Надежные издатели/Доверять доступ к Visual Basic Project
Страницы: 1
Читают тему
Loading...