一つのセルをコピーした時の改行をなくす方法はないか

Windows10 64bitユーザーです。LibreCalcはポータブル版6.3.3.2

表題。セル一つをコピーして他のテキストエディタに持っていくとき、改行を含めないでコピーする方法はないでしょうか。設定にでもあればよかったが・・・アドオンでもなんでもいいです。

どういう状況か?

  • セルに入力されているのは文字のみで、改行は入っていない。
  • セルを一つだけコピーした時に改行がくっついてくる
  • ATOKに定型文章入力機能があるのだが例えば「明日は{クリップボード}を持ってくるように」と設定すると、Calcのセルから「花火」とだけある場合・・・

明日は花火
を持ってくるように

となってしまうことに困っている。複数のセルをコピーしたときは改行で別のセルであることを認識する(CSVとか)ので当たり前の仕様だとは思うが、セルを一つだけコピーした時にまで改行がついてくるのが困っている。何か良い方法はありませんか。

CT Convertorというアプリで改行を取り除くことはできるが、そうするとATOKで定型貼った後Googleスプレッドに他の書式付きセルを貼ろうとするとスプレッド上では書式が全部消えてやり直す羽目に(改行やタブをいじると書式が消えるようだ)。

改行を消してしまうとか見づらいねここの掲示板;
コードタグで逃げてみた・・・

書き込みを修正しました。これで大丈夫でしょうか?

ここの書き込みは、Markdownという書式を使って書きます。この辺を見てもらうと分かりやすいかもです。

未検証

https://opengrok.libreoffice.org/xref/core/sc/source/ui/docshell/impex.cxx?r=6873e0a9#1754

投稿編集お手数おかけしました。
まさか全部逐一書かないといけないやつだとは・・・

>meguro.junさん
編集状態のショートカット、記憶から飛んでおりました(MSにあるのに探そうとしてなかった)

higabonさん>
Σ(・・)
最近Windowsの操作について検索しているとしばしばLinuxコマンドが引っかかってくるのは、検索エンジンがおバカなのではなくてそういうことだったんですね!(笑)
UbuntuもVPCに載せる無料OSの類かと認識してました・・・
CT Convertorを毎回設定変えるのにくらべたらバッチのほうがまだ手間がいらないですね。
ありがとうございます

himajin100000さん>
こ、こんな大きなコードを書いてくださったなんて・・・
30行以上をLibreOfficeでもMS OFFICEでも書いたことない(そもそも「記録」派)のでどれほどお時間を取って頂いたのやら
試してみますね!

いや、自分は何も書いていません。LibreOfficeのC++の該当コードと思われる部分を探しただけなので、「エンドユーザー的には」役に立つとすら言えない。ただ、if文で避けるようなコードをC++で書けば、回避はできるようになるのかな、と空想しただけです。

あーwそういうことだったのですね(^^;
たしかに問題になるのは、セル一個だけコピーを行った場合のみですもんね。
それが必要になる場合もきっとないわけではないから、ショートカットでON/OFFできたらさらに幸せな人出てくるでしょうね。

しかし私はC++はサッパリマン(興味はあっても能力なし)

質問では書けなかったですが、実はコピー元のセルは他のシートから関数で引っ張ってる場合があり、それだとF2が使えなかったりします。ち~ん(合掌)

色々方法はあると思いますが、Windowsのコマンドの追加機能を組み合わせて改行を含むクリップボードの内容を読み出して、改行を取り除いてクリップボードに戻すという方法でできました。

Windows10 にはWSLというLinuxのコマンドを使うオプションがあります。そのチェックをONにした後にMicrosoft StoreでディストリビューションのUbuntuをインストールしておきます。nkfという文字コード変換コマンドとtrという文字変換/削除コマンドをUbuntuにインストールしました。nkfで文字コードをUTF8に変換しました。そうしないと文字化けするみたいです。エディタで編集してバッチファイルにしてショートカットにしておけばクリップボードの中身から改行を抜くことができます。

以下のようなコマンドです。

powershell get-clipboard | wsl nkf -w8 | wsl tr -d '\r\n' | clip

コントロールパネルの「プログラムと機能」の「Windowsno機能の有効化または無効化」のWSLチェック。

WSL機能

3ステップ必要ですが参考までに。

  1. F2でセルの編集状態に
  2. Ctrl+Aで文章全体を選択
  3. Ctrl+Cでコピー