Filosov
Зарегистрирован: 16.10.2012 Сообщения: 1
|
Добавлено: Вт Окт 16 2012 16:22 Заголовок сообщения: Создать dll для использования в Excel на другом компьютере |
|
|
Появилась необходимость, свои наработки для excel (vba) запихать в dll.
Windows XP
Office 2010
.NET Framework v4
Visual Studio 2010
В Visual Studio 2010 VB создаю проект:
Проект1
Галочку на : Приложение -> Сведения о сборке -> Сделать сборку видимой для COM
Галочку на : Компиляция -> Регистрация для СОМ-взаимодействия
Создаю пробную dll. В нем пишу:
Код: | Public Class Connect_B52
Public Function myPlus(ByVal x As Integer, ByVal y As Integer) As Integer
Return (x + y)
End Function
End Class
|
Жму построить проект.
Проект2
Создаю новый проект, чтоб протестировать. В нем, подключаю в источниках данных свою dll_ку и пишу:
Код: | Module Module1
Sub Main()
Dim qqq As New Connect_B52
MsgBox(qqq.myPlus(15, 46))
End Sub
End Module
|
Запускаю, все ок, работает.
Проект3
Создаю файл excel, в Tools->References подключаю из проекта_dll файл .tlb
В файле пишу макрос:
Код: | Sub Pr()
Dim qqq As New Connect_B52.Connect_B52
MsgBox (qqq.myPlus(2, 3))
End Sub
|
Запускаю, все ок, работает.
Теперь переношу на другой комп
Windows XP
Office 2010
.NET Framework v4
файл exe из проекта 2. Вместе с файлом dll из первого проекта. Запускаю, все ок, работает.
Запускаю файл из проекта 3 – на строке MsgBox (qqq.myPlus(2, 3)) выдает: «ActiveX component can't create object»
Пробую regsvr32 test.dll выдает: «dll была загружена,но найти точку входа для DLL Register Server не удалось.Зарегистрировать этот файл невозможно.»
Как заставить работать эту dll в excel другого компьютера? |
|