Пример 41

 

Function Sconcat2(ByVal argl As String, ByVal arg2 As String) As String

argl = Trim(argl)

arg2 = Trim(arg2)

Sconcat2 = argl & arg2

End Function

Sub Test_Sconcat2()

Dim a1 As String

Dim a2 As String

a1 = " Значение a1:"

a2 = " Значение a2:"

MsgBox a1 & a2, , "До вызова Sconcat2"

MsgBox Sconcat2(a1, a2), , "При вызове Sconcat2"

MsgBox a1 & a2, , "После вызова Sconcat2"

End Sub

 

 

Значения переменных а1 и а2 не изменились после вызова функции Sconcat2.

Не следует объявлять аргументы по значению (ByVal),если функция-процедура не изменяет этот аргумент, так как передача аргументов по значению может использовать больше памяти и времени для выполнения, чем передаче аргументов по ссылке – передача аргументов по значению приводит к тому, что VBA делает копию данных для аргумента.

Следует объявлять аргумент с ключевым словом ByValдля передачи его по значению, если у имеются сомнения, следует ли передавать этот конкретно аргумент по ссылке или по значению: потери в объеме памяти и скорости при передаче по значению не слишком велики. Кроме того, передача аргумента по значению эффективнее и делает код более понятным, чем создание собственной копии значения аргумента в локальной переменной.

 








Дата добавления: 2015-08-14; просмотров: 442;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.