2016-08-24 1 views
1

매크로는 Excel로 작성되었습니다. 나는 첫 번째 페이지를 엑셀에서 단어로 복사 한 다음 word.But에서 2 행의 테이블을 삽입하고 싶습니다. 그러나 "MyRange"세트가 비어 있고 1 행이있는 테이블이 생성되지 않습니다. 또한Vba Word Excel에서 표를 복사 한 후 표 추가

Set objWord = CreateObject("Word.Application") 
    Set objDoc = objWord.Documents.Open(str_path_folder & "\" & AdID & ".dotm") 
    objWord.Visible = True 
    objDoc.Activate 
    AppActivate AdID & ".dotm" 
    Sheets("Meta").Select 
    Range("B1:E" & LastRow).Select 
    Selection.Copy 
    objWord.Selection.PasteExcelTable False, False, False 
    objDoc.Tables(1).AutoFitBehavior wdAutoFitContent 
    objWord.Selection.InsertBreak.Type = wdPageBreak 
    Set MyRange = ActiveDocument.Content 
    MyRange.collapse Direction:=wdCollapseEnd 
    ActiveDocument.Tables.Add Range:=MyRange, NumRows:=1, _ 
    NumColumns:=1, DefaultTableBehavior:=wdWord9TableBehavior,  AutoFitBehavior:=wdAutoFitFixed 

내가 그것을 1 페이지에 이미 복사 된 테이블을 대체 아래 사용하는 경우 :

objDoc.Tables.Add Range:=objDoc.Range, NumRows:=3, NumColumns:=2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed 

답변

0

또 다른 방법은 문서의 끝을 얻을 수는 objDoc.Range(objDoc.Range.End - 1)

objDoc.Range.PasteExcelTable 0, 0, 0 

objDoc.Range(objDoc.Range.End - 1).InsertBreak 

objDoc.Tables.Add objDoc.Range(objDoc.Range.End - 1), 2, 2 

당신의 경우 Word에서 매크로를 기록하면 다음과 같은 메시지가 표시됩니다.

Selection.PasteExcelTable False, False, True 
Selection.InsertBreak Type:=wdPageBreak 
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1, NumColumns:=1, _ 
    DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed 
+0

고맙습니다.하지만 여전히 2 페이지에 새 표가 추가되지 않았습니다. –