2016-08-23 1 views
1

주간보고 용 사용자 지정 문서를 작성하는 코드를 작성했습니다. 나는 새로운 문서를 만들고, 테이블을 만들고, 모든 것을 포맷하고, 로고 등을 삽입하도록 설정했고 VBA를 통해 로고의 크기를 조정하려고 할 때마다 Word가 충돌 할 때 벽을 때렸다. 어쨌든 잘못된 방식으로이 작업을 수행했다는 사실이 저에게도 드러났습니다. 템플릿을 작성한 다음 해당 템플릿을 열어 놓은 다음 해당 문서에 변경 사항을 직접 삽입해야합니다.Word 2010 VBA : 아래 모든 내용을 삭제하지 않고 템플릿에 텍스트 추가

필요한 범위에 텍스트를 추가하면 아래의 내용이 모두 삭제됩니다. 3 줄의 머리글이 있습니다. 세 번째 줄은 가변적이며 매주 바뀔 것입니다. 그 밑에는 세 개의 테이블이 있으며 그 중 일부 셀은 매주 업데이트됩니다. 지금은 문서의 세 번째 줄에 막 붙어 있습니다.

다음은 내가 가진 것의 예입니다. 내가 새로 시작했고 막 다른 골목을 곧바로 치렀 기 때문에 매우 짧습니다.

Dim Template as Document 
Set Template = ThisDocument 
Dim InsertSpot as Range 
Set InsertSpot = Template.Range(46) 

InsertSpot.Text = "Hello" 

내가 실행할 때 "Hello"아래에 모든 항목이 삭제됩니다.

나는 다음과 같은 몇 가지 다른 것들을 시도 :

Set InsertSpot = Template.Range(46,50) 

InsertSpot.InsertAfter "Hello" 

것은 작동하지 않습니다를; 첫 번째 테이블의 첫 번째 셀에 "Hello"를 추가하기 만하면됩니다.

나는 그런 초등부에 갇혀 있다고 생각하지만, 솔직히 여기서 무엇을해야할지 몰라. 내가 온라인에서 본 모든 것은 북마크를 삭제하지 않고 북마크에 텍스트를 삽입하는 방법에 대해 이야기했다. 나는 단지 텍스트를 입력하고 싶다.

의견이 있으십니까?

답변

0

답변을 찾았습니다.

Dim Template as Document 
Set Template = ThisDocument 
Dim InsertSpot as Range 
Set InsertSpot = Template.Range(46, 46) 

InsertSpot.Text = "Hello" 

내가 삽입 된 텍스트가 페이지의 나머지 부분에 이상 피하지 않을 수 있도록 시작 및 끝 문자를 모두 나열했다 : 나는 다음과 같은했다. 희망을 나는 비슷한 문제가있는 다른 사람을 도왔습니다. 불행히도 Word VBA는 지원과 명확한 설명이 부족합니다.

0

다른 대안이 될 수

ThisDocument.Range(46).InsertBefore "Hello" 

ThisDocument.Tables(1).Range.InsertBefore "Hello" 

ThisDocument.Paragraphs(3).Range.InsertAfter "Hello"