2009-06-03 2 views
0

이상합니다. 여러 개의 레지스트리 키가 포함 된 배열이있는 매크로가 있습니다. 그리고이 값을 Word 문서의 미리 정의 된 책갈피에 삽입하고 싶습니다.Vba - On 오류가 작동하지 않습니까? 레지스트리 값을 읽는 중

키가 있으면 좋지만 그렇지 않은 경우 코드를 건너 뛰고 배열에서 다음 키를 계속 사용하고 싶습니다.

sVerdi = objShell.RegRead(regPath & "\" & Felter(iTeller)) 

이 코드 줄은 배열의 첫 번째에 의해 결정 레지스트리 키의 값을 반환

I는 다음과 같습니다 코드를 가지고있다. 그러나 레지스트리 키가 레지스트리에없는 경우, 자연스럽게 오류를 얻을 :

Run-time error '-2147024894(80070002)': 

Unable to open registry key 
"HKEY_CURRENT_USER\Blablabla" for reading 

자,이 논리적이지만, 내가 "에 오류 고토 0"에 던져 있다면, 그냥 무시 그 줄. 나는 그것을 파악할 수 없다. 나는 오류가 계속 발생하는 각 배열을 단계적으로 살펴 보았다.

아이디어가 있으십니까?

+0

왜이 태그가 "vb.net"으로 태그 되었습니까? vb.net 질문이 아닌 것 같습니다. –

답변

1

'그냥 그 줄을 무시한다고 말하면 On Error GoTo 0을 의미합니까? On Error GoTo 0은 오류 무시를 의미하지 않으며 '기본 오류 처리 복원'을 의미합니다. On Error Resume Next을 사용하셨습니까?

+0

이 줄을 무시합니다. 즉, 계속 진행되고 오류 메시지가 나타납니다. 오류가 발생하면 모든 것을 건너 뛰고 다음 번 항목을 계속 진행합니다. 따라서 오류를 전혀 제기하지 않습니다. On Error Resume Next를 사용하면 오류 메시지가 발생하지 않는다는 점을 제외하고는 똑같은 작업을 수행합니다. 하지만 그 레지스트리 항목에서 값을 저장하는 문자열은 업데이트되지 않습니다. 따라서 동일한 값이 다음 책갈피에 놓입니다. 오류가 발생하면 다시 시작하는 코드가 필요합니다. 아마도 코드 전체를 볼 필요가 있을까요? –

+1

그냥 대답을 찾았는데, 배열의 마지막 레지스트리 값이 저장된 문자열을 재설정해야했습니다. 고맙습니다! :) –

관련 문제