Führen Sie den folgenden Code aus, um Text in Ihre Zwischenablage zu kopieren:
set testString to "This string should be plain text."
set the clipboard to testString
Wenn Sie eine neue .rtf-Datei in TextEdit.app öffnen und die Zwischenablage in dieses Dokument einfügen, werden Sie feststellen, dass die Zwischenablage Rich-Text enthält. Insbesondere hat der Text in der Zwischenablage die Schriftart Helvetica
und -größe 12
.
Ich habe auch versucht, set the clipboard to (testString as string)
oder anzugeben set the clipboard to (testString as text)
. Der Code fügt jedoch immer Rich-Text in die Zwischenablage ein. Dieser Rich-Text hat immer den gleichen Stil (wie im vorherigen Absatz beschrieben).
Ist es möglich, Text in AppleScript als Klartext in die Zwischenablage zu legen?
OS X El Capitan, Version 10.11.6.
Wenn Sie den Text mit Cocoa-AppleScript in das Pasteboard kopieren, wird möglicherweise nur einfacher Text zum Einfügen in das RTF-Dokument festgelegt.
Verwenden Sie andernfalls Folgendes als Problemumgehung:
set testString to "This string should be plain text." as string
do shell script "pbcopy <<<" & quoted form of testString
Die zuvor erwähnte Methode zur Problemumgehung fügt der Zwischenablage ein linefeed
Nachher hinzu testString
. Wenn dies ein unerwünschtes Verhalten ist, verwenden Sie Folgendes:
set testString to "This string should be plain text." as string
do shell script "printf " & the quoted form of testString & " | pbcopy"
Die andere Option besteht darin , Einfügen und Stil anpassen ⌥⇧⌘V anstelle von Einfügen ⌘V zu verwenden, um den Einfügepunkt anzupassen.
testString
ein Em-Bindestrich (—) oder ein En-Bindestrich (–) enthalten ist, werden diese Bindestriche in Mojibake umgewandelt. In Bezug auf Ihren ultimativen Vorschlag besteht das Problem mit "Paste and Match Style" darin, dass dieser Befehl nicht in alle Anwendungen geschrieben ist.replace_chars
Erklärung hinzufügen, um diesen Fehler zu berücksichtigen.Das sollte funktionieren:
set the clipboard to string of (the clipboard as record)
Tatsächlich können Sie es mit einer try-Anweisung auf Sicherheit prüfen:
try
set the clipboard to string of (the clipboard as record)
on error errMsg
display dialog errMsg
end try
Es sieht so aus, als würde Ihre Zwischenablage, egal was Sie tun, reinen Text einfügen, wenn Sie in Ihren Textbearbeitungseinstellungen auf Ihrer neuen Dokumentregisterkarte einfachen Text ausgewählt haben. Wenn Sie jedoch Rich-Text aktiviert haben, sieht es so aus, als ob alles als Rich-Text in ein RTF-Dokument eingefügt wird.
Ich habe auch versucht, den Text im RTF-Dokument auszuwählen und im Formatmenü in Klartext zu konvertieren. Ein Dialogfenster öffnete sich und sagte, dass das Dokument von RTF in reinen Text konvertiert würde, wenn ich den Text formatieren würde
Mockman