Windows XPで、ファイルの作成日時、更新日時、アクセス日時をコマンドラインで変更する方法をアレコレ調べたけど、なんか厳しそうなので、いっそオレオレツールでもつくるか、と思ってVisualStudio立ち上げてみたのでメモ。
以下みたいな感じで3行でいけた。
System.IO.File.SetCreationTime(sFilePath, dDate)
System.IO.File.SetLastAcccessTime(sFilePath, dDate)
System.IO.File.SetLastWriteTime(sFilePath, dDate)
ちなみにPowerShellいれたら(Windows7だったら)、こんなん作らなくても、コマンドでさくっといけるっぽい。
旧日記 http://blog.good-day.net/~tani/diary/ から、こっちへ本格的に移転中。
本ページは谷 列樹(たに つらき)の備忘録です。
実在の団体・人物とは関係ないと思います。
2012年1月17日火曜日
2012年1月10日火曜日
VBAのApplication.FileSearchの高度なオプション
Excel 2003 VBAでApplication.filesearch使ってて、最終更新日が、ある日付以降のファイルだけ抽出したいな、と思ったので試行錯誤。とりあえず適当にググると以下のページ発見。
http://msdn.microsoft.com/en-us/library/aa191056(v=office.10).aspx
欲しかったのは、日付と日付に挟まれたのじゃなくて、ある日付から現在までのものだけど、これと大体おんなじようにやればいけるかな、と、目処がたったので、さらにググると以下発見。
http://msdn.microsoft.com/fr-fr/library/microsoft.office.core.filesearch.lastmodified(v=office.11).aspx
http://msdn.microsoft.com/ja-jp/library/microsoft.office.core.msocondition(v=Office.11).aspx
んで多分、↓みたいな感じでいけるかな、と思ったら、さっぱり動かない。
Call Application.FileSearch.PropertyTests.Add("Last Modified", msoConditionOnOrAfter, "4/1/09")
アレコレ試して、日本語環境だと以下が正解だとわかった。
Call Application.FileSearch.PropertyTests.Add("最終更新日", msoConditionOnOrAfter, "2009/4/1")
日本語環境ではプロパティの設定が変わるってのはありがちな話だけど、まさかメソッドに日本語いれなあかんとは盲点だったので、メモ。
ただ、そもそもExcel 2010だとこの方法使えないので、どーすっかなー。。。
http://msdn.microsoft.com/en-us/library/aa191056(v=office.10).aspx
欲しかったのは、日付と日付に挟まれたのじゃなくて、ある日付から現在までのものだけど、これと大体おんなじようにやればいけるかな、と、目処がたったので、さらにググると以下発見。
http://msdn.microsoft.com/fr-fr/library/microsoft.office.core.filesearch.lastmodified(v=office.11).aspx
http://msdn.microsoft.com/ja-jp/library/microsoft.office.core.msocondition(v=Office.11).aspx
んで多分、↓みたいな感じでいけるかな、と思ったら、さっぱり動かない。
Call Application.FileSearch.PropertyTests.Add("Last Modified", msoConditionOnOrAfter, "4/1/09")
アレコレ試して、日本語環境だと以下が正解だとわかった。
Call Application.FileSearch.PropertyTests.Add("最終更新日", msoConditionOnOrAfter, "2009/4/1")
日本語環境ではプロパティの設定が変わるってのはありがちな話だけど、まさかメソッドに日本語いれなあかんとは盲点だったので、メモ。
ただ、そもそもExcel 2010だとこの方法使えないので、どーすっかなー。。。
登録:
投稿 (Atom)