Как перевести поле word в текст
Как преобразовать несколько обновляемых полей в соответственный текст одним махом?
Он то конечно помагает, но хочется что-бы таблицы остались таблицами, а MText остался MText-ом, нужен другой вариант.
По первой прикидке так:
Заменяет field и field в блоках на соответствующий текст.
Код можно оптимизировать выведя повторяющийся в отдельную функцию.
Идея понятна. только написано уж больно "в лоб", причем с kpblc'овским смешением стилей. По-моему, так будет элегантнее:
>Лентяй.
Не считаю смешение стилей чем-то криминальным. Чем удобно - тем и
пользуюсь. Данный стиль никак не связан с Алексеем(Крысом).
Может жить и Ваш вариант , однако.
1.В функции field-to-text перед (princ) пропущена закрывающая скобка.
2.В функции conv перед (setq dict (vla-GetExtensionDictionary x))
пропущен progn.
Кроме того, если расширить действие функции в части "убийства"
field в примитиве acad_table , то необходимо найти связь этого
примитива с блоком *T в котором и находятся данные Field's.
Через ActiveX это достаточно неудобно , а в entget данные об имени блока лежат на поверхности (в DXF 2).
И как тогда не смешивать стили?
Чем удобно - тем и пользуюсь. Данный стиль никак не связан с Алексеем(Крысом). |
Не считаю удобством неизбежные скачки entname -> vla-object и обратно. Для программ kpblc'а это весьма характерно.
Может жить и Ваш вариант , однако. 1.В функции field-to-text перед (princ) пропущена закрывающая скобка. 2.В функции conv перед (setq dict (vla-GetExtensionDictionary x)) пропущен progn. |
Через ActiveX это достаточно неудобно , а в entget данные об имени блока лежат на поверхности (в DXF 2). |
Незнаю как оно у Вас работает возможно я что-то не тосделал.
Я создал кнопку в Custmize, в Macros вписал выше выложенные коды (кнопки две) и ни одна не работает, после запуска кода Лентяя, даже после поправок, почемуто вызывает меню Custmize, я его долко пытаюсь закрыть (эдак раз 5), а если АвтоКАД только открыл и запускаю програму тогда открывается справка смотри ниже скопировал из текстового окна:
Открывается файл формата AutoCAD 2004.
Выполняется регенерация листов.
Выполняется регенерация модели.
AutoCAD Express Tools Copyright © 2002-2004 Autodesk, Inc.
Утилиты меню AutoCAD загружены.
Команда:
Команда:
Команда: _(defun Команда LISP недоступна.
Команда: conv Неизвестная команда "CONV". Для вызова справки нажмите F1.
Команда: (x / dict) ; ошибка: no function definition: X
Команда:
_HELP
Команда: СПРАВКА
Команда: СПРАВКА
Команда: (if (and (= (vla-get-objectname x) "AcDbMText")
((_> (= (vla-get-HasExtensionDictionary x) :vlax-true))
(_> (progn (setq dict (vla-GetExtensionDictionary x))
((_> (vlax-for item dict
(((_> (if (= (vla-get-name item) "ACAD_FIELD")
((((_> (progn (vla-remove dict "ACAD_FIELD")
(((((_> (vla-put-textstring x (vl-string-trim "%<>"
(vla-get-textstring x)))))))
(_> )
; ошибка: неверный тип аргумента: VLA-OBJECT nil
Команда: defun Неизвестная команда "DEFUN". Для вызова справки нажмите F1.
Команда:
СПРАВКА
Команда:
СПРАВКА
Команда: СПРАВКА
Команда:
СПРАВКА
Команда: (defun C:field-to-text ( / adoc bks ass)
(_> (vl-load-com)
(_> (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
(_> (mapcar '(lambda (x y) (set x (vlax-get-property adoc y))) '(ass bks)
((_> '(ActiveSelectionset Blocks))
(_> (if (> (vla-get-count ass) 0) (vla-clear ass))
(_> (vla-SelectOnScreen ass)
(_> (if (>= (vla-get-count ass) 1)
((_> (vlax-for x ass
(((_> (cond ((= (vla-get-objectname x) "AcDbBlockReference")
(((((_> (vlax-for it (vla-item bks (vla-get-name x)) (conv it)))
((((_> block
((((_> ((= (vla-get-objectname x) "AcDbMText")
(((((_> (conv x))))
((_> vlax-for)
(_> (princ)
(_> )
; ошибка: синтаксическая ошибка
Команда: end
Неизвестная команда "END". Для вызова справки нажмите F1.
Команда:
Команда:
Команда: _ai_selall Выбор объектов. готово.
Если вы столкнулись с проблемой преобразования кодов полей в текст растений, это руководство поможет вам.
Рекомендуемые инструменты повышения производительности для Word
Преобразование полевых кодов в текст с помощью VBA
Удивительный! Используйте эффективные вкладки в Word (Office), например Chrome, Firefox и New Internet Explorer!
1: Нажмите Alt + F11 для открытия Microsoft Visual Basic для приложений окно;
2: нажмите Модули из Вставить вкладку, скопируйте и вставьте следующий код VBA в Модули окно;
3: нажмите Run кнопка или нажмите F5 применить VBA.
Код VBA при преобразовании кодов полей в текст:
Примечание: Приведенные ниже коды VBA могут вызвать два разных результата, которые вы можете использовать по своему усмотрению.
VBA 1: создайте новый документ Word, чтобы сохранить преобразованные коды полей:
Код подполя к тексту ()
Dim MyString как String, FieldShowSetting как Boolean
Для каждого aField в ActiveDocument.Fields
Поле.Выбрать
MyString = MyString & vbCr & Selection.Fields (1) .Code.Text
Следующее поле
Documents.Add
ActiveDocument.Content.InsertAfter MyString
End Sub
VBA 2: преобразовать коды полей в текст в исходном документе
Код подполя к тексту ()
Dim MyString как строка
ActiveWindow.View.ShowFieldCodes = Истина
Для каждого aField в ActiveDocument.Fields
Поле.Выбрать
MyString = ""
Выбор.Текст = МояСтрока
Следующее поле
ActiveWindow.View.ShowFieldCodes = Ложь
End Sub
Примечание: С помощью этого кода VBA вы не можете преобразовать коды полей в текст из выбранной области документа.
Преобразование полевых кодов в текст с помощью Kutools for Word
Избавьтесь от этих надоедливых кодов VBA, Kutools for Word's Преобразование кодов полей в текст Утилита может помочь вам быстро преобразовать коды полей в текст не только из всего документа, но и из выбранной части документа.
Kutools for Word, удобная надстройка, включает группы инструментов, облегчающих вашу работу и расширяющих ваши возможности обработки текстовых документов. Бесплатная пробная версия на 45 дней! Get It Now!
1. Пожалуйста, примените эту утилиту, нажав Кутулс > Еще > Преобразование кодов полей в текст. Смотрите скриншот:
2. После нажатия Преобразование кодов полей в текстпоявится окно с подсказкой, напоминающее о преобразовании. Пожалуйста, нажмите Да чтобы начать операцию.
3. Все коды полей во всем документе преобразуются в обычный текст. Смотрите скриншот:
Примечание: Если вы просто хотите преобразовать коды полей в текст из выбранной части документа, выберите диапазон кодов полей и затем примените эту утилиту.
Если в вашем документе Word много кодов полей, которые вы не собираетесь обновлять, вы можете преобразовать их в обычный текст. Для этого вам нужно будет легко найти свои поля, включив затенение полей.
В этом посте показано, как включать и выключать затенение полей в Word 2003, Word 2007, Word 2010, Word 2013 и Word 2016. Мы также покажем шаги по преобразованию полей в обычный текст, которые одинаковы во всех трех версии.
Включение и выключение затенения полей в Word 2007 по 2016
Процедура включения или выключения затенения полей в Word 2007, по сути, такая же, как в Word 2010 — 2016. Мы покажем вам шаги для Word 2007 и укажем на некоторые отличия для более новых версий Word. Для начала нажмите кнопку Office.
Для доступа к параметрам Word в Word 2010 до 2016 перейдите на вкладку «Файл».
На вкладке «Файл» нажмите «Параметры».
Остальные шаги одинаковы для всех версий Word. В диалоговом окне «Параметры Word» нажмите «Дополнительно» в списке слева.
Установите флажок Показать коды полей вместо их значений, чтобы отобразить фактический код, который используется для генерации значения поля. Обратите внимание, что вы не можете полностью скрыть поле. Word будет отображать код или результаты, и вы можете использовать этот флажок для переключения между ними. Вы также можете использовать сочетание клавиш ALT + F9 для переключения между результатами полей и кодами полей.
Прокрутите вниз до раздела Показать содержимое документа. Выберите нужный вариант в раскрывающемся списке Затенение поля. Опции выполняют те же функции, что и описанные выше для Word 2003.
Опять же, если вы выбрали Всегда, затенение поля отображается, даже если курсор не находится в поле.
Коды полей можно переключать так же, как описано выше для Word 2003.
Преобразовать поля в обычный текст
Преобразование поля в обычный текст выполняется одинаково во всех трех версиях Word, обсуждаемых в этом посте. Просто поместите курсор в поле, которое вы хотите преобразовать в текст, и нажмите Ctrl + Shift + F9. Поле преобразуется в текст как последнее значение, которое оно содержало, когда оно было полем.
Если вы передумали и хотите преобразовать текст обратно в поле, вы можете отменить действие «Отключить поля», нажав кнопку «Отменить» на панели быстрого доступа или нажав Ctrl + Z.
Если вы хотите преобразовать все поля в текст, вы можете выделить весь текст в документе, как описано ранее в этом посте (Ctrl + A), а затем нажать Ctrl + Shift + F9. Тогда в вашем документе больше не будет полей.
Обновить поля
Если вы решите, что вам больше не нужно обновлять поле, и вы хотите преобразовать его в текст, вы можете легко это сделать. Однако, во-первых, вы должны обновить поле, чтобы убедиться, что значение поля обновлено. Чтобы сделать это в Word 2003, щелкните правой кнопкой мыши поле и выберите «Обновить поле» во всплывающем меню.
ПРИМЕЧАНИЕ. Вы также можете нажать F9, чтобы обновить выбранное поле. Если вы хотите обновить все поля в документе, нажмите Ctrl + A, чтобы выделить весь текст в документе, включая поля, и нажмите F9. Все поля в документе будут обновлены.
Чтобы обновить поле в Word 2007 до 2016, поместите курсор в поле и либо нажмите кнопку «Обновить», которая отображается над полем, либо нажмите F9.
ПРИМЕЧАНИЕ. Вы можете обновить все поля в документе так же, как описано выше для Word 2003.
Включение и выключение затенения полей в Word 2003
Чтобы включить или отключить затенение полей в Word 2003, выберите «Параметры» в меню «Сервис».
Откроется диалоговое окно «Параметры». Чтобы отключить затенение поля, выберите «Никогда» в раскрывающемся списке «Затенение поля». Чтобы отображать затенение поля все время, даже если поле не выбрано или курсор не находится в поле, выберите Всегда в раскрывающемся списке Затенение поля.
Это позволяет сразу увидеть ваши поля в документе. Если вы хотите видеть затенение поля только тогда, когда оно выбрано, или курсор находится в поле, выберите При выборе из раскрывающегося списка Затенение поля. Это выбор по умолчанию при установке Word.
Чтобы скрыть коды полей в документе Word, просто снимите флажок прямо над заливкой поля, который называется Полевые коды.
Нажмите OK в диалоговом окне «Параметры», чтобы принять изменения и закрыть диалоговое окно.
Если вы выбрали Всегда, вы заметите, что поля подсвечиваются, даже если курсор не находится в поле.
Если вы видите, например, код в поле даты, а не дату, это означает, что отображаются коды полей, а не значение поля. Чтобы просмотреть значение поля, щелкните правой кнопкой мыши поле и выберите «Переключить коды полей» во всплывающем меню. Затем вы увидите дату, как на приведенном выше примере изображения.
Если некоторые или все ваши поля показывают коды полей, вы можете отобразить значения всех полей, нажав Ctrl + A, чтобы выделить весь текст в вашем документе, щелкнув правой кнопкой мыши в любом месте текста и выбрав Переключить коды полей из всплывающее меню.
Возможно, вам придется выбрать опцию дважды, пока не отобразятся значения ваших полей. Все поля преобразуются в одно и то же состояние, даже если некоторые отображают коды полей и некоторые отображаемые значения.
Microsoft Word является самым популярным программным обеспечением, предназначенным для работы с текстом. В широком обилии функций этой программы имеется немалый набор инструментов для создания и изменения таблиц. О работе с последними мы неоднократно рассказывали, но многие интересные вопросы все еще остаются открытыми. Один из таких – преобразование таблицы в текст.
Преобразование таблицы в текст в Ворде
Word позволяет буквально в несколько кликов преобразовать заполненную текстовыми данными таблицу в обычный текст. Правда, в результате вы все равно не получите целостное предложение или, например, абзац – рамки исчезнут, но текст останется на своих местах, то есть между словами и/или фразами будут большие отступы, которые затем потребуется убрать вручную. Но это лучше, чем ничего, тем более, что других решений тоже нет.
-
Выделите таблицу вместе со всем ее содержимым, нажав на небольшой «плюсик» в левом верхнем углу внешней рамки.
Совет: Если вам необходимо преобразовать в текст не всю таблицу, а только несколько ее строк или столбцов, выделите их с помощью мышки.
Примечание: Если текстовому содержимому таблицы требуется придать точно такой же вид, как на изображении выше, сохранив, но при этом все же скрыв ее рамки, воспользуйтесь рекомендациями из представленной по ссылке ниже статьи.
Если это необходимо, измените внешний вид текста, шрифт, размер и другие его параметры. Наша инструкция поможет вам это сделать.
Как видите, преобразовать таблицу в текст в Microsoft Word совсем несложно, достаточно выполнить пару простых манипуляций, и готово. Не сложнее будет решить и обратную задачу – превратить уже имеющийся текст в таблицу. О том, как это делается, мы ранее писали в отдельной статье на нашем сайте.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Еще статьи по данной теме:
Дано: файл Word с 40 табличками. Как сразу все таблички преобразовать в текст и не делать 40 раз одну и туже манипуляцию «выделить табличку, макет, преобразование в текст»?
Татьяна, здравствуйте. Если документ содержит только таблицы с текстом, и между ними нет никаких других записей, просто выделите их все нажатием клавиш «CTRL+A», затем кликните по «плюсику» в левом верхнем углу любой из таблиц, чтобы активировать группу вкладок «Работа с таблицами», и проделайте то же, что описано в статье выше — во вкладке «Макет» будет кнопка «Преобразовать в текст», и это действие будет применимо ко всем выделенным таблицам.
Спасибо за ответ, Виталий! Документ содержит только таблицы. Нажатием клавиш CTRL+A действительно выделяются все таблицы, но при нажатии на плюсик первой таблицы преобразование в текст применяется только к первой таблице, а остальные таблицы остаются без изменений.
Очередная недоработка Mirosoft Office… Как насчет объединения таблиц? Если такой вариант ничего не испортит, тогда рекомендую сначала объединить все таблицы, а затем уже преобразовать эту одну большую в текст. На случай если между содержимым разных таблиц должен быть какой-то визуальный «разделитель», можно разграничить их пустой строкой. Метод не самый простой и быстрый, но все же лучше, чем преобразование каждой таблицы отдельно, да и другого варианта, скорее всего, не остается. Ознакомьтесь для этого со следующими нашими статьями:
Спасибо, у меня 12 файлов с 40 табличками в каждом, к сожалению от рутины не уйти. Надежда на быстрый результат умерла…. ))
Татьяна, не за что, обращайтесь. Все же рутина с объединением — немного быстрее, чем преобразование каждой таблицы отдельно.
По умолчанию при преобразовании таблицы стоит «знак табуляции», как по умолчанию включить «другой знак»?
Константин, здравствуйте. Именно об этом и написано в статье, в пункте № 4. Там же написано, а вместе с тем и показано, где и как этот знак изменить — в окне, которое появляется при нажатии кнопки «Преобразовать в текст» вкладки «Макет» («Работа с таблицами»). Доступные варианты разделителя: знак абзаца, знак табуляции, точка с запятой, любой другой символ, указанный самостоятельно — вводите или указываете любой подходящий, нажимаете «ОК». Очевидно, что предварительно этот же знак нужно ввести в ячейки таблицы в местах ее будущего разделения.
НА вкладке «макет» нет вкладки «Данные»
Владимир, здравствуйте. Вы находитесь не в той вкладке «Макет» (обратите внимание на второй пункт инструкции, там есть уточнение, плюс на скриншоте показана другая вкладка) и, вероятно, вместе с таблицей выделили текст или какой-либо иной объект за ее пределами, так как нужный раздел не отобразился. Выделите только таблицу, например, нажав на квадратную кнопку с плюсиком, расположенную в ее левом верхнем углу. После этого на панели инструментов, в ее правой части, появится блок «Работа с таблицами», состоящий из вкладок «Конструктор» и «Макет» — как раз последняя вам и нужна, в ней и содержится кнопка «Данные», необходимая для решения озвученной в заголовке статьи задачи.
Как вставить текст на поле документа Word?
Как мы все знаем, мы можем вводить текст только в области редактирования документа Word. Но иногда вам может понадобиться вставить текст на поле документа Word, как показано на следующем снимке экрана. Как можно быстро и легко вставить текст на поле Word?
Поместите текст на поле документа Word, сделав отступ для текста
Вы можете переместить выделенный текст, который хотите поместить на поле страницы, отрегулировав отступ текста, сделайте следующее:
1. Выберите текст, который вы хотите разместить на поле, и нажмите Главная > Параметры абзаца в Пункт группа, см. снимок экрана:
2. В диалоговом окне Абзац под Отступы и интервалы в вдавливание в разделе введите отрицательное значение, при котором вы хотите сделать отступ текста в левый box, см. снимок экрана:
3, Затем нажмите OK кнопку, и вы можете увидеть, что выбранные тексты были смещены к краю страницы, см. снимок экрана:
Поместите текст на поле документа Word, вставив текстовое поле
Вы также можете сначала вставить текстовое поле, а затем перетащить его к краю документа, выполните следующие действия:
1. Кулак, пожалуйста, нажмите Вставить > текст Box > Текстовое поле рисования, а затем нарисуйте текстовое поле мышью по мере необходимости.
2. Затем введите текст в текстовое поле, см. Снимок экрана:
3 . А затем вы можете повернуть текстовое поле в нужном вам направлении, если вы хотите разместить текстовое поле вертикально на поле страницы, нажмите Инструменты рисования - Формат > Поворот > Повернуть вправо на 90〫/ Повернуть влево на 90〫, см. снимок экрана:
4. Затем вы должны перетащить текстовое поле на поле документа, как вам нужно.
5. А затем вы можете отформатировать текстовое поле как без строки и без контура, как вам нужно. Щелкните правой кнопкой мыши границу текстового поля и выберите Без заливки и Нет из Заполнять и очертание выпадающие отдельно см. снимок экрана:
6. Теперь вы можете видеть, что текст был помещен на поле документа, см. Снимок экрана:
Поместите текст на поле документа Word для каждой страницы с помощью функции верхнего или нижнего колонтитула
Если вы хотите поместить текст на поля документа для каждой страницы, вы можете применить функцию верхнего или нижнего колонтитула для решения этой проблемы, сделайте следующее:
1. Сначала нажмите Вставить > заголовок / нижний колонтитул, а затем выберите нужный стиль верхнего или нижнего колонтитула, см. снимок экрана:
2. После вставки верхнего или нижнего колонтитула удалите исходный текст в верхнем или нижнем колонтитуле, а затем щелкните Вставить > текст Box > Текстовое поле рисования, и нарисуйте текстовое поле, как вам нужно. Затем введите нужный текст в текстовое поле, см. Снимок экрана:
3. Затем повторите шаг3-шаг6 вышеуказанного метода, чтобы завершить операцию. Наконец, нажмите Закрыть верхний и нижний колонтитулы под Дизайн таб. Теперь вы можете видеть, что текст был вставлен на поле документа для каждой страницы, см. Снимок экрана:
Читайте также: