2014 dxdy logo

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

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




 
 VBA Dictionary - MS Scripting Runtime
Сообщение31.08.2011, 17:16 
Добрый день!

Имеется класс 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
Сообщение31.08.2011, 18:48 
Bridgeport в сообщении #479292 писал(а):
Получаем ошибку: Invalid outside procedure.
Что, текст дословно такой? :?

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

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

 
 
 
 Re: VBA Dictionary - MS Scripting Runtime
Сообщение31.08.2011, 22:07 
Да, код дословно такой.

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

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

 
 
 
 Re: VBA Dictionary - MS Scripting Runtime
Сообщение01.09.2011, 21:21 
Ура заработало! Спасибо!

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


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