自己紹介

自分の写真

朝ネスのマスターやってる人。
巷では「けもネス」って呼ばれてるけど、「朝ネス」です。
どうか間違えないでください。

2017年1月28日土曜日

SAI2で定期自動保存

ちなみにVBSの実行タスクはこれね。

タイトル通りです。
SAI2で謎落ちとか謎エラーとかで保存がああああああってなるので、
正直結構辛いのでVBSでSAI2のファイルを定期的に自動保存するスクリプト書いてみた。

15分に1度、「sai2 (*)」という文字が入っているタイトルを探して、それをアクティブにしたのちCtrl+Sキーを押すというもの。よくある「sai2が先に立ち上がってないとだめ」という事はないので自由に叩きましょう。

ちなみに実行後、無限ループするから多重実行は気を付けてね。
多重実行したときとか、要らないときはVBSはタスクからキルしてね。

あとVBSが何なのかとか、VBSの作り方とか、軌道の仕方とか、ソースの環境依存の問題とかは
ググればなんとかなるよ。たぶんね。

以下ソース
---------------------------------------------------

'寝るミリ秒数
Dim SleepTime
SleepTime = 15*60*1000'15分
Dim strName
'strName= "PaintTool SAI"'前方一致(常に一定時間後保存を行う)
strName= "sai2 (*)"'後方一致(拡張子が.sai2のファイルを編集しているときのみ保存を行う)
'始まるよー
Main()

'メイン関数
Function Main()
Dim objShell
'シェルのオブジェクトを作成する
Set objShell = CreateObject("WScript.Shell")

On Error Resume Next
Do
If objShell.AppActivate(strName) Then objShell.SendKeys("^s")
WScript.Sleep SleepTime
Loop
GetError()
Err.Clear
On Error Goto 0

Set objShell = Nothing
End Function

'例外通知
Function GetError()
GetError = True
If Err.Number <> 0 Then
MsgBox "例外:" & Err.Number & ":" & Err.Description
Exit Function
End If
GetError = False
End Function

0 件のコメント:

コメントを投稿