アプリ版:「スタンプのみでお礼する」機能のリリースについて

文字変数として保存されている日付の演算を組込み関数で行おうと
debug.print DateDiff("yyyy", DateValue("2001.1.1"), DateValue("2001.10.16"))
debug.print DateDiff("yyyy", "2001.1.1", "2001.10.16")
等やってみたのですが、
実行時エラー13
型が一致しません

となり実行できません。
DateDiff 関数の引数になる「内部処理形式が日付型のVariant」型変数への代入方法をお知らせください。

実行環境
Visual Basic 6.0 SP5
Windows 98 256MB + 32GB-HDD(空き10GB)

A 回答 (2件)

VB6の


http://homepage1.nifty.com/rucio/main/Samples/vb …
日付の差の年数を求める例の
日付(#・・#)のように入れてみたら。ついでに/で区切る方法とか、年月日の壱拾所順序を入れ替えるとか。
#1でご回答の「地域と言語のオプション」が影響かもしれない。
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
には質問と同じ形式も載っているが。
参考ですが、VB.NETですが
http://www.r-nakai.com/archives/81
のような記事もあります。
    • good
    • 0
この回答へのお礼

「地域と言語のオプション」は、恐ろしい。
自前で、日付演算ルーチンを作ったほうが簡単そうです。
RFC 822, RFC 2069 に関係した処理で作ったタイルゾーンの換算ルーチンがあるので、これにちょっと追加して、演算ルーチンに仕立て上げようかと思います。

お礼日時:2009/11/12 01:18

コントロールパネルの「地域と言語のオプション」の設定によってかわるのかもしれませんが、とりあえず、



debug.print DateDiff("yyyy", DateValue("2001.1.1"), DateValue("2001.10.16"))

debug.print DateDiff("yyyy", DateValue("2001/1/1"), DateValue("2001/10/16"))

にしてみると大丈夫じゃないでしょうか。
    • good
    • 0
この回答へのお礼

やってみたら、動きました。
おせわになりました。

お礼日時:2009/11/12 01:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!