저는 Microsoft.Office.Interop.Word.Application으로 작업하고 있습니다. 나는 어떤 템플릿 파일을 가지고있다. 어떤 파일에 어떤 토큰이 있을까? [PutfirstTableHere] 런타임에 나는 테이블을 생성하고 기존 워드 문서의 토큰을 생성 된 테이블로 대체하려고한다. 내가 Word에서 테이블과 문자열 토큰을 바꿀 수 있습니까? 내 현재의 문제에 대한 어떠한 예/샘플을 찾을 수없는Word 문서의 문자열 토큰을 단어 테이블로 바꿉니다.
답변
이 시도 :
protected void InsertTableAtBookMark(string[][] docEnds, string bookmarkName)
{
Object oBookMarkName = bookmarkName;
Range wRng = WordDoc.Bookmarks.get_Item(ref oBookMarkName).Range;
Table wTable = WordDoc.Tables.Add(wRng, docEnds.Length, docEnds[0].Length);
wTable.set_Style("Table Grid");
for (int i = 0; i < docEnds.Length; i++)
{
for (int j = 0; j < docEnds[0].Length; j++)
{
wTable.Cell(i, j).Range.Text = docEnds[i][j];
wTable.Cell(1, 1).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;
wTable.Cell(1, 1).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
}
}
Borders wb = wTable.Borders;
wb[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleNone;
wb[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
wTable.Borders = wb;
}
WordDoc는 Microsoft.Office.Interop.Word 네임 스페이스의 Document 형이다
;
토큰을 통해 할 수 없습니까? 사실 나는 tempalte에 다른 것들은 쉽게 교체 할 수 있다고 생각되는 간단한 문자열이다. 다른 것들은 genreated 테이블에 의해 대체 되어야만하는 토큰이다. –
당신은 문자열을 사용하여 그것을 할 수 있지만 좀 더 관련이있다. 다음과 같은 것을 사용하라.'object start = 0; 개체 끝 = 0; Word.Range tableLocation = this.Range (ref start, ref end);'시작과 끝을 문자열로 바꾸는 곳은 정말로 권장하지 않지만 선택 사항입니다. 그것에 대한 어떤 샘플도 – trebor
에 의해? 그것을 얻을 수없고 일할 수 없다. –
Find Interface 및 Execute 방법을 사용하여 문서 콘텐츠를 검색 할 수 있습니다. 첫 번째 인수는 범위에서 검색 할 텍스트입니다 (귀하의 경우에는 Word.Document.Content 속성을 권하고 싶습니다).
코드 :
Word.Document doc = Application.ActiveDocument;
Word.Range wholeDoc = doc.Content;
Word.Find find = wholeDoc.Find;
object token = "[MyTableToken]";
object missing = Type.Missing;
bool result = find.Execute(ref token, true, true, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
while (result)
{
// wholeDoc object is replaced with executed search/find result
CreateTable(wholeDoc.Duplicate);
result = find.Execute(ref token, true, true, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
}
샘플 테이블 방법을 만듭니다
private void CreateTable(Word.Range range)
{
Word.Tables tables = null;
try
{
int sampleRowNumber = 3, sampleColumnNumber = 3;
range.Text = "";
tables = range.Tables;
tables.Add(range, sampleRowNumber, sampleColumnNumber);
}
finally
{
Marshal.ReleaseComObject(range);
Marshal.ReleaseComObject(tables);
}
}
- 1. Word 문서의 책갈피를 다른 단어 문서의 내용으로 바꿉니다.
- 2. 단어 + "/"+ WORD + "/"+ WORD 성병 : : 문자열
- 3. Word 문서의 이미지를 문자열/텍스트 자리 표시 자로 바꿉니다.
- 4. Word 문서의 문자열 강조 표시
- 5. Word 문서의 고급 검색
- 6. PHP로 Word 문서의 값 채우기
- 7. Word 문서의 링크 파일 경로
- 8. Word 문서의 책갈피 범위를 서식이 지정된 (HTML) 텍스트로 바꿉니다.
- 9. Word 문서의 각 문자를 반복하십시오.
- 10. 여러 스레드에서 단어 문서의 단어 목록에 액세스
- 11. 문자열의 단어 시퀀스를 문자열 파이썬으로 바꿉니다.
- 12. Word 문서의 사용자 지정 XML
- 13. Word 문서의 getElementByID
- 14. Word 문서의 속성 편집
- 15. Word 문서의 특정 섹션/페이지에 대한 URL
- 16. Word 문서의 여러 가지 유형의 하이퍼 링크
- 17. 문서의 병렬 계산 단어
- 18. 단어 문서의 제목 바꾸기
- 19. 단어 문서의 단락 번호
- 20. 여러 단어 문서의 매크로
- 21. Word 문서의 텍스트 글꼴 색상 변경
- 22. C# 문서의 Word 추가 기능 프로그래밍?
- 23. Apache POI - Word (docx) 문서의 다중 열
- 24. vb.net 단어 문서의 첫 번째 페이지의 스크린 샷을 캡처하는 코드
- 25. PHP에서 생성 된 Word 문서의 표시 모드
- 26. 한 단어 문서의 내용을 다른 단어 문서로 복사하는 방법은 무엇입니까?
- 27. Word 문서의 바닥 글 페이지 번호
- 28. MS Word 문서의 책갈피에 하이퍼 링크
- 29. Word 문서의 텍스트를 머리글로 대체
- 30. Word 문서의 책갈피를 모두 가져옵니다.
같은 토큰을 사용하지 마십시오, 말씀이 아주 좋습니다 책갈피를 가지고있다. 이것을 예제로 사용하십시오. http://msdn.microsoft.com/en-us/library/6b9478cs(v=vs.80).aspx. 또한 OpenXMLSdk를 사용하는 것이 좋습니다. Word를 필요로하지 않고 Interop보다 빠르기 때문입니다. http://msdn.microsoft.com/en-us/library/office/bb456488.aspx – trebor
OpenXmlSdk를 사용할 수 없습니다. 그것은 문서를 방해합니다. –