Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Access word шаблон

Пример вывода данных из Access в Word

Иногда возникают ситуации, когда требуется автоматически внести данные в один из типовых документов: служебную записку, письмо, договор и т. д. Причем не всегда такие документы можно сформировать, используя отчеты Access. Например:

  • требуется сформировать договор, который, как правило, представляет собой довольно длинный текстовый документ, в который нужно вставить несколько чисел или строк — например даты.
  • нужно обеспечить возможность ручного редактирования текста документа. Например, существует стандартный шаблон документа, который пользователь должен иметь возможность редактировать. Если использовать отчет Access, то придется открывать пользователю доступ к исходному коду.
  • документ должен быть сохранен в виде текстового файла (отчет Access может быть только напечатан). Иногда бывают и такие условия.

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

Вообще, каждый документ Microsoft Word основан на шаблоне. Шаблон определяет основную структуру документа и содержит настройки документа, такие как элементы автотекста, шрифты, назначенные сочетания клавиш, макросы, меню, параметры страницы, форматирование и стили. В нашем же случае, необходимо просто создать макет отчета подобно тому как это делается в Access. Для этого создаем обычный документ Word, затем в меню Файл — Сохранить как выбираем тип файла — Шаблон документа. В результате получим документ Word с расширением .dot — шаблон.

Для редактирования шаблона лучше его открывать не двойным щелчком, как обычный документ, а например, через контекстное меню: правой кнопкой — и выбрать пункт открыть. В противном случае при попытке сохранения придется повторно задавать формат документа — шаблон (.dot), иначе он будет сохранен как обычный документ Word (.doc).

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

А теперь собственно о технологии вставки текста в нужное место. Чтобы вставить текст, сначала нужно определить место, куда он должен вставляться. В данном примере это делается при помощи «Закладок» (смотрим в меню документа Word: Вставка — Закладка).

Закладка — это элемент документа, которому присвоено уникальное имя. Это имя можно использовать для последующих ссылок. Например, можно использовать закладку для определения текста, который необходимо проверить позже. Чтобы в следующий раз не искать данный текст во всем документе, можно перейти к нему с помощью диалогового окна Закладка.

В нашем случае закладками являются элементы шаблона, выделенные курсивом (смотрим в папку Dot). Создаются они очень просто:

  • Выделите элемент, которому следует назначить закладку — например курсивный текст Заказчик
  • В меню Вставка выберите команду Закладка
  • В поле Имя закладки введите или выберите нужное имя — в данном случае вводим имя «Заказчик». Имя закладки должно начинаться с буквы, в нем могут использоваться цифры, но не должно быть пробелов. Если потребуется разделить слова в имени закладки, можно использовать знак подчеркивания, например: Главный_заказчик.
  • Нажмите кнопку Добавить.

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

Теперь осталось создать функцию, которая бы открывала созданный шаблон Word, вставляла бы туда вместо закладок нужный текст и сохраняла созданный документ под заданным именем. В прошлой статье уже рассказывалось о способах открытия документов Office. Осталось только выяснить, как обратиться к закладке. Делается это при помощи свойства документа Bookmarks.Item Например:

Здесь идет обращение к закладке под именем Заказчик и при помощи ее свойства Text ей присваивается нужное значение — в данном случае содержимое одноименного поля на форме. На случай, если в поле нет данных, применена функция Nz(Значение, Значение если Null).

Документ создается под именем инициалов заказчика, поэтому данное поле не должно быть пустым. Это реализовано при помощи свойства поля (см. конструктор таблиц) «Обязательное поле — Да». Кроме того, в приведенном примере так же реализована процедура поиска ранее созданного документа при помощи стандартной функции Dir. Если документ не найден, то создается новый документ Word на основе шаблона

Set app = New Word.Application
app.Visible = True
app.Documents.Add strPathDot

если же такой документ существует, то выводится соответствующее сообщение: «Документ с таким именем ранее уже был создан. Заменить его?» При выборе «Да» создается новый документ взамен старого, при выборе «Нет» открывается старый документ

Access word шаблон

Всем привет, сегодня поговорим о выгрузки данных из Access в такие приложения как Word и Excel. Но не о стандартном способе, который есть в Access (связь с Office), а о способе, который позволяет выгружать данные в заданный шаблон как в Word, так и в Excel.

Другими словами это нужно тогда когда создать отчеты в Access по шаблону, который уже существует, например, в Word, невозможно или слишком трудоемко или как Вы знаете, может получаться просто коряво или самый распространенный вариант это когда много текста, который в отчете Access не так хорошо форматируется как в Word, а данных не так много, но необходимо автоматизировать, например это какие-то договора, заявления и так далее. Использование слияния из самого Word-а не очень удобно, поэтому я расскажу сегодня, как можно заполнять такие шаблоны напрямую из Access, путем нажатия на одну кнопку. Также как и необходимость выгрузки в шаблон Word, существует и необходимость выгрузки в шаблон Excel, и этот способ мы тоже сегодня рассмотрим.

Вся разработка делится на две части это:

• Настройка шаблона Word;

• Настройка выгрузки данных в шаблон.

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

Открываем шаблон Word, для начала добавим необходимую панель инструментов, для этого нажимаем вид->панель инструментов и ставим галочку « формы ». Теперь у вас отобразилась панель инструментом «Формы» все, что осталось сделать это встать на то место где необходимо добавить нужное поле и на панели выбрать «Текстовое поле». После в том месте у Вас появится серая область, которая свидетельствует о том, что поле добавлено. Теперь необходимо задать имя этого поля, для того чтобы потом из access вставлять в него значения (стандартное названия не очень удобное). Для этого щелкните правой кнопкой мы по полю и нажмите «Свойства». В поле закладка напишите желаемое имя этого поля, я в примере назвал его MyTestPole

Создайте столько полей, сколько Вам нужно.

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

Переходим к более интересной задачи это к реализации самой выгрузки из Access в этот шаблон.

Примечание! Я использую Access в связке с MS Sql 2008 поэтому и данные буду брать от туда.

Допустим у Вас есть форма, сделайте на ней кнопку (я назвал ее testbutton) и в событие нажатие кнопки вставьте следующий код:

Private Sub testbutton_Click()

Dim FileDialog As FileDialog

Dim rsd As ADODB.Recordset

Dim strSQL As String

Dim WordApOb As Object

Dim WordOb As Object

Dim path As String

Set rsd = New ADODB.Recordset

‘запрос к базе данных для получения необходимых данных

strSQL = «select * from dbo.table where KOD = » & Me.kod & «»

rsd.open strSQL, CurrentProject.Connection

Set FileDialog = Application.FileDialog(msoFileDialogOpen)

‘убираем множественный выбор, он нам не нужен

‘очистим и установим фильтры

FileDialog.Filters.add «Word», «*.doc»

‘установим фильтр по умолчанию

‘проверяем, что сделал user если выбрал шаблон, то начинаем работу

If FileDialog.Show = False Then

‘Если нет то выходим

Set dlgFile = Nothing

‘получаем путь к файлу

Set FileDialog = Nothing

‘Будем отслеживать ошибки

On Error GoTo Err_testbutton_Click

‘Создаем объект Word

Set WordOb = CreateObject(«Word.document»)

‘Задаем нашему документу значение из шаблона

Set WordOb = GetObject(path)

‘Задаем значение объекту word.Application

Set WordApOb = WordOb.Parent

‘делаем приложение word видимым

‘ищем наше поле в шаблоне

‘задаем ему новое значение из нашего Recordset

‘и так далее по всем полям

‘в конце перейдем на начало нашего документа

‘и активируем его

Set WordOb = Nothing

Set WordApOb = Nothing

‘в случае ошибки будем делать следующие

‘закроем word без сохранения

‘и также очистим переменные

Set WordOb = Nothing

Set WordApOb = Nothing

Код прокомментирован, поэтому сложностей возникнуть не должно. Здесь весь смысл сводится к созданию объекта word.document и word.application, конечно же. А после мы уже работаем с нашими объектами, т.е. заполняем их.

Теперь перейдем к Excel.

В шаблоне Excel уже ненужно создавать поля как в Word, так как здесь мы уже будем ориентироваться по адресам ячеек.

Существует несколько способов, как заполнять Excel шаблон, я опишу два, первый это тогда когда Вам просто необходимо проставить несколько полей, т.е. в источнике данных будет всего одна строка с несколькими полями и второй это когда строк будет уже несколько, причем Вы не знаете, сколько именно (в зависимости от каких то условий), но в шаблоне по умолчанию отведено для этого все пару строк, поэтому мы будем нужные нам строки добавлять, для того чтобы наши данные не накладывалась на строки ниже (допустим там примечание, подпись руководителя и т.д.). И совет, я здесь для примера использую всего один источник данных, а вы, если Вам необходимо заполнить шапку, примечание и некое количество строк (т.е. область данных) то для этих задач используйте несколько источников (Recordset).

Выгрузка данных из Access в шаблон Word и Excel

Всем привет, сегодня мы поговорим о том, как можно выгрузить данные из Access в такие приложения как Word и Excel. Но не о стандартном способе, который есть в Access (связь с Office), а о способе, который позволяет выгружать данные в заданный шаблон как в Word, так и в Excel.

Другими словами, это нужно тогда, когда создать отчет в Access по шаблону, который уже существует, например, в Word, невозможно или слишком трудоемко. Как Вы знаете, отчет в Access может выводиться просто коряво или, самый распространенный вариант, это когда много текста, который в отчете Access не так хорошо форматируется как в Word, а данных не так много, но отчет необходимо автоматизировать, например это какие-то договора, заявления и так далее.

Использование слияния из самого Word-а не очень удобно, поэтому сегодня я расскажу, как можно заполнять такие шаблоны напрямую из Access, путем нажатия на одну кнопку.

Кроме выгрузки в шаблон Word, иногда возникает и необходимость выгрузки в шаблон Excel, и этот способ мы тоже сегодня рассмотрим.

Экспорт данных из Access в шаблон Word

Вся разработка делится на две части, это:

  • Настройка шаблона Word;
  • Настройка выгрузки данных в шаблон.

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

Примечание! Я использую Microsoft Word 2003.

Открываем шаблон Word, для начала добавим необходимую панель инструментов, для этого нажимаем «Вид -> Панель инструментов» и ставим галочку «Формы». Теперь у Вас отобразилась панель инструментом «Формы». Все, что осталось сделать — это вставить в местах, в которых необходимо выводить данные, элементы «Текстовое поле», которые доступны на только что добавленной панели инструментов.

После добавления поля, у Вас появится серая область, которая свидетельствует о том, что поле добавлено. Теперь необходимо задать имя этого поля, для того чтобы потом из access вставлять в него значения (стандартное названия не очень удобное). Для этого щелкните правой кнопкой мыши по полю и нажмите «Свойства». В поле закладка напишите желаемое имя этого поля, я в примере назвал его MyTestPole.

Создайте столько полей, сколько Вам нужно.

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

Переходим к более интересной задачи, это к реализации самой выгрузки из Access в этот шаблон на VBA.

Примечание! Я использую Access в связке с MS SQL 2008, поэтому и данные буду брать от туда.

Код VBA для выгрузки данных в шаблон Word

Допустим, у Вас есть форма, сделайте на ней кнопку (я назвал ее testbutton) и в событие нажатие кнопки вставьте следующий код VBA:

Код прокомментирован, поэтому сложностей возникнуть не должно. Здесь весь смысл сводится к созданию объекта word.document и word.application. А после мы уже работаем с нашими объектами, т.е. заполняем их.

Экспорт данных из Access в шаблон Excel

В шаблоне Excel уже не нужно создавать поля как в Word, так как здесь мы уже будем ориентироваться по адресам ячеек.

Существует несколько способов, как заполнять Excel шаблон, я опишу два, первый — это тогда, когда Вам просто необходимо проставить несколько полей, т.е. в источнике данных будет всего одна строка с несколькими столбцами. Второй — это когда строк будет уже несколько, причем Вы не знаете, сколько именно (в зависимости от каких то условий). В шаблоне по умолчанию отведено для этого все пару строк, поэтому мы будем нужные нам строки добавлять, для того чтобы наши данные не накладывалась на строки ниже (допустим там примечание, подпись руководителя и т.д.). И совет, я здесь, для примера, использую всего один источник данных, а Вы, если Вам необходимо заполнить шапку, примечание и некое количество строк (т.е. область данных), можете использовать несколько источников (Recordset).

Код VBA для выгрузки данных в шаблон Excel

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

Здесь я также все подробно прокомментировал, но если есть вопросы, то задавайте их в комментариях к данной статье.

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

По наводке сайта Lifechaker.com обнаружен список множества доступных шаблонов для программ из пакета MS Office (Word, Excel, Access) — от записных книжек до завещаний. Все шаблоны организованы по группам и доступны для скачивания с официального сайта Microsoft.

Вы можете помочь в развитии сайта, сделав пожертвование:

Или помочь сайту популярной криптовалютой:

BTC Адрес: 1Pi3a4c6sJPbfF2sSYR2noy61DMBkncSTQ

ETH Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

LTC Адрес: LUyT9HtGjtDyLDyEbLJZ8WZWGYUr537qbZ

DOGE Адрес: DENN2ncxBc6CcgY8SbcHGpAF87siBVq4tU

BAT Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

XRP Адрес: rEb8TK3gBgk5auZkwc6sHnwrGVJH8DuaLh Депозит Tag: 105314946

USDT (ERC-20) Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

Яндекс Деньги: 410013576807538

Вебмани (R ещё работает): R140551758553 или Z216149053852

А тут весь список наших разных крипто адресов, может какой добрый человек пожертвует немного монет или токенов — получит плюсик в карму от нас 🙂 Благо Дарим, за любую помощь!

Передача данных из Access в Word;

Создание отчетов

1. Для создания отчета выполите следующие действия:

§ в окне БД выберите режим Отчеты, укажите курсором на строку Созданиес помощью мастера и нажмите кнопку ;

§ в окне Создание отчетов раскройте список объектов и выберите строку Таблица: Таблица 1;

§ выберите нужные поля в левом окне и с помощью кнопки ]> последовательно переведите их вправое окно: фамилия, должность, оклад;нажмите кнопку ;

§ в ответ на вопрос «Добавить уровни группировки?» просто нажмите клавишу ;

§ выберите порядок сортировки — по фамилии в алфавитном порядке; для этого раскройте список полей, укажите на слово «Фамилия», убедитесь в том, что управляющая кнопка находиться в положении , нажмите кнопку ;

§ выберите с помощью кнопок выбора вид макета отчета и ориентацию; например,  «Табличный,  «Альбомная»; нажмите кнопку :

§ выберите стиль отчета Сжатый; нажмите кнопку ;

§ введите заголовок отчета Штатное расписание; нажмите кнопку выбора  в строке Просмотреть отчет; нажмите кнопку ; на экранепоявится отчет в виде таблицы (рис. 5).

1. Передачу информации из AccessвWordможно осуществить двумя способами.

Первый позволяет вставлять в документ Word, названия полей базы данных, а затемпри печати или просмотре документа наименования полей будут заменены на их содержимое. Этот способ называют Слияние с MS Wordи его используют при подготовке писем для множественной рассылки.

Второй способ Публикация в IMS Wordпозволяет вставлять в документ, подготовленный в Word, документ или таблицу, подготовленную в Access.

2. Создайте документ, в котором используется слияние Microsoft Аccess с Ward:

§ откройте ранее созданную БД ;

Рис. 5. Отчет о составлении штатного расписания

§ выберите режим ‘Таблица и выделитестроку «Таблица 1”.

§ выполните команду Сервис/Связи с Office/Слияние с MS Word;

§ в появившемся окне «Слияние с документами MS Word» активизируйте кнопку выбора  «Создать новый документ и установитьсвязи сним» и нажмите кнопку ; при этом запускаетсяредактор Word, вкотором появляется новая панель инструментов Слияние.

§ в текст документ можно включить поля БД, которые потом будут автоматически заменены конкретными данными; например, необходимо вставить фамилию, нужно нажать на панели инструментовСлияниекнопку и в открывшемся списке выбрать названиеполя Фамилия; в результате в текст будет вставлено слово: «Фамилия»в двойных угловых кавычках.

§ наберите следующий текст, вставляя в него названия полей базыданных:

§ для просмотра содержимого полей базы данных, расположенных в документе Word, нажмите кнопку «ABC» на панели инструментов Слияние;в документе появится значение этих полей;

§ для просмотра следующей (предыдущей) записи нажимайте кнопки или на панели инструментовСлияние.

3. Для создания публикации выполните следующие действия:

§ выберитережим Отчеты и укажите на строку Штатное расписание;

§ выполнитекоманду Сервис/Связи с Office/Публикация в MS Word; будет запущен редактор Word, в окно которого будет помещен отчет, сформированный в Access.

Лабораторная работа №6

Задание: Средствами Accessсоздать базу данных, в которой содержатся фамилии, должности и адреса руководителей предприятий и фирм. Средствами Wordсоздать циркулярное письмо с приглашением указанных лиц па выставку. Данные о руководителях вставить в письмо, используя способ обмена «Слияние».

Выполните:следующие действия:

1. В текстовом редакторе Wordсоздайте файл с произвольным именем.

2. Запустите систему Access, создайте новую базу данных и задайте ей произвольное имя. Для разработки структуры базы данных проделайте следующее;

§ выберите режим «создание таблицы а режиме мастера»; нажмите кнопку ;

§ в появившемся диалоговом окне выберитеобразец таблицы:»Список рассылки»; используя имеющиеся образцы, создайте список полей: Имя Организации, Фамилия, Должность, Адрес; нажмите кнопку ;

§ присвойте создаваемой таблице имя «Список рассылки 1»и нажмите кнопку ;

§ выберите способ определения ключа:  «автоматически»;нажмите кнопки двараза;

§ выберите вариант  «внести данные непосредственнои таблицу» и нажмите кнопку «Готово»;

§ в появившемся окне выделите мерныйстолбец с названием «Код Списка Рассылки» и удалите его командой Правка/Удалить столбец; нажмите кнопку ;

3. Заполните таблицу данными, которыеприведены в табл. 3.4 и нажмите кнопку .

4. Вдиалоговом окне Базаданных выделите строку Список рассылки-1 и подайте команду Сервис/Связь с Offiее/Слияниес Microsoft Word;выберите вариант  «установитьсвязь с готовым документом MS Wordи нажмитекнопку .

5. Разверните появившеесяокно текстового редактора Wordна полныйэкран.

6. Наберитетекст документа:

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

Читать еще:  Word 2020 список литературы
Ссылка на основную публикацию
Adblock
detector