● URLリンクのHTML文の自動生成 ~UWSCでの自動化例~
「UWSC」は大変便利で価値の高いソフトです。が、使ってみた感じ、「各命令の実行のタイミングが重要視されるソフト」のような気がしますので、速度の出ない重いパソコンではそのタイミングがズレてしまい、例えばサンプルのようにはなかなか思いどおりに正常に動かないかもしれません。そのことだけ あらかじめご了承ください。
下図のように、HTMLのリンクを自動生成して、クリップボードにコピーし、作業ウィンドウ(テキストエディタ)を閉じる自動化をしてみます。
このときのコードの例は以下のとおりです。
テキストエディタは「Terapad」を使い、「C:\テキストエディタTeraPad_tpadwndw109\」フォルダに格納されていて、UWSC.exeとuws拡張子はすでに関連付けされているものとします。
また、準備の画面の中でURLが折り返してしまうと、タグが折り返し地点に入ってしまうので、折り返し表示しない設定にしておいてください。
また、URL用のデータの準備は、1行目がURL、2行目がタイトル、とします。
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
// //TeraPadを開く とりあえず、既に開いているウィンドウでやるので、コメントアウト //exec("C:\テキストエディタTeraPad_tpadwndw109\TeraPad.exe") //開いたTeraPadのウィンドウを「tpadwndw」という名前で ターゲットウィンドウに設定 tpadwndw=getid("TeraPad","TTeraPadMainForm") //とりあえず、既に開いているウィンドウでやるので、コメントアウト //Sleep(1) //Ctrl+Homeのショートカットキー押下操作で、点滅カーソルを先頭に戻す。 SCKEY(tpadwndw,VK_CTRL,VK_HOME) //「<a href="」を追加 SENDSTR( tpadwndw, "<a href=<#DBL>") //点滅カーソルを最後尾へ移動 SCKEY(tpadwndw,VK_END) //「" target="_blank">」ではさむ SENDSTR( tpadwndw, "<#DBL> target=<#DBL>_blank<#DBL>>") //最後尾へ移動 SCKEY(tpadwndw,VK_END) //2行目の内容を上へもってきて一行にする SCKEY(tpadwndw,VK_DELETE) // SCKEY(tpadwndw,VK_END) //「</a>」で囲む SENDSTR( tpadwndw, "</a>") // SCKEY(tpadwndw,VK_END) //文字列の終端に改行コードを含めないようにするために、 //Deleteキーを適当な回数を押す。 For i = 0 to 10 SCKEY(tpadwndw,VK_DELETE) Next //Ctrl+Aで「すべて選択」する SCKEY(tpadwndw,VK_CTRL,A) //Ctrl+Cで「コピー」する SCKEY(tpadwndw,VK_CTRL,C) //ウィンドウを変更なしで閉じる //上書きするかどうかのところは、SCKEYを使うと画面が残ってしまうので、KDB命令を使いました。 SCKEY(tpadwndw,VK_ALT,VK_F4) KBD(VK_TAB,CLICK,0) KBD(VK_ENTER,CLICK,0) // |
ひとまず以上です。
これをテキストファイルにコピペして、拡張子をtxtからuwsにします。
準備用の空白のTerapadのファイルを開いて、そこに1行目にUrL、2行目にタイトルを書いた状態のまま、上記の内容のuwsをダブルクリックします。
リンク用のHTMLが自動生成されてクリップボードにコピーされ、準備用のウィンドウは自動的に閉じます。
こういう作業は例えばWordpressならムダかもしれませんが、例えば、テキストモードの画面でずーっと書いていたいときなどに使えます。
なお、とりあえずサンプルは「Terapad」でしかできませんが、
tpadwndw=getid("TeraPad","TTeraPadMainForm")
の行を
tpadwndw=getid("メモ帳","Notepad")
に書き換えれば、準備用のテキストエディタがメモ帳でもやれます。
(そのとき、「右端で折り返す」の設定をOFFにしておいてください。
逆にもし「右端で折り返す」を解除する命令も書きたい場合は、
「clkitem(tpadwndw,"書式\右端で折り返す",CLK_MENU)」という命令を
「tpadwndw=getid("メモ帳","Notepad") 」の次の行に追加します。
閉じる前に、再度、「clkitem(tpadwndw,"書式\右端で折り返す",CLK_MENU)」を
書けば、「右端で折り返す」がONに戻ります。)
ちなみにTerapadの場合は、以下のようになります。
(あらかじめ、折り返し桁数の設定を「800桁」、と、「86桁」を作っておく必要があります。)
1 2 3 4 5 6 7 8 |
// // //折り返しを800桁(800文字分)に設定する。 clkitem(tpadwndw,"表示\折り返し桁指定\1: 800 桁",CLK_MENU) //折り返しを86桁(86文字分)に設定する。 clkitem(tpadwndw,"表示\折り返し桁指定\4: 86 桁",CLK_MENU) |
これを好きな位置に入れれば、折り返しの設定も自由になります。
※「1: 800 桁」や「4: 86 桁」などの、番号や桁数の値は、折り返し設定をした順番や内容なので、各人ご自分のTerapadでの設定に伴って変わります。
そのほか、以下のページも参考にしてください。
● UWSCでの自動化プログラムの書き方(超基本的なミニTIPS)~自動化機能を持たないソフトの自動化~
https://euc-access-excel-db.com/tips/ct07_se/ct071350_automation_non-autosoft/uwsc-mini-tips
「● 操作対象となるウィンドウを決める」の「UWSCコードの断片生成器」をダウンロードして実行すると、
「clkitem(tpadwndw,"書式\右端で折り返す",CLK_MENU)」
のようなメニューを押下した操作を自動で命令文生成してくれます。