Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Создание и работа с пользовательским классом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создание и работа с пользовательским классом (Макросы/Sub)
Создание и работа с пользовательским классом
Sashagor1982 Дата: Воскресенье, 28.11.2021, 14:29 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 259
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Подскажите пожалуйста, создал модуль пользовательского класса Abbityrient
[vba]
Код
Option Explicit
Private family As String
Private name As String
Private lastName As String
Property Set SetFamily(familySet As String)
    family = familySet
End Property
Property Set SetName(nameSet As String)
    name = nameSet
End Property
Property Set SetLastName(lastNameSet As String)
    lastName = lastNameSet
End Property
Property Get getName() As String
    getName = name
End Property
Property Get getFamily() As String
    getFamily = family
End Property
Property Get getLastName() As String
    getLastName = lastName
End Property
[/vba]
И создал соответственно макрос:
[vba]
Код
Option Explicit

Sub konkurs()
    Dim abb As New Abbityrient        
        abb.SetFamily ("Иванов")
        abb.SetName ("Иван")
        abb.SetLastName ("Иванович")
    Dim family, name, lastName As String
        family = abb.getFamily
        name = abb.getName
        lastName = abb.getLastName
    MsgBox family & " " & name & " " & lastName
End Sub
[/vba]
Все сделал по аналогии с Java, на VBA ранее классы не создавал, однако программа не работает, подскажите в чем ошибка
К сообщению приложен файл: 6893238.xlsm(156.0 Kb)


Сообщение отредактировал Sashagor1982 - Воскресенье, 28.11.2021, 14:31
 
Ответить
СообщениеПодскажите пожалуйста, создал модуль пользовательского класса Abbityrient
[vba]
Код
Option Explicit
Private family As String
Private name As String
Private lastName As String
Property Set SetFamily(familySet As String)
    family = familySet
End Property
Property Set SetName(nameSet As String)
    name = nameSet
End Property
Property Set SetLastName(lastNameSet As String)
    lastName = lastNameSet
End Property
Property Get getName() As String
    getName = name
End Property
Property Get getFamily() As String
    getFamily = family
End Property
Property Get getLastName() As String
    getLastName = lastName
End Property
[/vba]
И создал соответственно макрос:
[vba]
Код
Option Explicit

Sub konkurs()
    Dim abb As New Abbityrient        
        abb.SetFamily ("Иванов")
        abb.SetName ("Иван")
        abb.SetLastName ("Иванович")
    Dim family, name, lastName As String
        family = abb.getFamily
        name = abb.getName
        lastName = abb.getLastName
    MsgBox family & " " & name & " " & lastName
End Sub
[/vba]
Все сделал по аналогии с Java, на VBA ранее классы не создавал, однако программа не работает, подскажите в чем ошибка

Автор - Sashagor1982
Дата добавления - 28.11.2021 в 14:29
Gustav Дата: Воскресенье, 28.11.2021, 15:18 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2138
Репутация: 840 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
[vba]
Код
Option Explicit
Private family As String
Private name As String
Private lastName As String
'Property Set SetFamily(familySet As String)
Property Let SetFamily(familySet As String)
    family = familySet
End Property
'Property Set SetName(nameSet As String)
Property Let SetName(nameSet As String)
    name = nameSet
End Property
'Property Set SetLastName(lastNameSet As String)
Property Let SetLastName(lastNameSet As String)
    lastName = lastNameSet
End Property
Property Get getName() As String
    getName = name
End Property
Property Get getFamily() As String
    getFamily = family
End Property
Property Get getLastName() As String
    getLastName = lastName
End Property
[/vba]

[vba]
Код
Sub konkurs()
    Dim abb As New Abbityrient
        'abb.SetFamily ("Иванов")
        'abb.SetName ("Иван")
        'abb.SetLastName ("Иванович")
        abb.SetFamily = "Иванов"
        abb.SetName = "Иван"
        abb.SetLastName = "Иванович"
    Dim family, name, lastName As String
        family = abb.getFamily
        name = abb.getName
        lastName = abb.getLastName
    MsgBox family & " " & name & " " & lastName
End Sub
[/vba]


Мой tip box - яд 41001663842605
 
Ответить
Сообщение[vba]
Код
Option Explicit
Private family As String
Private name As String
Private lastName As String
'Property Set SetFamily(familySet As String)
Property Let SetFamily(familySet As String)
    family = familySet
End Property
'Property Set SetName(nameSet As String)
Property Let SetName(nameSet As String)
    name = nameSet
End Property
'Property Set SetLastName(lastNameSet As String)
Property Let SetLastName(lastNameSet As String)
    lastName = lastNameSet
End Property
Property Get getName() As String
    getName = name
End Property
Property Get getFamily() As String
    getFamily = family
End Property
Property Get getLastName() As String
    getLastName = lastName
End Property
[/vba]

[vba]
Код
Sub konkurs()
    Dim abb As New Abbityrient
        'abb.SetFamily ("Иванов")
        'abb.SetName ("Иван")
        'abb.SetLastName ("Иванович")
        abb.SetFamily = "Иванов"
        abb.SetName = "Иван"
        abb.SetLastName = "Иванович"
    Dim family, name, lastName As String
        family = abb.getFamily
        name = abb.getName
        lastName = abb.getLastName
    MsgBox family & " " & name & " " & lastName
End Sub
[/vba]

Автор - Gustav
Дата добавления - 28.11.2021 в 15:18
Sashagor1982 Дата: Воскресенье, 28.11.2021, 21:02 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 259
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Gustav, Спасибо
 
Ответить
СообщениеGustav, Спасибо

Автор - Sashagor1982
Дата добавления - 28.11.2021 в 21:02
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создание и работа с пользовательским классом (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!