2015-07-25 2 views
3

Я создаю макрос для CorelDraw, который будет импортировать файл из заданной папки при нажатии кнопки с именем Generate. При попытке присвоить FilePath переменной, я получаю следующее сообщение об ошибке:Ошибка макроса CorelDraw VBA: «Object Required»

Object Required

Вот мой код:

Private Sub UserForm_Initialize() 

    'Design Of Item' 

    Me.DesignList.AddItem ("BIFT") 
    Me.DesignList.AddItem ("BIFC1") 
    Me.DesignList.AddItem ("BIFC2") 
    Me.DesignList.AddItem ("BIFI") 

    'Type Of Item' 

    Me.TypeList.AddItem ("BIF HOODIE") 
    Me.TypeList.AddItem ("BIF T-SHIRT") 
    Me.TypeList.AddItem ("BIF SWEAT") 
    Me.TypeList.AddItem ("BIF TANK") 

    'Colours of the items' 

    Me.ColourList.AddItem ("Grey") 
    Me.ColourList.AddItem ("White") 
    Me.ColourList.AddItem ("Black") 
    Me.ColourList.AddItem ("Navy") 

    Dim Design As String 
    Dim Ctype As String 
    Dim Colour As String 
    Dim ShirtFPath As String 

End Sub 

Private Sub GenerateBtn_Click() 
    Set ShirtFPath = ("C:\Users\Matt\Pictures\Clothing Line\Shirts") 
    MsgBox (ShirtFPath) 
    Set Design = DesignList.Value 
    Set Ctype = TypeList.Value 
    Set Colour = ColourList.Value 
End Sub 

Private Sub SaveBtn_Click() 

    Dim fPath As Object 
    Dim sr As ShapeRange 

    Set fPath = Me.TB.Value 
    If fPath Is Nothing Then Exit Sub 
End Sub 

ответ

1

Вы используете только Set для назначения объекта. Для встроенных типов (числа, строки, логические), опустить слово Set:

ShirtFPath = "C:\Users\Matt\Pictures\Clothing Line\Shirts" 
Design = DesignList.Value 
Ctype = TypeList.Value 
Colour = ColourList.Value 
+0

Спасибо вам связь! Был здесь, как 30 минут, не зная, почему хахаха. –

+1

Нет проблем. Иногда бывает трудно определить, возвращает ли свойство/функцию (например, «Значение») собственный тип или объект. Документация должна помочь прояснить это для вас. – Bond