・・・検索ワード "おきつねさま" だけで載るようになった^_^; (70件圏内)
気まぐれで、以前シゴトで使ってたVBScriptとかの持ちネタを放出しだしたからか?w
そお云う引き出しなら まだまだあるのだがw♪
2009/03/09
ググるさん1ページ目に・・・
VBScriptで日付処理 それから・・・
C++で作成してる別アプリが完了次第、
VBScriptでの日付処理最終版にとりかかる予定。
ただ思うに、C++で .NetFrameworkを利用して、
日付関連の文字列返すActiveXオブジェクトを組んだほうが効率良い様な気も・・・
シェアウェアなら似たようなのあるみたいだけど、
VisualBasic関数のラッパーDLL VBWRAP ver1.00 |
Excelワークシート関数に・・・
DateSerialがナイことに、さっき気がついた・・・
ナニをイマサラと云われそうだが、ソレもソノ筈、
'---------------------------------------- |
Worksheet上で
=iDateSerial(2009,3,0,"yyyy/mm/dd") |
当然、引数はセル参照を指定できるので、当時は それなりに使えたよ。
ちなみに、今日追加したのは、文字列返しの部分と、不正入力対応・・・
デモ、ホントに使うのなら、不正値での動作は、エラーを返すほうがイイのかも知れない・・・
そうしたい場合は、※印の行を消して使ってくださいなっと♪
P.S. コッチのほうが無難かも・・・
'---------------------------------------- |
VBScriptで月末日取得 最強処理・・・
つか、VBSで無くとも応用できます、閏とか一切気にしなくてイイです。
今日の月の月末日は ってのは
n = Now() |
優良サイトではないので変数宣言省いてマスΨ(`∀´)Ψ
単に日付が欲しいだけで、イチイチ閏なんて計算してらんないって、バカらしくてw
ただ、税額処理だの、給与計算だのってぇのでは、意外に使える(実際使ってた)
+1 0 ってトコがツボ。大体殆どの開発環境で使えるし、
Excelワークシート関数なら
=DATEVALUE(YEAR(NOW())&"/"&MONTH(NOW())+1&"/1")-1 |
Excel/AccessなどのVBAでも有効な手段。
Dim nYear As Integer ,nMonth As Integer |
Excelに対し、DateControls.xlaと云うExcelAddinファイルをツクって、
モジュールにFunctionsと銘打って、その中に記述していた関数、
Public宣言とApplication.Volatile記述で、ワークシート関数として使っていたブツ。
'---------------------------------------- |
しかし、最近はExcelも使わなくなったなぁ・・・
って、職があった頃から、Excelには見切りつけて、
数百MB規模のデカいデータは、VBSで適宜処理して、AccessやSQL鯖にブチ込んで処理してたケドねww
つか、プーしてる今となっては、無用の長物だけどねww
<月末 日付取得 うるう Excel Access VBA>
云うたトコロで所詮・・・
元々Excel&AccessVBA使いが、以前、仕事の都合でVBScriptに手を出したので、移植モノも多いのデス。
なので、時折間違って、
Public Function |
まぁ、日付に関しては、Script系では、VBAの使い良さに勝てないデスね・・・
・・・VBA:VisualBasic for Applicationの略
MSOffice製品のマクロ機能を司ってるのがコイシ。・・・って既知だろな、どうせ;
当然本家VisualBasicも、同様に処理できるので、
以前紹介したような、複雑なスクリプトなど無用の長物そのものなのデス。
だったらナンで書いたのか・・・ ソコに山があったのデス! (VBSで)ドコまでやれば、
そのヘン近づけられるかってのに興味があっただけなのデスww
VBScript実行が抑制される?・・・
VBScriptの.vbsファイルは、一部のセキュアアプリで実行が許可されないか、
実行確認画面をクリックする必要に迫られることがある。
(KingS●ft製のでヤラれたコトがある、数年前に・・・)
タスクで自動動作させたい向きには非常に厄介だ。
それらを避けたい場合は、.vbsファイルをエンコードして利用するコトで、
セキュアを維持しつつの自動化への解決となることが多い。
エンコード後の拡張子は .vbe
肝心のエンコーダは、 WindowsScriptEncoderと云うのが、
Microsoftサイトで配布(要認証)されているので、利用されたし。
ソースを読まれたくない場合などにも良いかと・・・w
VBScriptで鯖管理 そにょ1・・・
Update 20090311 0300
ココのScriptも、以後のログにアーカイブ用意しました。 |
Windowsのタスクに登録して、日毎フォルダを作成するだけのスクリプト。
当然設定は 1日1度 00:00 に 動作させる。
なんでそんなモノ要るのかって?
毎日定点で写真を撮ってるので、保存毎にフォルダ作るのが面倒になったからwww
ちなみに、ココで公開したスクリプトは、元々コレ向けだったものが多いですww
今回の分は、以前の仕事で、
"起動後、特定条件の日だけにデータ取得を動作させるよう、処理を自動化してくれ"
と依頼されて創ったモノをバラし、その断片に、新たな構想を加えて作成したモノです。
(確か、六曜で云う、大安 の日だけって指定だったと思う 当然Windowsのタスクにそんな器用な設定はない。)
iniファイル配置で、複数フォルダを対象に出来るのが、ちょっとだけ凝った点w
つか、コレに関しては、用途的に必須だったってのが事実^_^;
と云うのも、タスクにvbsやvbeを登録する場合、
ソレ自体はスクリプトであって、実行する本体ではないので、パラメータの指定が出来ないと云う罠が・・・
もっとも、ランタイム自体から記述してしまえばイイのだろうが、面倒だ。
どうせなら単純登録だけで使いたい・・・ と云う なんとも手抜きな欲がココまでさせたとも云える・・・
それに、複数のフォルダに同処理を施したかったってものあったので、iniファイルを読み込むカタチにしたと(´ヘ`;)
デキルコトはってぇと、指定フォルダ配下に、
[指定したフォルダ] |
指定したターゲットフォルダは、既存していることが必須で、ない場合、処理は実行されません。
自動でターゲットフォルダを作成する処理も検討しましたが、セキュリティ的に疑問を感じた為ヤメました。
書式)
DateFolderCreate.vbe {対象フォルダ名{,対象フォルダ名} |
パラメータ無指定の場合
[スクリプトを起動したフォルダ] |
コマンドラインやショートカットからの、パラメータ指定起動の場合、
[指定したフォルダ] |
また、スクリプトが配されているフォルダに、スクリプトと同名のiniファイルがあり、
C:\Target,C:\Target\Target |
C:\Target |
C:\Target |
指定先に、対象が既存の場合は、スキップするようになっているので、殆ど意識無く使えます。
毎度のコトながら、役割ごとに関数化してあるので、流用もしやすいかと・・・
▼ウチの鯖たん上で、実働してるスクリプトそのもの・・・^_^;
'***** ↓↓↓ScriptTitle↓↓↓ ********************************************************* |
って、以前のログから読んでるヒトには、使用関数周り、ドコかで見覚え感ありありでしょうが、
まぁ、御愛嬌と云うコトでww
・・・つか、こんなのに用がある閲覧者が居るのかってコトのほうが、いささか疑問だが(´ヘ`;)
<そのまま使えるVBScript 日付 フォルダ 作成 自動化 複数 ルートフォルダ 指定可能>
もう・・・
いい加減、StyleSheetの宣言が鬱陶しくなってキタので、外部ファイル化した。
・・・って、単に今までのを集約して、テキストに貼っつけて、cssファイル作っただけなんだけどねw
ただ、自鯖上の各テストサイトの分、管理グダグダになってたのでスッキリした。
登録:
投稿 (Atom)