
http://blog.livedoor.jp/goji_da_tsuji/archives/5 …
このページにある方法を使って
ファイルの作成日時や更新日時を書き換えたいと考えています。
そのためには
date型の変数に任意の日時を代入する必要があります。
(例:2015年2月24日16:23:16)
date型の変数は
http://www.exvba.com/blog/?p=1721
このページにあるように
1899年12月30日から起算して何日目にあるかを代入する必要があります。
年によって日数が異なるため、単純に365を年数にかけるというわけにはいきません。
どうすれば
任意の日時をdate型で宣言した変数に代入することができますか?
No.4ベストアンサー
- 回答日時:
#2の回答者です。
回答の意味が違ったのでしょうか?
>年と月と日が変数として
>与えられている場合にはどうしたら良いですか?
私は、# ~# のような日付リテラル値というのは、なるべく使わないようにしています。
これは、ひとつのVB系の書法とかいうものですね。だから、DateValueも同じなのです。
年, 月, 日が与えられていれば、DateSerial(年, 月, 日)ですね。
決められた所に、決められたものを入れるほうが確かだと思います。
DateValue とか、Windowsのローカル設定に依存したはずですね。
まあ、日本とアメリカの場合は、年の部分だけですから、切り替わりますが。
ご質問の場合は、
(例:2015年2月24日16:23:16)
dTimeStamp = DateSerial(2015, 2, 24) + _
TimeSerial(16, 23, 16)
No.3
- 回答日時:
>年と月と日が変数として与えられている場合にはどうしたら良いですか?
DateValue関数とTimeValue関数を使うのでしょう。
x = DateValue(year0&"-"&month0&"-"&day0)+TimeValue(hour0&":"&minute0)
No.2
- 回答日時:
こんばんは。
http://www.exvba.com/blog/?p=1721
こういうものは、日付リテラルと言いますが、今回のお話とは、別ものです。
>1899年12月30日から起算して何日目にあるかを代入する必要があります。
これを日付シリアル値と言いますが、日付があれば、それがPCの中で、自動的に変換されるものなのです。
つまり、例えば、 SerialNumber = CLng(Date) このようにすると、累計の日付のシリアル値が出てきます。
さて、今回の書き換えですが、
「任意の日時をdate型で宣言した変数に代入することができますか?」
という意味は、私には、よく分かりませんが、ファイルがあるなら、ファイルのタイムスタンプを使えばよいと思います。
以下は、途中までですが、*関数のFileDateTimeを使いました。
Scripting.FileSystemObject の、DateLasteModified でも良いのですが、オブジェクトを通す関係で、遅くなるような気がしまた。
出力は、すでに、Date型になっていますから、そのまま変数 dTimeStamp に入れてしまいました。
'//
Sub SetFileTimeStamp24()
'----省略-----
sFolder = "C:\Data\DataProject\AudioVisual\DVD\24\"
sFileName = Dir(sFolder, vbNormal)
If sFileName <> Space(0) Then
Do While sFileName <> Space(0)
myDate = FileDateTime(sFolder & sFileName) '*日付+時間
myTime = myDate - Int(myDate) '**時間
dTimeStamp = DateSerial(2011, Month(myDate), 24) + _
TimeSerial(Hour(myTime), Minute(myTime), 0) '日付だけでなく、時間も変えられる
' 作成日時を更新する
'----省略-----
No.1
- 回答日時:
>任意の日時をdate型で宣言した変数に代入することができますか?
こう云う事?
任意の日付を変数に入れるときには #でくくります。
一例
mydate=#2015/3/30#
ありがとうございます。
年と月と日が変数として
与えられている場合にはどうしたら良いですか?
year0 = 2015
month0 = 3
day0 = 30
の場合
mydate = "#" & year0 & "/" & month0 & "/" & day0 & "#"
というようにしても
型が一致しませんと出てうまくいかないのですが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Excel(エクセル) DATE関数で指定する「日」のセルが関数の場合の対処法 5 2022/09/14 15:46
- Excel(エクセル) Excel ある複数列に数値を入力した際に、別の列に本日の日付を入力したいです 7 2023/03/01 23:31
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Excel(エクセル) エクセルの数式で教えてください。 3 2022/12/22 17:29
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Visual Basic(VBA) 過去日付、年の切り替え 6 2022/05/26 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件演算子 ? :
-
インクリメント演算子の前置(+...
-
テキストボックスの値を変数に...
-
i++と++i ってどう違うのですか?
-
C言語 列挙型(enum型)変数について
-
エラーの意味は? Lvalue req...
-
Borland C++ Compiler 5.5の警...
-
javascriptがわからない
-
クラス中でコンストラクタを使...
-
マクロでの複素関数の計算
-
EXCEL/VBA 変数の値をクリップ...
-
C++について
-
二つのint型配列を一つにするに...
-
演算子の意味は何でしょうか。...
-
シェルスクリプトでPHPのchr()
-
VBAでコマンドプロンプトの結果...
-
Windows11のカメラで動画を撮り...
-
フォームを開くときに、コンボ...
-
Nullってどういう意味ですか?
-
<a href=…>がうまくいかない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
EXCEL/VBA 変数の値をクリップ...
-
jsp~jspにhiddenを使って変数...
-
[VBS]変数を定数に変換する方法...
-
テキストボックスの値を変数に...
-
Variant型で宣言してるのにEmpt...
-
エラーの意味は? Lvalue req...
-
整数xxxが大き過ぎますというエ...
-
C言語 列挙型(enum型)変数について
-
VBA 1行で複数の代入を行った...
-
gridViewの行選択解除
-
PL/Iについて、教えてください。
-
JavaScriptをURLから直接実行し...
-
Accessコンボボックスにレコー...
-
プログラミングで変数と関数の...
-
【VBA】複合代入演算子
-
ASP+SQLにてSessionがNullになる
-
無名関数のメリットがよくわか...
-
processing エラーで、 "cannot...
-
VBAプログラミングで質問です ...
おすすめ情報