
Sub BubbleSortSlides()
    ' Deklarace promnnch
    Dim i As Integer, j As Integer
    Dim tempSlide As Slide
    Dim tempTitle As String
    Dim numSlides As Integer
    Dim swapped As Boolean
    
    ' Poet snmk v prezentaci
    numSlides = ActivePresentation.Slides.Count
    
    ' Bubble Sort algoritmus
    Do
        swapped = False
        For i = 1 To numSlides - 1
            ' Zskn nzvu aktulnho snmku
            Dim currentTitle As String, nextTitle As String
            currentTitle = GetSlideTitle(ActivePresentation.Slides(i))
            nextTitle = GetSlideTitle(ActivePresentation.Slides(i + 1))
            
            ' Porovnn nzv a prohozen snmk, pokud nejsou ve sprvnm poad
            If StrComp(currentTitle, nextTitle, vbTextCompare) > 0 Then
                ' Prohozen snmk
                ActivePresentation.Slides(i).MoveTo (i + 1)
                swapped = True
            End If
        Next i
    Loop While swapped
    
    MsgBox "Snmky byly seazeny podle nzvu!", vbInformation, "Hotovo"
End Sub

' Funkce: Zskn nzvu snmku
Function GetSlideTitle(s As Slide) As String
    On Error Resume Next ' Oeten chyby, pokud snmek nem nzev
    GetSlideTitle = s.Shapes.Title.TextFrame.TextRange.Text
    If GetSlideTitle = "" Then GetSlideTitle = "ZZZZZ" ' Pokud snmek nem nadpis, dme ho na konec
    On Error GoTo 0
End Function
