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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2012, 12:46   #1
zenner
Форумчанин
 
Регистрация: 12.08.2009
Сообщений: 199
По умолчанию Макрос для создания копий одного файла на весь месяц

Добрый День! Помогите пожалуйста с макросом который создаст копию этого CTA-32 Dispozitie de lucru 01.11.2012.rar файла на весь месяц но чтобы имя файла соответствовало дате и чтобы дата внутри документа(которая окрашена желтым цветом) также автоматически менялась. СПАСИБО!!!
zenner вне форума Ответить с цитированием
Старый 18.02.2013, 16:28   #2
zenner
Форумчанин
 
Регистрация: 12.08.2009
Сообщений: 199
По умолчанию

Цитата:
Сообщение от zenner Посмотреть сообщение
Добрый День! Помогите пожалуйста с макросом который создаст копию этого Вложение 55226 файла на весь месяц но чтобы имя файла соответствовало дате и чтобы дата внутри документа(которая окрашена желтым цветом) также автоматически менялась. СПАСИБО!!!
Например если в феврале 28 дней, чтобы макрос создал 28 копий этого файла и чтобы имя файла соответствовало дате и чтобы дата внутри документа(которая окрашена желтым цветом) также автоматически менялась.
zenner вне форума Ответить с цитированием
Старый 18.02.2013, 18:31   #3
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Документ, я немного изменил. Первую дату поместил в закладку, остальные даты вставил через перекрёстные ссылки. Макрос поместить в шаблон Normal.dot
Код:
Sub CreateMonthCopies()
    Dim i As Integer
    Const BMNAME As String = "DocumentDate"
    Dim sDocDir As String
    Dim sDocName As String
    Dim bm As Bookmark, oRng As Range
    sDocDir = Mid(ActiveDocument.FullName, 1, InStrRev(ActiveDocument.FullName, Application.PathSeparator))
    For i = 1 To 31
        On Error Resume Next
        sDocName = DateValue((i & "/" & Month(Date) & "/" & Year(Date)))
        If Err.Number = 0 Then
            Set oRng = ActiveDocument.Bookmarks(BMNAME).Range
            oRng.Text = DateValue((i & "/" & Month(Date) & "/" & Year(Date)))
            ActiveDocument.Bookmarks.Add BMNAME, oRng
            ActiveDocument.SaveAs2 sDocDir & sDocName & ".doc", FileFormat:=0, AddToRecentFiles:=False
        Else
            Err.Clear
            Exit For
        End If
        DoEvents
    Next
End Sub
Вложения
Тип файла: doc CTA-32 Dispozitie de lucru 01.11.2012.doc (58.5 Кб, 12 просмотров)
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 19.02.2013, 01:48   #4
zenner
Форумчанин
 
Регистрация: 12.08.2009
Сообщений: 199
По умолчанию

Цитата:
Сообщение от viter.alex Посмотреть сообщение
Документ, я немного изменил. Первую дату поместил в закладку, остальные даты вставил через перекрёстные ссылки. Макрос поместить в шаблон Normal.dot
Код:
Sub CreateMonthCopies()
    Dim i As Integer
    Const BMNAME As String = "DocumentDate"
    Dim sDocDir As String
    Dim sDocName As String
    Dim bm As Bookmark, oRng As Range
    sDocDir = Mid(ActiveDocument.FullName, 1, InStrRev(ActiveDocument.FullName, Application.PathSeparator))
    For i = 1 To 31
        On Error Resume Next
        sDocName = DateValue((i & "/" & Month(Date) & "/" & Year(Date)))
        If Err.Number = 0 Then
            Set oRng = ActiveDocument.Bookmarks(BMNAME).Range
            oRng.Text = DateValue((i & "/" & Month(Date) & "/" & Year(Date)))
            ActiveDocument.Bookmarks.Add BMNAME, oRng
            ActiveDocument.SaveAs2 sDocDir & sDocName & ".doc", FileFormat:=0, AddToRecentFiles:=False
        Else
            Err.Clear
            Exit For
        End If
        DoEvents
    Next
End Sub
Помогите пожалуйста Чайнику: Я скачал Ваш прикрепленный файл,создал файл Normal.dot (или это файл в папке Шаблоны?), вставил код макроса но не работает!Объясните пожалуйста по шагам что и как мне нужно сделать. СПАСИБО!!!(И еще: Я не покрасил желтым по невнимательности дату еще в одном месте: "Dispoz. Din programa DMTC din 01.11.2012(1 dispozitii" ) . Там тоже нужно менять эту дату.

Последний раз редактировалось zenner; 19.02.2013 в 01:51.
zenner вне форума Ответить с цитированием
Старый 19.02.2013, 01:58   #5
zenner
Форумчанин
 
Регистрация: 12.08.2009
Сообщений: 199
По умолчанию

И еще раз для точности хотел бы объяснить точно, то что мне нужно.Я создаю один ворд файл как в прикреплении, называю его первым числом месяца, внутри документа также пишу дату первого дня месяца, далее запускаю макрос который сделает (например для февраля) 28 файлов которые как в названии самого файла так и внутри документа(там где отмечено желтым) будут иметиь соответствующую дату.
zenner вне форума Ответить с цитированием
Старый 19.02.2013, 02:12   #6
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Шаблон Normal.dot создавать не нужно. Это шаблон, который ворд использует всегда по умолчанию. Свой шаблон удалите. Затем, нажимаете Alt+F11. Попадаете в редактор VBA. Слева видите дерево проектов. Шаблон Normal в самом верху.

Выделяете, кликнув по нему. Добавляете новый модуль, как показано на скриншоте. Дважды кликаете по имени добавленного модуля. В появившееся большое поле кода справа вставляете текст макроса. После этого уже в ворде макрос можно вызвать, нажав Alt+F8
В указанном месте дата не выделена, но ссылку я туда сам вставил. Будет обновляться.
Вам нужно только открыть файл и запустить макрос. Именовать файл по дате первого числа не нужно.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос: обновление одного файла данными из другого darthraziel Microsoft Office Excel 33 18.09.2012 17:11
Запрет создания нескольких копий элемента Авторитет JavaScript, Ajax 0 18.01.2012 14:58
Взаимодействие копий одного приложения Dima DDM Общие вопросы Delphi 7 22.07.2011 17:47
Копирование данных из одного файла Excel в другой через макрос I.P.iX Microsoft Office Excel 0 31.05.2011 22:20
Exel - при открытии файла через макрос, если файл отсутствует - виснет весь макрос gregory1b Microsoft Office Excel 2 14.10.2010 11:51