User-defined type not defined

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
repz
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 11.10.2007 (Чт) 13:03

User-defined type not defined

Сообщение repz » 11.10.2007 (Чт) 13:35

С помощью скрипта выполняется перенос текстовой информации из Word в Excel и вылезает такая ошибка "User-defined type not defined", если кто-нибудь встречался с этим или догадывается с чем это связано, отзовитесь...

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 11.10.2007 (Чт) 14:15

Переведи ошибку и поймёшь, что используемый тип не объявлен. Попробуй подключить нужные библиотеки типов.
Изображение

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 12.10.2007 (Пт) 0:09

Более того курсор наверняка встает на место где твой необъявленный тип и расположен.
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

repz
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 11.10.2007 (Чт) 13:03

Сообщение repz » 12.10.2007 (Пт) 10:22

Привожу фрагмент кода:
Код: Выделить всё
Public ExcelApp As Excel.Application
Public ExcelAlreadyRunning As Boolean
Sub Обработка()
On Error GoTo err_handler
Set ExcelApp = GetObject(, "Excel.Application")
'есть запущеный ворд, нет нужды запускать новый процесс
ExcelAlreadyRunning = True
Exit Sub
err_handler:
'нету запущенного пользователем ворда, поэтому запускаем сами
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Workbooks.Add
Dim myWorksheet As Worksheet
Set myWorksheet = ExcelApp.ActiveWorkbook.ActiveSheet


Курсор встаёт на первой строке, если её закомментировать то на пред последней. У меня не очень большой опыт писать на VB, поэтому не судите строго. Я думаю что нехватает какой то библиотеки связанной именно с Excel, хотя office, вместе с VB, я установил полностью. А если её всё таки не хватает то где её можно взять и как подключить?

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 12.10.2007 (Пт) 11:21

Вообще в Project - Reference - Microsoft Excel 11 или 10 или нечто подобное ...
я создал пустую форму ..... ничего не объявлял ... и написал такой код - все сработало

Код: Выделить всё
Private Sub Form_Load()
  On Error Resume Next
  Set EXL = GetObject(, "Excel.Application")
  MsgBox IIf(Err <> 0, "Нету экселя", "Он есть")
End Sub
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 90

    TopList