Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 VBA Dictionary - MS Scripting Runtime
Добрый день!

Имеется класс DictTest

Код:
Option Explicit

Public SectorName As String
Dim Sector As New Scripting.Dictionary


Sector.Add "Brazil", 0


и в модуле


Код:
Sub DictionaryVBA()
'
' DictionaryVBA Macro


'    Dim Country As New Scripting.Dictionary
'    Country.Add "Brazil", 0

    Dim Tiger As DictTest
    Set Tiger = New DictTest


End Sub


Получаем ошибку: Invalid outside procedure.

Видимо не нравится словарь. Как поправить?
Спасибо!

 Re: VBA Dictionary - MS Scripting Runtime
Bridgeport в сообщении #479292 писал(а):
Получаем ошибку: Invalid outside procedure.
Что, текст дословно такой? :?

-- Ср авг 31, 2011 21:50:07 --

А. Так у вас что в классе код вне процедур и функций! У класса же есть вроде события типа Class_Load или чего-то похожего. Вот там и пишите код.

 Re: VBA Dictionary - MS Scripting Runtime
Да, код дословно такой.

Я не сильно знаком с VBA, но мне кажется, что словарь как и массив можно объявить как поле класса.

 Re: VBA Dictionary - MS Scripting Runtime
Bridgeport в сообщении #479379 писал(а):
мне кажется, что словарь как и массив можно объявить как поле класса
Дело не в объявлении, а в исполняемом операторе
Код:
Sector.Add "Brazil", 0
, который оказался вне процедуры.

 Re: VBA Dictionary - MS Scripting Runtime
Ура заработало! Спасибо!

 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group