VBA для тех кто любит думать


VBA и Office XP - часть 105


papka = .Directory

End With

If Right(papka, 1) = Chr$(34) Then papka = Mid(papka, 2, Len(papka) - 2)

 

Теперь при нажатии кнопки "Отмена" в диалоговом окне выбора папки произойдет выход из программы.

Необходимо вставить этот код в нашу программу. Довольно ясно, что данный код должен располагаться в ее начале, - чтобы можно было задать папку для сохранения файлов и, запустив автоматическую их конвертацию, уйти от компьютера и заняться другими делами. Кроме того, следует несколько модифицировать команду сохранения документа, заменив путь к файлу переменной "papka" (вернувшись к предыдущей версии этой команды - без использования свойства .FullName). В итоге она будет выглядеть так:

...

ActiveDocument.SaveAs FileName:=papka + Left(ActiveDocument.Name, Len(ActiveDocument.Name) - 4), FileFormat:=wdFormatRTF

...

 

И вот, наконец, можно привести окончательный вид нашего макроса со всеми внесенными в него доработками:

 

Sub Макрос1()

'

' Программа для обработки документов

'

With Dialogs(wdDialogCopyFile)

.Directory = ActiveDocument.Path

If .Display = 0 Then Exit Sub

papka = .Directory

End With

If Right(papka, 1) = Chr$(34) Then papka = Mid(papka, 2, Len(papka) - 2)

metka:

Selection.WholeStory

With Selection.Font

.Name = "Times New Roman"

.Size = 12

.ColorIndex = wdBlack

End With

With Selection.ParagraphFormat

.LeftIndent = CentimetersToPoints(0)

.RightIndent = CentimetersToPoints(0)

.SpaceBefore = 0

.SpaceAfter = 0

.LineSpacingRule = wdLineSpaceSingle

.FirstLineIndent = CentimetersToPoints(1.27)

End With

Selection.Find.ClearFormatting

Selection.Find.ParagraphFormat.Alignment = wdAlignParagraphLeft

Selection.Find.Replacement.ClearFormatting

Selection.Find.Replacement.ParagraphFormat.Alignment = wdAlignParagraphJustify

With Selection.Find

.Text = ""

.Replacement.Text = ""

.Forward = True

.Wrap = wdFindContinue

.Format = True

.MatchCase = False

.MatchWholeWord = False




Начало  Назад  Вперед