• ベストアンサー

Excelの印刷フッターの日付形式

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

  • akey
  • お礼率69% (37/53)

質問者が選んだベストアンサー

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.4

参考になるものがありました。VBのコード解説ですがVBAでもOKのはずです。 GetTimeZoneInformationがキーワードです。 http://www.vbvbvb.com/jp/gtips/0701/gGetTimeZoneInformation.html http://www3.justnet.ne.jp/~takahiro7/api001.html

akey
質問者

お礼

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

その他の回答 (3)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

まず、前回答の捕捉ですが、変数に値をセットした瞬間のものが 「ずっと」保持されますからコード処理日時がすべてのページに 印刷されることをご確認ください。 > ところで、Windowsに設定されているタイムゾーンを読み取って [コントロールパネル]-[日付と時刻]-[タイムゾーン]ですよね。 やり方があるはずですが、今すぐには方法がわかりません。 調べて、わかれば補足しますが、 お急ぎでしたら新たな質問で出して頂いたほうが確実と思います。 > 全世界でこのマクロを使うことになると思いますので。 ご自分の作成したものがとはうらやましいですね。 ではでは。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

すみません。下から3行目が間違ってました。 誤).LeftFooter = "&D&T" 正).LeftFooter = strDateTime

akey
質問者

お礼

早速のご回答ありがとうございます。教えていただいたマクロの中で strDateTime = Format(Now, "MM/dd/yyyy hh:mm:ss AM/PM") というふうにすることでほぼ目的を達成することができました。 ところで、Windowsに設定されているタイムゾーンを読み取って、それをもとに 時刻の最後にJSTとかPSTを付けることはできないでしょうか。小生、外資系の(小さな)会社で全世界でこのマクロを使うことになると思いますので。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

まず「マクロの記録」で設定なさってみてください。 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

関連するQ&A

  • 日付の形式が変わっていた

    WindowsXP-SP1で業務APを動作させています。 あるPCで、知らない間に日付の形式が、「yyyy/MM/dd」から、区切り記号が空白の「yyyy MM dd」に変わっていました。そのため、業務APが正しい日付を判断できず異常な動作をしてしまいました。 この形式は、コントロールパネルの「地域と言語のオプション」で変更できますが、区切り記号の選択肢は「/」、「.」、[「-」の3個しか出てこないため、人が変えたのであれば、「故意」に変えたと思います。しかし通常は変えないものと信じます。 そこで質問ですが、この形式を(無意識のうちに)変えてしまうような ソフトはないでしょうか?(regeditなどシステム変更系ソフトは除く) たとえばEXCELやACCESSで、(あくまでもプログラムミスで)変えることはできるのでしょうか?

  • テキスト形式をエクセルで日付形式で読み込みたいのですが

    販売管理ソフトからデータをテキスト形式で出力すると日付部が2004年1月1日であるとすると「2004 1 1」として出力します エクセルで日付形式で読み込もうとすると「20040101」の場合は読み込めるのですが前述の出力では日付として認識してくれませんでした エクセル側の設定で解決する方法が有ればお教え願います

  • word2002のヘッダー&フッターの日付の表示形式について

    ヘッダーやフッターに自動で日付を入力できるボタンがありますが、その表示形式は、標準では、和暦の平成○年○月○日とでてきますよね。これも、いつも西暦で出すようにあらかじめ設定することはできますか?もしくは、○/○のようなスラッシュのような形式にでも自由に変えることはできるのでしょうか?

  • EXCEL 日付の入力形式

    こんにちは。 日付が、dd/mm/yyyyの形式で入力されたデータをもらいました。 関数を利用したいのでEXCELに日付として認識させたいのですが、 セルの書式設定で設定してもだめなようです。 質問 1)yyyy/mm/ddの形式で入力されていないと日付として認識されないのでしょうか? 2)現在の形式のまま、日付として認識させる方法はありますか? 3)dd/mm/yyyyをyyyy/mm/ddに変換する方法はありますか? 以上、よろしくお願いします。

  • 日付形式の設定変更について

    Win2000を使用しています。 先日、海外へ出張しており日付の形式を「mm/dd/yy」にしてましたので、これを「yyyy/mm/dd」に戻そうと思うのですがうまくいきません。 コントロールパネルの「地域のオプション」-「日付」タブで、カレンダーの種類を「西暦(日本語)」にして、短い形式を「yyyy/mm/dd」にして「適用」をクリックすると、 「無効な文字です」とのエラーが出てしまい、設定の変更が出来ません。 どなたか対処法ご存知ないでしょうか?

  • 地域言語オプションの日付形式を用いての日付編集方法

    コントロールパネルの地域と言語オプションから 地域オプションのカスタマイズ内の日付タブにある 短い形式を元に日付の編集を行おうとしています。 しかしこのまま短い形式をしようすると、 「年月日」の形式を取得してしまいます。 今回の用件では「年月」のみ必要なので「日」の形式を除外した形式で 日付の編集を行う必要があります。 ただしコントロールパネルから日付の形式が変更できる為、 各クライアントの端末毎に日付の形式が異なる為(※1) 単純に文字列の編集で「年月」を取得することが出来ず困っております。 ※1 クライアント毎の日付形式の例と行いたい変換後の形式の例 短い形式 → 変換後の形式 yyyy/MM/dd → yyyy/MM yy/M/d   → yy/M yy/MM/dd' ('ddd')' → yy/MM/ dd/MM/yyyy → dd/yyyy 開発言語は VisualStudio2008 C# で開発を行っています。 皆さんのお力をお貸しいただけないでしょうか。

  • エクセル ヘッダー(フッター)に更新日を挿入

    エクセルで作成・更新した資料を管理する目的で、ヘッダーあるいはフッターに更新日を入れたいのですがどのようにすればよいでしょうか。 「ページ設定」-「ヘッダー/フッター」にある[日付]やTODAY関数では、ファイルを開いた日の日付が入ってしまい、過去に作成した資料も現在の日付で印刷されてしまいますので使えません。 イメージとしては、マクロ(?)を作成して、更新したシートをアクティブな状態にしてマクロを実行するとシートごとに更新日がフッターに挿入されるようなものをです。 さらに、わがままを言えば同一ブック内のシート間に参照がある場合、変更がされる参照先のシートのフッターも変更されると、なおありがたいです。

  • OutlookExpress6でフッターの日付を印刷しない方法

    OutlookExpress6で、受信済みや送信済みのメールを印刷するとフッターに印刷した日付が自動的に入ってしまいますが、これを非表示にする方法はあるのでしょうか?ちなみに、別の質問の回答でIEのページ設定でフッターを変更すると連動する、という回答がありましたので試しましたがダメでした。

  • Excel vba 日付の形式判定

    Excelに日付、開始時間の列があります。 セルの形式をチェックしたいのですが、形式が下記のとおりであるか どう記述すればいいのでしょうか? 日付チェックはisdate関数を使いますが、日付の形式がyyyy/mm/dd、時間の形式がhh:mmであるかの 判定方法を教えてほしいです。 例) 日付    時間  2021/05/01 10:00  H33/05/01   ← yyyy/mm/dd形式でない為、NG   10時00分 ← hh:mm形式でない為、NG 

  • エクセルの日付の表示形式について

    エクセルの表示形式で例えば 2021/1/1 を 2021/ 1/ 1 と表示させる方法はないでしょうか。 ここでは分かりやすいように全角の空白ですが、実際は半角の空白で表示させたいです。 エクセルに日付として認識させたいので表示形式以外の方法は×です。

専門家に質問してみよう