かなり昔から使ってますがPRO版は実行ファイルも作れるのです。
ごく短期間でしたが、実行ファイル作成機能がフリー版…というかあの頃はPRO版が無かったと思うのですが、フリー版でも実行ファイル作れるバーションも有りました。
http://www.uwsc.info/
たとえばiTunesでappをバックアップから戻すときに上書きダイアログが出ますが
ーーーーーーーー
id = GETID("iTunes", "iTunesCustomModalDialog", -1)
SLEEP(1)
CLKITEM(id, "置き換える(R)", CLK_BTN)
ーーーーーーーー
こんなスクリプトを書けばボタンを押してくれます。
あとはバッチファイルでも出来るのですが、
ーーーーーーーー
DOSCMD("%windir%\system32\shutdown.exe -r -t 00")
ーーーーーーーー
この一行で再起動とか。
BASP21を使えばメール読みに行ったりも出来るので、メールを送って再起動とか。
色々出来るのです。
一番良く使うのはクリップボードからtxtファイルを作成するスクリプト。
調べものしてて、コピペが面倒なときにキーボードショートカットからスクリプト起動すればテキストで保存します。
少し長いですが、適宜保存場所などを書き換えて使えばエバーノートローカル版?っぽい感じに。
ーーーーーーーー
//クリップボードのデータを"一行目の文字列.txt"として保存
sleep(0.1)
//変数宣言を強制
OPTION EXPLICIT
//バックグラウンドでUWSCを実行
CTRLWIN(GETID(GET_THISUWSC_WIN), HIDE)
//変数宣言
Public fpstr
Public FLoca;
//保存場所の設定(書き換えて使ってください)
FLoca = "C:\temp\tmp.tmp"
//保存先ディレクトリに「tmp.tmp」ファイルがあれば削除
if FOpen(FLoca,F_EXISTS)=True then Doscmd("DEL " + FLoca)
sleep(0.2)
//プロシージャ実行
Clip2Txt()
//保存したら開く(不要ならコメントアウト)
exec("explorer.exe <#DBL>C:\Downloads\C2T<#DBL>")
//処理、待ち、リネーム
Procedure Clip2Txt()
Clip_2_TXT()
FC_Wait(FLoca)
DosCmd("Ren <#DBL>"+FLoca+"<#DBL> <#DBL>"+fpstr+".txt<#DBL>")
Fend
//「無い」ファイルを開いてクリップボードの文字列を書き込んで保存。
Procedure Clip_2_Txt()
Dim FMStrdatX;Dim FMStrdat;
fpstr = ""
FMStrdat = FOpen(FLoca, F_READ or F_WRITE)
FPut(FMStrdat, GETSTR(0))
FClose(FMStrdat)
FC_Wait(FLoca)
FMStrdatX = FOpen(FLoca, F_READ)
fpstr = FGet(FMStrdatX,1,1)
FClose(FMStrdatX)
fpstr = input("",TXT_syl_Conv(fpstr))
Fend
//DOSコマンド処理ウエイト
Procedure FC_Wait(ffpath)
sleep(0.3)
While FOpen(ffpath,F_EXISTS) = False;sleep(0.2);Wend
Fend
//ファイル名として使用不可文字を変換
Function TXT_syl_Conv(BefConvStr)
Public AftConvStr
dim pstr[16] = "\" ,"/" ,"?" ,",","!","*","#","%","&",":",";"," "," ","<#TAB>","<#DBL>","<#CR>"," "
dim astr[16] = "¥","/","?","" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"_" ,"_" ,"_" ,"_" ,""
AftConvStr = trim(BefConvStr)
dim i
for i = 0 to 16
AftConvStr = chgmoj(AftConvStr,pstr[i],astr[i])
next
AftConvStr = TRIM(copy(AftConvStr,1,32))
Result = AftConvStr
Fend
ーーーーーーーーー
もっと見やすいコードだったのですが、最終的にこんな形になってますw
ループ分とか一行にしてるのでぱっと見訳わからんようになってますが…
特に最後の関数は文字変換だけなのですが、昔はこんなふうにもっと見やすかったです。
ーーーーーーーーー
Function TXT_syl_Conv(BefConvStr)
Public AftConvStr
AftConvStr = trim(BefConvStr)
AftConvStr = chgmoj(BefConvStr,"\","¥")
AftConvStr = chgmoj(BefConvStr,"/","")
AftConvStr = chgmoj(BefConvStr,"?","")
AftConvStr = chgmoj(BefConvStr,"!","")
AftConvStr = chgmoj(BefConvStr,"*","")
AftConvStr = chgmoj(BefConvStr,"#","")
AftConvStr = chgmoj(BefConvStr,"%","")
AftConvStr = chgmoj(BefConvStr,"&","")
AftConvStr = chgmoj(BefConvStr," ","_")
AftConvStr = chgmoj(BefConvStr," ","_")
AftConvStr = chgmoj(BefConvStr,"<#TAB>","_")
Result = AftConvStr
Fend
ーーーーーーーーー
が、なんとなく冗長な気がしたので。処理時間は余り変わらないと思いますが配列でループさせちゃってます。
BASICに近いのでVBAとか触ってると取っ付き易いですし、Excelの起動からマクロ実行までスクリプトでゴリゴリできるので複数ブックを同時に開いて一括処理とかさせるとかなり便利です。
-
購入金額
0円
-
購入日
2013年04月05日
-
購入場所
takさん
2013/04/05