VBA пропускает слайды при вставке с одной колоды на другую - PullRequest
0 голосов
/ 30 октября 2018

Мне нужно скопировать слайды из одной мастер-колоды в другую. Мастер-колода содержит около 150 слайдов. Есть 2 слайда для каждой темы и 75 тем есть, каждое название темы уникально. Название каждого слайда включает название темы, поэтому я перебираю названия, а те, где я нахожу совпадение, должны быть скопированы в другую колоду. Проблема иногда в коде пропускает один или два слайда. Там абсолютно нет шаблона. если я выполню код на одном и том же наборе данных дважды, будут разные слайды, которые будут отсутствовать. Если я запускаю его несколько раз, я также могу получить абсолютно безупречный результат.

    For iKI = intCountKISH To 3 Step -1    'iterating through the list of topics which are to be copied
    strKIOSI = Trim(Workbooks(strActiveWorkbook).Worksheets(strTabITL).Cells(iKI, jCountSH)) ' picks up topic
    If (strKIOSI <> Empty) Then      'if topic is not empty 
        For cntLib = countLibSlides To 1 Step -1     ' iterating through all the slides of master deck
            titleText = Trim(libraryDeck.Slides(cntLib).Shapes("Title 1").TextFrame.TextRange.Text)      'reads title of slides in master deck
            If (InStr(1, titleText, strKIOSI, 1) <> 0) Then     ' if there is a match in titles for topic name
                libraryDeck.Slides(cntLib).Copy      'copy the slide from master deck
                pptDeck.Slides.Paste 5         'paste in the destination deck
                Application.Wait (Now + TimeValue("00:00:01"))         'delay 
            End If
        Next
    End If
Next iKI

В заголовках нет ничего плохого, потому что повторный запуск кода на тех же данных дает мне идеальные результаты. Я попытался добавить задержку, чтобы дать время для завершения операции вставки, но это тоже не помогло.

...