Не правильно передаются данные в процедуру

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
sulfur
Сообщения: 1
Зарегистрирован: 17 июл 2005, 16:03
Контактная информация:

Помогите пожалуйста :(

'[глобальная, описана второй строкой в модуле, после Option Explicit]
Public strMask As String

вот объявление функции:
Sub Search_n_Mark(strMask As String, strCellValue As String, iOffset As Integer)

вот ее вызов в том же модуле:
'[локальные переменные для функции]
Dim ii As Integer
Dim strCellValue As String
Dim iOffset As Integer
'[вызов]
Search_n_Mark strMask = strMask, _
strCellValue = strCellValue, _
iOffset = ii

Вопрос1: почему когда я вызываю процедуру Search_n_Mark(strMask, strCellValue, ii) транслятор пишет(сразу после ввода, а не выполнения)
Compile error:
Expected: =
и ставит курсор в конец строки, после скобки. И выделяет красным всю строку вызова

Вопрос2: при пошаговом просмотре я выяснил, что когда выполняется процедура Search_n_Mark, то переменные почемуто приобретают такие значение
strMask = "True" (тип String!)
strCellValue = "True" (тип String!)
iOffset = 0 (тип Integer)
Однако при вызове я передавал в переменную strMask строку "sdfse", а strCellValue должно было стать пустой строкой ""(посмотрел в окне Watches). Почему получилось "True" в обоих случаях?
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

Если кому-то интересен ответ на этот вопрос, то см. здесь :
http://forum.sources.ru/index.php?s=500 ... pic=102509
Ответить