나는 html 태그로 정의 된 많은 html 문서를 포함하는 워드 문서를 가지고 있습니다. 배열 또는 범위 컬렉션을 만들고 싶습니다. 각 범위는 하나의 html 문서로 구성됩니다. 예를 들어, 다음 Word 문서입니다 :VBA를 사용하는 Word 문서 반복
<html> <head> <title> </title> </head> <body> HTML Doc 1 </body> </html>
<html> <head> <title> </title> </head> <body> HTML Doc 2 </body> </html>
<html> <head> <title> </title> </head> <body> HTML Doc 3 </body> </html>
등 내가 rngHTMLDocs을 채우는 싶습니다() 범위로 범위의 시리즈, 개구부 내의 텍스트를 포함하고 HTML 태그를 폐쇄 각 범위.
이 범위를 정의하는 전체 문서를 반복하기 위해 다음 코드를 만들었지 만 HTML Doc 1 만 계속 선택하고 있습니다. 잘못된 반복으로 전체 반복문에 접근 할 수 있다고 생각합니다. 어쨌든, 여기에 코드입니다 :
Set rngDocContent = ActiveDocument.Content
intCounter = 1
With rngDocContent.Find
.ClearFormatting
.Text = "<html>"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Execute
Do While .Found = True
Set rngTemp = rngDocContent.Duplicate
rngTemp.Select
Selection.Extend
With Selection.Find
.ClearFormatting
.Text = "</html>"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Execute
End With
Set rngHtmlDocs(intCounter) = Selection.Range
Selection.Start = Selection.End
intCounter = intCounter + 1
Loop
End With
전체 문서의 rngDocContent을 설정하고 wdFindContinue를 사용하여, 나는 그것이 사실 여는 HTML 태그의 다음 인스턴스에 대한 문서를 검색을 계속 것이라고 기대하지만,했다 그것은 사실이 아닙니다. 제공 할 수있는 도움에 미리 감사드립니다.
컬렉션을 통해 배열에 대한 이점이 있습니까? –
루핑 코드를 어떻게 수행하고 싶은지, 그리고 그것을 얻은 후에 범위를 가지고 무엇을하고 있는지에 달려 있습니다. 또한 어레이 바의 재조정에 대해 걱정할 필요가 없으며 필요한 경우 컬렉션에서 직접 작업 할 수 있습니다. 컬렉션이 있다면'colRanges의 각 varObj에 대해 '와 같은 것을 수행하여 루프를 수행 할 수 있습니다. i = i + 1; set varObj = colRanges (i); {다른 코드}; 다음. 네가하는 일이 훌륭하다면. 개인적으로 범위와 같은 객체를 처리 할 때 모음집으로 작업하는 것이 좋습니다. – KFleschner