2013-07-30 6 views
0

У меня есть этот код, как часть моей программы:Переменная Scope не имеет смысла

Dim Txt, st, i, k 
i=0 
Do 
    st="Example" 
    Txt = myReplace(Txt, st, arr(k,i)) 
    i=i+1 
Loop While i<=UBound(arr,2) 

arr также создан раньше.

По какой-то причине Txt сбрасывается за пределы цикла. Другие переменные отсутствуют, например, st действительно показывает «пример».

Может ли кто-нибудь помочь PLS? Спасибо

Редактировать: Мы достигли определенного прогресса. На данный момент Ubound(arr,2) стоит 2. Если мы пишем i<=2, он работает, хотя i<=Ubound(arr,2) не работает.

+1

Предоставленной вам информации недостаточно для воспроизведения проблемы. Пожалуйста, [обновите] (http://sscce.org/) ваш вопрос. –

+1

Вы должны хотя бы опубликовать код myReplace(), инициализацию Txt и, самое главное, то, что вы хотите достичь/ожидаемый результат. –

ответ

0

Поскольку вы не предоставляете много информации, все, что я могу сделать, это догадываться.

Возможно, вы изменяете Txt внутри своей функции myReplace? По умолчанию VBScript передает переменные по ссылке, поэтому функции могут изменить содержимое своих аргументов. Я знаю, что это было неинтуитивно для меня, когда я впервые столкнулся с этим ...

Смежные вопросы