次の方法で共有

VBAから印刷プレビューして印刷すると、日付入力のショートカットがおかしくなる

Anonymous
2014-09-16T08:57:40+00:00

御世話になります。

Excel では、[CTRL]+[;] が今日の日付が入力できるショートカットキーとなっており、

通常 yyyy/m/dの形式で日付が入力されるかと思います。

ところが VBAマクロで ActiveSheet.PrintPreview を実行し、印刷を実行すると、

どういうわけか、同じショートカットキーで m/d/yyyy の形式で入力されるようになります。

(確定前の話ですので、セルの書式設定等は関係ないと思われます。

ちなみにそのままENTER を押しても日付と認識されません。)

印刷プレビューだけ実行し、印刷しない場合にはこの問題はおきません。

印刷プレビューについては、ActiveSheet.PrintOut Preview:=True としても

同じ問題が発生しますが、

プレビューせずに、ActiveSheet.PrintOut で印刷したり

Application.CommandBars.ExecuteMso "PrintPreviewAndPrint"

としてバックステージビューから印刷する場合には問題は起きないようです。

しかし、ActiveSheet.PrintOut

の方が大きく表示出来ますので、出来ればこちらを使いたいわけです。

OSやExcelのバージョンが関係するか分かりませんが、

OSは Windows7 Proffessional (32bit) 、Excel は Excel 2010 です。

いずれも日本語です。

問題が起きた後元に戻す手段も分かりません。

Excel を別プロセスで、もう一つ立ち上げると、そちらでは正常(yyyy/m/d)に入力出来ますので、

OS側の設定等を書き換えてしまっているというようなわけでもなさそうです。

回避方法、ないしは元に戻す方法がありましたら御教示下さい。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

2 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2014-09-17T09:21:19+00:00

    ご返信ありがとうございます。

    VBAコードについては、実際には長いマクロを使用していますが、原因を切り分けるため、分割して実行してみた結果、質問に書いていますように、PrintPreviewメソッドを実行し、そのまま印刷プレビュー画面から印刷を実行

    すれば現象が起きることを確認しております。

    この現象は、イミディエイトウィンドウで1行だけで実行しても発生します。

    また、別のPC(Windows7)の、Excel 2013 でも発生します。

    VBAのフォーラムでも質問してみます。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2014-09-17T06:13:09+00:00

    light_userUG さん、こんにちは。

    マイクロソフト コミュニティをご利用いただき、ありがとうございます。

    VBA で ActiveSheet.PrintPreview を実行し印刷すると日付の形式が変わってしまうということなのですね。

    VBA 実行で現象が見られることから、 VBA のコードに変更などが必要かを確認してみるとよいかもしれません。

    専門の VBA フォーラムがあるので、こちらのフォーラムにも質問を投稿し、回避方法について情報を集めてみてはいかがでしょう。

    もしかすると同じような経験をお持ちの方から情報が得られるかもしれません。

    Visual Basic for Application (VBA)

    投稿される場合は VBA コード全文を書き込んで質問されると、回答がより集まりやすくなると思います。

    せっかく質問をしていただいたのにお手数ですが、上記フォーラムのご利用も検討なさってみてください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません