uwsc


uwscで秀丸エディタを起動してマクロを実行

uwscで秀丸エディタを起動するにはコマンドプロンプトを利用する。

//秀丸エディタを起動
-------------------------------------
CMD = "C:\Program Files\Hidemaru\Hidemaru.exe"
DOSCMD(CMD) //実行
-------------------------------------

//ファイルを指定して秀丸エディタを起動
-------------------------------------
CMD = "<#DBL>C:\Program Files\Hidemaru\Hidemaru.exe<#DBL> <#DBL>C:\フルパス\目的のファイル.html<#DBL>"
DOSCMD(CMD) //実行
-------------------------------------
※パスのProgram Filesに半角スペースがあるので、パス全体を<#DBL>でかこう

//ファイルを指定してマクロを実行
-------------------------------------
CMD = "<#DBL>C:\Program Files\Hidemaru\Hidemaru.exe<#DBL> /xマクロ名.mac <#DBL>C:\フルパス\目的のファイル.html<#DBL>"
DOSCMD(CMD,true) //実行。trueがないとファイルを閉じるまで次の命令が実行されない
-------------------------------------
※マクロは オプション /xマクロ名 で指定

マクロを実行した後の処理

マクロ終了のダイアログを閉じる
-------------------------------------
//#32770はダイアログ。-1は無限待ち
id = GETID("秀丸エディタ", "#32770", -1)
SLEEP(1)
CLKITEM(id, "OK", CLK_BTN)
-------------------------------------

上書き保存と閉じる
-------------------------------------
// ショートカットキーの実行
hide_id = GETID("目的のファイル.html", "Hidemaru32Class", -1)
SCKEY(hide_id, VK_CTRL, VK_S) //保存
//CLKITEM(hide_id, "上書き保存 Ctrl+S", CLK_ACC) //もしくはこれ
SLEEP(1)
CTRLWIN(hide_id, CLOSE) //閉じる
-------------------------------------

【windows7】uwscでzipファイルを回答&圧縮

uwscでzipファイルの解凍や圧縮をしたい場合はpowershellを使うのが便利。

zipファイルを扱えるpowershellはv5以降。windows7ではバージョンアップが必要。

powershellのバージョン確認コマンド
------------------
$PSVersionTable
------------------

また、windows7でpowershell v5をインストールするには .NET Framework Ver.4.5以降が必要

windows7で .NET Framework のバージョンを確認する方法

http://www.atmarkit.co.jp/ait/articles/0910/15/news116.html

解凍コマンド
------------------------------------
Expand-Archive 解凍したいファイル.zip 解凍後のフォルダ名
------------------------------------

圧縮コマンド
------------------------------------
Compress-Archive 圧縮したいフォルダ 圧縮後のフォルダ名.zip
------------------------------------

なのでuwscでのコマンドは

解凍
------------------------------------
PS = "Expand-Archive 解凍したいファイル.zip 解凍後のフォルダ名"
POWERSHELL(PS) //実行
------------------------------------

圧縮
------------------------------------
PS = "compress-archive 圧縮したいフォルダ 圧縮後のフォルダ名"
POWERSHELL(PS) //実行
------------------------------------

もしくはUWSCからコマンドプロンプトを動かして

解凍
------------------------------------
CMD = "powershell Expand-Archive 解凍したいファイル.zip 解凍後のフォルダ名"
DOSCMD(CMD) //実行
------------------------------------

圧縮
------------------------------------
CMD = "powershell compress-archive 圧縮したいフォルダ 圧縮後のフォルダ名"
DOSCMD(CMD) //実行
------------------------------------

【UWSC】gmailでメールを送信する

UWSC でメールを送信するには CDO を利用する。

------------------------------------------------

Dim objEmail = CreateOleObj("CDO.Message")

//内容をセット
objEmail.From = "送信者@gmail.com"
objEmail.To = "あて先アドレス"
objEmail.Subject = "題名"
objEmail.Textbody = "内容"

Schemas = "http://schemas.microsoft.com/cdo/configuration/"
objEmail.Configuration.Fields.Item(Schemas + "sendusing") = 2
objEmail.Configuration.Fields.Item(Schemas + "smtpserver") = "smtp.googlemail.com"

objEmail.Configuration.Fields.Item(Schemas + "smtpserverport") = 465 //ポート番号
objEmail.Configuration.Fields.Item(Schemas + "smtpauthenticate") = True
objEmail.Configuration.Fields.Item(Schemas + "sendusername") = "ID(送信者@gmail.com)"
objEmail.Configuration.Fields.Item(Schemas + "sendpassword") = "メールパスワード(ログイン時と同じもの)"
objEmail.Configuration.Fields.Item(Schemas + "smtpusessl") = True

objEmail.Configuration.Fields.Update

objEmail.Send

------------------------------------------------

メールが届かない場合は、gmail の受信箱をチェック。

gmail1

「ログイン試行をブロックしました」というメールが届いていたら、ブロックを解除する必要がある。google のアカウント情報から「安全性の低いアプリの許可」を有効にすればいい。

【UWSC】デュアルモニター側にふきだしを表示

デュアルモニター側にふきだしを表示するスクリプト↓

fukidasi("ふきだしだよ",MONITOR(1,MON_X),0)

-----------------------------------
// マルチモニタ情報
戻値 = MONITOR( モニタ番号, 取得情報 ) 
引数
 モニタ番号: モニタ番号を指定 (メインモニタは 0,二つ目のモニターは1)
 取得情報:
   MON_X      // X座標を返す
   MON_Y      // Y座標を返す
   MON_WIDTH    // 幅を返す
   MON_HEIGHT    // 高さを返す

 ※ MONITOR() 引数なしの場合はモニターの数を返す
-----------------------------------

【UWSC】八桁の乱数を50個メモ帳に出力する

乱数が必要なったので覚書

-------------------------------
// ファイルを開く
fid = FOPEN("ransuu.txt", F_WRITE)
// 1行出力

for i = 1 TO 50

r = RANDOM(89999999) + 10000000
FPUT(fid, r)
// 1行出力
next
// ファイルを閉じる
FCLOSE(fid)
-------------------------------

//作ったファイルを開く
exec("notepad ransuu.txt")

IEオブジェクトからUWSC用のIDを取得する

IEオブジェクトからUWSC用のIDを求めるためのスクリプト
-----------------------------------------------------
IE = CreateOLEObj("InternetExplorer.Application")
IE_ID = HNDtoID(IE.hwnd)
-----------------------------------------------------

1.IE.hwnd で ウインドウハンドルが取得できる。
2.HNDtoID でウインドウハンドルをUWSC用のIDに変換している。

【UWSC】IEでCLKITEMの箇所でエラーが出る

UWSC で IE を操作していると CLKITEM の箇所でエラーが出た。

ie_error1
↓↓↓↓↓
ie_error2

リンクが出来ている文字列にマウスカーソルを移動するスクリプト(クリックはせずに)のところ。

エラー箇所
------------------------------------------------------------
CLKITEM(IE_ID, "詳しくはこちら", CLK_MUSMOVE, FALSE)
------------------------------------------------------------

次のように書き直したらエラーは出なくなった
------------------------------------------------------------
CLKITEM(IE_ID, "詳しくはこちら", CLK_ACC or CLK_MUSMOVE, FALSE, FALSE)
------------------------------------------------------------

ヘルプを改めて見ると「CLK_MUSMOVE」は追加オプションになっている。これを単品で書いてたのが問題だったのかなぁ・・・

【UWSC】tokenで改行を区切り文字にする

UWSCにおいて、tokenで改行を区切り文字にするスクリプトの覚書

----------------------------
token(chr(10),文字列)
----------------------------

もしくは

----------------------------
token(chr(13),文字列)
----------------------------

chr(10) → ラインフィード(Lf)

chr(13) → キャリッジリターン(Cr)

UWSCで目的のフォルダがあるか確認する

UWSCで目的のフォルダがあるかを確認するスクリプト

---------------------------------------------------
FSO = CreateOLEObj("Scripting.FileSystemObject")

IFB FSO.FolderExists("存在を確認するフォルダの名前")

print "探してたフォルダがあります"

ELSE

print "探してたフォルダはありません"

ENDIF
---------------------------------------------------

uwscでprintを使ったときの表示用ウインドウの大きさを変える

uwscでprintを使ったときに出てくる表示用のウインドウの大きさを変えるスクリプト

//ウインドウが出たあとで実効
---------------------------------------------
acw(getid(GET_LOGPRINT_WIN), 100, 200, 600, 400)
---------------------------------------------

1 / 41234