Статьи из блога

Вставка неформатированного текста

Сергей спрашивает:

При вставке в документ Word текста из другой программы, он появляется в формате этой программы, что неудобно. Можно воспользоваться "специальной вставкой" и там выбрать пункт "неформатированный текст" и тогда вставляемый текст воспринимает формат Word'a. Но как сделать так, чтобы вставляемый текст всегда вставлялся в виде "неформатируемого теста", не прибегая к помощи меню каждый раз?

Есть три (возможно, и больше) основных способа решить данную ситуацию.

 

Вместо использования команды "Специальная вставка" (находится в меню Правка в редакторе Word 2003 или на вкладке Главная во вложенном меню кнопки Вставить в редакторе Word 2007) можно использовать специальную программу PureText, о которой я уже писал в заметке Как избавиться от форматирования текста в буфере обмена.

 

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

 

И третий, наиболее удобный способ с точки зрения пользователя: можно создать макрос (код ниже) и разместить на панели инструментов (для Word 2003) или на панели быстрого доступа (для Word 2007) соответствующую кнопку, либо назначить для макроса стандартное сочетание клавиш, например «Shift»+«Insert».

После того, как вы скопируете текст из сети или из документа, вы можете перейти к вашему документу и нажать кнопку этого макроса, либо воспользоваться горячими клавишами. Текст будет вставлен без форматирования.

Sub PasteRaw()
 Selection.PasteAndFormat wdFormatPlainText
End Sub

Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:

Создание макроса из готового кода

Автоматическая запись макроса

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Еще записи по вопросам использования Microsoft Word:

Комментариев: 11

  1. EugeneDest
    14.05.2008 в 11:00 | #1

    Еще способ: это назначить CTRL+ALT+V для специальной вставки (да и без всякого назначения можно вызвать специальную вставку нажав и удерживая ALT нажать поочереди E и S), а дальше выбераем "неотформатированный текст" и жмем ENTER (Замечу, что в 2007-м этот пункт выбран по-умолсанию).

    P.S.

    Использовать шаблоны с защищенными от изменений стилями — маразм, имхо.

  2. 14.05.2008 в 11:04 | #2

    Зря вы так насчет защищенных стилей. Видимо, вы не работали с документами, которые правят несколько человек. Они такого навставляют в документ, что потом просто замучаешь(?)ся редактировать.

    Нужные стили и макросы вынесены на панели инструментов, поэтому никаких проблем с применением нужных стилей или форматированием (нужным!) документов уже не возникает.

  3. Георгий
    16.05.2008 в 14:55 | #3

    Все гораздо проще: Настройки - Дополнительно - Вырезание, копирование... - Вставка из других программ - выбираем подходящий из трех вариантов.

  4. Semwize
    17.05.2008 в 14:24 | #4

    Ребят, у меня вообще после установки sp1 на Висту ворд стал ругаться на вставку чего-либо... просто если жму ctrl+v у меня ворд ругается, мол у меня отключены макросы и что надо переоткрыть файл с включенными макросами, вот только как это сделать я не знаю =( Подскажите плиз. Вроде в параметрах разрешил все макросы и та же фигня.

  5. 17.05.2008 в 14:30 | #5

    Какая версия Word? В любом случае зайдите в окно безопасность и разрешите макросы. Либо удалите макрос, на который ругается редактор.

  6. wirklich
    25.03.2009 в 16:45 | #6

    При использовании этого полезнейшего макроса возникает ошибка:

    показывает, что в строке

    Selection.PasteAndFormat wdFormatPlainText

    произошла ошибка времени выполнения BASIC:

    переменная типа Object не установлена

    Что это за трабла...

  7. 25.03.2009 в 17:05 | #7

    Странно, а в буфере обмена у вас есть что-то? Ошибка может возникнуть, если буфер обмена пуст.

  8. Андрей
    03.07.2009 в 16:18 | #8

    Эта ошибка возникает тогда, когда в буфере обмена находится что-либо, отличное от текста. Например, картинка или звуковой файл. Тогда нужно воспользоваться стандартным методом вставки. Через контекстное меню можно сделать, если макрос назначен на сочетание «Shift»+«Insert».

  9. 24.11.2010 в 11:42 | #9

    Альтернативный способ.

    В Word 2007 после обычной вставки (Ctrl+V) любого форматированного каким-либо способом фрагмента можно выбрать вариант вставки по умолчанию. После вставки, в нижнем правом углу от вставленного фрагмента появляется Параметры вставки (небольшой квадратик) - нажимаем, выбираем Сохранить только текст и ставим Назначить режимом вставки по умолчанию). Теперь при обычной вставке (Ctrl+V) всегда будет только неформатированный текст.

  10. Андрей
    26.03.2015 в 14:47 | #10

    Спасибо Георгий, ваш совет мне помог!

  11. Виктор
    24.03.2022 в 11:16 | #11

    Перепробовал все возможные способы, в итоге нашёл наиболее, на мой взгляд, элегантное решение.

    Пишу на основе Word 2016, но скорее всего к другим версиям тоже подойдёт:

    Заходим в Файл - Параметры - Настроить ленту - Сочетания клавиш - Настройка.

    В категориях проматываем почти в самый низ и кликаем на "Все команды".

    В командах проматываем до PasteDestinationFormatting (Вставка с использованием конечного форматирования), в "новом сочетании клавиш" назначаем Ctrl+V, нажимаем "Назначить".

    Затем в командах проматываем до EditPaste (Вставка содержимого буфера обмена в месте расположения курсора) (изначальная настройка для Ctrl+V) и в "новом сочетании клавиш" назначаем Ctrl+Shift+V, нажимаем "Назначить".

    Теперь пояснения:

    Почему я выбрал именно PasteDestinationFormatting? Потому что это как раз таки, на мой взгляд, решает все проблемы, так как вставляемый текст приобретает именно ваше форматирование, которое Вы делали в своём документе Word. В подавляющем большинстве случаев пользователям именно это и нужно, поэтому назначение умолчальных клавиш Ctrl+V для данной команды видится мне наиболее логичным и удобным. В то же время, чтобы оставить для себя возможность использования стандартной вставки с выбором форматирования (что используется гораздо реже), я переназначил для EditPaste сочетание Ctrl+Shift+V (тоже более-менее удобное и знакомое пользователям сочетание, которое обычно используется в браузерах). И вот уже на EditPaste будут распространяться ваши настройки в "Параметры - Дополнительно - Вырезание, копирование и вставка". Дело в том, что я изначально пытался решить свой вопрос при помощи этих, на первый взгляд, логичных настроек (проставив везде "Сохранить только текст"), но Microsoft как обычно лёгких путей не ищет. Это вообще не срабатывало при копировании с сайтов - всё равно копировался шрифт и фон сайта. После долгих поисков в Интернете и перебора различных вариантов в итоге пришёл к вышеописанному способу, до которого дошёл сам, так как такого решения в Интернете не было.

    Если Вас не устраивает вариант PasteDestinationFormatting, то вместо него можете использовать PasteTextOnly (Вставка только текста), назначив Ctrl+V (или любое удобное Вам сочетание).

Оставьте комментарий!

(обязательно)

^ Наверх