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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2012, 11:34   #1
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию Запрет копирования стилей из одного документа в другой

Доброго всем времени суток!
Наткнулся на проблему копирования стилей.
Дело в том, что мне не нужно чтобы копировались стили из одного документа в другой.

Хочу найти решение с помощью макроса. Т.е. если пользователь выделяет текст в другом документе, копирует его и вставляет в исходный документ - макрос должен отследить это действие и по нажатию кнопки вставить или комбинации клавиш ctrl+v выполнить следующее:
- любому скопированному фрагменту присвоить стиль "обычный"

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

Гм, не проще ли использовать функцию "Вставить только текст"?
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 16.11.2012, 11:18   #3
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

Я думал об этом, но не подходит(((
DJTreeno вне форума Ответить с цитированием
Старый 16.11.2012, 11:19   #4
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

Таблицы не переносятся тогда
DJTreeno вне форума Ответить с цитированием
Старый 16.11.2012, 11:40   #5
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

Вот нашел:

Private Sub EditPaste()
MsgBox 'EditPaste event fired!'
' если нужно ПОДАВИТЬ вставку, то просто уберите следующую строчку
Selection.Paste
' ну а теперь можете обработать содержимое буфера обмена 'специальным образом'...
' это самое содержимое можно определить при помощи API GetClipboardData...
' ну или какими-нибудь VBA-финтами )
End Sub

Но как пользоваться API GetClipboardData подскажите плиз
DJTreeno вне форума Ответить с цитированием
Старый 16.11.2012, 13:24   #6
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

Как начал копаться в работе с Clipboard, так мне аж плохо стало. Ну не ужели нельзя как-то переопределить стили???
DJTreeno вне форума Ответить с цитированием
Старый 16.11.2012, 15:03   #7
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

Вот альтернатива

Private Sub EditCopy()

Selection.Style = Styles("Обычный")
Selection.Copy


End Sub
DJTreeno вне форума Ответить с цитированием
Старый 17.11.2012, 08:39   #8
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 378
По умолчанию

Вставка без переноса стилей делается командой:
Код:
Selection.PasteAndFormat Type:=wdFormatSurroundingFormattingWithEmphasis
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Старый 19.11.2012, 10:55   #9
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

Фух спасибище Вам огромное:

Итого в нормал дот вставлям:

Private Sub EditCopy()
Selection.Copy
End Sub


Private Sub EditPaste()
Selection.PasteAndFormat Type:=wdFormatSurroundingFormatting WithEmphasis
End Sub

И теперь стили не копируются!!!
DJTreeno вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создание скрипта для копирования данных из одного документа в другой artem_b Microsoft Office Excel 5 20.02.2012 18:02
Копирование значения ячеек с одного документа в другой sulasevich Microsoft Office Excel 1 03.11.2011 16:19
Копирование числа из одного документа в другой novak3 Общие вопросы C/C++ 5 07.09.2011 22:55
как скопировать лист оз одного документа в другой trunx Microsoft Office Word 9 14.06.2010 02:58
передача данных ячейки из одного документа в другой. iamaxl Microsoft Office Excel 3 04.07.2009 07:08