Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
25 / 25 / 6
Регистрация: 26.09.2010
Сообщений: 295
1

Выделить текст между двумя пустыми строками в документе ворд vb.net

11.03.2013, 13:39. Показов 1802. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть документ в формате doc, как выделить заголовок между 2мя пустыми строками. Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.03.2013, 13:39
Ответы с готовыми решениями:

Выделить текст между двумя пустыми строками в документе Word
есть документ в формате doc, как выделить заголовок между 2мя пустыми строками. Спасибо

Регулярные выражения. Выделить текст между двумя выражениями
Необходимо выделить текст между двумя выражениями: <table:table-row> и </table:table-row>. Есть...

Php выделить текст между двумя парными тегами при условии наличия искомого текста
Помогите плиз!Полдня голову ломаю. Как выделить текст между двумя парными тегами object, при...

Как восстановить текст в документе Ворд
В документе был текст на 20 страниц, случайно удалили старый текст, вместо которого написали новый,...

8
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
11.03.2013, 16:42 2
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
Imports Word = Microsoft.Office.Interop.Word
Module Module1
 
    Sub Main()
        Dim wdApp As Word.Application = New Word.Application
        Try
            Dim wdDoc As Word.Document = wdApp.Documents.Open("")
            With wdDoc.Range.Find
                .Text = "^13.*^13"
                .MatchWildcards = True
                .Wrap = Word.WdFindWrap.wdFindContinue
                While .Execute
                    wdApp.Selection.MoveStart(Word.WdUnits.wdCharacter, 1)
                    wdApp.Selection.MoveEnd(Word.WdUnits.wdCharacter, -1)
                    'Теперь выделен только требуемый заголовок
                    'Делаем с ним всё, что угодно
                End While
            End With
        Catch ex As ArgumentException
 
        End Try
 
 
 
    End Sub
 
End Module
0
25 / 25 / 6
Регистрация: 26.09.2010
Сообщений: 295
12.03.2013, 18:11  [ТС] 3
не получается(((

Добавлено через 47 секунд
хочу сделать жирным выделенный заголовок, но ничего не происходит
0
25 / 25 / 6
Регистрация: 26.09.2010
Сообщений: 295
27.03.2013, 16:16  [ТС] 4
Вот код

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
Imports Word = Microsoft.Office.Interop.Word
Imports Microsoft.Office.Interop.Word
 
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
Dim _wdApplication As New Microsoft.Office.Interop.Word.Application 'Приложение Word
        Dim _wdDocument As Document = _wdApplication.Documents.Open("")
   With _wdApplication.Selection.Find
            .ClearFormatting()
            .Replacement.ClearFormatting()
            .Text = "^13[!^13a-zа-яё]@^13[!^13a-zа-яё]@*^13^13"
            .Replacement.Text = "" ' просто для поиска
            ' для замены :
            '.Replacement.Text = "^13" & " замещающий текст 1-я строка" & "^13" & " 2-я строка" & "^13" & " 3-я строка" & "^13^13"
            .Forward = True
            .Wrap = Word.WdFindWrap.wdFindStop
            .Format = False
            .MatchCase = True
            .MatchWholeWord = False
            .MatchWildcards = True
            .Execute()    ' Просто для поиска
            '.Execute Replace:=.wdReplaceAll 'Для замены
        End With
wdDocument.Close()
        _wdApplication.Quit(True)
  End Sub
End Class
0
5606 / 1592 / 412
Регистрация: 23.12.2010
Сообщений: 2,382
Записей в блоге: 1
27.03.2013, 16:24 5
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
Imports Word = Microsoft.Office.Interop.Word
Imports Microsoft.Office.Interop.Word
 
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
Dim _wdApplication As New Microsoft.Office.Interop.Word.Application 'Приложение Word
        Dim _wdDocument As Document = _wdApplication.Documents.Open("")
   With _wdApplication.Selection.Find
            .ClearFormatting
            .Replacement.ClearFormatting
            .Text = "^13[!^13a-zа-яё]@^13[!^13a-zа-яё]@*^13^13"
            .Replacement.Text = "" ' просто для поиска
            ' для замены :
            '.Replacement.Text = "^13" & " замещающий текст 1-я строка" & "^13" & " 2-я строка" & "^13" & " 3-я строка" & "^13^13"
            .Forward = True
            .Wrap = Word.WdFindWrap.wdFindStop
            .Format = False
            .MatchCase = True
            .MatchWholeWord = False
            .MatchWildcards = True
            .Execute    ' Просто для поиска
            '.Execute Replace:=Word.WdReplace.wdReplaceAll 'Для замены
        End With
_wdDocument.Close()
        _wdApplication.Quit(True)
  End Sub
End Class
2-я строка Imports Microsoft.Office.Interop.Word - не является ли ошибкой?

Документ во время исполнения открывается?
0
25 / 25 / 6
Регистрация: 26.09.2010
Сообщений: 295
27.03.2013, 16:35  [ТС] 6
Эта строка не является ошибкой) Документ открывается только скрыто, как и нужно.
0
5606 / 1592 / 412
Регистрация: 23.12.2010
Сообщений: 2,382
Записей в блоге: 1
27.03.2013, 16:48 7
А что открывается, с чем мы работаем, если имя открываемого документа и путь к нему не заданы и не появляется диалог открытия файла?
0
25 / 25 / 6
Регистрация: 26.09.2010
Сообщений: 295
28.03.2013, 17:27  [ТС] 8
KoGG представьте что путь задан, а по поводу диалога я хочу работать в пакетном режиме с документами

Добавлено через 23 часа 24 минуты
Может ошибка в самой студии?
0
5606 / 1592 / 412
Регистрация: 23.12.2010
Сообщений: 2,382
Записей в блоге: 1
28.03.2013, 17:47 9
Попробуй вот так.
Убрал _ в переменных, убрал лишею строку Imports, изменил замену на жирное, убрал Selection - в скрытом режиме может не работать.
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
Imports Word = Microsoft.Office.Interop.Word
 
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim wdApplication As New Microsoft.Office.Interop.Word.Application 'Приложение Word
        Dim wdDocument As Document = wdApplication.Documents.Open("C:\TEMP\Doc1.doc")
        With wdDocument.Content.Find
                .ClearFormatting
                .Replacement.ClearFormatting
                .Replacement.Font.Bold = True
                .Text = "^13([!^13a-zа-яё]@^13[!^13a-zа-яё]@*^13)^13"
                .Replacement.Text = "^13" & "\1" & "^13" ' Возвращаем тот же текст
                .Forward = True
                .Wrap = Word.WdFindWrap.wdFindContinue
                .Format = False
                .MatchCase = True
                .MatchWholeWord = False
                .MatchWildcards = True
                .Execute Replace:=Word.WdReplace.wdReplaceAll 'Для замены
        End With
        wdDocument.Close()
        wdApplication.Quit (True)
    End Sub
End Class
0
28.03.2013, 17:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2013, 17:47
Помогаю со студенческими работами здесь

Найти текст в документе Ворд и передать в буфер обмена
Здравствуйте форумчане! Помогите начинающему. Стоит задача найти в документе Ворд и передать в...

Как выделить текст в документе word
Пытаюсь выделить текст в документе word. Выдает ошибку. Подскажите как от нее избавиться? var ...

Расстояние между двумя строками. Функция Левенштейна
Имеется программа для нахождения расстояния между двумя строками.На форме находятся два поля Edi1 и...

Какая разница между двумя строками кода?
Какая разница между: public string field; и public string field {set;get;} Я как бы...

Поиск значения в richTextBox, находящегося между двумя строками
Нужно реализовать поиск по richTextBox2, найти текст между ('/align.pl', {cmd: 'invisible', nd: '...

Как сделать datediff между двумя строками по порядку
У меня есть таблица. Где очень много PointId , OrderDate , OrderId . Мне надо к каждой строке...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru