0
Dim IE As New ShDocVW.InternetExplorer 
IE.Visible = True 
IE.Navigate("C:\Users\m0180kb\desktop\test.html") 
Do Until IE.Busy = False 
Loop 
IE.Document.All("testField").Value = "Testing" 'This line causes the error 
IE.Close 

를 조작 할 때하는 것은 오류입니다 : 런타임 오류 '-2147024891 (80070005)를'액세스가 거부되었습니다.shdocvw.dll을 인터넷 익스플로러 개체가 - "액세스가 거부되었습니다"여기 지역이 .html 파일

추가 정보 : 코딩은 Excel VBA에서 수행됩니다. 파일 경로 대신 올바른 URL을 사용하면 작동합니다. 해당 html 파일이 브라우저 창에로드되면 InternetExplorer 객체와 관련된 모든 객체 및 속성이 "액세스가 거부되었습니다"오류로 인해 쓸모 없게 렌더링됩니다.

해결 방법 한 가지 해결 방법은 텍스트 스트림을 통해 .html 코드를 생성하는 것입니다. 그게 내 양식 필드를 조작 할 수있게하지만, 여전히 ShDocVW.dll을 통해 html 양식을 제출해야합니다 .... 당신은 그것을 .... 추측 한 결과 액세스가 거부되었습니다.

이 오류를 해결하기 위해 알고 계시거나 엑셀 vba를 통해 로컬 html 파일을 조작 할 수있는 레지스트리 항목이나 보안 설정을 알고 계시면 알려주십시오. 이 날

Option Explicit 

Sub Sample() 
    Dim IE As Object, ieDoc As Object 

    Set IE = CreateObject("InternetExplorer.Application") 

    IE.Visible = True 
    IE.Navigate ("C:\Users\m0180kb\desktop\test.html") 

    Do While IE.ReadyState <> 4: DoEvents: Loop 

    Set ieDoc = IE.Document 

    ieDoc.getElementById("testField").Value = "Testing" 

    'IE.quit 
End Sub 
+0

HTML 페이지의 "활성 내용"(예 : 스크립팅)은 무엇입니까? "웹의 흔적"에 대한 Google - 어쩌면 여기서 도움이 될 것입니다. 예 : http://www.markoftheweb.com/ –

+0

웹 마크를 사용하면 자바 스크립트를 실행할 수 있지만 그게 내 주요 문제는 아니 었습니다. 좋은 팁, 고마워. 그러나 여전히 "액세스가 거부되었습니다."오류가 있습니다. –

답변

0

나는 문제가 무엇인지 알아 냈어. 코드 또는 로컬 컴퓨터 보안 설정과는 아무런 관련이 없습니다.

내 컴퓨터의 .html 파일에는 각각 다른 웹 사이트를로드하는 2 개의 프레임이 있습니다. 이것이 크로스 프레임 스크립팅으로 알려진 거대한 보안 위험 때문에 vba, javascript 또는 mshtml.dll 또는 shdocvw.dll을 사용하는 다른 언어와 같은 모든 스크립팅 언어는 html 파일에 두 개의 도메인이있는 경우 비활성화됩니다.

이 방법을 사용할 수 있지만 결합되는 두 웹 사이트에 코드 줄을 추가해야합니다. 본질적으로 웹 페이지의 소유자가 아닌 경우이 코드 줄을 추가 할 수 없으므로 외부인이 사이트의 크로스 프레임 스크립팅을 수행 할 수 없습니다.

내 테스트가 인터넷을 통해 작동하는 이유는 설명 할 수 있지만 로컬 드라이브의 프레임을 통해 2 개의 도메인을 결합하지 않은 경우는 설명 할 수 없습니다. 이것을 알기 때문에, 나는 나의 접근법을 바꿀 수 있고 여전히 받아 들일 수있는 해결책을 찾는다.

제안에 감사드립니다. 매우 감사.

+0

Siddharth, 제안에 감사드립니다. 나는 그것을 시도했지만 같은 오류가 발생합니다. 나는 이미 많은 다른 코드 설정을 시도해 보았습니다. 변수를 선언하는 많은 다른 방법 등이 있습니다. 아무 것도 작동하지 않습니다. 나는 이것이 운영체제 어딘가에 묻혀있는 설정이라고 확신한다 ... 코드가 아니라 ... 그것이 문제 다. 그것은 Windows XP sp 2와 Internet Explorer 7입니다. –

0

작동

감사