Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2009, 18:03   #1
КотФиларет
 
Регистрация: 21.06.2007
Сообщений: 8
По умолчанию Помогите написать макрос для...

Помогите написать макрос, с помощью которого можно выделить только текст в выделенном фрагменте, а чтобы таблицы не выделялись.
КотФиларет вне форума Ответить с цитированием
Старый 21.01.2009, 18:53   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Не понял… Подробнее опишите, что надо. Какой выделенный фрагмент? Кто его выделяет: программа или пользователь?
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 21.01.2009, 19:34   #3
КотФиларет
 
Регистрация: 21.06.2007
Сообщений: 8
По умолчанию

Допустим я вручную выделяю какой-то фрагмент в документе, затем нажимаю на макрос и выделенным становиться только текст, а таблицы становятся не выделенными.
КотФиларет вне форума Ответить с цитированием
Старый 21.01.2009, 20:24   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Нужно как-то работать с Selection.Tables. Даже не знаю как подступиться. Есть метод Select, но нет метода Deselect. Есть конечно Collapse, но он не подходит.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 21.01.2009, 20:51   #5
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию А вот так

Код:
Sub MyPrinterHatesTables()
' Макрос записан 21.01.2009'
'Сохраняет копию документа - под именем, составленным из старого с добавлением "_1"'
'(в папке Мои докуметы); затем (из этой копии документа) удаляет все таблицы.'

Dim lngNN As Long, intN As Integer, strName As String
lngNN = ActiveDocument.Tables.Count 'количество таблиц в активном документе'
  
strName = StrReverse(Mid(StrReverse(ActiveDocument), InStrRev(ActiveDocument, ".")))
'теперь strName содержит имя файла без расширения, но с постфиксом _1'
    
If lngNN > 0 Then
        ActiveDocument.SaveAs FileName:=strName & "_1", AddToRecentFiles:=False

        For intN = 1 To lngNN
            ActiveDocument.Tables(intN).Delete
        Next
        
        Else: MsgBox "В этом документе нет таблиц Word."
End If
    
End Sub

Последний раз редактировалось Sasha_Smirnov; 21.01.2009 в 20:55.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 21.01.2009, 21:07   #6
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

2 Sasha_Smirnov
Удалить таблицы не вопрос. А вот снять выделение…
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 23.01.2009, 00:35   #7
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Поправка

Как впоследствии заявил КотФиларет, он хочет применять формат к тексту вне таблиц.
Но, после скидывания таблиц в отдельный документ, вернуть их обратно (на те же места) не так-то просто. Так что здесь мои потуги излишни.

Всё же, если макрос найдет какое-то применение, то там необходимо вставить
Код:
strName = StrReverse(Mid(StrReverse(ActiveDocument), 1 + InStrRev(StrReverse(ActiveDocument), ".")))
вместо строчки с похожей «белибердой».
Sasha_Smirnov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать макрос Neo007 Microsoft Office Excel 4 24.10.2008 07:25
Помогите написать программу для Диплома evgess Помощь студентам 1 16.10.2008 21:16
Нужно написать макрос для Word. Hoomer Фриланс 2 24.09.2008 12:19
Помогите написать макрос выбора по дате/времени и сортировке по нужным параметрам rf_dru Microsoft Office Excel 39 04.07.2008 12:36
помогите, пожалуйсто, написать макрос для excel bacalavr Microsoft Office Excel 2 04.04.2008 11:39