Word는 서로 끼워진 테이블을 병합하는 기능이 있으므로 별도의 두 테이블을 추가하려면 두 테이블 사이에 단락을 넣어야합니다. 이것은 잘 작동했지만 지금은 단락을 분리하여 테이블을 서로 겹치게 만들 필요가 있습니다.워드 문서에 두 개의 테이블을 직접 추가하기
var document = GetDocument(word, @"C:\Blank.docx");
object missing = System.Reflection.Missing.Value;
var paragraph = document.Paragraphs.Add(ref missing);
paragraph.Range.Text = "...";
var table = document.Tables.Add(paragraph.Range, 1, 1, ref missing, ref missing);
table.Borders.Enable = 1;
paragraph.Range.Collapse(Microsoft.Office.Interop.Word.WdCollapseDirection.wdCollapseEnd);
paragraph.Range.InsertParagraphAfter();
paragraph.Range.Collapse(Microsoft.Office.Interop.Word.WdCollapseDirection.wdCollapseEnd);
paragraph = document.Paragraphs.Add(ref missing);
paragraph.Range.Text = "...";
table = document.Tables.Add(paragraph.Range, 1, 1, ref missing, ref missing);
table.Borders.Enable = 1;
document.Save();
var doc_close = (Microsoft.Office.Interop.Word._Document)document;
doc_close.Close();
Marshal.ReleaseComObject(document);
위 그림은 위 코드의 결과를 보여줍니다. 두 테이블 사이의 단락을 제거하고 싶지만 com 객체를 사용하는 방법을 모릅니다. 주목할 중요한 점은 단어의 단락을 지우려면 "Backspace"가 아니라 "Delete"를 눌러야한다는 것입니다. 나는 그것이 올바른 대답을 찾는 중요한 힌트라고 생각한다.
이 예는 내가 단일 테이블 함께 할 수있는 일을하고 싶은 것처럼 보일 수 있지만, 실제 응용 프로그램이 다르게 작동 서로의 상부에 적층되어 두 개의 서로 다른 테이블을 필요로한다.
나는이 해방 http://docx.codeplex.com/를 사용하려고 할 것이다 나는 그것이 잠시 돌아당신은 항상뿐만 아니라 사무실에 대한 OPENXML의 SDK를 사용하여 COM보다 사용하기 위해 많이 쉬워 보이지만 내가 DOCX 쉽게 될 것입니다 의심 발견
필자는 필자의 다음 프로젝트에서 이것을 사용하겠다. co.kr은 머리통과 반이다. 이 프로젝트에서 저는 이미 com을 사용하여 모든 것을 코딩했습니다.이 단락은 이것을 완료하는 유일한 방법입니다. (그것은 나를 미치게합니다! lol) – sooprise
슬픈 표정으로 DocX는 같은 문제를 겪고있는 것처럼 보입니다. 같은 문서에 두 개의 표를 추가하려고 시도했지만 단어 하나를 합치면됩니다. 그럼 난 그들 사이의 단락과 두 테이블을 추가하려고 지금은 단락을 제거 할 수 없습니다 ... 나는 여전히 희망을 유지하고있어,이 훨씬 com보다 사용하기 쉽습니다. – sooprise
Doh! 다행스럽게도 –