Офисный макрос lib.ru

Nov 09, 2007 13:53

Когда-то я учился в школе и думал, что если я умею писать Hello World, то изучение ворда и экселя ниже моего достоинства, более того, я всё знаю и так. Жизнь разочаровала меня в этом. Я просто умел нажимать на кнопки.

Так вот, я никогда не использовал макросы, но, третий раз перекодируя книги с lib.ru для печати на принтере, я задумался о некоторой автоматизации процесса. Оказалось, что создать макрос довольно просто. Что получилось -

Sub libru()
'
' lib.ru Макрос
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Text = "^p^p"
.Replacement.Text = "
"
.Execute Replace:=wdReplaceAll

.Text = "^p "
.Replacement.Text = "
"
.Execute Replace:=wdReplaceAll

.Text = "^p "
.Replacement.Text = " "
.Execute Replace:=wdReplaceAll

.Text = "^p"
.Replacement.Text = " "
.Execute Replace:=wdReplaceAll

.Text = "
"
.Replacement.Text = "^p^p"
.Execute Replace:=wdReplaceAll

.Text = "
"
.Replacement.Text = "^p"
.Execute Replace:=wdReplaceAll

.Text = " "
.Replacement.Text = " "
.Execute Replace:=wdReplaceAll

.Text = "^p^w"
.Replacement.Text = "^p^t"
.Execute Replace:=wdReplaceAll

.Text = "- "
.Replacement.Text = "^+ "
.Execute Replace:=wdReplaceAll
End With

Selection.WholeStory
Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
Selection.Font.Name = "Times New Roman"
Selection.Font.Size = 10
End Sub

Оно умеет превращать шрифт и ширину в "нормально-читаемые в метро" (исходный текст записан моноширинным шрифтом, после каждой строки абзац, что собственно и исправляется).
Создать такой макрос в ворде - "сервис-макрос-макросы-создать", вставить код, сохранить.
Выполнить - "сервис-макрос-макросы-выполнить" (или забиндить на кнопку).
Выполнять рекомендуется над документом, полученным с помощью Ctrl+A, Ctrl+C, Alt+Tab, Ctrl+V из окна браузера с либ.ру.

Принимаю комментарии и пожелания;)

компы, идеи, книги

Previous post Next post
Up