powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Кто может написать МАКРОС на VB для WORD 2002!
12 сообщений из 12, страница 1 из 1
Кто может написать МАКРОС на VB для WORD 2002!
    #32058822
AndreyE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто может написать МАКРОС на VB для WORD 2002.
В документе строчки разделены знаком абзаца.
В каждой строчке от начала до ,например, пока не встретилась запятая, кусок выделить жирным шрифтом.
И так для каждой строчки до конца документа.
А записей очень много. Пожалуйста!!!
Или как сделать это по другому?
...
Рейтинг: 0 / 0
Кто может написать МАКРОС на VB для WORD 2002!
    #32058908
Alex Juice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вищий класс! При чем тут Аксесс?
Ну ладно, так уж и быть...

' Эта процедура делает что надо (с запятой)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub BoldIt(Optional strS As String =  "," )
Dim par As Paragraph, strT As String, i As Long
For Each par In ActiveDocument.Paragraphs
    strT = par.Range.Text
    i = InStr(strT, strS) -  1 
    par.Range.Characters( 1 ).Select
    Selection.MoveRight wdCharacter, i, wdExtend
    Selection.Font.Bold = True
Next
End Sub


'А эта ее запускает
Код: plaintext
1.
2.
Sub LetsGo()
BoldIt
End Sub


'А эта ее запускает, но в качестве признака использует не зпт, а тчк-зпт ;4)
Код: plaintext
1.
2.
Sub LetsGo()
BoldIt  ";" 
End Sub
...
Рейтинг: 0 / 0
Кто может написать МАКРОС на VB для WORD 2002!
    #32059065
AndreyE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здорово!
А можно этот служебный символ (например ';') потом удалять.
...
Рейтинг: 0 / 0
Кто может написать МАКРОС на VB для WORD 2002!
    #32059141
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если эта комбинация символов встречается в документе только как служебная, то очень легко:
Dim strT As String
strT=ActiveDocument.Range.Text
ActiveDocument.Range.Text=Replace(strT,"@#@#@","")
где @#@#@ - та самая комбинация.
Если это будет та же тчк-зпт, которая может встречаться и сама по себе, то по-другому (пиши - сделаем)
...
Рейтинг: 0 / 0
Кто может написать МАКРОС на VB для WORD 2002!
    #32059148
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри, сорри. То, что я сейчас написал, уничтожит весь наш болд-формат нафиг.
А ведь можно было без всяких макросов через Правка - Заменить ;4)
Сейчас сделаю
...
Рейтинг: 0 / 0
Кто может написать МАКРОС на VB для WORD 2002!
    #32059153
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, меняем процедурку и сразу удаляем ненужный знак:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub BoldIt(Optional strS As String =  "," )
Dim par As Paragraph, strT As String, i As Long
For Each par In ActiveDocument.Paragraphs
    strT = par.Range.Text
    i = InStr(strT, strS) -  1 
    par.Range.Characters( 1 ).Select
    Selection.MoveRight wdCharacter, i, wdExtend
    Selection.Font.Bold = True
    Selection.Delete Unit:=wdCharacter, Count:= 1 
Next
End Sub
...
Рейтинг: 0 / 0
Кто может написать МАКРОС на VB для WORD 2002!
    #32059228
AndreyE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно, удаляется все до служебного знака, а знак остается.
...
Рейтинг: 0 / 0
Кто может написать МАКРОС на VB для WORD 2002!
    #32059245
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз извиняюсь :4(
Недосмотрел - работа, понимаешь, отвлекают всякие ;4)
Теперь все ОК (кстати, если в строке нет нужного знака, то она не будет обрабатываться; заодно подправил для разделителей в несколько знаков)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub BoldIt(Optional strS As String =  "," )
Dim par As Paragraph, strT As String, i As Long
For Each par In ActiveDocument.Paragraphs
    strT = par.Range.Text
    i = InStr(strT, strS)
    If i >  1  Then
        i = i -  2 
        par.Range.Characters( 1 ).Select
        Selection.MoveRight wdCharacter, i, wdExtend
        Selection.Font.Bold = True
        Selection.Collapse wdCollapseEnd
        Selection.Delete Unit:=wdCharacter, Count:=Len(strS)
    End If
Next
End Sub
...
Рейтинг: 0 / 0
Кто может написать МАКРОС на VB для WORD 2002!
    #32059269
AndreyE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще раз : ЗДОРОВО!!!
...
Рейтинг: 0 / 0
Кто может написать МАКРОС на VB для WORD 2002!
    #32059278
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да завсегда пожалуйста!
...
Рейтинг: 0 / 0
Кто может написать МАКРОС на VB для WORD 2002!
    #32060537
AndreyE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно переделанную в жирную строку превратить еще и в гиперсылку и подсунуть также свой идентификатор ID
http://+"Трали-вали="+ ID ,
стоящий, допустим , после служебного символа
@#@#@ ID , где --- http://+"Трали-вали="----
постояная строка, а ID меняется ,
или как...?
...
Рейтинг: 0 / 0
Кто может написать МАКРОС на VB для WORD 2002!
    #32060569
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что, давай-ка по мылу, ибо это уже оффтоп на оффтопе. И поподробнее желательно: откуда брать трали-вали, как генерить ID
Мое мыло в профиле.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Кто может написать МАКРОС на VB для WORD 2002!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]