2014-05-21 3 views
3

here에서 사용할 수있는 HTML 문서가 VBA를 손상시키는 것으로 나타납니다. Word 2003과 Word 2010이 이상하게 작동합니다. 당신은 워드, ALT +를 VBA 편집기에서 F11의 HTML 문서를 열 경우HTML 문서를 열 때 Word 셰이프가 손상 될 수 있습니다.

, 클래스를 추가하고이 코드를 붙여 넣기 :

Sub Test() 
    Dim obj As Document 
    Set obj = Application.ActiveDocument 

    MsgBox (obj.Shapes.Count) 

    For Each a In obj.Shapes 
     MsgBox (a) 'THIS NEVER GETS HIT - w00t 
    Next 

End Sub 

두 번째 메시지 상자에 중단 점을 추가를 - 그것은 늘 때리게 .

이 의미는 의미가 있습니다. Word에서 버그? 부패한 HTML?

+0

내 Word 2010에서 시도했지만 루프에 들어갈 수 없습니다. 나는 또한 내용을 일반 단어 문서, 같은 이야기에 복사 해 보았습니다. obj.shapes.selectall은 '메모리 부족'오류를 발생시킵니다. 더 이상 당신을 도울 수 없어 나는 두려워. – Yoh

+0

내 HTML (2013)에 HTML을로드 할 수 없습니다 ... 어쨌든 클래스가 아닌 모듈에 코드를 추가하십시오. 다음으로,'InlineShapes'를 통해 이런 식으로 반복하십시오 :'For Each a in obj.InlineShapes'. –

+3

나는 html 파일이 HTML 소스 코드를 보면서 Word와 호환되지 않는다고 믿는다. 모양에 관한 세부 사항은 너무 적다. 특히'path = "m4 @ 5l411 @ 9 @ 11 @ 9 @ 5xe"'. 이 html 파일의 생성 위치를 확인할 수 있습니까? – PatricK

답변

0

감사 패트릭

그것은 손상되었습니다 형상 요소의 경로 속성처럼 보인다. 원래 메시지와 그 기원을 면밀히 검토해야합니다.

'원본'MSG 파일 경로 :

경로 = 한번 소거

"m @ 4 @ 5리터 4 5xe @ 9 @ 11 @ 9 @ 11 @ @"(경로 = " ") 문제가 해결되었습니다.

http://msdn.microsoft.com/en-us/library/bb263871%28v=vs.85%29.aspx

나는 우리가 위의 링크의 경로 스펙을보고, 그들을 대체하는 경우 유효 할 것 같은 경로의 쉼표, 어떤 점에서 (@) 기호로 변환되고있다 생각합니다.

관련 문제