UWSC初心者用スレ

■ このスレッドは過去ログ倉庫に格納されています
2018/09/24(月) 12:13:49.92ID:an35jPjo
UWSC初心者用スレです

わかってる人はこっち
自動化ツールUWSC使いよ集まれ21
http://egg.5ch.net/test/read.cgi/software/1533818531/

降臨される神々においては相手を人と思わず猿と思し召されるよう
何卒お願い申し上げます
405デフォルトの名無しさん
垢版 |
2019/08/31(土) 16:30:13.80ID:7TXshm9s
BETWEENSTR(doscmd(“for %z in (ファイル名) do echo %~zz”), “<#CR>”, “<#CR>”, -1);

試してないので予めごめん。
2019/08/31(土) 17:14:37.69ID:/dYnoZCL
>>405
親切にありがとうございます。ダブルクォーテーションを半角に直して、コマンドプロンプトを直接叩くと数字が出てくるのですが、UWSCで
PRINT BETWEENSTR(doscmd("for %z in (ファイル名) do echo %~zz"), "<#CR>", "<#CR>", -1);
とすると、『ECHO は <ON> です。』と出てきて、数字になりません。どうしたらいいでしょうか。
2019/08/31(土) 17:25:18.95ID:/dYnoZCL
自己解決しました。回答ありがとうございました!
2019/08/31(土) 18:08:17.65ID:0Yc9lQY2
uwsc使う必要ないような…?
2019/09/01(日) 19:24:18.75ID:5mFrqnue
すみません、以前から同じ問題に悩まされていて、未だに原因が分かりません。
UWSCでandroidを自動化しており、scrcpyというソフトでPCから操作しています。

クリックがうまくされないことが多く、待機時間など入れても全く解決しないのですが、
クリックの前に 「print "クリックします"」という記述を入れると問題なくクリックされるようになります。
このような記述を無意味に入れたくはないのですが、原因は何なのでしょうか?
2019/09/01(日) 19:46:09.23ID:5mFrqnue
追加です。
全く同じスクリプトでその症状がWindows10のみに出ます。
Windows7ではprintの記述がなくても問題なくクリックされます。

何かPC側の設定でそのような問題が起きる項目があるのでしょうか?
2019/09/01(日) 19:46:25.58ID:zpdGYnJT
問題が再現するスクリプト貼ってくれよ
あと環境やらもね
2019/09/01(日) 20:13:35.68ID:5mFrqnue
NGワードやら、改行が多すぎるやらでスクリプトは貼れないです。
2019/09/01(日) 20:29:24.70ID:5mFrqnue
色々検証してみましたが、PRINTでなくも関係ないところを一回クリックすると動作するようです。
なのでBTN(LEFT,CLICK,,)を2回連続して書くと一回クリックされます。
もしくは10秒以上の待機を入れればクリックされました。こちらは待機時間が長すぎて実用性がありません。
2019/09/01(日) 20:41:43.66ID:N1GXnBlH
そうですか
2019/09/01(日) 21:20:42.64ID:zpdGYnJT
まあ、Windows10だとそういう問題が多々ある
更新止まってるソフトだし解決しない

まあ、幸いAndroidの操作ならadbという手があるのでbtnの代わりにdoscmdでadbコマンドに置き換えればいいよ
2019/09/01(日) 21:39:50.56ID:5mFrqnue
ありがとうございます。色々調べても同じような解決方法しかないみたいですね。
次はadb shell input touchscreen tap x yを試してみたいと思います。
2019/09/02(月) 09:23:16.27ID:IEOCJvHA
サウンドで「プログラムの起動」に何かの音付けると分かるけど
win10って見えないプログラムがしょっちゅう起動してる?から
フォーカスを奪われたようになってるんでない
418409
垢版 |
2019/09/02(月) 15:24:43.08ID:y60Hvlvu
>>417
ありがとうございます。

My Window Loggerというソフトを使って調べてみましたが、
フォーカスは外れていないようです。
2019/09/09(月) 11:38:19.09ID:0frhp+Tu
スレチかもしれないんですが、UWSCのスクリプトファイルが複数あって、同じ個所を同時に修正するようなソフトってないですか?
WinMergeを使っていますが、3個までしか同時編集できません。
2019/09/09(月) 11:38:51.09ID:TLffwesQ
関数化する
2019/09/09(月) 12:17:09.85ID:eI5EZMSU
関数化というか同じという箇所を別ファイルに切り出してcallするだけでもいい
まあ、変数の管理があるので関数化が望ましいかもだけど
2019/09/12(木) 14:37:32.43ID:pwiI+xHT
今まで使ってた物がwin10アプデ後動かなくて調べたら、原因はわかったんだけど、対処法がわからないのでアドバイスください
ttps://qiita.com/macro_no_deshi/items/dd3b3405123bad0cfe4a
ここのサイトを参考に作ったもので、「サンプルコード(完成形)」の画像を発見したあとの処理にBTN関数を入れると反応がありません。
原因は「MOUSEORGによる補正」の
MOUSEORG(winid,MORG_DIRECT,MORG_FORE)
が原因みたいです。
MOUSEORG関数について読んだのですが、正直良くわかりませんでした。
削除すれば一応動くのですが、どうしたら良いでしょうか?
2019/09/12(木) 15:12:59.56ID:psJkeShP
過去にもそれ何度か話題になってるけど直接的な解決方法はなかった気がする
NoXとかならadbで接続してタップするコマンド送信するとか
2019/09/12(木) 18:50:26.13ID:IcXkdgTx
常にデスクトップに表示してマウス取られていいなら消せばいい
それが嫌なら記事の通り
2019/09/12(木) 19:48:01.48ID:pwiI+xHT
>>423
そうなんですね。情報ありがとうございます。
2019/09/14(土) 18:38:20.96ID:J9OvsDUU
あいまい検索できるCHKIMGXって使うたびにstartup_chkimgxとshutdown_chkimgxではさまないといけないの?

startup_chkimgx()
while true
<処理>
wend
shutdown_chkimgx()

て形ではさむの1回でもあいまい検索できてる気がするんだけど

<処理>のところにいくつもchkimgxて書くこと考えると毎回はさむの大変なんだけど楽なやり方ある?
2019/09/14(土) 19:00:58.02ID:suhfvUA6
できてりゃいいし、気になるなら何やってるかスクリプトお読みなさいよ
2019/09/14(土) 19:29:28.42ID:T/fmJAyy
これはもはや初心者ではなくて考えることを放棄した猿
2019/09/16(月) 00:21:03.12ID:J++fziTo
メールアドレスをEXCELからIEのアドレス欄にコピペしようとしたら、コピペ出来ないどころか右クリックもきかない場合はコントロールCもダメなときは、どうすれば良いでしょうか?
2019/09/16(月) 02:24:56.23ID:c545q6Mo
python勉強してuwscでやってたこと移行していってるけど
chkimgxってめちゃくちゃ使い勝手良かったんだなー
うまくここまでいい具合のもの作れないや
2019/09/16(月) 03:46:26.17ID:d0MhJ3Yl
chkimgxに相当する物が無いのか
人工知能やweb巡回ロボなどで注目されていから
Pythonやってみようかと思っているのに
2019/09/16(月) 06:36:15.46ID:shGVxZhQ
>>429
シートの保護を解除する

>>430,431
ただのopenCVラッパーなので同じように関数化すれば同じ使い勝手だが…?
2019/09/16(月) 09:02:03.26ID:J++fziTo
>>432
ありがとうございます。
やってみます
2019/09/17(火) 09:29:48.59ID:Qlpvvbbr
OpenCVそのままだね、あいまい検索もパターンマッチングの閾値さげるだけ
連番ファイル名のあいまいとか細かい処理は自分で追加しなきゃいけないけど

name, ext = os.path.splitext(FileName)
multi = glob.glob(name + '.[0-9]' + ext)
2019/09/17(火) 12:15:59.14ID:W7Brc645
画像の特定の色指定してマッチングとかは?
まあここらへんまで実装するのがただのuwscユーザーとしては難しいって意味じゃないの
2019/09/17(火) 23:07:48.56ID:Qcff0eSx
何が難しいのかは本人以外には分からんが難しくたってやりゃできるお手本あるんだからその内できるだろ
437デフォルトの名無しさん
垢版 |
2019/09/21(土) 15:31:11.62ID:MHWtiGlt
質問失礼します。
ifb chkimg("画像名",0,,,,,,IMG_MSK_BGR4)=True
SLEEP(2)
BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y)
SLEEP(1)
Else
endif

で画像をクリックしているのですが目標の画像のすぐ下をクリックする方法ってありますでしょうか?
目標の画像が見つかれば座標に関係なくその画像の下にカーソルが少し移動してクリックするといった感じです。
よろしくお願いします。
2019/09/21(土) 15:35:02.99ID:idUljkgM
あるんじゃない?
元々そういうソフトだし
2019/09/21(土) 15:47:33.83ID:mk38kF2N
画像の下とはどういう意味か
440デフォルトの名無しさん
垢版 |
2019/09/21(土) 15:48:10.01ID:d3d5sbQS
BTNの前にいったん適当な変数へG_IMG_Yを
コピー代入し、それをずらしたい量だけ増加させてから
その変数でBTNを呼ぶ、という単純な話ではなくて?
2019/09/21(土) 18:30:07.78ID:VtT+26ja
検索画像の座標に関係あるのかないのかどっちなんだ
クリックするかの判定に画像使ってるだけで実際クリックするボタンの位置固定がなら
そもそもg_img_x/y使わず、クリックしたい場所を固定値なり別の変数/定数にしたらいい
2019/09/24(火) 21:54:56.01ID:lGKeQ6/A
Edge上でドラッグ&ドロップ動作をエミュレーションしようとしてるけどうまく行かない
Edge側の問題っぽいが
2019/09/25(水) 02:02:13.55ID:idiO5sU0
EdgeというよりUWPアプリ全般で多分うまくいかないんじゃないの
444デフォルトの名無しさん
垢版 |
2019/09/26(木) 11:47:45.82ID:2E8AEgsX
UWSCを今日から始めました。
皆様、宜しくおねがいします。
早速なのですがSLEEPについて教えて下さい
<理解していること>
SLEEP(0.1)
0.1秒スリープ
---------------
SLEEP(RANDOM(2))
0or1or2秒スリープ
---------------
<やりたいこと>
0.01秒から1秒の範囲でランダムにスリープしたい場合は
どうしたら実現できますか?
皆様のお知恵を宜しくおねがいします。
2019/09/26(木) 11:56:29.09ID:8zbcqLQ8
Sleep(Random(100) / 100)
446デフォルトの名無しさん
垢版 |
2019/09/26(木) 12:09:10.09ID:2E8AEgsX
>>445
早速のご回答有り難うございます。
こういう表記の仕方があるんですね
まったく思いつきもしませんでした。
有り難うございます!!!
2019/09/26(木) 12:13:50.53ID:bGOHcRaB
randomは引数の範囲最大値は出ないことに注意
例示の引数2の場合で言えば0か1しか出ない

で、要するに1〜100の値を求めて100で割れば0.01〜1.00となるわけで
randomの仕様を考慮&利用すると以下の通り

(random(100) + 1) / 100
2019/09/26(木) 12:20:51.72ID:8zbcqLQ8
>>447
>randomは引数の範囲最大値は出ないことに注意
知らなかった、申し訳ない
449デフォルトの名無しさん
垢版 |
2019/09/26(木) 12:46:58.57ID:2E8AEgsX
>>447
更に詳しい解説及びSLEEP(RANDOM(2))についての指摘
有り難うございます。
「引数2の場合ば0か1」勉強になりました。
本当に有り難うございます。
2019/09/26(木) 13:55:37.41ID:iUaFKvJQ
すっごい初歩的な質問かもしれませんが、
メモ帳にもの凄い長い文字列がありその途中に
a
b
c
という1文字ずつの文字列が10個くらいあってそれを全部
d
e
f
に簡単に変える方法ってあるでしょうか?
最終的にはそのabcをdefに変えたもの
ghiに変えたもの、jklに変えたものなど沢山必要なため、手作業で一つ一つ変えていくのだと膨大な時間がかかってしまうためよろしくお願いします。
2019/09/26(木) 14:03:02.51ID:5T2rMbCQ
んなもんUWSCじゃなくてエディタの正規表現で置換せーや
2019/09/26(木) 14:07:22.25ID:bMINaTXu
すっごい初歩的な質問だし、やり方も何通りも思いつくけど、お前が思いつかないって事はあとから要件がコロコロ変わるか、全くの初心者かなので一つ一つ手作業でやったほうが早い。
2019/09/26(木) 14:09:46.30ID:DaWSSFTy
Replaceってあったっけメモ帳の置換の方が早そう
454450
垢版 |
2019/09/26(木) 14:25:46.18ID:iUaFKvJQ
メモ帳の置換を使った場合
abcという横に並んだ文字列をdefという横に並んだ文字列に変えるってのだと一瞬でできたんですが、縦に並んだ
a
b
c

d
e
f
に変える場合だと上手くいかないんですが
何か方法はありますか?
2019/09/26(木) 14:29:56.39ID:ff/FN5DC
改行を含めて直列にしてから元に戻せば楽なんじゃね

つーか、改行をまたいで文字列置換してくれるエディタがあった気がするが
2019/09/26(木) 14:36:55.66ID:5T2rMbCQ
正規表現でぐぐれ
あとはスレチだ失せろ
2019/09/26(木) 14:41:33.51ID:bMINaTXu
正規表現なんていらんだろ。。。何いってんだw
458デフォルトの名無しさん
垢版 |
2019/09/26(木) 14:47:35.38ID:PdDoKstg
>>455
それこそ、マイクロソフトのワード(苦笑)ですら
置換画面であいまい検索にチェックを入れて
a^pb^pc^p を abc へ置き換えることで可能かと。
秀丸エディタその他のエディタでも一般的にできる。
459デフォルトの名無しさん
垢版 |
2019/09/26(木) 14:53:59.09ID:i7CtdN8G
具体的なことは一切書かず偉そうなことだけ抜かしてるお前こそ一体なんやねん
アホは黙っとけ
2019/09/26(木) 14:56:42.66ID:bMINaTXu
>>459
間違いしか書いてないやつに言われたくないぞwあほ
2019/09/26(木) 14:58:41.92ID:3k8gDmD5
別に正規表現でもできるし間違いではなくね?
2019/09/26(木) 15:00:59.83ID:5T2rMbCQ
>>460
なにがどう間違いなのか詳しく頼むわ
そしてさっさと正しいやり方を書いてくれ

それと、>>459は俺じゃないぞ阿呆w
2019/09/26(木) 15:04:09.18ID:bMINaTXu
正規表現なんて必要ない。UWSCならREPLACEでも使えばいい。
スレ内で対応可能だし、正規表現でググるとかアホ
2019/09/26(木) 15:05:49.73ID:/5glJw3r
何がしたいのかいまいちわからんが
abcをdefに変えるだけなら正規表現は必要ないかもしれんけど
他にも色々変えるんだったらさっさと正規表現でも使ったほうが速いだろ
2019/09/26(木) 15:07:24.62ID:bMINaTXu
だから「要件がコロコロ変わるか、全くの初心者かなので一つ一つ手作業でやったほうが早い」
2019/09/26(木) 15:09:23.30ID:5T2rMbCQ
マクロの流れで書き換える必要があるならreplace使うのは分かるが
単純にテキストの文字列書き換えるだけでわざわざuwscでreplace使うとかどっちがアホなんだよw
2019/09/26(木) 15:12:54.58ID:bMINaTXu
はいはい。アホとの会話は要件聞き出すより無駄だわ。
わざわざメモ帳で正規表現使う方法でもググっとけw
2019/09/26(木) 15:12:58.19ID:OcEGW6mq
>>463
んで、具体的なやり方は?
2019/09/26(木) 15:13:06.47ID:DaWSSFTy
行・列関係なく縦に並んだ指定文字なら面白い質問なのに
2019/09/26(木) 15:14:37.41ID:bMINaTXu
だから「要件がコロコロ変わるか、全くの初心者かなので一つ一つ手作業でやったほうが早い」
2019/09/26(木) 15:19:02.37ID:eZXWH36o
abcをdef、ghi、jklとかたくさん変えるとか言ってるし正規表現でやったほうが早いだろ
2019/09/26(木) 15:20:58.61ID:bMINaTXu
>>471
お前は正規表現をググったほうがいいw
2019/09/26(木) 15:24:30.08ID:VJCVWXU0
煽るだけのベテラン基地外がまた湧いたのか
向こうが過疎ってるからってこっちにくんなよ
2019/09/26(木) 15:24:57.66ID:5T2rMbCQ
何通りもやり方は思いつくとか言いながら、煽るだけで決して何一つ言わない時点でお察し
どうしようもねえなw
2019/09/26(木) 15:27:37.43ID:Dz9wKQLF
メモ帳で正規表現なんて使えるの?
2019/09/26(木) 15:32:08.31ID:bMINaTXu
おぃおぃ。本気で置換と正規表現を混同してるやつがいるのか^^;

ググるなら「置換」だし、作業するなら「改行を検索に含めることができるテキストエディタを探す」だぞ。
要件変わるから多分無意味だけどw

> メモ帳で正規表現なんて使えるの?

メモ帳のテキストを吸い出して、正規表現にマッチングさせればいいけど、普通はやらん。
対応してるテキストエディタ使う。
2019/09/26(木) 15:32:23.98ID:balOv07a
教える気もない上級者さんは>>1のスレから出てこないでください
2019/09/26(木) 15:38:07.93ID:bMINaTXu
>>477
そうする。ひどいなここ。
2019/09/26(木) 15:42:08.85ID:tLIoXhFC
それだけ長文かけるならやり方書いてあげればいいのに
uwscスレって定期的に煽りキチガイ沸くよな
480デフォルトの名無しさん
垢版 |
2019/09/26(木) 16:15:32.47ID:2E8AEgsX
>>450
WindowsのTeraPadで置換機能つかって
検索する文字列を「\na\nb\bc\n」
置換後の文字列を「\nd\ne\nf\n」
とすれば
a
b
c

d
e
f
とに力技でできます。
UWSCは本日1日目なのでわかりません。
481デフォルトの名無しさん
垢版 |
2019/09/26(木) 16:23:29.46ID:2E8AEgsX
上の補足
qwea
b
c
の変換はちゃんと行わないのですが
先頭から
a
b
c
となるテキストは変換できません。
先頭がaとなるときの表現方法が正規表現で可能なのかな?
詳しくないのでごめんなさい。
482450
垢版 |
2019/09/26(木) 16:40:53.92ID:iUaFKvJQ
ありがとうございます。
やってみます。
2019/09/26(木) 17:09:08.72ID:dB4DsoxS
>>480
と同じことをUWSCでやろうとすると
kekka = REPLACE( taisyou, "<#CR>a<#CR>b<#CR>c<#CR>", "<#CR>d<#CR>e<#CR>f<#CR>")

>>481
TeraPadは正規表現は使えないと思うので
Meryを使った場合は
検索する文字列 "(^|\n)a\nb\nc"
置換後の文字列 "\1d\ne\nf"
(^|\n)で先頭か前に開業がある場合のどちらかを指し
それに一致した内容が\1に入る
484デフォルトの名無しさん
垢版 |
2019/09/26(木) 18:14:18.26ID:2E8AEgsX
>>483
わかりやすい解説有り難うございます。
おっしゃる通り、TeraPadは正規表現使えないみたいです。

Meryを使って
検索する文字列 "(^|\n)a\nb\nc"
置換後の文字列 "\1d\ne\nf"
を使えば先頭文字aの場合も解決できて
置換後の文字列を何種類か作っておけば
>>450さんは幸せになれますね。

個人的にはでMaryをUWSCで操作すると言う手も考えちゃいますけど
スマートな方法は
UWSCで正規表現を使う場合にはVBScript等使えばできるみたいですね。
485450
垢版 |
2019/09/26(木) 18:45:29.17ID:iUaFKvJQ
Meryだと無事に置換ができました。
本当にありがとうございます。助かりました。
486デフォルトの名無しさん
垢版 |
2019/09/26(木) 19:56:14.78ID:2E8AEgsX
自分もMery使用したことがなかったのでインストールして
上記置換処理やってみました。
一瞬で置換され便利ですね

過去ログでもおすすめエディターみたいですので少し使ってみます。
>>483さんに感謝
487デフォルトの名無しさん
垢版 |
2019/09/27(金) 06:24:51.56ID:HGFU/goi
ものすごく初心者な質問させて頂きます。
過去ログのソースコードを見させて頂いているのですが
人によってコマンドの記述が違います。

1.print XXXX
2.Print XXXX
3.PRINT XXXX
というように大文字と小文字を混在されています。
なにか理由があるのでしょうか?
2019/09/27(金) 08:17:47.20ID:C42tS7ey
言語的に予約語、関数名、変数名に大文字小文字の区別がなく、専用のエディタもないから好きなように書いているだけ
※専用じゃないけどvscodeやサクラエディタ用の拡張や予約語リストはあるので入れることをオススメ

ちなみに例えば自分はPCでなら関数は大文字、変数名は小文字キャメル(定数は大文字)を緩く守るが
掲示板なんかにスマホから短いコード投下する時は面倒なので小文字かな
2019/09/27(金) 08:18:23.10ID:P2udmMmf
1.個人のこだわり(ひとによっては宗教レベル)
2.タイピングの癖
3.UWSCの寛容さへの甘え
2019/09/27(金) 10:12:57.50ID:UTbYC5kd
Pascal系は大文字小文字を区別しないものが多い、C系はほとんど区別される。UWSC作った人がPascal好きだったか?
2019/09/27(金) 10:56:47.41ID:C42tS7ey
uwscはPascalというかDelphi由来
492デフォルトの名無しさん
垢版 |
2019/09/27(金) 11:16:12.69ID:HGFU/goi
>>488
大文字と小文字に区別がないこと理解しました。
私も関数は大文字、変数名は小文字キャメル(定数は大文字)で
同じ様に記述してみます。

>>489
個性が出やすくなるんですね。

短期間でのレスありがとうございます。
2019/09/27(金) 21:12:48.80ID:swY7XTEk
スクリプト終了しても消えない変数みたいなのは作れますか?
いちいちファイルに保存しないとダメ?
2019/09/27(金) 21:18:29.42ID:szJrwaq1
ファイルに保存しないと駄目
2019/09/27(金) 22:06:37.44ID:0SGX+H6c
プログラミング自体はじめたばかりの初心者です。
データのあるexcelから1つずつセルを、別ソフトへとコピペさせるループのマクロを作っております。
終了条件として、excelからコピーしたセル内容が空白となるまでループさせたいのですが、ループが始まりません。
どうしたらよろしいでしょうか?
※excelでセル内容が空白の場合に取得される内容は改行(<#CR>)です。

A = GETSTR(0)
WHILE A = "<#CR>"
//excelをアクティブに
CTRLWIN(EXCELID, NORMAL)
CTRLWIN(EXCELID, ACTIVATE)
//セルを1つ移動させる
KBD(VK_DOWN, CLICK, 50)
//セルをコピー
KBD(VK_CTRL, DOWN) // キーを押しっぱなしにする
KBD(VK_C, CLICK, 50)
KBD(VK_CTRL, UP, 50) // キーを離す
//貼り付け先ソフトをアクティブに
CTRLWIN(pasteID, NORMAL)
CTRLWIN(pasteID, ACTIVATE)
//コピー内容を貼り付け
KBD(VK_CTRL, DOWN) // キーを押しっぱなしにする
KBD(VK_V, CLICK, 50)
KBD(VK_CTRL, UP, 50) // キーを離す
A = GETSTR(0)
WEND
496495
垢版 |
2019/09/27(金) 22:09:22.58ID:0SGX+H6c
連投スマソ、補足です。
495では省略してしまいましたが、
ループが始まる前に、クリップボードにはなにかしらのデータをコピーしておく
プログラムを書いています。
2019/09/27(金) 22:28:07.12ID:szJrwaq1
WHILE A = "<#CR>"
これだとAが改行の間ループすることになる
2019/09/27(金) 22:34:58.29ID:Fhm0Ycov
WHILE A = "<#CR>"
だと空白である間ループするようになると思うけど

それはそうと
今やろうとしてるような表示上のセルを直接見ながらという手もあるとは思うけど
CSVなりに内容を吐き出させた上でファイルを処理したほうがよいのでは
とくにセル数が多ければそちらのほうが圧倒的に速いし
キー操作をおこなうより安全だと思う
2019/09/27(金) 23:15:06.36ID:C42tS7ey
一列程度ならリストに突っ込んでforで回せばいいと思うが
範囲選択してコピーは省略、手作業なりスクリプト化なりご自由に

//Excelでコピーした列データをリスト化
list = SPLIT(GETSTR(0),"<#CR>")

//貼り付け先をアクティブに
CTRLWIN(pasteID, NORMAL)
CTRLWIN(pasteID, ACTIVATE)

//リスト終端まで回す
FOR A = 0 TO RESIZE(list)
 SENDSTR(0, list[A])
 SCKEY(pasteID, VK_CTRL, VK_V)
NEXT

貼り付け先がどんなんかよく分からんのでSLEEP入れたりは適当に調整してくれ
500495
垢版 |
2019/09/28(土) 00:24:45.36ID:qPxO4zq5
皆様迅速なご回答をしていただきありがとうございます。
whileの基礎的なことすら分かっていなかった自分が恥ずかしいです。
マクロは、excelデータから社内の伝票作成ソフトへ相手会社名や振込先口座、金額などを
転記したいために作っております。

>>497
おかげさまで=を<>にしたらイケました。
>>498
csvもあるんですね。確かにキー操作は不安でした。
ただ、このマクロを最終的に「B列のコピーした内容が"x"ならC列を飛ばしてD列をコピー」など
IF?で分岐させていく予定なのですが、それでもcsvで対応できるんですかね・・・
>>499
8列くらいのデータがあるんです、、、
ただ、今後使うことがあるかもしれないので、参考にさせていただきます。
2019/09/28(土) 01:21:29.50ID:Y40c4v1p
CSVカンマ区切りにしか対応してないがFGET()で読めば
戻値 = FGET( ファイルID, 行, [列, ダブルコーテイション] )
のように列を指定して取り出せる
渡す相手に対しても相手のウィンドウに直接入れるのではなく
ファイルをつくり渡すことも考えられる
相手がカンマ区切りのCSVを読み込めるならFPUT()で書き出し安いが
そうでなかったとしてもXMLやJSONあるいは相手の独自形式のファイルに
して受け渡すことは検討してみたほうがいいと思う
2019/09/28(土) 01:51:10.04ID:Y40c4v1p
あるいは1行まるごとを読んでSPLIT()で配列化して扱える

ファイルを読んで新しいファイルを作るような場合だと
もしかしたらperlやpythonで扱うほうが楽かもしれないが
2019/09/28(土) 04:36:04.09ID:va6TJWDv
>>500
ん、rpa的なことやるならuwscはやめた方がいいよ
理由は色々あるが懸念の通りexcelフォーマットを読み解き柔軟に組むのは不可能じゃないが向いてない
そういうのはVBAか標準でexcel操作可能なrpa用ソフト使った方がいい
(まあ、uwscもproはちょっとexcel専用関数あるんだけど…)

自分が組むならまずは分岐とか余りしなくて済むような、単純作業のインプットになるデータフォーマットを考える
(何なら貼り付け先のソフトの画面全項目でもいい)
そのフォーマットにexcelから落とし込むのは恐らくはVBAが適当で、転記はuwscにやらせるのがいいんじゃないかな
excelから直接別ソフトへ転記は無駄に難易度上がるだけだよ
2019/09/28(土) 06:16:08.57ID:Ct1nF35m
向いてないのか
職場でRPAが話題になってるの聞きながらuwscでいいじゃんって思ってた
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況