Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13020 / 13644 ツリー ←次へ | 前へ→

【7309】印刷プレビューVBAで固まる プーさん 03/9/2(火) 11:36 質問
【7310】Re:印刷プレビューVBAで固まる INA 03/9/2(火) 11:48 回答
【7324】Re:印刷プレビューVBAで固まる ichinose 03/9/2(火) 16:21 回答
【7333】Re:印刷プレビューVBAで固まる プーさん 03/9/2(火) 17:49 質問
【7353】Re:印刷プレビューVBAで固まる ichinose 03/9/3(水) 7:43 発言
【7417】Re:印刷プレビューVBAで固まる しのしの 03/9/4(木) 14:13 回答
【7425】Re:印刷プレビューVBAで固まる ichinose 03/9/4(木) 17:07 お礼

【7309】印刷プレビューVBAで固まる
質問  プーさん  - 03/9/2(火) 11:36 -

引用なし
パスワード
   標準モジュールに指定したシートの
印刷プレビューを表示するプロシージャ
を書きました。

Public Sub User_PrintPreview()

  Dim prtArea As String
  
  Worksheets("Sheet1").Activate
  prtArea = ActiveCell.CurrentRegion.Address
  ActiveSheet.PageSetup.PrintArea = prtArea
  ActiveSheet.PrintPreview
  
End Sub

そして、フォーム上に配置したボタンから
呼び出しました。
Private Sub CommandButton1_Click()

Call User_PrintPreview

End Sub

そうすると、プレビュー画面は表示されるのですが、
Excelが固まってしまい、タスクマネージャからの強制
終了しかできなくなりました。

しかし、VBAのエディタから、User_PrintPreview を
選んで実行すると、正しく表示されます。

解決方法がありましたら、お教えください。

【7310】Re:印刷プレビューVBAで固まる
回答  INA  - 03/9/2(火) 11:48 -

引用なし
パスワード
   再現しないですし、マクロコードに問題があるようにも思えません。
ご使用の環境に不具合があるのではないでしょうか?

【7324】Re:印刷プレビューVBAで固まる
回答  ichinose  - 03/9/2(火) 16:21 -

引用なし
パスワード
   ▼プーさん さん:
こんにちは。
現象確認しました。というか、私も経験ありました。
フォームは、モーダルモードで表示されていますよね?
>標準モジュールに指定したシートの
>印刷プレビューを表示するプロシージャ
>を書きました。
>
>Public Sub User_PrintPreview()
>
>  Dim prtArea As String
>  

>  Worksheets("Sheet1").Activate
>  prtArea = ActiveCell.CurrentRegion.Address
>  ActiveSheet.PageSetup.PrintArea = prtArea
>  ActiveSheet.PrintPreview
>  
>End Sub
>
>そして、フォーム上に配置したボタンから
>呼び出しました。
>Private Sub CommandButton1_Click()
me.hide
>Call User_PrintPreview
me.show
>End Sub
>
としてみては?
フォームがひとつだけの時は、上記のように簡単なコードですみますが、
フォームがネスト表示されていたりすると、その全てを非表示にしなければなりません。

【7333】Re:印刷プレビューVBAで固まる
質問  プーさん  - 03/9/2(火) 17:49 -

引用なし
パスワード
   ▼ichinose さん:
>こんにちは。
>現象確認しました。というか、私も経験ありました。
>フォームは、モーダルモードで表示されていますよね?

そうです。モーダルモードでした。
おっしゃるとおり、
Me.Hide と
Me.Show
で挟むと、上手くいきました。一生懸命、調べたのですが、
このようなテクニックは、どの本にも載っていませんでした。
本当に、ありがとうございました。

もう一つ、続きの質問をさせていただきたいのですが、
このように、プレビュー画面を表示したとき、ユーザに
設定を変えられたくないので、プレビュー画面の
「余白」や「設定」ボタンを使えなくする方法は
ないでしょうか。

【7353】Re:印刷プレビューVBAで固まる
発言  ichinose  - 03/9/3(水) 7:43 -

引用なし
パスワード
   ▼プーさん さん:
おはようございます。

>もう一つ、続きの質問をさせていただきたいのですが、
>このように、プレビュー画面を表示したとき、ユーザに
>設定を変えられたくないので、プレビュー画面の
>「余白」や「設定」ボタンを使えなくする方法は
>ないでしょうか。
↑できるのなら、私も知りたいです。

印刷用又は、レイアウト表示用のブックはそれ専用として使っていますから
設定等で変更されても保存しないようにして逃げました。

【7417】Re:印刷プレビューVBAで固まる
回答  しのしの  - 03/9/4(木) 14:13 -

引用なし
パスワード
   印刷プレビューメソッドの引数 EnableChangesをfalseに設定すれば、
ユーザがプレビュー画面で印刷設定を変更することができなくなります。
<例>
 ActiveWorkbook.PrintPreview enablechanges:=False

はずしていたらすみません。

【7425】Re:印刷プレビューVBAで固まる
お礼  ichinose  - 03/9/4(木) 17:07 -

引用なし
パスワード
   ▼しのしの さん:
こんにちは。
>印刷プレビューメソッドの引数 EnableChangesをfalseに設定すれば、
>ユーザがプレビュー画面で印刷設定を変更することができなくなります。
><例>
> ActiveWorkbook.PrintPreview enablechanges:=False
>
>はずしていたらすみません。
HELPには、書いてなかったけど、オブジェクトブラウザで
PrintPreviewを探したら、

Sub PrintPreview([EnableChanges])
とありました。
メモメモ・・・。
ありがとうございました。

13020 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free