Что на самом деле делает ключевое слово Set в VBA?

Я не видел, чтобы кто-то упоминал этот метод, но document.createElementNS() полезен в этом случае.

Вы можете создавать элементы, используя ванильный Javascript, как обычные DOM-узлы с правильным пространством имен, а затем jQuery-ify их оттуда. Например:

var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'),
    circle = document.createElementNS('http://www.w3.org/2000/svg', 'circle');

var $circle = $(circle).attr({ //All your attributes });

$(svg).append($circle);

Единственная нижняя сторона заключается в том, что вам нужно создать каждый элемент SVG с правильным пространством имен отдельно или он не будет работать.

146
задан ZygD 28 December 2015 в 08:34
поделиться

5 ответов

set используется для присвоения ссылки на объект. Эквивалент C был бы

 int i;
int* ref_i;

i = 4; // Assigning a value (in VBA: i = 4)
ref_i = &i; //assigning a reference (in VBA: set ref_i = i)
94
ответ дан TylerH 28 December 2015 в 08:34
поделиться

В Вашем случае это произведет ошибку.:-)

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

Set object = New SomeObject
Set object = FunctionReturningAnObjectRef(SomeArgument)

Let i = 0
Let i = FunctionReturningAValue(SomeArgument)

' or, more commonly '

i = 0
i = FunctionReturningAValue(SomeArgument)
75
ответ дан Tomalak 28 December 2015 в 08:34
поделиться

От MSDN:

Ключевое слово Набора: В VBA, ключевое слово Набора необходимо для различения присвоение объекта и присвоение свойства по умолчанию объекта. Так как свойства по умолчанию не поддерживаются в Visual Basic.NET, ключевое слово Набора не нужно и больше не поддерживается.

43
ответ дан Galwegian 28 December 2015 в 08:34
поделиться

Набор используется для установки ссылок на объект, в противоположность присвоению значения.

10
ответ дан LeppyR64 28 December 2015 в 08:34
поделиться

Первое, что пришло на ум Набор используется для присвоения COM-объектов переменным. Путем выполнения Набора я подозреваю, что под капотом он делает, AddRef () обращаются к объекту справиться, это - время жизни.

1
ответ дан Sean 28 December 2015 в 08:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: