|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
код на вба был мною написан давно для работы появилась потребность спрятать его от сторонних глаз решил спрятать его в длл начал пробывать с простого написания функции в длл и ее вызова блин не пойму в чем дело выдает ошибку Ран Тайм 429 и все тут Винда 7 *64, визуал студия 2008, офис 2010 *64 в визуал студии автор Imports System Imports System.Collections.Generic Imports System.Text Namespace DotNetLibrary <ComClass(DotNetClass.ClassId, DotNetClass.InterfaceId, DotNetClass.EventsId)> _ Public Class DotNetClass #Region "Идентификаторы COM GUID" ' Данные GUID обеспечивают идентификацию COM для данного класса ' и его COM-интерфейсов. При их изменении существующие ' клиенты потеряют доступ к классу. Public Const ClassId As String = "92d77f83-80ed-4417-855d-424be509214a" Public Const InterfaceId As String = "4b7e3a60-cfc6-4a52-9a23-c1717fba236c" Public Const EventsId As String = "f3b1bfc4-770b-4ce0-a263-1f6800239027" #End Region ' В классе COM, для которого разрешено создание, должна присутствовать процедура Public Sub New() ' без параметров, иначе класс не будет ' зарегистрирован в реестре COM и его будет невозможно создать ' посредством CreateObject. Public Sub New() End Sub Public Function DotNetMethod(ByVal input As String) As String Return "Hello " & input End Function End Namespace в офисе авторPrivate Sub CommandButton4_Click() Dim testClass As New DotNetClass 'On Error Resume Next MsgBox testClass.DotNetMethod("World") <== останавливается здесь End Sub COM Class выставлен в True Сделать сборку видемой для КОМ галачка поставленна Регистрация для КОМ взаимодействия галочка поставлена с помощью regsvr32 библиотека зарегистрирована пишет успешно что еще нужно ума не приложу 2 дня без успешной битвы ПОМОГИТЕ ПОЖАЛУЙСТА! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 16:23 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Ципихович ЭндрюAert, >Винда 7 *64, визуал студия 2008, офис 2010 *64 Круто, новый виток в жизни, респект, это ж всё летает Клоун а по делу есть что сказать? Если можно не пиши пожалуйста сюда... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 17:21 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Aert, У вас вопрос, собственно, по .NET-овскому коду или по офису, которые не видит нужный класс? "Ран Тайм 429" - это вся ошибка или текст есть? Или нам нужно коды ошибок выучить? замените Код: plaintext
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 17:56 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Shocker.ProAert, У вас вопрос, собственно, по .NET-овскому коду или по офису, которые не видит нужный класс? "Ран Тайм 429" - это вся ошибка или текст есть? Или нам нужно коды ошибок выучить? замените Код: plaintext
Код: plaintext 1.
менял тогда ошибка вот тут Set testClass=New DotNetClass ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:02 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
а что значит создается экземпляр успешно? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:03 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Aertа что значит создается экземпляр успешно? гм вы имеете понимание, что такое класс и экземпляр класса? или вы стырили оттуда код, не понимая, как он работает и нужно с нуля все объяснять? успешно - это без ошибок ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:07 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Aertменял тогда ошибка вот тут Set testClass=New DotNetClass Значит вы не подключили референс на нужный компонент сделайте так: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:08 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Shocker.Pro, так я ж и пишу что это мой первый класс потребности в них не было... мне бы один рабочий пример... типа хеллоу ворд) дальше бы сам ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:12 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Shocker.ProСделайте так: Код: plaintext 1.
Set testClass=CreateObject("DotNetClass") <== ошибка тут при наведении пишет что testClass = Nothing ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:19 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Aertошибка тут напряг хрустальный шар, текст ошибки не угадал ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:21 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Shocker.Pro, блин чую идеи и охота помочь отпала (( ну все равно большое спасибо... может еще у кого нибудь возникнут какие нибудь идеи... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:25 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Идеи будут, когда наконец догадаетесь написать текст сообщения об ошибке. Ну а на нет - и суда нет (и туда тоже нет) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:27 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Shocker.Pro, извините написал ошибку в самом начале но по русски и не полностью вот как реально она выглядит Run-time error '429' ActiveX component can't create object ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:37 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
еще добавлю когда смотрю в офисе Object Browser библиотека моя + классы + их члены все видно чего ж гады работать не хотят не понимаю ... уже руки опускаться начинают ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:41 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Aertизвините написал ошибку в самом начале но по русски и не полностью и для чего в правилах форума написано, чтобы текст ошибки писали полностью и "как есть" - без перевода? Aertвот как реально она выглядит Run-time error '429' ActiveX component can't create object а) значит нет такого зарегистрированного класса в системе б) есть, но у него есть более полная спецификация, типа Tralivali.DotNetClass Что сделать, когда не знаешь, что делать :) 1) можно залезь в References и попробовать найти его глазами, добавить и тогда будет работать ваш первоначальный код 2) поискать в реестре DotNetClass, посмотреть, как он мог бы быть полностью специфицирован. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:44 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Aertеще добавлю когда смотрю в офисе Object Browser библиотека моя + классы + их члены все видно чего ж гады работать не хотят не понимаю ... уже руки опускаться начинают А-а-а. Раз видно, тогда проблема скорее всего с тем, что класс в .NET создан неправильно. Тут я, боюсь, не подскажу, либо надо в ветке по NET пытаться консультироваться, либо Игорь или Антонарий что-нить умное скажут, боюсь, не раньше завтра. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:46 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
блин уродство взял отключил библиотеку ошибка тажа то что она подключена походу толк нуль... глянул в реестре зарегена вот тут HKEY_CLASSES_ROOT\fromSap.DotNetLibrary.DotNetClass ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:50 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Aertглянул в реестре зарегена вот тут HKEY_CLASSES_ROOT\fromSap.DotNetLibrary.DotNetClass попробуйте в CreateObject специфицировать двухкомпонентное или полное имя. Но, мне кажется дело не в этом ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 18:54 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
прикреплю на всякий случай файлики вдруг желание поглядеть будет ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2010, 19:09 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
> Автор: Aert В свойствах Net-проекта, нужно указать что длл будет содержать COM- объекты. Больше подсказать не могу, обратись лучше в ветку по Net, там быстрее подскажут. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 00:22 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Игорь Горбонос, Так вроде сделала. Указал что будут содержать Ком объекты. ВОТ COM Class выставлен в True Сделать сборку видемой для КОМ галачка поставленна Регистрация для КОМ взаимодействия галочка поставлена Тут вот в чем дело В экселе вроде DLL подключена в References Но что она подлючена что не подключена ошибка все ровно одна и тажа 429 Хотя может быть дело и не в этом но все равно настараживает ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 09:09 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Артем GВ экселе вроде DLL подключена в References Но что она подлючена что не подключена ошибка все ровно одна и тажа 429 если не подключена, должна быть ошибка User-defined type not defined так что странно ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 09:55 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Shocker.Proесли не подключена, должна быть ошибка User-defined type not defined Кроме варианта с CreateObject разумеется - там подключать ничего не требуется ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 09:56 |
|
Написание Класса для Офиса
|
|||
---|---|---|---|
#18+
Погуглил и наткнулся на следующее... я этот ответ за 3 дня несколько раз видел и читал... видно читал не очень внимательно Собственно вот ответ на мою проблему http://social.msdn.microsoft.com/forums/en-US/vblanguage/thread/0653f685-4526-45d9-89f3-8c479a6b4c62/ Конкретно в пункте 4 написанно следующее авторОригинал 4. You are trying to use the GetObject function to retrieve a reference to class created with Visual Basic. GetObject can't be used to obtain a reference to a class created with Visual Basic. ГуглПеревод 4. Вы пытаетесь использовать функцию GetObject для получения ссылки на класс, созданный с помощью Visual Basic. GetObject не может быть использована для получения ссылки на класс, созданный с помощью Visual Basic. тоесть чтоже получается я не могу создать библиотеку на Визуал Бейсике и подцепить ее к офису? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 10:31 |
|
|
start [/forum/topic.php?fid=60&msg=37010000&tid=2159008]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
98ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 357ms |
total: | 544ms |
0 / 0 |