VBA에서 작업할 때 초기화된 문자열 변수에 문자열을 할당할 수 없습니다(컴파일 오류:명령문의 예상 끝)

StackOverflow https://stackoverflow.com//questions/24039148

문제

변수를 초기화하려는 액세스 모듈에서 작업 중입니다.어떤 이유로 선언은 다음과 같습니다.

Dim ModName As String = "modWindowsFileSystem" 

"예상:문의 끝"이라는 오류 메시지와 함께 '='에 컴파일 오류가 생성됩니다.나는 여러 웹사이트에서 내 구문에 모두 동의하는 형식을 찾았습니다. 여기에서 신뢰할 수 있는 형식은 다음과 같습니다.http://msdn.microsoft.com/en-us/library/7ee5a7s1.aspx다른 웹사이트에서는 다음과 같은 함수 내에서 변수를 선언할 것을 제안했습니다.

Sub AssignValueString()
   Dim Modname As String
   Modname = "modWindowsFileSystem"
End Sub

하지만 그건 불필요한 것 같아요.고려해야 할 한 가지 문제는 모듈을 저장하고 이름을 modWindowsFileSystem으로 지정했다는 것입니다.이것이 해당 변수를 초기화하는 것과 어떻게든 충돌할지 확실하지 않습니다.

도움이 되었습니까?

해결책

VBA는 VB와 조금 다릅니다.귀하가 게시한 msdn 링크는 실제로 인라인 선언 및 할당을 허용하는 VB용입니다.불행하게도 VBA에서는 이를 허용하지 않습니다.

따라서 예와 같이 분할할 수 있습니다.

Dim Modname As String
Modname = "modWindowsFileSystem"

또는 연속 문자를 배치할 수 있습니다. : 이것을 한 줄로 달성하려면.

Dim Modname As String : Modname = "modWindowsFileSystem"

모듈의 변수에 대한 할당에 관해서는 함수 외부에서 전역 변수를 선언할 수 있지만 해당 값은 함수 내에서 설정해야 합니다. init() 기능.상수(레이블이 붙음 Const)은 함수 외부에서 선언하고 할당할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top