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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2011, 01:23   #1
6aHaH4uk
 
Регистрация: 31.10.2011
Сообщений: 7
По умолчанию Макрос для копирования текста

Здравствуйте,
Помогите пожалуйста написать макрос для ворда 2007го. Имеется файл (Приложение1.doc). Мне необходимо создать макрос который будет в данном файле копировать текст, находящейся между словами "В С Т А Н О В И В:" и "а.м.", открыть другой файл и вставить в него этот текст...

В данном примере это текст: "07.10.11 до SSSSSкого РВ ДМУ ГУМВС України в SSSSSій області надійшло звернення від гр. SSSSSої Н.Н., яка проживає за адресою: м. SSSSS пр. SSSS, 3/53, щодо розшуку її чоловіка SSSSSа Юрія Геннадійовича., 15.08.1958 р.н., який 01.10.2011 року пішов з дому та не повернувся"
Вложения
Тип файла: doc Приложение1.doc (34.5 Кб, 26 просмотров)
6aHaH4uk вне форума Ответить с цитированием
Старый 31.10.2011, 01:41   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Цитата:
Сообщение от 6aHaH4uk Посмотреть сообщение
между словами "В С Т А Н О В И В:" и "а.м.",
Это не требует программирования.

Выделите абзац (F8 четыре раза либо тройным щелчком) и перетащите в нужный документ (либо в папку).

Можно и сделать, конечно, если условия не меняются очень долго. В смысле: раз 10 в день можно и ручками пощёлкать, а вот когда 100...
Sasha_Smirnov вне форума Ответить с цитированием
Старый 31.10.2011, 02:05   #3
6aHaH4uk
 
Регистрация: 31.10.2011
Сообщений: 7
По умолчанию

Беда в том что с этим связана моя ежедневная работа, поэтому хочу максимально эффективно автоматизировать процесс.. Условия не меняются никогда, всегда будут слова "В С Т А Н О В И В:" и "а.м.", поэтому необходим макрос
6aHaH4uk вне форума Ответить с цитированием
Старый 31.10.2011, 04:02   #4
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Цитата:
Сообщение от 6aHaH4uk Посмотреть сообщение
открыть другой файл
Это уже существующий файл?

Есть (на http://otvety.google.ru/otvety/threa...%26start%3D160) код, сохраняющий выделяемые (вручную) фрагменты в папку "Мои документы" как отдельные файлы.
Вот нашёл пока только такой
Код:
Sub CopyfileToMyDoc() ' Макрос записан 21.01.2009'
'Сохраняет копию документа - под именем, составленным из старого с добавлением "_1"
'(в папке Мои докуметы - если в настройках Windows специально не указана другая)
    Dim intN As Integer, strName As String
      
    strName = StrReverse(Mid(StrReverse(ActiveDocument), 1 + InStrRev(StrReverse(ActiveDocument), ".")))
    'теперь strName содержит имя файла без расширения, но с постфиксом _1 (расширения doc и docx)'
    ActiveDocument.SaveAs FileName:=strName & "_1", AddToRecentFiles:=False
End Sub
Но у вас же в работе несколько другой процесс — своеобразная сводка?

Последний раз редактировалось Sasha_Smirnov; 01.11.2011 в 00:38.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 31.10.2011, 17:04   #5
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

Ещё есть такая прога ПунтоСвитчер, он Вам сильно может помочь
А вообще то что Вы спрашиваете как я понял это вершина айсберга, я понял по Вашей повседневной работе и если поменять подход, то есть не с паршивой овцы хоть шерсти клок, тогда откроются чудеса
Надо изучить закладки, ссылки и т.д.
Ципихович Эндрю вне форума Ответить с цитированием
Старый 31.10.2011, 23:49   #6
6aHaH4uk
 
Регистрация: 31.10.2011
Сообщений: 7
По умолчанию

Sasha_Smirnov, да это уже существующий файл...
С этой сводки(ежедневной) хочу копировать в другой документ ( месячный отчет)
6aHaH4uk вне форума Ответить с цитированием
Старый 01.11.2011, 00:59   #7
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Для начала

Я в подобном случае (в отчёте за неделю) ставил линки (такие поля в документе) либо поле {includetext}.
Цитата:
Сообщение от 6aHaH4uk Посмотреть сообщение
открыть другой файл и вставить в него этот текст...
Если известны (или хотя бы как-то упорядочены) имена файлов, по которым нужен отчёт, то вся работа занимает... да ничего не занимает: нужно лишь послать на печать заготовку с теми линками.

Вот код выделения нужных фрагментов, притом с установкой туда закладок.
Код:
Sub BookMarker()
Dim i As Byte 'счётчик найденных фрагментов, дающий им имена (a; b; c; d; ...)
Selection.HomeKey wdStory                   ' перемещаем курсор в начало документа
    With Selection.Find
        .Text = "В С Т А Н О В И В*а.м."    ' искомый текст
        .MatchWildcards = True              ' подстановочные знаки в окне поиска (* - любой текст)
        .Wrap = wdFindStop                  ' остановиться на найденном
        Do
            .Execute
            If .Found Then
            ActiveDocument.Bookmarks.Add Chr(97 + i) ' поставить туда закладку (a, b; и т. д.)
            End If
            Selection.Collapse wdCollapseEnd ' снимаем выделение с уже отмеченного закладкой
            i = i + 1
        Loop Until Not .Found               ' искать пока поиск (.Find) не завершил поиск
    End With
    'теперь на 1-м фрагменте закладка a, на 2-м (если есть) - b; и далее (см. по Ctrl-Shift-F5)
Selection.HomeKey wdStory
End Sub
Применив его (если удастся), считайте, что отчёт в ваших руках! Распечатанный.

Однако, как видно на рисунке, «слова-ограничители» придётся все заменить на пустоту — стереть.
Изображения
Тип файла: jpg Windies.jpg (55.2 Кб, 176 просмотров)

Последний раз редактировалось Sasha_Smirnov; 01.11.2011 в 03:23. Причина: илл.
Sasha_Smirnov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для копирования значений из нескольких файлов в один общий с определенным условием копирования zenner Microsoft Office Excel 0 21.03.2011 14:48
Макрос для импорта или копирования из Word barbus Microsoft Office Excel 4 08.05.2010 21:46
макрос для копирования строк из одной таблицы в другую IRI_NA Microsoft Office Excel 9 25.01.2010 20:55
макрос копирования текста из тегов и вставки в другие теги valdem Microsoft Office Word 18 21.02.2009 13:08
Макрос для копирования knyz Microsoft Office Excel 28 11.01.2009 06:12