Я новичок и создаю пользовательскую форму, которая вводит данные в письмо. Есть строка, которую мне нужно выделить и подчеркнуть.Формат строки полужирный в месте закладки
With .Bookmarks("bidDate").Range.InsertBefore
.Text = inputBidM & " " & inputBidD & ", " & inputBidY
.Font.Bold = True
.Font.Underline = True
End With
Я нашел этот http://computer-programming-forum.com/1-vba/8e9aacaf425425ad.htm, чтобы получить то, что я выше, но я получаю ошибку компиляции: Invalid или негодный ссылочный.
Любая помощь очень ценится.
Редактировать: Код для этого раздела. У меня все остальное прокомментировано.
Private Sub startButton_Click()
' Inserting Addendum Info from fill in boxes
With ActiveDocument
.Bookmarks("addenDate").Range.InsertBefore inputAddenM & " " & inputAddenD & ", " & inputAddenY
.Bookmarks("addenDateA").Range.InsertBefore inputAddenM & " " & inputAddenD & ", " & inputAddenY
.Bookmarks("contractNo").Range.InsertBefore inputContractNo
.Bookmarks("contractNoA").Range.InsertBefore inputContractNo
.Bookmarks("fapNo").Range.InsertBefore inputFAPNo
.Bookmarks("descrip").Range.InsertBefore inputDescrip
.Bookmarks("addenNo").Range.InsertBefore inputAddenNo
.Bookmarks("addenNoA").Range.InsertBefore inputAddenNo
.Bookmarks("addenNoB").Range.InsertBefore inputAddenNo
.Bookmarks("bidDate").Range.Text inputBidM & " " & inputBidD & ", " & inputBidY
.Font.Bold = True
.Font.Underline = True
End With
End Sub
На самом деле, я считаю этот подход предпочтительнее того, который вы отметили как ответ, поэтому использование объекта Range, а не Selection. Единственная проблема с вашим кодом заключается в том, что вам не нужно '.InsertBefore'. Удалите это, и он должен работать. Причиной работы с диапазоном является предпочтительная работа с выбором: 1) экран остается тихим; 2) выполнение выполняется быстрее; 3) Вам лучше контролировать, где/что происходит в коде; 4) Вы можете работать с несколькими диапазонами, но может быть только один выбор. –
Я пробовал это, и он не работает. Однако я мог что-то пропустить. –
Поскольку вы не показываете нам целый макрос И вы не описываете «КАК», это не работает, что не позволяет легко справиться с проблемой. Но если это все, что находится в вашем макросе, вам нужно использовать 'ActiveDocument' перед' .Bookmarks'. Возможно, вы захотите использовать ссылку [edit], чтобы поместить полный макрос (включая 'Sub' и' End Sub') в ваш вопрос ... –