Файл 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. Вроде сработало.
На форуме и в литературе нашел советы подключить недостающие библиотеки, но как узнать, какие библиотеки нужны?
Первый – в модуле «Книга» есть код
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. Вроде сработало.
На форуме и в литературе нашел советы подключить недостающие библиотеки, но как узнать, какие библиотеки нужны?