Страницы: 1
RSS
Удаление символов в презентации Power Point макросом VBA, Не совсем Excel
 
Всем привет. Хочу сделать простой макрос для презентации, что бы он:
1. проходился по всем слайдам, по всем фреймам
2. искал в них символы " / ", "  ", "-" и заменял их соответственно на "/", " ", "–"

Где можно найти подходящий источник, что бы можно было понять какие объекты использовать? Или, если кому не в тягость, можно тут написать тоже, конечно.
 
Код
Option Explicit

Sub myReplace()
    Dim ppt As Presentation
    Set ppt = ActivePresentation
    
    Dim currentSlide As Slide
    For Each currentSlide In ppt.Slides
        SlideJob currentSlide
    Next
End Sub

Private Sub SlideJob(currentSlide As Slide)
    Dim ss As String
    Dim shp As Shape
    For Each shp In currentSlide.Shapes
        ss = GetNewString(shp.TextFrame2.TextRange.Text)
        If shp.TextFrame2.TextRange.Text <> ss Then shp.TextFrame2.TextRange.Text = ss
    Next shp
End Sub

Private Function GetNewString(ByVal ss As String) As String
    If InStr(ss, " / ") > 0 Then ss = Replace(ss, " / ", "/")
    If InStr(ss, " - ") > 0 Then ss = Replace(ss, " - ", "-")
    If InStr(ss, "  ") > 0 Then ss = Replace(ss, "  ", " ")
    GetNewString = ss
End Function
 
Большое спасибо
 
Макрос останавливается, когда натыкается на форму, в которой одна строка с 99 символами, хотя есть другие с большими обзацами текста, которые макрос прошёл без проблем.
 
Приложите слайд.
 
Цитата
МатросНаЗебре написал:
Приложите слайд.
Эмм, это как?
 
Ищите "Файл" на странице, на которой пишете сообщение.
 
МатросНаЗебре, к сожалению сделать этого не могу, много корпоративных данных. Да всё по сути)

Могу просто сделать какой то семпл с текстом и приложить
 
Имеет смысл приложить слайд, на котором воспроизводится ошибка из сообщения #4.
Страницы: 1
Наверх