Text in die Zwischenablage übertragen

  • VBScript

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Text in die Zwischenablage übertragen

    Hallo,
    ich komme mit der Internetsuche einfach nicht weiter.

    Ich suche eine Möglichkeit, Text per VBS IN die Zwischenablage zu übertragen, damit der eingelesene Text (soll später aus einer Textdatei übernommen werden) mehrfach in einer Anwendung eingefügt werden kann (top wäre es sogar später, wenn dann über WINDOWS-V aus mehreren Einträgen auswählbar wäre). Über SendKeys komme ich aus mehreren Gründen, die in der Anwendung begründet sind, nicht weiter.

    Das Auslesen klappt mit:

    Visual Basic-Quellcode

    1. Set objHTMLClipboard = CreateObject("htmlfile")
    2. ClipboardText = objHTMLClipboard.ParentWindow.ClipboardData.GetData("text")

    Ich schaffe es aber einfach nicht, den Text zu speichern z.B. mit:

    Visual Basic-Quellcode

    1. objHTMLClipboard.ParentWindow.ClipboardData.SetData "text", "Hallo Welt!"


    Bei dem obigen Code kommt keine Fehlermeldung, aber der Text wird auch nicht in die Zwischenablage übertragen.

    Bei

    Visual Basic-Quellcode

    1. Ergebnis = objHTMLClipboard.ParentWindow.ClipboardData.SetData ("text", "Hallo Welt!")


    ist der Rückgabewert sogar "WAHR".

    Im Netz ist das Auslesen überall zu finden. Aber leider das Schreiben nicht. Ich habs schon mit mehr Anführungsstrichen, mit Hochkommata, erstes Argument freilassen usw. versucht. Auch das Ausschalten des Zwischenablage-Verlaufs brachte nichts (ich dachte, vielleicht wird die dann nicht unterstützt). Auch in Büchern habe ich nichts gefunden was ohne Zusatzinstallationen funktioniert.

    Gruß
    compinaut

    CodeTags gesetzt ~VaporiZed

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VaporiZed“ ()

    Willkommen im Forum.

    Was hat es mit der HTML-Datei auf sich?

    shamelessly stolen from stackoverflow:

    Visual Basic-Quellcode

    1. Set WshShell = CreateObject("WScript.Shell")
    2. Set oExec = WshShell.Exec("clip")
    3. Set oIn = oExec.stdIn
    4. oIn.WriteLine "Something One"
    5. oIn.WriteLine "Something Two"
    6. oIn.WriteLine "Something Three"
    7. oIn.Close

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.