スプレッドシート、電子メール、ブラウザウィンドウなどの間で定期的にテキストをコピーして貼り付けます。ソーステキストのフォーマットを保持したいと思ったことが一度もありません。
次の回避策についてはすでに知っています。
私が欲しいのは、デフォルトでこれを行うようにWindowsに指示することです。
これは可能ですか?
残念だけど違う。これは仕様によるものだと思います。
問題は、Windowsクリップボードにデータを保存する必要がないことです。これは事実上、クリアリングハウスであり、どのアプリケーションでも、コピー(またはカット)されたばかりのデータをリストし、貼り付けられるすべてのアプリケーション(それ自体を含む)に提供できます。クリップボードには、データが利用可能なフォーマットのリストが含まれています。アプリケーションがそうすることを選択した場合、データ自体はそれらのフォーマットのいくつかで使用されます。
貼り付け操作を処理するアプリケーションには、最適なデータ形式を選択するオプションがあります。一部のアプリケーション(メモ帳など)は、1つの特定の形式(プレーンテキストなど)のみを受け入れ、その形式が利用できない場合は何もしません。他のユーザーはデフォルトで優先フォーマットを選択しますが、そのアプリケーションが理解できる代替の中から選択するためのUIを提供します。
原則として、新しいコンテンツについてクリップボードを監視し、テキスト以外のコンテンツをプレーンテキストだけにフラット化するプログラムを作成できます。クリップボード上の新しいコンテンツをそのようなモニターに通知するために使用できるイベントがあります。しかし、そのようなことを実装すると、かなりの数のプログラムが、おそらくは驚くべき方法で破壊されると思います。
在庫の単純な回避策XPは、必要に応じてメモ帳を使用してデータを平坦化するか、またはスタックを実装してコンテンツのビューを提供することによりクリップボードを改善する多くのツールの1つを使用することです。など。
自分でツールを作成してみたい場合は、SOで この質問 を使用することと、それに関連する質問から利益を得られる可能性があります。
これはかなりまともな妥協です PureText 。
これはあなたの質問に対する直接の回答ではないかもしれませんが、これはあなたの質問のより一般的なバージョンを持つ他の誰かに役立つかもしれません。
デフォルトでこれを行う方法はありませんが、少しハッカーを使用して、それを回避できます。
必要になるだろう:
次のコードでAutoItスクリプトを作成します。
$ptcPath = "C:\Program Files (x86)\Plain Text Clipboard\PlainTextClipboard.exe"
HotKeySet("^v", "PastePlainText")
While True ;Keep it running indefinitely.
WEnd
HotKeySet("^v") ;unregister the hotkey
Func PastePlainText()
Run($ptcPath);
Send(ClipGet())
EndFunc
押すと Ctrl + V、これにより、PlainTextClipboardプログラムが実行され、クリップボードの内容が現在のウィンドウに送信されます。残念ながら、コンテンツは一度に1文字ずつ送信されるため、少し時間がかかります。それは私が取り組んでいる問題ですが、それは合理的なスタートとして役立つはずです。 AutoHotKey/AutoITの達人がいる場合は、このスクリプトの独自のバージョンを自由に作成してください。問題の解決方法がわかったらすぐに更新します。
私もこれに遭遇し続けます。追加のフォーマットを取り除くためにプログラムを使用/作成する以外に、フォーマットを取り除くために私が見つけた最も簡単な方法は、「実行」ウィンドウにテキストを貼り付けることです( WIN + R)そこから再コピーします。
だから私はこれを本当に素早くやる: CTRL+C、 WIN + R、 CTRL+V、 SHIFT+HOME、 CTRL+C、 ALT+TAB、 CTRL+V -どうしようもないのに、これをあまりにも長くやってきたのか...
ただし、1行のテキストに対してのみ機能します。
簡単な解決策は提供できませんが、他の解決策と同様に、回避策を提供します。
最初のオプションへのショートカットは使用することです Ctrl + Alt + v マウスを使用せずに形式を選択して貼り付けダイアログをポップアップします。タイピング unformatted Unicode Textエントリ(または uu 非Unicodeバージョンを取得するために)そして次に Enter あなたのためにそれを行います。完璧ではありませんが、組み込まれています。
直接的な答え。番号。
Windowsでは標準のクリップボードを制御できません。これが、多くのアプリケーションが貼り付けられたテキストを事前にトラップすることでこの機能を提供する理由です。
PureText すでに述べたように、これが方法です。
Wordに貼り付けるとき(おそらく他のOfficeアプリケーションでも機能します)、次を使用できます。 Ctrl+Alt+V 次に、「フォーマットされていないテキスト」または「フォーマットされていないUnicodeテキスト」に矢印を合わせて、Enterキーを押します。メニューの[形式を選択して貼り付け]を選択するのと同じですが、大量高速です:)
クリップボードマネージャーである ClipMate などのアプリ(&商用アプリ)を使用して、 Win + W 一緒にキーを押して、現在クリップボードにあるもののフォーマットをクリアし、プレーンテキストにします。
ほとんどのMicrosoft OfficeアプリケーションのWindowsでは、Ctrl
+ Alt
+ V
を押してダイアログがポップアップしたら、U
、次にEnter
を押すのが最も速い方法です。これにより、ダイアログの[書式なしテキスト]オプションが選択されます。
annoyances.org を確認したところ、Windowsクリップボードの動作に関するレジストリの微調整はないというコンセンサスが得られたいくつかの場所が見つかりました。別の フリーウェアツール(ArsClip) が見つかりました できる あなたが探しているもの。
あなたの問題を共有します。イライラしませんか?
[このガイド] [1]を使用してVisual Basicマクロを準備し、ショートカットキーを定義します。
[1]: https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/msoffice/?p=264
->これも私の推奨ソリューションです。私のVBAマクロはこれです:
Sub PastePlainText()
Selection.PasteAndFormat wdFormatPlainText
End Sub
それをショートカットCtrl + Alt + Vにアタッチしました。これは、10年以上使用しているすべてのWord/Officeバージョンで完全に機能します。
私は ClipX が好きです。複数のクリップボードを提供し、ClipXを使用してテキストを貼り付けると、プレーンテキストにフラット化されます。
したがって、通常どおりコピーできますが、プレーンテキストを貼り付けたい場合は、ctrl-Vではなくctrl-shif-Vを押してから、最初のアイテムを選択してプレーンテキストを貼り付けます。これは無料で、システム全体に適用されるため、必要なものの約75%以上です。