Как вытащить текст из таблицы в ворде 2010
Перейти к содержимому

Как вытащить текст из таблицы в ворде 2010

Как преобразовать таблицу в текст в MS Word

Всему свое место и время, и с этой истиной в полной мере согласен любой, кто делал в MS Word таблицы. Нет, когда приловчишься все идет как по маслу, но, и с этим согласится любой, иногда «ловчится» приходится довольно долго. К счастью, есть довольно простой способ не только создать таблицу из уже набранного текста, но и преобразовать в текст любую уже созданную таблицу.

Преобразуем набранный текст в таблицу MS Word

Сразу оговорка. Текст который мы планируем преобразовать в таблицу, должен отвечать одному условию, он должен представлять собой табулированный список. То есть «воображаемые колонки» будущей таблицы должны быть разделены с помощью табуляции, что достигается нажатием клавиши Tab вместо пробела.

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

Преобразуем текст в таблицу MS Word

Преобразуем текст в таблицу MS Word

Как только наша импровизированная «таблица» набита, выделите её, и перейдите на вкладку «Вставка» и воспользуйтесь инструментом «Таблица». В выпадающем меню, нажмите на пункт «Преобразовать в таблицу…».

Преобразование текста в таблицу MS Word

Преобразование текста в таблицу MS Word

В появившемся окне можно произвести дополнительные настройки, однако в данном случае все стоит в тех положениях, которых и нужно (разве только в пункте «Автоподбор ширины столбцов» можно для интереса поставить переключатель в положение «По содержимому», чтобы уменьшить размер таблицы), поэтому смело жмем «Ок» и наслаждаемся результатом.

Настройки преобразования текста в таблицу ворда

Настройки преобразования текста в таблицу

создать таблицу из текста в ворд

Немного усложним задачу и сделаем три колонки. Обратите внимание, Tab срабатывает немного странно и вместо длинного пробела, в некоторых случаях, ставится короткий (это недоразумение можно поправить перетащив маркер табуляции на линейке сверху документа).

Вот такая некрасивая табуляция в word

Вот такая некрасивая табуляция. Если бы не режим разметки, я бы и не понял -Tab это или пробел

таблицу ворд преобразовать в текст

Исправляем табуляцию. Так-то лучше.

Тут довольно легко ошибиться и наставить табуляции там где это не нужно. В таких случаях имеет смысл вспомнить про режим разметки MS Word который делает невидимые обычно пробелы и тому подобные знаки видимыми (не волнуйтесь — только на экране, при печати все эти элементы видны не будут). Для этого активируем переключатель «Отобразить все знаки» на вкладке «Главная» и уже в «подсвеченном» виде, расставить нужные знаки и символы.

Преобразуем набранный текст в таблицу MS Word

Таблица из трех колонок созданная преобразованием из текста

Повторяем процедуру преобразования в таблицу… Все отлично!

Преобразуем таблицу в текст в MS Word

Ну теперь обратная манипуляция: получим из Word-таблицы табулированный список! Для начала выделим таблицу, и обратим внимание на панель инструментов. Видите вновь появившуюся вкладку «Макет»? Нам сюда. Найдите группу «Данные», а в ней инструмент «Преобразовать в текст». Щелкните на его ярлычок и (если вы ничего не меняли в разделителях и т.п.), нажмите кнопку «Ок».

А теперь преобразуем Word-таблицу в текст

А теперь преобразуем Word-таблицу в текст

Результат именно такой какой мы и ждали — таблица превратилась в обычный текстовый блок. Итак, ещё один этап в освоении MS Word^ преобразование текста в таблицу и обратно — из таблицы в текст, мы освоили!

Преобразуем таблицу в текст в MS Word

Итоговый вариант преобразования таблицы в текст

Как в Word 2010 преобразовать текст в таблицу

Таблицу можно создать на основе уже существующих данных. В качестве примера возьмем текст следующего вида: Название разделителей: знак абзаца, знак табуляции, знак точки с запятой Действия: нажатие клавиши Enter, нажатие клавиши Tab, нажатие клавиши с изображением.

Обозначим границы будущих столбцов и строк с помощью разделителей. Начало и конец каждой строки обозначим с помощью знака абзаца, а для границ столбцов выберем знак запятой: Название разделителей,Действия,знак абзаца,нажатие клавиши Enter, знак табуляции,нажатие клавиши Tab,знак точки с запятой, нажатие клавиши с изображением;

[box color=primechanie]Разделителями могут служить знак абзаца, табуляции, знак точки с запятой или любой выбранный вами символ.[/box]

Затем выделим данный текст и выберем команду Вставка ⇒ Таблица ⇒ Преобразовать в таблицу (Insert ⇒ Table ⇒ Convert Text to Table). В открывшемся диалоговом окне Преобразовать в таблицу (Convert Text to Table) в группе Размер таблицы (Table Size) установим Число столбцов (Number of columns), равное двум, в группе Автоподбор ширины столбцов (AutoFit behavior) установим переключатель в положение По ширине окна (AutoFit to window), в группе Разделитель (Separate Text at) установим переключатель в положение другой (Other) и укажем запятую. У нас получится таблица вида, представленного на рис. 6.6.

Рис. 6.6. Текст, преобразованный в таблицу

Рис. 6.6. Текст, преобразованный в таблицу

Как в Word 2010 преобразовать таблицу в текст

Процесс преобразования таблицы в текст производится в обратном для вышеприведенного порядке.

  1. Выделите таблицу.
  2. На контекстной вкладке Макет (Layout) в группе Данные (Data) выберите команду меню Преобразовать в текст (Convert Table to Text).
  3. В открывшемся диалоговом окне Преобразование в текст (Convert Table to Text) выберите вид разделителя, который будет отделять строки друг от друга после преобразования.

[box color=primechanie]Лучше всего на роль разделителя подходит абзац. Если вы выберете это значение, то каждая строка будет начинаться с абзаца. В том случае, когда текст должен состоять только из одного абзаца, выберите в качестве разделителя знак табуляции.[/box]

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

Для обеспечения корректного построения отчетов, содержащих макросы, требуется установить доверие на доступ к объектной модели VBA .

В Microsoft Word 2007 это осуществляется следующей последовательностью действий:

нажать кнопку Office в верхнем левом углу, нажать кнопку «Параметры Word»;

выбрать закладку «Центр управления безопасностью», нажать кнопку «Параметры центра управления безопасностью»;

выбрать закладку «Параметры макросов», в разделе «Параметры макросов для разработчика» установить опцию «Доверять доступ к объектной модели проектов VBA «.

В Microsoft Word 2010/2013/2016:

выбрать пункт меню «Файл → Параметры…»;

в окне «Параметры Word» выбрать закладку «Центр управления безопасностью», нажать кнопку «Параметры центра управления безопасностью»;

выбрать закладку «Параметры макросов», в разделе «Параметры макросов для разработчика» установить опцию «Доверять доступ к объектной модели проектов VBA «.

Примечание

VBA — Visual Basic for Applications (Visual Basic для приложений) — упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office.

Начало создания макроса

Макрос для отчетов формата Word

Для того, чтобы создать или просмотреть макрос для отчета формата Word необходимо:

открыть отчет в Мастере отчетов;

на ленте «Разработчик» в группе «Код» нажать кнопку «Visual Basic» (или сразу нажать Alt+F11). Откроется окно приложения «Microsoft Visual Basic for Application»;

В окне «Project – TemplateProject» в дереве открыть узел «TemplateProject — Microsoft Word Objects – ThisDocument»;

В правой части окна приложения, где приведен код, будет макрос «ПослеВыполненияОтчета».

Рисунок 1. Вид окна среды VBA при работе с макросом для отчетов формата Word

Если макроса там не будет, его можно создать самостоятельно, введя в данном окне строки начала и конца макроса, а между ними — сам текст макроса:

Sub ПослеВыполненияОтчета(ob As Variant, app As Variant)

Внимание!

В Word 2007 закладка «Разработчик» по умолчанию скрыта. Чтобы вывести ее на показ необходимо:

запустить MS Word;

нажать кнопку Office в верхнем левом углу, нажать кнопку «Параметры Word»;

на закладке «Основные» в разделе «Основные параметры работы с Word» установить опцию «Показывать вкладку «Разработчик» на ленте»

Макрос для отчетов формата Excel

Для того, чтобы создать или просмотреть макрос для отчета формата Excel, необходимо:

открыть отчет в Мастере отчетов;
нажать кнопку «2. Редактировать шаблон»;

в MS Excel на ленте «Разработчик» в группе «Код» нажать кнопку «Visual Basic» (или сразу нажать Alt+F11). Откроется окно приложения «Microsoft Visual Basic for Application»;

В окне «Project – VBAProject» в дереве открыть узел «VBAProject — Modules – Module1»;

В правой части окна приложения, где приведен код, необходимо перейти к макросу «ПослеВыполненияОтчета».

Рисунок 2. Вид окна среды VBA при работе с макросом для отчетов формата Excel

Внимание!

В Excel 2007 закладка «Разработчик» по умолчанию скрыта. Чтобы вывести ее на показ необходимо:

запустить MS Excel;

нажать кнопку Office в верхнем левом углу, нажать кнопку «Параметры Excel»;

на закладке «Основные» в разделе «Основные параметры работы с Excel» установить опцию «Показывать вкладку «Разработчик» на ленте»

Макрос «ПослеВыполненияОтчета»

Любой отчет изначально содержит следующий макрос:

Sub ПослеВыполненияОтчета(ob As Variant, app As Variant) ' MsgBox "MACRO ПослеВыполненияОтчета" + CStr(ob.Название) End Sub

Этот макрос будет запускаться после вставки данных в отчет. Он используется в отчетах баз данных, поставляемых с программой. Код по обработке отчета следует вставлять в этот макрос.

Переменные, которые передаются в макрос:

«ob» − объект, от которого был вызван отчет;
«app» − приложение, от которого был вызван отчет, то есть Business Studio.

Внимание!

Просмотреть объектную модель Word для разработки макросов в редакторе Visual Basic можно по клавише F2.

Название привязки для макроса

При решении ряда задач средствами программирования бывает удобно оперировать данными привязок отчета. Для этого необходимо:

Знать название привязки.
Связать переменные в коде VBA с этим названием.

Ниже описано, как это это делается для привязок разных типов.

Тип привязки: Объект

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

Использование названия привязки в коде:

ПеременнаяВКоде = Application.ActiveDocument.Variables.Item("НазваниеПривязки").Value

Тип привязки: Список и Фильтр

В отчете такие привязки представлены таблицей.

Использование названия привязки в коде:

Set ТаблицДляОбработки = Application.ActiveDocument.Bookmarks("НазваниеПривязки").Range.Tables(1)

Работа с таблицами

В отчетах Business Studio присутствует большое количество таблиц. Поэтому высока вероятность того, что основные задачи будут связаны с их обработкой.

Примеры ключевых функций, которые будут полезны при работы с таблицами, приведены ниже.

Работа с таблицей через название привязки

'переменная для работы с конкретной таблицей Set Table = Application.ActiveDocument.Bookmarks("НазваниеПривязки").Range.Tables(1) countColumn = Table.Columns.Count 'количество столбцов таблицы countRow = Table.Rows.Count 'количество строк таблицы СellText = Table.Cell(2,1).Range.Text 'значение ячейки во 2й строке 1го столбца

Работа с таблицей через её номер в документе

сountTables = ActiveDocument.Tables.Count 'количество таблиц в документе Selection.GoTo What:=wdGoToTable, Which:=wdGoToFirst, Count:=5, Name:="" 'перейти к таблице номер 5 countColumn = Selection.Tables(1).Columns.Count 'количество столбцов таблицы countRow = Selection.Tables(1).Rows.Count 'количество строк таблицы СellText = Selection.Tables(1).Cell(2,1).Range.Text 'значение ячейки во 2й строке 1го столбца

При работе с таблицами следует помнить ряд моментов:

Таблицы могут содержать объединенные ячейки. В случае перебора всех строк таблицы может возникнуть ошибка. Чтобы этого не было, необходимо использовать команду игнорирования ошибки:

On Error Resume Next ' игнорирование - ячейки таблицы имеют вертикальное объединение

При получении текста таблицы следует помнить, что полученное значение ячейки так же содержит в себе 2 служебных символа. Для обработки данных ячейки без этих служебных символов следует произвести «очистку» значения. Например:

СellText = Selection.Tables(1).Cell(3,2).Range.Text 'текст ячейки со служебными символами СellText = Left$(СellText, (Len(CellText) - 2)) 'убираем 2 последних символа ячейки - чистый текст

Приведенная выше информация не является полной для работы с таблицами, а лишь обращает внимание на наиболее возможные ситуации.

Определение направления формирования отчета

Один и тот же отчет Business Studio может рассматриваться из разных мест:

одиночный документ Word или Excel или несколько документов,
HTML -публикация,
Business Studio Portal.

При рассмотрение такого отчета в разных местах есть свои нюансы. Например, отчеты в HTML -публикации и Business Studio Portal не содержат колонтитулов, которые есть в отчете, сделанным отдельным документом Word.

Также могут быть и разные задачи по обработке отчета кодом в зависимости от направления формирования отчета. Для определения направления формирования отчета используются параметры: BSInThread, BSHtml и BSPortal.

Направление формирования отчета BSInThread BSHtml BSPortal
Одиночный файл (Word, Excel) False False False
Пакетное формирование (Word, Excel) True False False
HTML -публикация True True False
Business Studio Portal True True True

Таблица 1. Значения специальных переменных в зависимости от направления формирования отчета

Пример использования в коде:

Dim HTMLCreate As Boolean HTMLCreate = Application.ActiveDocument.Variables("BSHtml").Value 'True или False If HTMLCreate Then MsgBox "Выводим для HTML: HTML-публикация или Business Studio Portal" Else MsgBox "Выводим в одиночный файл или потоком файлов" End If
Примечание

При формировании отчета типа HTML ( HTML -публикация, Business Studio Portal) так же происходит формирование и отдельного файла типа Word.

Работа со ссылками в отчетах для HTML

При обработке кодом VBA отчета, сформированного для HTML -публикации или Business Studio Portal, следует помнить, что после формирования отчет представляет собой отображение не тех данных, что видны в браузере, а документ с показом кодов полей. Это не позволяет вести обработку гиперссылок.

Для «нормализации» отображения данных следует сначала использовать следующий код:

ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes 'Alt+F9 - видим не коды пол

Работа с копией отчета, содержащим макрос

При копировании отчета названия всех привязок изменяются.

Рисунок 3. Названия привязок в исходном отчете

Рисунок 4. Названия привязок в копии отчета

В случае, если в отчете используется макрос, который «опирается» на названия привязок, то следует помнить, что после копирования такой отчет не сможет формироваться таким же образом как оригинал без дополнительной обработки.

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

Пример проверки наличия привязки типа «Список». В документе это закладки.

Определяем название привязки типа «Список», которая представляет нужную таблицу (см. Руководство пользователя → Пример определения названия привязки типа «Список»).

BookmarkName = "Изменения_процесса_e1ded8b0" 'название привязки 'Проверка на корректность названия привязки Dim BookmarkIs As Boolean 'сначала считаем, что нужной закладки нет Dim Bkm As Bookmark 'переменная типа Закладка For Each Bkm InActiveDocument.Bookmarks 'перебираем все закладки в документе IfBkm.Name = BookmarkName Then 'если нашли закладку с нашим именем BookmarkIs = True 'отмечаем, что закладка есть 'получаем таблицу по названию привязки Set SettableStatus = Application.ActiveDocument.Bookmarks(BookmarkName).Range.Tables(1) End If Next If BookmarkIs Then 'если в документе закладка есть 'производим необходимые действия c таблицей End If

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

Пример проверки наличия привязки типа Объект

Определяем название привязки типа «Объект», которая представляет нужное поле в отчёте (см. статью Руководство пользователя → Пример определения названия привязки типа «Объект»).

VarName = "Статус_процесса_c9a10e8d" 'название привязки 'Проверка наличия указанной привязки в документе Dim VarIs As Boolean 'сначала считаем что привязки нет 'перебираем все переменные документа For Each aVar In ActiveDocument.Variables If aVar.Name = VarName Then 'если среди них есть с нашим именем VarIs = True 'отмечаем это 'получаем значение переменной по названию привязки MyVar = Application.ActiveDocument.Variables.Item(VarName).Value End If Next aVar If VarIs Then 'если в документе привязка есть 'производим необходимые действия с переменной End If
Примечание

Закладки, не относящиеся к привязкам, например, созданные пользователем самостоятельно, при копировании отчетов не изменяются.

Обращение к данным из базы

Из отчета можно напрямую обращаться к данным из базы бизнес-модели. Это делается двумя способами:

Через обращение к параметрам объекта, от которого был вызван отчет.
Через использование механизма OLE.

Обращение к параметрам объекта

Обращение к параметрам объекта, от которого был вызван отчет, происходит таким образом:

«ob» — объект, от которого был вызван отчет;

<СистемноеНазваниеПараметра>− это системное название параметра объекта, которое можно просмотреть в Объектной модели (см. Руководство пользователя → Объектная модель).

Например, при выводе отчета от процесса получить данные названия процесса можно таким образом:

Name = ob.Название 'получаем Название объекта, от которого вызвали отчет

Использование механизма OLE

Механизм OLE предоставляет более широкие возможности по обращению к данным бизнес-модели и выводу этих данных в отчетах по сравнению с обращением просто как данным объекта, от которого был вызван отчет.

Описание механизма OLE подробно описано в главе Руководство технического специалиста → Работа с Business Studio через OLE. Для задействования OLE в отчетах конкретной базы нет необходимости во включении опции «Разрешено использование OLE».

Внимание!

В отчетах при работе с OLE недоступны все методы класса «Система.OleApplication», поскольку в макросе «ПослеВыполненияОтчета» есть аргумент «app», который является приложением Business Studio, а не «Система.OleApplication».

Несколько задач в одном макросе

Бывают ситуации, когда:

В рамках одного отчета необходимо решить более чем одну задачу. Например, форматирование полей типа RTF и вставка столбца в таблицу.

Одну и ту же задачу необходимо применять к разным отчетам. Для этого необходимо скопировать код VBA , который решает поставленную задачу. И будет удобней, если этот код не пересекается с кодами других задач.

Отладку кода удобно вести по одной из задач, на время отключив выполнение других задач.

В таких случаях каждую решаемую задачу удобно оформлять отдельным макросом. А в ключевом макросе «ПослеВыполненияОтчета» лишь вызывать по очереди нужные макросы. Все эти макросы оформляются в том же окне, где и ключевой макрос и делается так:

Sub ПослеВыполненияОтчета(ob As Variant, app As Variant) Call Macros1 Call Macros2 'любые другие макросы End Sub Sub Macros1 () 'В рамках этого макроса решается одна задача End Sub Sub Macros2 () 'В рамках этого макроса решается другая задача End Sub

Если такие макросы имеют одинаковые части кода, то их тоже можно (и рекомендуется) выносить в отдельные макросы или функции в том же окне с ключевым макросом. Например, функция для определения присутствия в отчете необходимой привязки типа «Список» (см. Работа с копией отчета, содержащим макрос) может быть следующей:

Function BookmarkIs(BookmarkName As String) As Boolean 'Проверка на корректность названия привязки Dim Bkm As Bookmark 'переменная типа Закладка BookmarkIs = False 'сначала считаем, что нужной закладки нет For Each Bkm In ActiveDocument.Bookmarks 'перебираем все закладки в документе If Bkm.Name = BookmarkName Then 'если нашли закладку с нашим именем BookmarkIs = True 'отмечаем, что закладка есть End If Next End Function

Использование этой функции из макроса может быть таким:

Sub MacrosN () BookmarkName = "НазваниеЗакладкиТипаСписок" If BookmarkIs(BookmarkName) Then 'если в документе закладка есть 'Выполняются необходимые действия End If End Sub

Отладка кода

Разработка макроса, как и любая другая работа, это определенный путь, в котором будут допущены ошибки и будет их исправление. Ошибки могут быть обнаружены сразу или не видны при первом взгляде. Более детально об этом описано в главе Подходы к отладке кода.

Примеры решения задач с использованием макросов

Примеры работы с отчетами при использовании макросов приведены в статье Примеры решения задач.

Как создать и изменить таблицу в MS Word

Добавление таблиц в Microsoft Word может стать отличным способом для отображения данных в табличном виде или представления информации, в формате красиво оформленного списка. Например, если создать каталог товара и цен (прайс) в виде таблицы, это сделает его намного удобочитаемым и привлекательным, нежели просто в виде текста.

В этой статье, уроке, я покажу, как можно создать и редактировать таблицы в Word. Урок будет по MS Word 2010, но на его примере можно будет легко создать таблицы и в других версия Microsoft Word.

Совет: Вы также можете создать таблицу в MS Excel, а затем скопировать и вставить эту таблицу в Word, сохранив ее форматирование.

Кстати, если у Вас нет MS Word то его бесплатный аналог и другие, лицензионные и свободно распространяемые программные продукты Вы может найти тут.

Как создать таблицу в Word

1. Переместите курсор в ту часть документа Word, в которой Вы хотите создать таблицу.

2. Перейдите на вкладку «Вставить».

3. Нажмите кнопку «Таблица» и выберите нужное количество ячеек, строк и столбцов.

Создание таблицы в MS Word

Или Вы можете нажать кнопку «Вставить таблицу» и вручную ввести количество столбцов и строк, а также выбрать настройки ширины таблицы.

Вставка таблицы в Word

Как изменить размеры таблицы Word

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

Примечание: Этот способ изменит размеры таблицы, но не добавит новые строки или столбцы. Если Вам нужно добавить новый столбец или строку, то переместите указатель мыши в нужное место таблицы, а затем щелкните правой кнопкой мыши, найдите пункт «Вставить» и выберите, как именно нужно вставить новый столбец или строку.

Вставка нового столбца или строки в таблицу Word

Как изменить внешний вид таблицы Word

После добавления таблицы, переместите курсор в одну из её ячеек и перейдите на вкладку «Конструктор».

Конструктор таблиц в MS Word

В конструкторе можно настроить заголовки, заливку, границы и многое другое. Также можно выбрать один из готовых шаблонов для вашей таблицы.

Готовые стили таблиц Microsoft Word

Как переместить таблицу в Word

После добавления таблицы в документ, она может быть перемещена в любое его место. Для этого наведите указатель мыши на таблицу, и в левом верхнем углу появится значок, с помощью которого, зажимая его мышью, можно перемещать таблицу.

Перемещение таблицы MS Word

На этом пока всё, если у Вас есть еще какие-нибудь вопросы, про создание таблиц в MS Word, то обязательно задавайте их в комментариях внизу страницы.

Понравилось? Поделись с друзьями!

Дата: 27.10.2015 Автор/Переводчик: Linchak

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *