Как использовать подстроку в vbscript на странице xsl - PullRequest
0 голосов
/ 18 июня 2010

Я пытаюсь заменить двойные кавычки в строке одинарной кавычкой, получил следующий код, но получаю сообщение об ошибке «Object Required strLocation»

Sub UpdateAdvancedDecisions(strLocation)
  Dim d
  Dim strLLength

  strLLength = Len(strLocation) - 1

  For d = 0 To strLLength
    alert strLocation

    strValue = strLocation.Substring(2,3)

    If strLocation.substring(d,d+1)=" " " Then   
      strLLength = strLLength.substring(0, d) + "'" + strLLength.substring(d + 1,strLLength.length)

  Next
End Sub

1 Ответ

1 голос
/ 18 июня 2010

Как сказала Хелен, вы хотите использовать Replace, но ее пример присваивает результат вашей странной переменной strLLength. Попробуйте вместо этого:

strLocation = Replace(strLocation, """", "'")

Эта строка выполняет ту работу, о которой вы спрашивали, и избегает всего кода, который есть в вашей подпрограмме.

Другие вещи, которые являются проблемами в коде, который вы разместили:

  • переменная, содержащая число, подобное длине строки, не будет иметь префикса "str", поэтому strLLength вводит в заблуждение

  • строки в VBScript индексируются от 1 до длины, а не от 0 до длины-1

  • в VBScript нет ключевого слова "alert"

  • вы присваиваете значение strValue, и больше никогда его не используете

  • вам нужно использовать Mid, чтобы получить подстроку, в VBScript * нет метода строки "substring"

    c = Mid(strLocation, d, 1) ' gets one character at position d
    

Чем больше я смотрю на это, тем яснее становится то, что это какой-то JavaScript, который вы пытаетесь запустить как VBScript, но не переводите вообще правильно.

Используйте ссылку на VBScript, например, один из следующих:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...