2013-07-30 7 views
1

이 코드는 평생 사용하지 않은 VBScript로 작성합니다.Sub-VBScript를 호출 할 때 괄호를 사용할 수 없습니다.

교체 (1 strContent, 일, 편곡 (K, I)) 그리고 그것은 나에게 "하위 호출시 괄호를 사용할 수 없음"문제를 제공합니다

나는이 썼다. 아무도 도와 줄 수 있습니까?

나는 온라인 검색을 시도했지만 아무런 도움이되지 않았습니다.

감사합니다.

+1

참조하십시오. http://stackoverflow.com/a/13622374/603855 –

+0

이 솔루션은 무엇인지 잘 이해하지 못했습니다. – Neta

+4

이것은 VBScript의 새 기능에서 매우 인기가있는 문제이며, '대체'는 'strResult = Replace (...) '와 같이 변수에 할당 할 결과를 반환하십시오. –

답변

5

괄호를 사용해야합니다.

우리는 Call을 사용하고 괄호없이 그 일을 시도 :

Replace strContent, st, arr (k,i), 1 

그러나 아무 일 없습니다. 결국 해결책은 다음과 같습니다.

strContent = Replace (strContent, st, arr (k,i), 1) 

여러분 모두에게 감사드립니다. 너희들은 결코 우리를 실망시키지 않았다.

+0

감사! 이것은 나를 미치게했다. – Mentok

3

에릭 리 퍼트 (Eric Lippert)의 this article을 참조하십시오. 기본적으로 다음과 같은 프로 시저 또는 함수를 사용할 때 :

Foobar arg1, arg2, arg3 

인수 목록 주위에 괄호를 사용하지 않아야합니다. 당신이 Call 키워드를 사용하거나 할당 또는 상태 함수의 반환 값을 사용하는 경우, 당신은 Panayot Karabakalov에 대한 답 덕분에 발견 인수 목록, 예컨대 :

Call Foobar(arg1, arg2, arg3) 

result = Foobar(arg1, arg2, arg3) 

If Foobar(arg1, arg2, arg3) Then 
    ... 
End If 
+0

첫 번째 예제에서와 같이 "Call"을 사용하고 괄호없이 시도했지만 제대로 작동하지 않았습니다. 우리를위한 솔루션은 반환 값을 사용했습니다. – Neta

관련 문제