#vb.net #ms-word #office-interop
#vb.net #ms-word #office-взаимодействие
Вопрос:
Моя цель — создать документ Word, в котором каждая буква имеет разные шрифты. Шрифты будут выбраны случайным образом. Код кажется работающим, но единственная проблема в том, что я не могу добавить буквы сразу после предыдущей строки. Он продолжает создавать новый абзац для каждой буквы.
wp = wd.Content.Paragraphs.Add
wp.selection.Font.Name = font
wp.selection.TypeText = letter
Вот результат
Ответ №1:
Вероятно, вы захотите использовать selection
свойство поверх Range
.
Попробуйте заменить
wp.Range.Font.Name = font
wp.Range.Text = letter
с помощью
wp.Selection.font.Name = font
wp.Selection.TypeText letter
Selection
будет текущее местоположение курсора.
Я не совсем уверен в ваших намерениях с wp.Range.InsertParagraphAfter()
, но я не считаю, что это необходимо для For Each . . . Next
цикла.
Комментарии:
1. Похоже, что выделение не является элементом абзаца. Возможно, я что-то упускаю
2. Ах да, ваше
wp
объявление объекта было неясным. Заменитеwp
на объект приложения. Хотя теперь это имеет больше смысла, посколькуRange()
также не является членом приложения.3. Прошу прощения. Я на самом деле не понимаю. Я отредактировал сценарий из основного вопроса. Это может помочь мне понять больше
4. Хорошо, спасибо. Итак, измените
wp.
наwa.
И откудаparagraph.add
взялось? Удалите и эту строку. По крайней мере, поместите его перед своим циклом.