Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для Andrei_Korostel
12 / 11 / 2
Регистрация: 02.05.2014
Сообщений: 118
.NET 3.x

Редактирование строки в Word-шаблоне

15.06.2015, 12:29. Показов 2398. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время все, помогите решить задачку

Создаю ворд и в нем надо написать вот такую строку
" Фамилия: ________________________________________ __________"

Делаю так
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim oWord = CreateObject("Word.Application")
oDoc = oWord.Documents.add
oDoc.PageSetup.RightMargin = 30 'Изменение размера страницы (Правый отступ)
oPara1 = oDoc.Content.Paragraphs.Add
*************
 
oPara1.Range.Text = "Фамилия " & Form1.ComboBox4.Text
oPara1.Range.Font.Bold = False    ' :Жирный шрифт
oPara1.Range.Font.Italic = False 'Курсив
oPara1.Range.Font.Underline = False  ' подчеркивание
oPara1.Range.Font.Size = 12 ' Размер шрифта
oPara1.Range.Font.Name = "Times New Roman" ' ИМЯ шрифта
oPara1.Format.SpaceAfter = 1 '24 расстояние точек после пункта.
Не могу №Form1.ComboBox4.Text" установить подчеркивания не затрагивая остального.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.06.2015, 12:29
Ответы с готовыми решениями:

Заполнение таблицы в шаблоне Word
Доброго времени суток господа. Вопрос возможно для знатоков прост... Создаю документ Word, в котором пара таблиц. прописать тексты в...

Замена слов в шаблоне договора Word
Вот код, мне нужно взять данные из textbox и внести их в уже готовый шаблон договора, делал это через закладки Dim oWord As...

Создание и редактирование Таблицы в Word
Все доброго времени суток. На днях решил Написать программу для работы с Word. для расширения знаний ;-) Ну и естественно столкнулся с...

11
178 / 178 / 52
Регистрация: 11.03.2014
Сообщений: 200
15.06.2015, 14:34
Добавьте
VB.NET
1
2
 Dim rng As Word.Range = oWord.ActiveDocument.Range(Start:=8, End:=opara1.Range.End)
        rng.Font.Bold = True
0
 Аватар для Andrei_Korostel
12 / 11 / 2
Регистрация: 02.05.2014
Сообщений: 118
16.06.2015, 09:05  [ТС]
Цитата Сообщение от k13 Посмотреть сообщение
Добавьте
Не получается, В какой момент добавить?
0
178 / 178 / 52
Регистрация: 11.03.2014
Сообщений: 200
16.06.2015, 09:26
По типу вот:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim oWord = CreateObject("Word.Application")
Dim oDoc As New Word.Document
oDoc = oWord.documents.add
oDoc.PageSetup.RightMargin = 30
Dim opara1 As Word.Paragraph = oDoc.Content.Paragraphs.Add
opara1.Range.Text = "Фамилия " + ComboBox1.Text
oWord.selection.Font.Bold = True
opara1.Range.Font.Bold = False
opara1.Range.Font.Italic = False
opara1.Range.Font.Underline = False
opara1.Range.Font.Size = 12
opara1.Range.Font.Name = "Times New Roman"
opara1.Format.SpaceAfter = 1
 
Dim rng As Word.Range = oWord.ActiveDocument.Range(Start:=8, End:=opara1.Range.End)
rng.Font.Underline = True
oWord.Visible = True
PS: Я в предыдущем сообщении наврал, там жирный вместо подчеркивания. Тут все правильно.
0
 Аватар для Andrei_Korostel
12 / 11 / 2
Регистрация: 02.05.2014
Сообщений: 118
16.06.2015, 11:46  [ТС]
Цитата Сообщение от k13 Посмотреть сообщение
End:=opara1.Range.End
Есть другие варианты?
"Фамилия " + ComboBox1.Text (ComboBox1.Text разной длины)

До фамилии есть текст и после тоже есть.
0
178 / 178 / 52
Регистрация: 11.03.2014
Сообщений: 200
16.06.2015, 12:04
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  Dim oWord = CreateObject("Word.Application")
        Dim oDoc As New Word.Document
        oDoc = oWord.documents.add
        oDoc.PageSetup.RightMargin = 30
        Dim opara1 As Word.Paragraph = oDoc.Content.Paragraphs.Add
        Dim x1, x2 As Integer
        Dim s As String = "Фамилия "
        x1 = s.Length
        x2 = ComboBox1.Text.Length
 
        s = s & ComboBox1.Text & " что-то еще"
        opara1.Range.Text = s
        oWord.selection.Font.Bold = True
        opara1.Range.Font.Bold = False
        opara1.Range.Font.Italic = False
        opara1.Range.Font.Underline = False
        opara1.Range.Font.Size = 12
        opara1.Range.Font.Name = "Times New Roman"
        opara1.Format.SpaceAfter = 1
 
        Dim rng As Word.Range = oWord.ActiveDocument.Range(Start:=x1, End:=x1 + x2)
        rng.Font.Underline = True
        oWord.Visible = True
1
 Аватар для Andrei_Korostel
12 / 11 / 2
Регистрация: 02.05.2014
Сообщений: 118
16.06.2015, 12:49  [ТС]
k13, Работает но на первой строке документа, а если не первая?
Возможно через поиск, но тоже не получается. Пример ниже
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  Dim r
            r = oPara1.Range
            With r.Find
                .ClearFormatting()
                .Text = "Фамилия: "
                .Forward = True
                ' .Wrap = wdFindContinu
                .Format = False
                .MatchCase = False
                .MatchWholeWord = False
                .MatchAllWordForms = False
                .MatchSoundsLike = False
                .MatchWildcards = True
                If .Execute Then
                    oWord.ActiveDocument.Range(r.Start, r.End).Select()
                    oWord.ActiveDocument.Select.Font.Underline = True
                    ' oWord.ActiveDocument.
                Else
                    MsgBox("Текст не найден!", vbExclamation)
                End If
            End With
Выделяет то что "Фамилия: ", а изменить не могу.

Добавлено через 20 минут
Через поиск сделал вот так, все работает.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 Dim r
            r = oPara1.Range
            With r.Find
                .ClearFormatting()
                .Text = "Фамилия:"
                .Forward = True
                ' .Wrap = wdFindContinu
                .Format = False
                .MatchCase = False
                .MatchWholeWord = False
                .MatchAllWordForms = False
                .MatchSoundsLike = False
                .MatchWildcards = True
                If .Execute Then
                    oWord.ActiveDocument.Range(r.Start, r.End).Font.Underline = False
                Else
 
                End If
            End With
            .InsertParagraphAfter()
        End With
1
178 / 178 / 52
Регистрация: 11.03.2014
Сообщений: 200
16.06.2015, 13:02
Про тонкости типа поиска не знал, спасибо.
0
 Аватар для Andrei_Korostel
12 / 11 / 2
Регистрация: 02.05.2014
Сообщений: 118
16.06.2015, 13:04  [ТС]
Цитата Сообщение от k13 Посмотреть сообщение
спасибо.
А про рамки документа знаешь?
Надо установить рамку на документ
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 Dim oWord = CreateObject("Word.Application")
        oDoc = oWord.Documents.add
 
 
        oWord.Documents.Borders.Enable = 1
        With oDoc.Sections(1)
 
 
            With .Borders
                .DistanceFromLeft = 9
                .DistanceFromRight = 18
            End With
        End With
        oDoc.PageSetup.RightMargin = 30 'Изменение размера страницы (Правый отступ)
только у меня пока не получилось не чего. (
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
16.06.2015, 15:11
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Попробуйте так. (Позднее связывание, предполагается Word2003, формат doc. Как будет работать с Word2007, 2010 – не проверял.)
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private W As Object
Private Dc As Object
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    setWrd()
    Dc = W.Documents.Open(FileName:="тест01_.doc")
    With Dc.Sections(2)
        For Each bb As Object In .borders
            bb.LineStyle = 1  ' wdLineStyleSingle
            bb.LineWidth = 4  ' wdLineWidth050pt
            bb.Color = -16777216  ' wdColorAutomatic
        Next
        With .Borders
            .DistanceFromTop = 24
            .DistanceFromLeft = 24
            .DistanceFromBottom = 24
            .DistanceFromRight = 24
        End With
    End With
    W.visible = True
End Sub
Private Sub setWrd()
    Try
        W = GetObject(, "Word.application")
    Catch ex As System.Exception
        W = CreateObject("Word.application")
        W.Documents.Add(DocumentType:=0)  'wdNewBlankDocument=0
    End Try
End Sub
1
 Аватар для Andrei_Korostel
12 / 11 / 2
Регистрация: 02.05.2014
Сообщений: 118
17.06.2015, 06:25  [ТС]
Цитата Сообщение от ovva Посмотреть сообщение
Попробуйте так.
Благодарю, работает нормально, даже без позднего связывания.
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
17.06.2015, 14:42
Цитата Сообщение от Andrei_Korostel Посмотреть сообщение
даже без позднего связывания
не понял ???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.06.2015, 14:42
Помогаю со студенческими работами здесь

Редактирование строки
Если есть большой текст, и в нем есть слово Backspace-это означет, что предедюший символ должен быть удален. Как зделать так что бы...

Редактирование строки в TextBox
Начал осваивать VB.Net и застрял на следующем Дано: многострочный TextBox переменная intLnNom - задает номер строки...

Как в шаблоне Word реализовать перенос строки
Всем привет. Подскажите такой вопрос. Я использую шаблон документа ворд, и потом провожу замену нужных данных из программы в ворд ...

Редактирование текста в шаблоне
как отредактировать текст в шаблоне? через админ панель я заходил в менеджер шаблонов -> название_шаблона, но там я не нашёл...

CommandBar в шаблоне Word
Есть шаблон Word (надстройка). В нем автомакросы: Sub AutoExec() CreateMyToolbar End Sub и Sub AutoExit() ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru