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関連

    選択中の表の行数を取得するWordマクロ

    「Word VBA 表 行数」といったキーワード検索でのアクセスがあり…

  2. Power Automate for desktop

    [Power Automate for desktop]他ブックのマクロを実行する方法

    2022年1月のアップデートで、「Excel の起動」アクションでEx…

  3. Office関連

    [Excel Services ECMAScript]ActiveWorkbookのシート数を取得す…

    埋め込んだExcelワークブックのシート数を取得するコードです。 …

  4. Office関連

    Office 2013 Consumer Preview(カスタマー プレビュー)をインストールして…

    2012/10/26 追記:RTM版公開に伴い記事を追加しました。…

  5. Office Scripts

    デスクトップ版ExcelでOffice スクリプトとして操作を記録できるようになりました。

    ※ 本記事で紹介している機能はプレビュー版に基づいており、今後のアップ…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP