bitte um Hilfe bei Script Umstellung

  • Hallo,
    ich habe folgendes Problem und leider keine Ahnung zur Lösung....

    Ich muss ein altes Projekt wiederbeleben. Es ist eine Software in der verschiedene Handbücher in einem zweigeteilten Fenster angezeigt werden. Bei der durchsicht dieses Projektes habe ich auch ein autoit script gefunden, dass in der lage ist, jeweils ein Handbuch aus dem Anzeigefenster der Software auszulesen und in ein HTML File zu schreiben.
    Leider macht dieses Script aber aus jedem Handbuch eine einzige komplette HTML Seite, was dann aufgrund des Umfanges sehr schnell unübersichtlich wird.

    Ideal wäre es pro Kapitel eines Handbuches eine HTML Seite zu erstellen, die dann (pro Handbuch) in einem Ordner liegen.

    Da ich von autoit leider keine Ahnung habe (nur ein paar Anfänger JavaScript) Kenntnisse weiss ich leider nicht wie ich das ansonsten funktionierende Script umbauen kann, damit es pro Kapitel eine neue Seite erzeugt.

    Mehrere bisher erfolglose Versuche haben leider nur noch Schrott prodzuiert, oder gar nicht funktioniert....

    Wenn da jemand drüber schauen könnte, wäre das echt super.

    Vielen Dank im voraus!

    Der Code der Datei folgt hier:

    [autoit]

    ; -- Includes
    #include <IE.au3>
    #include <Clipboard.au3>

    [/autoit][autoit][/autoit][autoit]

    ; -- Funcs
    Func _Clipboard_Wait()
    $thisClip = 0
    While StringLen($thisClip) == 0
    Sleep(10)
    $hMemory = _ClipBoard_GetDataEx($CF_TEXT)
    $tData = DllStructCreate("char Text[32]", $hMemory)
    $thisClip = DllStructGetData($tData, "Text")
    $hMemory = 0
    $tData = 0
    WEnd
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    ; -- Settings

    [/autoit][autoit][/autoit][autoit]

    ; -- Lower is faster, set this higher if you have a
    ; -- slower computer or are using the CD-ROM.
    $speedMultiplier = 1

    [/autoit][autoit][/autoit][autoit]

    ; -- Boilerplate code for getting the window and side list
    Opt("WinTitleMatchMode", 2)
    $title = WinGetTitle("Library")

    [/autoit][autoit][/autoit][autoit]

    if $title == 0 then
    MsgBox(0, "Error", "Please open CD first.")
    Exit
    endif

    [/autoit][autoit][/autoit][autoit]

    Opt("WinTitleMatchMode", 3)

    [/autoit][autoit][/autoit][autoit]

    WinActivate($title)
    $items = ControlListView($title, "", "SysListView321", "GetItemCount")

    [/autoit][autoit][/autoit][autoit]

    ; -- Get book name
    $bookName = InputBox("Book Name", "Enter Name of Book")

    [/autoit][autoit][/autoit][autoit]

    If StringLen($bookName) == 0 Then
    MsgBox(0, "Error", "You must enter a book name.")
    Exit
    EndIf

    [/autoit][autoit][/autoit][autoit]

    ; -- Do we want to build a three level TOC?
    $verboseTOC = MsgBox(4, "Verbose TOC", "Create verbose Table of Contents?")

    [/autoit][autoit][/autoit][autoit]

    ; -- Create objects for conversion
    $file = FileOpen($bookName & ".html", 2)

    [/autoit][autoit][/autoit][autoit]

    $oIE = _IECreate ("about:blank", 0, 0, 1, 0)
    _IEPropertySet($oIE, "contenteditable", true)

    [/autoit][autoit][/autoit][autoit]

    FileWriteLine($file, "<html><body>")
    FileWriteLine($file, "<H1>" & $bookName & "</H1>")

    [/autoit][autoit][/autoit][autoit]

    ; -- Step through the listbox and create file
    For $index = 0 To $items Step 1

    [/autoit][autoit][/autoit][autoit]

    ControlFocus($title, "", "[CLASS:SysListView32; INSTANCE:1]")
    ControlListView($title, "", "SysListView321", "Select", $index)

    $itemText = StringStripWS(ControlListView($title, "", "SysListView321", "GetText", $index), 3)

    Send("{Enter}")
    Sleep(50 * $speedMultiplier)

    [/autoit][autoit][/autoit][autoit]

    if ControlCommand($title, "", "[CLASS:CanvasWindowClass; INSTANCE:6]", "IsVisible", "") == 1 then
    Send("{BS}")
    Sleep(50 * $speedMultiplier)
    ContinueLoop
    EndIf

    While WinExists($title) and StringInStr(StringLeft($title, StringLen($itemText)), $itemText) == -1
    Sleep(10)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    ControlFocus($title, "", "[CLASS:CanvasWindowClass; INSTANCE:1]")

    [/autoit][autoit][/autoit][autoit]

    Send("^a")
    Sleep(10 * $speedMultiplier)

    [/autoit][autoit][/autoit][autoit]

    _ClipBoard_Empty()

    [/autoit][autoit][/autoit][autoit]

    Send("^c")
    _Clipboard_Wait()
    ClipGet()

    [/autoit][autoit][/autoit][autoit]

    _IEBodyWriteHTML($oIE, "")
    Sleep(10 * $speedMultiplier)

    $string = "0"

    [/autoit][autoit][/autoit][autoit]

    While $string == "0"
    _IEAction($oIE, "paste")
    _IELoadWait($oIE)
    $string = _IEBodyReadHTML($oIE)
    ;$string = StringRegExpReplace($string, "\<B\>\<FONT.*?\>\<FONT.*?\>\s*\<P\s*dir=ltr\s*align=center\>(?'1'.*?)\</P>", "")
    WEnd

    [/autoit][autoit][/autoit][autoit]

    If $verboseTOC = 6 Then
    $string = StringRegExpReplace($string, "\<P\sdir=ltr\salign=left>\s*(?'1'\d+)\s*</B>(?!\</SUP\>)", "<H3>$1</H3></B>")
    $string = StringLeft($string, StringInStr($string, "<P dir=ltr align=left>[Footnotes]") - 11)
    EndIf

    [/autoit][autoit][/autoit][autoit]

    FileWrite($file, "<H2>" & $itemText & "</H2>")
    FileWrite($file, $string)

    $title = WinGetTitle("[active]")

    [/autoit][autoit][/autoit][autoit]

    Next

    [/autoit][autoit][/autoit][autoit]

    ; -- Cleanup
    FileWriteLine($file, "</body></html>")
    FileClose($file)
    _IEQuit($oIE)

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0, "Ripping Complete", "All Done")

    [/autoit]