전에 그렇게 모두가, 바로 내 함수의 시작 부분입니다. 개체 인 개체 속성도 Set
이어야합니다. 할당에서 해당 키워드를 사용하지 않으면 런타임 오류 91 "개체 변수가 설정되지 않았습니다"가 발생합니다.
이
이
참조를 할당 값 및 Set
키워드를 할당하는 기존 Let
키워드에서 상속됩니다;
Let
은 궁극적으로 더 이상 사용되지 않지만 (심지어 속성 정의에 필요함)
Set
이 남아 있으므로
[Let] variable = value
과 같은 VB6/VBA 값 할당 구문이 그대로 유지됩니다. 여기서 "Let"는 선택 사항입니다. 선언과 과제
- 따라서 오류
Dim SourceWindow As Window, QACheckWindow As Window
'this is like saying "Let SourceWindow = ActiveWindow":
SourceWindow = ActiveWindow
SourceWindow
그것이 값 것처럼 할당 개체이다.
이 오류는 설정되지 않은 개체에 액세스 할 때 발생할 수 있습니다. 그물에 상당는 일 것 NullReferenceException
:
Dim SourceWindow As Window, Dim WindowTitle As String
'"SourceWindow" reference isn't set, the object can't be accessed yet:
WindowTitle = SourceWindow.Caption
에 (I 배 밖으로 여기에 조금 갈거야,하지만 기존 Let
문이 Let
절와 혼동해서는 안 VB.net)에서 LINQ 쿼리 구문 (VB.net)에서 값을 계산하고이를 새 쿼리 범위 변수 (예 : MSDN에서 가져옴)에 할당합니다.
.NET이 구분이 모든 것이 궁극적으로
System.Object
에서 파생하는 방법을 제공, 훨씬 얇은 라인 때문에
VB.net은 Let
또는 Set
를 지정하지 않아도, 모두 값 및 참조를 할당 ... System.ValueType
을 포함합니다. 그 이유는 the Set
keyword was also deprecated in VB.net이고, 또한 속성을 정의하기위한 VB.net 구문이 Let
을 사용하여 Set
으로 떨어지는 이유는 무엇입니까?
Set SourceWindow = ActiveWindow가 아니어야합니까? –
아하! 예, 나는 VB에서 사용하는 것처럼 보이지 않습니다. 감사. – supercheetah
가능한 복제본 [VBA 런타임 오류 91] (http://stackoverflow.com/questions/9160483/vba-run-time-error-91) –