Excel VBA質問箱 IV

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

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


5158 / 13646 ツリー ←次へ | 前へ→

【52313】ユーザーフォームのスプレッドシートの印刷について 宮崎 07/11/8(木) 0:08 質問[未読]
【52315】Re:ユーザーフォームのスプレッドシートの... ichinose 07/11/8(木) 7:50 発言[未読]
【52338】Re:ユーザーフォームのスプレッドシートの... 宮崎 07/11/9(金) 11:17 お礼[未読]

【52313】ユーザーフォームのスプレッドシートの印...
質問  宮崎 E-MAIL  - 07/11/8(木) 0:08 -

引用なし
パスワード
   現在VBA内でフォームを作りその上でOfficeWebコンポーネント(スプレッドシート)
を使いエクセルの表らしきものを表示させているのですが、
そのスプレッドシートのみを印刷したい場合はどのようにすればいいのか
かなり探してみたのですがどうしても見当たりませんでした。
もし解決策が御座いましたら教えていただけるでしょうか。

【52315】Re:ユーザーフォームのスプレッドシート...
発言  ichinose  - 07/11/8(木) 7:50 -

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

>現在VBA内でフォームを作りその上でOfficeWebコンポーネント(スプレッドシート)
>を使いエクセルの表らしきものを表示させているのですが、
>そのスプレッドシートのみを印刷したい場合はどのようにすればいいのか
>かなり探してみたのですがどうしても見当たりませんでした。

私もスプレッドシートを利用したコードは多いです。
ただ、そのシート内容を直接印刷することはあまりなかったです。

スプレッドシートはバージョンによってかなり進化しているので
新しいバージョンのものは確認できませんが、Spreadsheet10.0で
確認すると、それらしいメソッドはありません。

Exportというメソッドがありますから、一度Excelブックとして保存後に
対象ブックを開いて印刷という手順で表示イメージと同じ内容が印刷可能です。

例は、コッマンドボタンクリック時に印刷する例です

Private Sub CommandButton1_Click()
  Dim bk As Workbook
  Spreadsheet1.Export ThisWorkbook.Path & "\exp.xls", ssExportActionNone
  Set bk = Workbooks.Open(ThisWorkbook.Path & "\exp.xls")
  bk.Worksheets(1).PrintOut
  bk.Close False
End Sub

試してみてください。

【52338】Re:ユーザーフォームのスプレッドシート...
お礼  宮崎 E-MAIL  - 07/11/9(金) 11:17 -

引用なし
パスワード
   なるほど!有難う御座います、下記のとおりでうまく行きました!
丁寧に教えていただきまして大変有難う御座いました(礼

>Exportというメソッドがありますから、一度Excelブックとして保存後に
>対象ブックを開いて印刷という手順で表示イメージと同じ内容が印刷可能です。
>
>例は、コッマンドボタンクリック時に印刷する例です
>
>Private Sub CommandButton1_Click()
>  Dim bk As Workbook
>  Spreadsheet1.Export ThisWorkbook.Path & "\exp.xls", ssExportActionNone
>  Set bk = Workbooks.Open(ThisWorkbook.Path & "\exp.xls")
>  bk.Worksheets(1).PrintOut
>  bk.Close False
>End Sub
>
>試してみてください。

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