【UWSC】ファイル操作関数の具体的な使い方

目次

【UWSC】でファイル関数を使う時はcmdと合わせ技でマクロ化する

更にUWSC機能のスケジュール設定を使うことで、24時間稼働パソコンとしてファイルサーバーで使用しているPCを定期処理させたりできる。が、これはまた後で…

UWSCで使うファイル操作関数一覧

  • FOPEN
  • FPUT
  • FCLOSE
  • EXEC(“cmd /c del /q c:\パス”)
  • EXEC(“cmd /c echo n | copy /-y infile outfile”)
  • EXEC(“cmd /c start=https://www.google.com”)

f= FOPEN( ファイル名, オープンモード )

オープンモード

  • F_READ
  • F_WRITE
  • F_READ or F_WRITE
  • F_EXISTS
    • ファイル存在チェック(ファイルオープンせずにファイルが存在するかを返す)
      (ディレクトリをチェックしたい場合は最後に\を付加)

追加指定

  • F_EXCLUSIVE
  • F_TAB
  • F_NOCR

実際に使用している「今週分出馬表作成」UWSCモジュールをスクショ表示

手順の例として、

①上書きモードで開き
②新しく作る複数ファイル名をテキスト保存し
③特定のテストフォルダー内ファイルを一括削除し
④、②でテキスト保存したファイル名で③のファルダーに新しいファイルを作成する

といった手順で自動化する。

※UWSC側でEXECを使うよりもバッチファイルを組むのが得意な人はそちらで組んでも構わない。要は目的を達成すれば個人でのシステムやプログラミングは、それで良いし、その方が楽しく作れるはず。(^_-)-☆

[SYUapend010.uws] 上記UWSCモジュール実行結果

既に作成しているデータベース投入用のExcelシート[VBA付き]をコピペするだけのモジュール

これで毎週々、原本をコピペしてRenameし直すといった作業から解放された。

そのままマクロを実行してデータ作成までしても良いのだが、年に数回天候などのイレギュラーな状況が起きたりすると、手動で対応した方が簡単なためにボタンを押すというだけの作業ではあるが、これを手動で行っているといた運用にしている。

例:2025.5.31(土)東京競馬場9R、落雷の為中止に!

例:出馬表「yyyymmdd馬場名」をRenameし「20250531馬東京」、競走結果「yyyymmdd場名」を「20250531京都」といった具合だ。出馬表は遅くとも金曜日11時には枠確定するので、それ以降の時間でExcelにコピペを行う。

「今週分出馬表作成」UWSCモジュールをスケジュール化し定期実行!

UWSCメニューの設定から「スケジュール設定」を選択

EXECでコマンドプロンプト操作をUWSCで部品化しWindowsタスクスケジューラーと組み合わせることで、簡易自動運転が可能になるのは、個人利用としては嬉しい限り。(最近ではUWSCだけの運用になっておりますがw)

参考:UWSC部品化サンプル「Reboot」

//Reboot
sleep(0.1)
exec("cmd /c shutdown /r /t 0")

Gemini 2.5Flashに「UWSCスケジュール 式による設定」について聞いてみた

UWSCのスケジュール設定における「式による設定」は、スクリプトの実行時間をより詳細かつ柔軟に制御するための強力な機能です。特定の曜日、時間帯、または日付にスクリプトを実行したい場合に非常に役立ちます。

「式による設定」で利用できる変数

UWSCの「式による設定」では、以下の時間に関する変数を使用できます。

  • YY: 年 (例: 2025)
  • MM: 月 (1~12)
  • DD: 日 (1~31)
  • HH: 時 (0~23)
  • NN: 分 (0~59)
  • YMDNN: 2000年1月1日からの経過分数
  • WW: 曜日 (日曜=0, 月曜=1, …, 土曜=6)

これらの変数を組み合わせることで、論理演算子 (AND, OR, NOT) を使って複雑な条件式を作成できます。

設定例

いくつかの具体的な設定例を以下に示します。

1. 平日の毎日、午前9時から午後6時まで毎時0分に実行

(WW >= 1 AND WW <= 5) AND (HH >= 9 AND HH <= 18) AND (NN = 0)
  • WW >= 1 AND WW <= 5: 月曜日(1)から金曜日(5)までを意味します。
  • HH >= 9 AND HH <= 18: 午前9時から午後6時までを意味します。
  • NN = 0: 毎時0分に実行します。

2. 毎日、0時55分に実行

(NN = 55)
  • NN = 55: 毎時55分に実行します。

3. 毎週日曜日と火曜日の正午に実行

(WW = 0 OR WW = 2) AND (HH = 12) AND (NN = 0)
  • WW = 0 OR WW = 2: 日曜日(0)または火曜日(2)を意味します。
  • HH = 12: 正午を意味します。
  • NN = 0: 0分を意味します。

4. 毎月1日と15日の午前7時30分に実行

(DD = 1 OR DD = 15) AND (HH = 7) AND (NN = 30)
  • DD = 1 OR DD = 15: 毎月1日または15日を意味します。
  • HH = 7: 午前7時を意味します。
  • NN = 30: 30分を意味します。

5. 18分間隔で実行

(YMDNN MOD 18) = 0
  • YMDNN MOD 18: 2000年1月1日からの経過分数を18で割った余りが0になる、つまり18分間隔で実行されます。
    • 注意点: UWSCのスケジュールチェックは分単位で行われるため、この式は「約18分間隔」での実行となります。厳密な18分間隔を保証するものではありません。

設定方法

  1. UWSCのメインウィンドウを開きます。
  2. 「スケジュール設定」ボタンをクリックします。
  3. スクリプトファイル名を入力または選択します。
  4. 「タイマー設定」の項目で、「式による設定」を選択します。
  5. 入力欄に上記のような式を入力します。
  6. 「OK」ボタンを押すと、入力した式に基づいて実際にスクリプトが実行される時間がリスト表示されます。これにより、意図した通りに設定できているかを確認できます。

その他の注意点

  • 休止状態からの復帰: PCがスリープ状態や休止状態になっている場合でも、UWSCの「スケジュール設定」で「実行時に休止状態から復帰する」にチェックを入れることで、指定時間にPCを復帰させてスクリプトを実行させることができます。ただし、OS側の電源設定(スリープ解除タイマーの許可など)も確認が必要です。
  • タスクスケジューラとの併用: UWSCのスケジュール機能で対応できない複雑な条件や、UWSCを起動していない状態での実行が必要な場合は、Windowsのタスクスケジューラを利用してUWSCのスクリプトを起動させる方法も検討してください。タスクスケジューラはより詳細なトリガー設定が可能です。

これらの情報がお役に立てば幸いです。

編集後記

最近Geminiだけでなく、Aiの精度が抜群に上がってきている。ただChrome使用がデフォルトなので、私が一番使うAiはGeminiになる。最近は次にManus、Perplexityと言った感じ。

2024年の昨年は画像生成の使用が多く、COPILOTを主に使っていたが仕様変更で履歴がメニューから消えてしまってからは、ほとんど使わなくなった。と同時に他のAiでの画像・動画生成が利用できることになったこととブログで使うには、多少不鮮明でも自分で撮った写真の方が、手作り感が出て「好き」かな~という感覚👆

プログラミングでの利用はこれまでにUWSC・ExcelVBAで作ったモノをGASやPythonに変換してもらうことぐらいで一から作ってもらうことはほとんどない。ハードを含めて自分の仕様であれこれ触るのが楽しいので、楽しい部分をAiにやってもらうのは本末転倒となってしまうという思いが強いが、労働だとこうはいかない。

好きなことでも仕事にすると嫌いになることもあるし、嫌いなことでも仕事ならそれほど苦にならないこともある!ってのは、経験してみないと分からない・・・ってのが還暦まで私をやってて分かったこと。だから悩むぐらいなら動けってことなんだろうが、やっぱ無駄だな~と思ってしまうと、ついつい後回しにしてやらなくなっちゃったりする。

「まぁ、暇なら5分程度見てみるか?」程度の感じがベターなんだろうねw
そんな訳で最近はまたブログ記事をちょっとだけ弄ったりしている私であった。

それでは、またね~( ̄▽ ̄)

目次