2015-11-19 1 views
0

Мне нужно найти несколько строк в текстовых полях слайдов и изменить цвет абзаца. Например, если абзац начинается с «A.», или "1." или "Z." - тогда я хочу сделать абзац полужирным.PowerPoint macro - нужно искать несколько строк и менять цвет шрифта

Я знаю, что могу настроить индивидуальный поиск --- но есть ли способ поиска всех трех критериев одновременно?

Вот отдельные запросы:

For Each curShape In curSlide.Shapes 
     If curShape.TextFrame.HasText Then 
      Set curText = curShape.TextFrame.TextRange 

       With curText 
       For iPara = .Paragraphs.Count To 1 Step -1 
        If Left(.Paragraphs(iPara), 2) = "A. " Then 
         .Paragraphs(iPara).Font.Bold = True 
        End If 

       For iPara = .Paragraphs.Count To 1 Step -1 
        If Left(.Paragraphs(iPara), 2) = "1. " Then 
         .Paragraphs(iPara).Font.Bold = True 
        End If 

       Next 
       End With 

Количество строк для поиска будет увеличиваться - поэтому я хочу, чтобы сделать код как можно более эффективным.

Благодарим за помощь!

ответ

1

Вы не хотите, чтобы создать дополнительный код для каждого критерия, используйте Case заявление

For Each curShape In curSlide.Shapes 
     If curShape.TextFrame.HasText Then 
      Set curText = curShape.TextFrame.TextRange 

       With curText 
       For iPara = .Paragraphs.Count To 1 Step -1 
        Select Case Left(.Paragraphs(iPara), 2) 
         Case "A.", "1." '# Add additional cases separated by commas 
          .Paragraphs(iPara).Font.Bold = True 
         Case Else 
          'do nothing 
        End Select 
       Next 
       End With