Microsoft Access Club >Access裏技Tips >このページ >次頁 < 前項 サイト内検索


社内供覧のワード文書をAccessから印刷する : Access裏技Tips



Access側からWordファイルを印刷できればそれに越したことはありません。 ここでは、Wordライブラリーを利用してAccessからWordファイルを印刷する技を紹介します。

ワード文書をAccessから印刷する

  1. 参照設定ダイアログでMicrosoft Word 11.0 Object Lirary(Word2003の場合)を有効にします。
  2. Accessインストール時点では無効になっています。
  3. Access側で作成するのは印刷実行フォーム(frm_sample)です。
  4. このフォームにコマンドボタン(Cmdコマンド)を作成しクリック時イベントプロシージャを利用して、Wordライブラリーを呼び出し印刷します。
  5. 留意点としては、事前にワードファイルの名称と絶対パスをAccess側に記述する必要があります。 サンプルでは、Cドライブに「49sample.doc」ファイルを作成しています。

Microsoft Word *.* Object Lirary の参照設定

  1. Microsoft Word 11.0 Object Lirary の参照設定を行います。
  2. Visual Basic Editor(VBE)画面を開きます。
  3. メニューバーからツールの参照設定をクリックします。
  4. 一覧の中から Microsoft Word 11.0 Object Lirary のチェックボックスにチェックを入れます。

今回のおすすめポイント

Microsoft Word 11.0 Object Lirary

Office2003はバージョンが11.0、続いてAccess2002は10.0、Access2000は9.0、Access97は8.0となります 。

FunctionプロシージャWordPrintの作成

FunctionプロシージャWordPrintを作成します。

Function WordPrint(WordFilePass As String)

On Error GoTo エラー発生

    Dim MyWord As Word.Application ' --- A
    Set MyWord = GetObject(, "Word.Application") ' --- B
    
    MyWord.Visible = True ' --- C
    MyWord.Documents.Open FileName:=WordFilePass ' --- D
    MyWord.Activedocument.PrintOut ' --- E
    MyWord.Application.Quit ' --- F
    Set MyWord = Nothing ' --- G
    
    Exit Function
    
エラー発生:

    If Err.Number = 429 Then ' --- H
        Set MyWord = CreateObject("Word.Application")
        Resume Next
    Else
        MsgBox "エラーNo : " & Err.Number & vbNewLine & vbNewLine & _
               "エラー内容 : " & Err.Description
    End If

End Function
解説
  1. Applicationプロパティを用いて、WordのApplicationオブジェクトを取得します。
  2. GetObject関数を利用して、取得したオブジェクトへの参照をオブジェクト変数に代入します。 ワードファイルが閉じられていると、エラーナンバー429が発生します。
  3. Wordを起動させます。
  4. 引数(WordFilePass)に指定されたワード文書を開きます。
  5. アクティブになっているワードファイルを印刷します。
  6. ワードファイルを閉じます。
  7. 変数MyWordの関連付けを解除します。
  8. エラー処理ルーチンです。ワードファイルが閉じている時エラーナンバー429が発生しますので、CreateObject関数で新しいオブジェクトを作成します。
    Resume Next でエラー発生箇所の次の行からプログラムを再開します。

「印刷実行」のフォームを作成

  1. 「印刷実行」のフォームを作成します。
  2. 非連結フォームを作成し、コマンドボタンを1個配置します。

コマンドボタンのクリック時イベントプロシージャの作成

コマンドボタンのクリック時イベントプロシージャを作成します。

Private Sub Cmdコマンド_Click()

    Dim strmsg As String
    strmsg = "印刷を実行します。"
    
    If vbOK = MsgBox(strmsg, vbOKCancel + vbCritical) Then
        Call WordPrint("C:\49sample.doc") ' --- A
    End If

End Sub
解説
  1. Call関数でFunctionプロシージャ WordPrint を呼び出します。引数には、印刷を行うワードファイルのパスを記述します。

動作確認

  1. 「印刷実行」フォームを開きます。
  2. [Word印刷]コマンドボタンをクリックします。

  1. ワードファイル「49sample.doc」が印刷されます。

関連ページ

ページの先頭へ 前ページへ戻る

 


社内供覧のワード文書をAccessから印刷する : Access裏技Tips


 

-Microsoft Access Club-

cPanel共有レンタルサーバーをディスカウント価格でご提供中...。専用レンタルサーバーも取り扱っています。 : 萬サーバー屋
cPanel共有レンタルサーバーをディスカウント価格で提供。
専用レンタルサーバーも取り扱っています。