Office関連

[Excel VBA]PrintPreview後に印刷するとCtrl+;の日付形式が変わる?

MSDNフォーラムで面白い質問がありました。

・Excel VBA で印刷プレビューを表示し、印刷すると、日付入力のショートカットキーで表示される日付のフォーマットが変わってしまう。
http://social.msdn.microsoft.com/Forums/ja-JP/vbajp/thread/74240763-9b9c-4fcc-838b-45e5f6916f4f

1. Excelで選択中のセルに日付を入力するショートカットキー「Ctrl キー + ; (セミコロン)」、普通なら「yyyy/m/d」形式で日付が入力されるところ、

ExcelVBA_PrintPreview_01

2. 「ActiveSheet.PrintPreview」で印刷プレビューを表示し、

ExcelVBA_PrintPreview_02

3. 「印刷」を実行した後に、

ExcelVBA_PrintPreview_03

4. 「Ctrl キー + ; (セミコロン)」で日付を入力すると、日付が「m/d/yyyy」形式になる。

ExcelVBA_PrintPreview_04

という質問です。
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

関連記事

  1. Office関連

    Outlookの予定本文の一部を文字装飾するVBAマクロ

    Outlookの予定本文の一部をマクロで太字にしたい」との質問がありま…

  2. Office関連

    [Excel Services ECMAScript]ループによる入力と一括入力の処理時間について

    埋め込んだExcelワークブックのセルに対して、ループで1セルずつ入力…

  3. Office関連

    [閑話]Wordの「線種とページ罫線と網かけの設定」って英語版では何っていうの?

    Officeの機能について調べるとき、日本語での情報が無いときは英語圏…

  4. Office関連

    インストールされたフォントの一覧を取得するVBAマクロ

    最近自分の周りでPowerPoint VBAが流行っているようだったの…

  5. Office関連

    [Office 2013]オンライン テンプレートを無効にする。

    前回の記事ではOffice 2013でSkyDriveを無効にする方法…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP