|

|
|
 |
5.10 レポートの印刷 |
 |
|
|
|
|
|
Accessのレポートを印刷する方法です。アクセスオブジェクトのDoCmd.OpenReportというメソッドを使います。
Accessのレポート機能をうまく使い印刷用の高価なOCXを買わずに済ませる…なんてことや、もちろんバッチ処理で定期的に自動で印刷したり、夜間に印刷しておいたり、なんてこともできます。
|
|
|
|
|
|
|
|
|
|
DoCmd.OpenReportメソッドの使い方です。こんな順序でパラメタを指定します。
アクセスオブジェクト.DoCmd.OpenReport (1) ,(2)
|
指定するパラメタは2つです。(1)にレポート名、(2)にacViewNormalを指定します。なお、acViewNormalというのは印刷するという意味で、(2)に指定できる物は以下のようなものがあります。
| acViewNormal |
印刷します。もちろん、プリンタに出ます。 |
| acViewDesign |
デザインビューで開きます。印刷されません。 |
| acViewPreview |
印刷プレビューで開きます。印刷されません。 |
下の2つはAccessの画面上で表示するときの使う物です。印刷したいのだから、迷わずacViewNormalだね!
|
|
|
|
|
|
|
|
|
|
DoCmd.OpenReportメソッドの使い方です。例では、c:\happyというフォルダに入っているisland.mdbというMDBファイルを開き、その中に入っている一覧表というレポートを印刷しています。もちろん、実行すると直接プリンタへ出てきます。
レポートを印刷するとき、印刷内容の編集など何らかの処理が必要だったりすることが多いと思います。が、そこまでVBS(WSH)で…ってのは無理な話なので、そんなときはVBS(WSH)の方ではAccessのレポート印刷をキックするまでを担当、その後の詳細な編集処理はAccessのレポート内に埋め込んだプログラム(VBA)に任せてしまうと良いですよ。
こっちがメイン(実行する方)。ファイル名はReportMain.wsfで作成
|
<job id="AccessJob">
<!-- Accessのライブラリを宣言(Accessの定数を使うため) -->
<reference guid="4AFFC9A0-5F99-101B-AF4E-00AA003F0F07"></reference>
<script language="VBScript" src="Report.vbs"></script>
<script language="VBScript">
'主となる処理はReport.vbsにあるので呼び出します
Call prcMain
</script>
</job>
|
ちなみに、Accessを終了する方法は5.11 Accessを終了するを見てくださいね。
こっちは実際の処理を行う方。ファイル名はReport.vbsで作成
|
Option Explicit
Dim objAccess
Sub prcMain()
'Accessオブジェクトを作成します
Set objAccess = CreateObject("Access.Application")
'Access画面を表示します
objAccess.Visible = True
'元となるMDBファイルを開きます
objAccess.OpenCurrentDatabase("c:\happy\island.mdb")
'レポートを印刷します
objAccess.DoCmd.OpenReport "一覧表", acViewNormal
'MDBファイルを閉じます
objAccess.CloseCurrentDatabase
Set objAccess = Nothing
End Sub
|
※例では、Accessの画面をわざと表示しています
|
|
|
|
|