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

' Эта процедура делает что надо (с запятой)
Код: 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
17.10.2002, 10:18
    #32059065
AndreyE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто может написать МАКРОС на VB для WORD 2002!
Здорово!
А можно этот служебный символ (например ';') потом удалять.
...
Рейтинг: 0 / 0
17.10.2002, 12:44
    #32059141
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто может написать МАКРОС на VB для WORD 2002!
Если эта комбинация символов встречается в документе только как служебная, то очень легко:
Dim strT As String
strT=ActiveDocument.Range.Text
ActiveDocument.Range.Text=Replace(strT,"@#@#@","")
где @#@#@ - та самая комбинация.
Если это будет та же тчк-зпт, которая может встречаться и сама по себе, то по-другому (пиши - сделаем)
...
Рейтинг: 0 / 0
17.10.2002, 12:51
    #32059148
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто может написать МАКРОС на VB для WORD 2002!
Сорри, сорри. То, что я сейчас написал, уничтожит весь наш болд-формат нафиг.
А ведь можно было без всяких макросов через Правка - Заменить ;4)
Сейчас сделаю
...
Рейтинг: 0 / 0
17.10.2002, 12:59
    #32059153
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто может написать МАКРОС на VB для WORD 2002!
Короче, меняем процедурку и сразу удаляем ненужный знак:

Код: 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
17.10.2002, 14:41
    #32059228
AndreyE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто может написать МАКРОС на VB для WORD 2002!
Странно, удаляется все до служебного знака, а знак остается.
...
Рейтинг: 0 / 0
17.10.2002, 15:00
    #32059245
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто может написать МАКРОС на VB для WORD 2002!
Еще раз извиняюсь :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
17.10.2002, 15:24
    #32059269
AndreyE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто может написать МАКРОС на VB для WORD 2002!
Еще раз : ЗДОРОВО!!!
...
Рейтинг: 0 / 0
17.10.2002, 15:33
    #32059278
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто может написать МАКРОС на VB для WORD 2002!
Да завсегда пожалуйста!
...
Рейтинг: 0 / 0
22.10.2002, 09:22
    #32060537
AndreyE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто может написать МАКРОС на VB для WORD 2002!
А можно переделанную в жирную строку превратить еще и в гиперсылку и подсунуть также свой идентификатор ID
http://+"Трали-вали="+ ID ,
стоящий, допустим , после служебного символа
@#@#@ ID , где --- http://+"Трали-вали="----
постояная строка, а ID меняется ,
или как...?
...
Рейтинг: 0 / 0
22.10.2002, 10:33
    #32060569
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто может написать МАКРОС на VB для WORD 2002!
Вот что, давай-ка по мылу, ибо это уже оффтоп на оффтопе. И поподробнее желательно: откуда брать трали-вали, как генерить ID
Мое мыло в профиле.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Кто может написать МАКРОС на VB для WORD 2002! / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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