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

[Office用アプリ]プリインストールされたアプリを「個人用アプリ」から削除する。前のページ

[OneNote]クリップボードから新しいページに貼り付け次のページ

関連記事

  1. Office アドイン

    [Office用アプリ]メールアプリの配置方法

    OutlookやOutlook Web App上で動作するメールアプリ…

  2. Office関連

    スライドショーをループ再生設定するPowerPointマクロ

    PowerPointでスライドショーを作成するとき、投影した後流しっぱ…

  3. Office関連

    ファイルをBase64エンコード・デコードするVBAマクロ

    以前書いたファイルのBase64エンコード・デコード処理を行うVBAマ…

  4. Office関連

    PhpSpreadsheetを使ってPHPからExcelファイルを出力してみる。

    一年半ほど前、「PHPWord」を使ってPHPからWordファイルを出…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP