Excelの印刷条件の設定でレフトフッターに日付+時間を表示させるのですが、この日付と時間の形式がWindowsのコントロールパネルの「地域のオプション」で設定した形式に自動的に設定されるようになっています(と思います)。これをExcel上から自分の好みの形式に変換する方法をご存知でしたら教えていただけませんか?
好みの形式は
06/28/2001 06:15:49 PM JST
です。できればマクロでの記述方法を教えたいただければ幸いです。

A 回答 (4件)

参考になるものがありました。

VBのコード解説ですがVBAでもOKのはずです。

GetTimeZoneInformationがキーワードです。


http://www.vbvbvb.com/jp/gtips/0701/gGetTimeZone …
http://www3.justnet.ne.jp/~takahiro7/api001.html
    • good
    • 0
この回答へのお礼

bin-chanさん、教えていただいたAPI関数を使うことで、タイムゾーンの取得うまくいきました。ありがとうございます。これで月曜日朝一番に社内で公開することができそうです。本当に助かりました。今後ともよろしくお願いいたします。

お礼日時:2001/06/29 18:56

まず、前回答の捕捉ですが、変数に値をセットした瞬間のものが


「ずっと」保持されますからコード処理日時がすべてのページに
印刷されることをご確認ください。

> ところで、Windowsに設定されているタイムゾーンを読み取って
[コントロールパネル]-[日付と時刻]-[タイムゾーン]ですよね。
やり方があるはずですが、今すぐには方法がわかりません。
調べて、わかれば補足しますが、
お急ぎでしたら新たな質問で出して頂いたほうが確実と思います。

> 全世界でこのマクロを使うことになると思いますので。
ご自分の作成したものがとはうらやましいですね。

ではでは。
    • good
    • 0

すみません。

下から3行目が間違ってました。

誤).LeftFooter = "&D&T"

正).LeftFooter = strDateTime
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。教えていただいたマクロの中で

strDateTime = Format(Now, "MM/dd/yyyy hh:mm:ss AM/PM")

というふうにすることでほぼ目的を達成することができました。
ところで、Windowsに設定されているタイムゾーンを読み取って、それをもとに
時刻の最後にJSTとかPSTを付けることはできないでしょうか。小生、外資系の(小さな)会社で全世界でこのマクロを使うことになると思いますので。

お礼日時:2001/06/28 19:11

まず「マクロの記録」で設定なさってみてください。



With ActiveSheet.PageSetup
(略)
.LeftFooter = "&D&T"
(略)
End With
のようなコードが記述されるでしょうから"&D&T"の部分に
文字列変数に放り込んだ値をセットすれば良いでしょう.


Dim strDateTime as String

strDateTime = Format(Now, "書式はテストしてね")

With ActiveSheet.PageSetup
(略)
.LeftFooter = "&D&T"
(略)
End With
    • good
    • 0

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


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ