2017-02-22 2 views
0

내가 Word 문서에서 편집 가능한 필드를 만들려고 오전 :Word-VBA에서 편집 가능한 필드를 255 자 이상으로 만드는 방법은 무엇입니까?

Dim bm As Bookmark 

If ActiveDocument.Bookmarks.Exists(g_name) = True Then 
    Set bm = ActiveDocument.Bookmarks(g_name) 
End If 

If g_var = "DETAILS" Then 
    bm.Range.Select 
    With Selection 
    .Font.Underline = wdUnderlineNone 
    .FormFields.Add Range:=Selection.Range, Type:= _ 
     wdFieldFormTextInput 
     Selection.PreviousField.Select 
     With Selection.FormFields(1) 
     .Name = g_name 
     .EntryMacro = "" 
     .ExitMacro = "" 
     .Enabled = True 
     .OwnHelp = False 
     .HelpText = "" 
     .OwnStatus = False 
     .StatusText = "" 
     With .TextInput 
      .EditType Type:=wdRegularText, Default:=g_value, Format:="" 
     End With 
     End With 
    End With 
End If 

ActiveDocument.Protect Password:="mypass", NoReset:=False, Type:=wdAllowOnlyFormFields 

g_name 일부 텍스트가

g_value 북마크 g_name에 삽입해야했다 텍스트를 포함, 삽입했다 북마크의 이름을 포함합니다.

이 코드는 작동하지만 g_value 길이가 255 자 미만인 경우에만 발생합니다. g_value 길이가 255 이상이면 매크로는 "String too long"오류를 반환합니다.

내가 tryed 한이 같은 삽입 텍스트 :

bm.Range.Select 
With Selection 
    .Text = g_value 
    .Font.Underline = wdUnderlineNone 
    .Collapse wdCollapseEnd 
End With 

그리고이 작품,하지만 텍스트 필드는 편집 할 수 없습니다.

이 문제를 어떻게 해결합니까?

답변

0

그냥 텍스트 형태

word_dev_tools

를 사용하여이 양식

ActiveDocument.Bookmarks(g_name).Range.Fields(1).Result.Text = g_value 
을 채울