GUI オートメーション

[ リスト | 詳細 ]

パソコンで毎度ゞ同じ操作はやってられない。今あるものを組み合わせて自動操作。これは立派なプログラムです。プログラムできてこそコンピュータというもの。そんな道具を使ってみよう。
UWSC、AUTO HOTKEY、AUTO-IT みんなWindows用ですが。
記事検索
検索

全5ページ

[1] [2] [3] [4] [5]

[ 次のページ ]


 間にベータ2つ鋏んで安定版のリリースです。Autoitが小さな(少ない) 変更でアップデートしてくれるのはいいのですが、使う方は忙しいです。特に入門しようとする人の出鼻をくじく感じがします。実際はバージョンの下位のアップデートは無視していいんですが。

 autoit はプログラムというかシステムとしてとっつきにくい印象があるようですが、実は全然そんな事はありません。UWSCと同じようにAutoitのプログラム本体がひとつ有ればそれだけで動きます。巨大なライブラリや開発用のツール (専用化したエディタなど)は普段は全然必要ありません。

 ただし、ドキュメントが日本語化されていない事と、それに加えて付属のドキュメントがライブラリや専用エディタも含めた立派なものになっているのがとっつきにくい原因だと思います (私もその口です)。これだけ立派なドキュメントだと翻訳しにくいんです (ちょっとだけやってみたので…)。かといってそれなりに使いこなしていないかぎりは独自の資料をつくるのも大変です。これは共同作業で短時間に翻訳を終らせてしまうとかそういう手を使わない限り難しいと思います。

この記事に

開く コメント(0)

UWSC - クリップボードにコピーしたINIファイルのテキストのキーにセクション名プリフィックスを付加するスクリプト

 長いタイトルですが、これは例えば…ふたつの同じセクションとキーを持つ異なるINIファイルをキーでマージする場合に、セクションやキーの順番をあわせるために行ソートする必要が有ったのですが、これを単純にソートしてしまうと、異なるセクション間で同じキー名が有った時に順番が不定になって困る事になります。そこで全てのキーの先頭にセクション名のプリフィックスを付加するために作ったスクリプトです。

 UWSCで作るには向かないタイプの処理では有りますが、私はこのような処理をファイルを直接アクセスするのではなく、クリップボードを対象にアクセスするようにする事で、任意のテキストエディタ等からも使えるようにしています。このような処理の場合はUWSCは結構便利です (処理速度は遅いしクリップボードなので大きなサイズでは使い物にならないですが…)。

 このスクリプトではメインルーチンで CLASS によるパッケージングを使用しています。UWSCではなんらかのサブ関数を利用したい場合、この方法を使用するとパラメータの渡し方で悩む必要が殆どなくなるので良く使用しています。この例では While ループの中の行処理をループの前で最初に一度だけ行うために Sub という名前のプロシージャにまとめています。 UWSCのクラスは実は本来の名前通りの機能=オブジェクトクラスの定義やインスタンスの作成には全く使えないのですが、このようなパッケージングにはとても便利に使えます。CLASSという名前は変更した方がいいような気もしてます (例えばPACKAGEとか…)。

 ファイルをアップロードするほどのものではないのでスクリプトを以下にコピペしますが、例によってこのブログ投稿ではうまくいきません。もし役に立つようでしたら適当に修正して使ってください。
// inifilesectionprefix.uws - 
//  クリップボードのINIファイルテキストの各行の先頭にセクション名を追加する
// author:
//  nullpage 2008-05-20

Class Main
 Dim inbuff= GetStr(0) // クリップボードの文字列をコピー
 Dim outbuff= ""
 Dim line, linet // line buffer, and temp
 Dim prefix= ""
 Dim lines=0 // 行数 (使ってませんが…)
 Procedure Main
  If Length(inbuff)<1 Then Exit
  Sub()
  While Length(inbuff)>0 // 全部の行を処理するまで繰り返す
   Sub()
   Wend
  If lines<1 then Exit
  SendStr(0,outbuff) // 実際のクリップボードに反映
  Exit
  Fend
 Procedure Sub()
  Balloon.Set("Line:" + lines + " Prefix=[" + prefix + "]")
  line= Token(Chr($0A),inbuff) + Chr($0A) // 1行取り出し
  linet= line
  IfB Pos("[",line)=1 AND Pos("]",line)>2 Then
   // Print "Found section=" + line
   prefix= BetweenStr(line,"[","]")
   outbuff= outbuff + line
  ElseIf Trim(token(";"+Chr($0A),linet))="" Then
   //Print "Found invaid key line=" + line
   outbuff= outbuff + line
  Else
   outbuff= outbuff + prefix + ":" + line
   // Print "Found vaid key line=" + line
   EndIf
  lines= lines+1 // 行数を数える
  Fend
 EndClass

Class Balloon
 Dim _Wait= 0
 Public Wait= 5
 Procedure Balloon()
  Thread This.Idol()
  Fend
 Procedure Idol()
  While TRUE
   Sleep(1)
   If _Wait=0 Then Continue
   _Wait= _Wait -1
   If _Wait=0 Then Fukidasi()
   Wend
  Fend
 Procedure Set(msg)
  Fukidasi(msg,G_SCREEN_W,G_SCREEN_H)
  x= G_SCREEN_W - Status(GetId(GET_FUKIDASI_WIN),ST_WIDTH)
  y= G_SCREEN_H - Status(GetId(GET_FUKIDASI_WIN),ST_HEIGHT)
  Fukidasi(msg,x,y)
  This._Wait= This.Wait
  Fend
 EndClass

この記事に

開く コメント(3)

NirCmd v2.10 日本語化中…

 調べた限りではまだ日本語へのローカライズは公開されていなようなのですが、日本語化パッチとヘルプの日本語化 (OmegaTのテストを兼ねて) 作業をはじめてしまったのでそのうち公開できると思います。

 実行ファイル nircmd.exe 及び nircmdc.exe については日本語化の必要はあまりないのですが、テキスト入力ボックスのフォントが MS Sans serif になっている等やや問題がありましたのでエラーメッセージの一部の日本語化も含めたパッチをつくってみました。

 ヘルプの翻訳がまだ 489/1271 セグメントという段階ですし、コンパイル作業やその他の変更などでまだまだ時間がかかると思います。実行ファイルのパッチについても差分ファイルまたは必要ならパッチ用プログラムなどを用意しなければならないので時間がかかりそうです。

 なによりいまのところは特に急いでいる訳ではありませんし、OmegaTやら他の翻訳/ローカライズツール、またはその手を扱っているウェブサイトをあれこれ試べたり捜したりするのが主目的なので時間がかかると思います。もし同じ事をやろうという人が他にいるとしたら無駄にするのは勿体無いので何か連絡ください。

この記事に

開く コメント(0)

AutoIt v3.2.12.0 リリース


 最近最新の正式版がリリースされたようです (特に追いかけているわけではないですが…)。記念に? japanaize の翻訳データを増やしておきました。いろんなパッケージがリリースされていますが、個人的なお薦めは自己解凍型です。Portable Freeware.comのこちらページにもかかれているように、基本的には実行ファイル autoit3.exe があればスクリプトを実行する事ができます。

この記事に

開く コメント(0)


 厳密に言うとスクリプティングツールではありませんが、Windowsの様々要素をコントロールできる多機能なコマンドラインユーティリティです。コマンドラインパラメータに1行スクリプトのように様々な機能を記述できるほかに、ファイルで渡す事もできます。繰返しなどのシーケンス制御が不要ならこれだけでかなり便利に使う事ができます。もしも複雑な処理の中で使いたいならバッチや別のスクリプトから利用する事ができます。スクリプトからWin32APIなどを直接使うのが面倒という場合に特にお薦めです。

 上記のページの利用例にもあるように、あまりに多機能なのでややとっつきにくいところが有るかもしれません。ためしにこれを使って Windowsのデスクトップを小さなアイコンにしてみました。

nircmd.exe win child class progman +style class SysListView32 0x00000002

 NirCmd.exeをパスの通ったディレクトリに入れておき、メニューのスタートアップに上記のショートカットにを作れば起動時に小さなアイコンのデスクトップが利用出来ます。

この記事に

開く コメント(0)

全5ページ

[1] [2] [3] [4] [5]

[ 次のページ ]


.
nullpage
nullpage
非公開 / 非公開
人気度
Yahoo!ブログヘルプ - ブログ人気度について
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

過去の記事一覧

 今日全体
訪問者6172608
ブログリンク04
コメント0209
トラックバック012

新規登録

Opera

LibreOffice

翻訳支援

登録されていません

フリーソフト

登録されていません

グラフィック・デザイン

登録されていません

Inkscape

登録されていません

Gimp

登録されていません

Yahoo!からのお知らせ

検索 検索

スマートフォンで見る

モバイル版Yahoo!ブログにアクセス!

スマートフォン版Yahoo!ブログにアクセス!

開​設日​: ​20​05​/2​/1​0(​木)​


みんなの更新記事