MSDNフォーラムで面白い質問がありました。
・Excel VBA で印刷プレビューを表示し、印刷すると、日付入力のショートカットキーで表示される日付のフォーマットが変わってしまう。
http://social.msdn.microsoft.com/Forums/ja-JP/vbajp/thread/74240763-9b9c-4fcc-838b-45e5f6916f4f
1. Excelで選択中のセルに日付を入力するショートカットキー「Ctrl キー + ; (セミコロン)」、普通なら「yyyy/m/d」形式で日付が入力されるところ、
2. 「ActiveSheet.PrintPreview」で印刷プレビューを表示し、
3. 「印刷」を実行した後に、
4. 「Ctrl キー + ; (セミコロン)」で日付を入力すると、日付が「m/d/yyyy」形式になる。
という質問です。
Windows 7(x86) + Excel 2013(x86)環境で試してみると、たしかに質問者さんが仰っている通りの現象が起こりました。
ファイルタブの印刷からは同じ現象は起きず、個人的にはExcelの仕様というかバグのように思います。
とりあえず、「PrintPreview」ではなく「Application.CommandBars.ExecuteMso “FilePrintPreview”」を使うと、同じ現象が発生しなかったので、「Ctrl キー + ; (セミコロン)」での日付入力を多用し、かつ旧来の印刷プレビューを使いたい方はExecuteMsoメソッドの方を使ってみてはいかがでしょうか。
Option Explicit Public Sub Test1() Application.CommandBars.ExecuteMso "FilePrintPreview" '問題が発生しない End Sub Public Sub Test2() ActiveSheet.PrintPreview '問題が発生する End Sub
この記事へのコメントはありません。