LoginSignup
3
2

More than 3 years have passed since last update.

【Python】クリップボード内の改行を削除するプログラムを作る+windowsでショートカットに登録する

Posted at

経緯

  • PDFファイルの論文からコピペしてgoogle翻訳に通したい時、余計な改行が入るのが邪魔。
  • コピペ時の改行を削除するシンプルな方法として、以下のもの↓が既にqiitaに投稿されている。ぶっちゃけこれでいい。

PDFをコピペした時の改行を消す方法

  • 自分の使っているマウスのマクロボタンにこの機能を登録したかったため、pythonで実装を行った。
  • .pyファイルを.exe化、さらにショートカットキーに登録した。ここで多少詰まったため、以下にその手順をまとめておく。

コードを書く

import pyperclip

s = pyperclip.paste()
s = s.replace("\n", "")
s = s.replace("\r", "")
pyperclip.copy(s)

pyperclipというモジュールを導入して、クリップボードの操作を行う。pyperclip.paste()でクリップボードの取得。
replace()を用いて改行コードの削除。もし削除する文字が"\r" "\n"の二種類だと不都合があるなら適宜調整する。
pyperclip.copy()でクリップボードに貼り付け。

なお、pyautoguiを用いてペーストまで自動で行うのも試してみたが、実行速度が倍以上かかって使い物にならなかったのでボツ。クリップボードの操作だけできればいいとした。

exe化する

pyinstallerを用いて実行形式に変換する。コマンドプロンプトから導入する。

pip install pyinstaller

続けて以下のコマンドを打ち込んで実行。

pyinstaller ファイル名 --onefile

distフォルダの中にexeファイルが作られる。

ショートカットキーに登録する

参考: プログラムを素早く起動する方法(ショートカット・キーを設定する)

  • 作成したexeファイルを右クリックし、ショートカットを作成する。
  • ショートカットファイルはデスクトップ(もしくはスタートメニューフォルダ、もしくはその下のProgramsフォルダ)に配置する。

  • ショートカットのプロパティを開く。ショートカットキーの項目があるので、そこに任意のキー(ctrl+alt+数字など)を入力する。

  • ついでに実行時にウィンドウがいちいち開くと邪魔なので「実行時の大きさ」を選んで「最小化」に設定する。

これで完了。登録したキーで動かなかったら一度再起動する。

終わり

マウスのマクロボタンに登録して目標達成。
なお、実行完了に三秒くらいかかったので実用性がそこまで高いわけではない。それなら先人の方法でいいやとも言える。

後は外部のマクロ機能に依存するなら別にコマンド一つで完結させる必要はないので、ショートカットのファイル名を一文字にしてpathの通ったフォルダに置く→「win+R, ファイル名, エンターを打ち込んで実行する」マクロとして登録しちゃうってのもアリ。何ならタスクバーに配置してwin+数字のショートカットで起動するのもアリ。これらの方が実行が早い説がある。

あとはもっと普通に効率よく改行を消す手段もあるかもしれません。

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2