Войти

Показать полную графическую версию : [решено] Макрос для сдвига времени в телепрограмме.doc


d22cva
07-01-2017, 11:42
Здравствуйте! Имею телепрограмму в вордовском документе с выходом временем выхода телепередач. Необходимо сделать сдвиг выхода передач на 3 часа(+3).(пример для наглядности ниже) Нужен макрос или может что-то можно подручными средствами ворда сделать? Буду признателен если поможете с макросом. Прикрепляю исходный документ proba.doc в архиве.

Исходные данные:

06:00 - 05:30 - Программа 1 16+
06:05 - Программа 2 16+
06:35 - Новости 16+
07:05 - Программа 3 16+
07:35 - Программа 4 16+
07:40, 15:40, 19:10, 22:10 - Программа 5 16+
...
Должно получиться так:

09:00 - 08:30 - Программа 1 16+
09:05 - Программа 2 16+
09:35 - Новости 16+
10:05 - Программа 3 16+
10:35 - Программа 4 16+
10:40, 18:40, 22:10, 01:10 - Программа 5 16+
...

Iska
08-01-2017, 02:26
d22cva, попробуйте так (макрос VBA, не скрипт WSH!):
Option Explicit

Sub Sample()
Dim objCurrSelection As Range


With selection
Set objCurrSelection = .Range

.Start = 0
.End = 0

With .Find
.ClearFormatting
.Text = "[0-9]{2}:[0-9]{2}"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchWildcards = True

Do
If .Execute() Then
selection.Text = Format(DateAdd("h", 3, CDate(selection.Text)), "Hh:Nn")
Else
Exit Do
End If
Loop
End With

objCurrSelection.Select

Set objCurrSelection = Nothing
End With
End Sub

d22cva
18-01-2017, 00:35
Iska, Всё работает как надо! Благодарю!




© OSzone.net 2001-2012