2012-12-12 2 views
1

나는 다음과 같이 테이블을 생성하고 Word 문서에 삽입하려고 :최대 행 Microsoft.Office.Interop.Word.Table

object missing = System.Reflection.Missing.Value; 
var paragraph = miDoc.Paragraphs.Add(ref missing); 

Microsoft.Office.Interop.Word.Table tablaEvaluacion = 
Globals.ThisDocument.Tables.Add(paragraph.Range, lstContacto.Count + 1, lstEvaluacion.Count + 3, ref missing, ref missing); 

를 그러나 행의 수는 63을 초과 할 때 이것이 원인 예외 : "COMException was unhandled by user code. The number must be between 1 and 63."

+0

코드를 표시하십시오. –

답변

6

우선 - 행을 의미하는 것이 확실합니까? 다음에서 내 대답을 읽을 수 있듯이 테이블에 63 개 이상의 행을 삽입하는 데 문제가 없지만 63 개 이상의 열을 삽입하면 설명하는 것과 동일한 문제가 발생합니다.

어쨌든,이 조사 시도 - 여기 내가 찾은 것입니다 :

구글을 사용 :

설명서를 사용 : 제한이 언급되지 않는

  • documentation이 많은 여기에 도움이되지 않습니다. dotPeek를 사용

는 :

  • 나는 한계를 설명하는 주석을 찾을 희망, 디 컴파일 Microsoft.Office.Interop.Word.Tables 유형을 시도 -하지만 운. 이 코드는 단순히 COM을 사용하여 Word에서 함수를 호출하므로 Exception이 Word에서 interop 어셈블리를 통해 코드로 완전히 거품을 일으킬 가능성이 매우 높습니다.

내 자신의 샘플 구현을 사용하여 :

documentA.Tables.Add(range, 01, 64); // COMException -> "The number must be between 1 and 63." 
documentA.Tables.Add(range, 01, 63); // All good 
documentA.Tables.Add(range, 64, 01); // All good 

샘플 코드는 내가 63 개 이상의 열을 사용하려고하면이 COMException이 발생합니다 참조 보여줍니다. Interop API 버전 15의 MS Office 2013을 실행 중입니다. : - : MS 워드 2013 사용

이 나에게 다음과 같은 오류를 준 최초의 63 열이있는 테이블을 삽입 할 내 샘플 응용 프로그램을 사용하여

  • , 나는 다음 문서를 열고 또 다른 열을 삽입하는 말씀을 부탁

    enter image description here

는 그래서이 아래로 비등하는 63 열을 삽입 할 수 있습니다 열의 최대 수있을 것으로 보인다는 것이다.

희망 사항 해결에 도움이 됨