Убедитесь, что при копировании скрипта с другой страницы разрывы строк копируются так, как должны быть. Например, в сценарии, который вы напечатали выше, появляется строка, которая начинается
pos = Instr(line, keyword) + Len(keyword)
фактически добавляется к замечанию в предыдущей строке (все, что находится после 'в этой строке). Это может привести к тому, что проблема, с которой вы столкнулись в этой позиции, никогда не будет установлена должным образом, и поэтому ничего не будет скопировано в arr.
Просто перейдите строка за строкой в вашем сценарии на компьютере и сравните его с версией, которую вы скопировали в блоге Бена. Каждая строка, которая находится на своей собственной строке, ДОЛЖНА также быть на своей собственной строке в вашем файле скрипта.
РЕДАКТИРОВАТЬ: Что касается того, что означает сообщение об ошибке, похоже, что oldTarget пытается захватить строку между двумя скобками. Ошибка возникает из-за того, что в строке недостаточно текста, чтобы начать с позиции массива 1 (и он начинается с нуля, что означает, что он на самом деле пытается получить второй символ в строке), т. Е. Это не более чем односимвольная строка что невозможно, учитывая, что даже пустая строка 'element' будет иметь два символа (открывающая и закрывающая скобки). Итак, вам нужно выяснить, почему вы не получаете правильную строку в этот момент кода, чтобы решить эту проблему.