質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
PyAutoGUI

PyAutoGUIは、Windows、Mac OS、Linuxに対応した、Python用のGUI自動化ライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

1690閲覧

python pyautogui shift押しながら矢印キーで範囲指定

nenegnu0123

総合スコア0

PyAutoGUI

PyAutoGUIは、Windows、Mac OS、Linuxに対応した、Python用のGUI自動化ライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/07/20 07:40

実現したいこと

pythonを使って社内システムの発数数量のコピーして出荷数欄にコピペをしたい。
ここに実現したいことを箇条書きで書いてください。

前提

ここに質問の内容を詳しく書いてください。
pythonのputoguiでキーボード操作をおこなっています。
社内システムの数量部分をコピーして出荷数欄に貼り付けたいです。
キーボードで操作するときshiftお押しながら、矢印キーで範囲選択をしてctrl+Cでコピー、
ctrl+vでコピペしますが、それと同じ動きをpythonで行いたいのです。

発生している問題・エラーメッセージ

エラーはなにも発生していません。

該当のソースコード

pg.keyDown('shift') #shiftがきいているか確認するためにtime.sleepを設け範囲選択してみました time.sleep(6) #範囲分選択している↓ pg.press('left',presses=4) test = pg.press('ctrl','c') print(test)

試したこと

上記にもありますがtime.sleepでshiftがきいているか確認してみました。
実際範囲指定できたのでshiftはきいているとおもうのですが・・・

補足情報(FW/ツールのバージョンなど)

windows10
python 3.11

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakaiY

2023/07/20 09:31

「発生している問題」には「エラーはなにも発生していません。」とあり、それ以外何も書いてありませんが、質問のコードは何が問題なのですか?
nenegnu0123

2023/07/24 02:36

お返事遅くなりました。 shiftを押しながら矢印キーで範囲選択してctrl + cでコピーすると思いますが、その動きをpyautoguiでもおこないたいんです。。 shiftはちゃんと効いているようなのですが、範囲選択ができないという状態で、ただ4ケタ分左にずれただけになってしまいます。 (範囲選択した部分に色がつくかと思いますが、色がつかないんです。)
TakaiY

2023/07/24 03:47

ここは、質問に対するコメントを書くところですので、ここでなく、質問を編集して内容を明確にしましょう。 カーソルは動くが、範囲選択ができないということですか? 質問の「実際範囲指定できたのでshiftはきいているとおもう」という記述と矛盾します。 このあたりを含めて編集ください。
guest

回答1

0

以下にてこちらの環境では動作しました。

  • NumLockをOFFにしておく
  • 移動後にpg.keyUp('shift') する
  • pressではなくhotkeyで同時押しする
  • pyperclipでコピーした中身を取得する

NumLockをOFFにすべき理由についてはPyAutoGUI keyDown("shift")とpress("left")を用いた文字列の選択ができないを参照ください。

Python

1import pyautogui as pg 2import pyperclip as pc 3import time 4 5time.sleep(3) 6 7pg.keyDown('shift') 8pg.press('left',presses=4) 9pg.keyUp('shift') 10pg.hotkey('ctrl','c') 11ret = pc.paste() 12 13print(ret)

投稿2023/07/20 08:32

can110

総合スコア38352

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nenegnu0123

2023/07/20 09:17

回答ありがとうございます! 沢山間違えていましたね・・訂正ありがとうございます! 初心者の私にはとても難しい内容でじっくり読みたいと思います! 無知な考えですが、pyautogui.press('numlock')でoffにはならないのでしょうか? onの状態で数字が打ててoffにすると矢印キーなどの入力に切り替わる・・とならないのでしょうか・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問