2017-09-12 6 views
0

Word의 문서 속성에서 만든 사용자 지정 필드 (ProtocolNumber)를 추가 텍스트가있는 표 셀에 삽입하려고합니다. 이 경우 Fields.Add 함수를 사용하는 방법을 잘 모르겠습니다. 미안하지만 질문이 너무 기본이지만 VBA의 총 해커입니다.Word 문서 속성에서 추가 텍스트가있는 표 셀에 필드 삽입

NoOfCol = 5 
    Set tblNew = ActiveDocument.Tables.Add(Selection.Range, 9, NoOfCol, 
       wdAutoFitWindow) 
    With tblNew 
     .PreferredWidthType = wdPreferredWidthPercent 
     .PreferredWidth = 100 
     .Columns(1).PreferredWidth = 100 * NoOfCol * 3/(NoOfCol + 1) 
    End With 
    tblNew.Borders.InsideLineStyle = wdLineStyleSingle 
    tblNew.Borders.OutsideLineStyle = wdLineStyleSingle 
    tblNew.Cell(Row:=1, Column:=1).Merge _ 
    MergeTo:=tblNew.Cell(Row:=1, Column:=NoOfCol) 
    tblNew.Cell(1, 1).Split NumColumns:=2 
    tblNew.Cell(1, 1).Range.Text = "PROTOCOL: [ProtocolNumber]" & vbCrLf & "DRUG/INDICATION: 
    : 
    : 
+0

당신은 당신이 무엇을하려고하는지 조금 더 설명하기를 원할 것입니다. 필드를 정확히 추가하려고합니까? – braX

답변

0

찾고있는 코드입니다.

Dim Rng As Range 
Dim PropName As String 

Set Rng = tblNew,Cell(1, 1).Range 
Rng.Collapse wdCollapseStart  ' insert field at start of cell 
PropName = "Protocol number"  ' Custom document property by this name must exist 
Rng.Fields.Add Range:=Rng, _ 
       Type:=wdFieldEmpty, _ 
       Text:="DOCPROPERTY """ & PropName & """", _ 
       PreserveFormatting:=True 

수평 병합 후에 Word에서 테이블의 열에 액세스 할 수 없습니다. 마찬가지로 셀을 세로로 병합하면 행에 액세스 할 수있는 기능이 손실됩니다. 간단히 말하자면 테이블에 셀을 병합하는 것은 좋은 생각이 아니며 절대적으로해야한다면 셀 액세스를 마친 후에해야합니다.