VBA: Удалить пустые строки в vba-проекте

Автор Firetol, 16 июля 2017, 12:39

Firetol

Добрый день!

Помогите пожалуйста с макросом, который удаляет пустые строки в проекте VBA для Word во всех процедурах.
Мне удобнее читать код без пустых строк.

Администратор

Чтобы работал макрос, нужно сделать: Файл - Параметры - Центр управления безопасностью - Параметры центра управления безопасностью - раздел "Параметры макросов" - поставьте галочку "Доверять доступ к объектной модели проектов VBA".

Макрос обрабатывает проект, где находится этот макрос.

Макрос
Sub макрос()
    Dim project As Object, module As Object
    Dim i As Long
    ' Присваиваем имя "project" vba-проекту, чтобы удобнее писать код.
    Set project = ThisDocument.VBProject
    ' Цикл по всем модулям (стандартным, формам, модулю ворд-файла и классам).
    For Each module In project.VBComponents
        ' Цикл по строкам модуля.
        For i = module.CodeModule.CountOfLines To 1 Step -1
            ' Если строка пустая. Trim удаляет крайние пробелы.
            If Trim(module.CodeModule.Lines(i, 1)) = "" Then
                ' Удаление строки.
                module.CodeModule.DeleteLines i, 1
            End If
        Next i
    Next module
End Sub
[свернуть]

Firetol

Огромнейшее спасибо!
Все сразу получилось! Так я и хотел!