2017-02-07 1 views
-1

현재 VBA에서 문서를 검토하고 텍스트 형식의 각 인스턴스를 가져 와서 테이블의 다른 줄에 입력하는 매크로를 만들려고합니다. 이렇게하려면이 형식의 각 인스턴스를 순환하고 큐에 추가하고 큐의 각 항목을 테이블의 다른 셀에 넣는 루프가 있지만 프로그램을 실행하면Word VBA system.collections.queue 문제

에서 오류가 발생합니다

"컴파일 오류 : 메소드 또는 데이터 멤버를 찾을 수 없습니다."라고 말하면 프로그램의 큐 요소를 사용할 수 없습니다. 나머지 프로그램은 모두 잘 작동합니다. VBA System.Collection.Queue 라이브러리에 액세스 할 수 없기 때문에이 가정합니다. VBA에서 대기열 기능에 액세스 할 수 있습니까? 아니면 다른 방법으로 대기열을 사용하지 않고이 프로그램을 구현해야합니까?

+0

는'Imports'은 VBA의 일부 ... 당신은 사용해 볼 수 있습니다 –

+0

아니다 'CreateObject를 ("System.Collections.Queue")'참고가이 작동하는의 –

답변

2
Dim q 
Set q = CreateObject("System.Collections.Queue") 

q.enqueue "A" 
q.enqueue "B" 
q.enqueue "C" 

Debug.Print q.peek '>> "A" 

Do While q.Count > 0 
    Debug.Print q.dequeue 
Loop 
+0

와 컬렉션 * s의의 *, 그리고 나를 수 있습니다 대기열을 만들지 만 선택한 텍스트를 대기열에 추가하는 데 문제가 있습니다. 따라서 Selection.Find를 사용하여 문서의 텍스트를 찾은 다음 텍스트를 선택하면 어떻게 큐에 추가 할 수 있습니까? – user3418902

+0

'q.enqueue Selection.Text'를 해봤습니까? –

+0

죄송합니다. 작동했습니다. 선택한 텍스트 위에 붙여 선택한 텍스트를 붙여서 사라졌습니다. 도와 주셔서 감사합니다! – user3418902