Date: prev next · Thread: first prev next last
2026 Archives by date, by thread · List index


Hallo Reinhard,

in meinem alten Betrieb standen wir vor einigen Jahren auch vor dem Problem. Weil die Ergebnisse etwas besser aussahen, haben wir die Dokumente über den Umweg "durch WordPro nach .doc", dann "durch LO von .doc nach .odt" konvertiert. Letzteres geht mit dem Konvertierungs-Assistenten in LibreOffice ja recht einfach.

Leider habe ich den alten Code für den ersten Teil nicht mehr. Aber wenn bei Euch WordPro noch vorhanden ist, könnte der Vorschlag von Duck.ai hier ganz hilfreich sein:

Zuerst die WordPro-OLE-Schnittstelle prüfen:

--Anfang----- check_wordpro.ps1 -----------------
$progIds = @(
    "WordPro.Application",
    "Lotus.WordPro",
    "SmartSuite.WordPro",
    "WordPro.Application.1"  )

foreach ($progId in $progIds) {
    $type = [type]::GetTypeFromProgID($progId)
    if ($type) {   Write-Host "Gefunden: $progId"  }
    else {  Write-Host "Nicht gefunden: $progId"  }
}

--Ende----- check_wordpro.ps1 -----------------

Dann der Powershell-Code für den Export aus WordPro:

--Anfang----- Convert-LwpToDoc.ps1 -----------------

param(
    [Parameter(Mandatory = $true)]
    [string]$InputFolder,

    [Parameter(Mandatory = $true)]
    [string]$OutputFolder
)

$ErrorActionPreference = "Stop"
New-Item -ItemType Directory -Path $OutputFolder -Force | Out-Null
# Mögliche WordPro-OLE-ProgIDs testen
$progIds = @(
    "WordPro.Application",
    "Lotus.WordPro",
    "SmartSuite.WordPro",
    "WordPro.Application.1"   )
$wordPro = $null
$usedProgId = $null
foreach ($progId in $progIds) {
    try {
        $type = [type]::GetTypeFromProgID($progId)
        if ($type) {
            $wordPro = [Activator]::CreateInstance($type)
            $usedProgId = $progId
            break
        }
    }
    catch {
        # Nächste ProgID versuchen
    }
}
if ($null -eq $wordPro) {
    throw @"
Kein WordPro-OLE-Server gefunden.
Die installierte Lotus-WordPro-Version stellt wahrscheinlich
keine verwendbare COM/OLE-Schnittstelle bereit. In diesem Fall
kann PowerShell WordPro nicht direkt über Methoden steuern.
"@
}
Write-Host "WordPro-OLE verwendet: $usedProgId"
try {
    # Falls WordPro diese Eigenschaft unterstützt
    try {
        $wordPro.Visible = $false
    }
    catch {
        # Eigenschaft ist optional
    }
    $files = Get-ChildItem `
        -Path $InputFolder `
        -Filter "*.lwp" `
        -File
    foreach ($file in $files) {
        $name = [IO.Path]::GetFileNameWithoutExtension($file.Name)
        $target = Join-Path $OutputFolder ($name + ".doc")
        Write-Host "Konvertiere: $($file.Name)"
        $document = $null
        try {
            # Mögliche WordPro-Syntax:
            $document = $wordPro.Documents.Open($file.FullName)
            # Zieltyp muss in WordPro möglicherweise anders
            # bezeichnet werden, z. B. "MS Word 6.0".
            $document.SaveAs(
                $target,
                "MS Word 6.0"
            )
            Write-Host "Erstellt: $target"
        }
        finally {
            if ($document -ne $null) {
                try {
                    $document.Close()
                }
                catch {
                    # Ignorieren, falls Close nicht unterstützt wird
                }
[Runtime.InteropServices.Marshal]::ReleaseComObject($document) |
                    Out-Null
            }
        }
    }
}
finally {
    if ($wordPro -ne $null) {
        try {
            $wordPro.Quit()
        }
        catch {
            # Ignorieren, falls Quit nicht unterstützt wird
        }
[Runtime.InteropServices.Marshal]::ReleaseComObject($wordPro) |
            Out-Null
    }
    [GC]::Collect()
    [GC]::WaitForPendingFinalizers()
}
--Ende----- Convert-LwpToDoc.ps1 -----------------

Aufruf mit:

powershell -File .\Convert-LwpToDoc.ps1 -InputFolder "C:\Dokumente\LWP" -OutputFolder "C:\Dokumente\DOC"

Falls die Powershell-Execution-Policy zuschlägt:

- https://www.delftstack.com/de/howto/powershell/run-a-powershell-script-from-a-batch-file/

- https://www.heise.de/tipps-tricks/Windows-Powershell-Skript-ausfuehren-4672163.html

Die beiden Skripte sehen ganz nachvollziehbar aus, selbst testen kann ich sie mangels Windows und WordPro hier bei mir jedoch leider nicht. Vielleicht probierst Du das erst einmal mit ein paar Testdokumente aus, um nichts kaputt zu machen ...

Viel Erfolg!

Heiko


Am 14.09.26 um 12:36 schrieb Reinhard JÄGER:
Hallo,

wir haben gesehen, dass Writer auch Lotus Wordpro Dokumente öffnen kann.
Dies klappt auch für reine Text-Dokumente.
Enthaltene Grafiken werden aber nicht dargestellt (nur blauer Rahmen).
Gibt es eine Möglichkeit auch die in .lwp Dateien enthaltenen Grafiken
anzuzeigen?
Wir möchten den Writer gerne als Konvertierungstool für alte .lwp Dateien
nutzen.

mit freundlichen Grüßen/best regards

Reinhard Jaeger






--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.