• ベストアンサー

UWSCで指定文字があった場合置換

仕事でデータ入力をする機会ができたのですが、 1月5日電気代 1月5日水道代 1月5日ガス代 ↑上記の文章を発見した場合 1月6日電気代 1月6日水道代 1月6日ガス代 と自動で置換したいのですが どうもうまくいきません 仮にメモ帳でやるとしたらどういったスクリプトになるのか どなたかご教授願います

質問者が選んだベストアンサー

  • ベストアンサー
  • momoracci
  • ベストアンサー率51% (14/27)
回答No.1

解答提示は、やめておきます。 > どうもうまくいきません 試したスクリプトを提示することが望ましいです。 > 上記の文章を発見した場合 pos()関数 > 自動で置換 chgmoj()関数 ※pos()関数は省いて、chgmoj()関数だけでもできると思います。

trivial
質問者

お礼

ご回答ありがとうございます 解答を参考に試行錯誤してみたのですが、全くだめでした 以下プログラムになります For i = 0 to 50   id = GETID("新規テキスト")   if id > 0 then break   Sleep(0.1) Next idd = CHGMOJ(id,"1月5日電気代","1月6日電気代") ic=getstr(idd)   Sleep(0.1) SendStr(id,ic) //終了 これでiddに変換された戻り値がくるかと思ったのですが 結果は原文が一度やるごとに倍になっていきます もしお時間空きましたら、ヒントでもいいので教えていただけたらうれしいです

その他の回答 (1)

  • momoracci
  • ベストアンサー率51% (14/27)
回答No.2

// CHGMOJ()関数の第一引数が違います。UWSCのヘルプ(UWSC.CHM)をご自身で確認なさってください。 ///// TEXTBLOCK 変換前の文章 1月5日電気代 1月5日水道代 1月5日ガス代 ENDTEXTBLOCK 変換後の文章=CHGMOJ(変換前の文章, "1月5日", "1月6日") MSGBOX(変換前の文章+"<#CR><#CR>"+変換後の文章)

参考URL:
http://sourceforge.jp/forum/forum.php?forum_id=12291
trivial
質問者

お礼

ご回答ありがとうございます ご指摘を参考に改良しましたら、なんとできました! 本当にありがとうございます 以下、私なりのスクリプトになります For i = 0 to 100   id = GETID("新規テキスト")   if id > 0 then break   Sleep(0.1) Next idd = GETSTR(id) ic=CHGMOJ(idd, "1月5日", "1月6日") SCKEY(id, VK_CTRL, A)   Sleep(0.1) KBD(VK_BACK,CLICK,40)   Sleep(0.1) SendStr(id,ic) どうも置換がうまくできなかったので 一度消して値を送信してみました ここから、教えていただいたURLを参考に 実務に使える形に変えていこうと思います 貴重なお時間割いていただきありがとうございました。

関連するQ&A

専門家に質問してみよう