Access Tips by pPoy

  
トップへ←Top    QueryへQuery  FormへForm  ReportへReport  Module(Sub)へSub  Module(Function)へFunction  Excel連携へExcel  Etc.へEtc.  Word連携へWord

Word Access から新規 Word ファイル作成後、保存ダイアログで保存 
(Access2002,Access2003, Word2002,Word2003)
Access から Word 文書 を操作する処理をまとめてみました。

以下のコードは、新規 Word 文書を作成してから保存するまでの処理です。

まず、新規に Word 文書を作成します。
次に最初の段落に文字を入力し、Word の保存ダイアログを表示します。

入力されたファイル名が正しければそのまま保存しますが、開いているファイルを指定した場合は、
一応上書きの確認メッセージは出ますが、最終的にエラーとなり保存はできません。
既存のファイル名の場合は、上書きのメッセージがでます。

作成した Word ファイルは、閉じずに表示しておきます。
≪準備≫
  • Microsoft Word 11.0 Object Library (Word 2003) に参照設定が必要です。
    必ずお使いのバージョンを設定してください。

  • 標準モジュールに以下のコードを貼り付けてください。

Sub wordOpenNew()
On Error GoTo Err_SUB
'新規 Word文書を作成後、保存ダイアログで保存する
'Microsoft Word 11.0 Object Library (Word 2003)
'への参照設定が必要 2010/08/01 pPoy
    Dim objWd As Word.Application
    Dim doc As Word.Document
    Dim myRange As Word.Range
    
    Dim objFileDialog As Object         'FileDialog
    Dim stTitle As String               'タイトル
    Dim stInitialFileName As String     '初期フォルダパス
    
    Const msoFileDialogSaveAs = 2       '名前を付けて保存
    stTitle = "ワードファイル作成テスト"    '★
    stInitialFileName = "C:\Test\"          '★

    Set objWd = CreateObject("Word.Application")
    Set doc = objWd.Documents.Add
    
    '文字入力
    Set myRange = doc.Range(0, 0)
    With myRange
        .InsertParagraph
        .InsertBefore "新しい Word 文書を作成しました。"
        .InsertAfter Now
    End With
    Set myRange = Nothing
    
    'Word 画面を表示
    objWd.Visible = True
    
    '保存ダイアログからの入力を受けて保存
    Set objFileDialog = objWd.Application.FileDialog( _
        FileDialogType:=msoFileDialogSaveAs)
    With objFileDialog
        'ダイアログボックスのタイトル
        .Title = stTitle
        '初期フォルダパス
        .InitialFileName = stInitialFileName

        If .Show = False Then
            'キャンセル時
            objWd.Quit
            GoTo exit_SUB
        Else
            'Word File Save
             .Execute
             doc.Close
             objWd.Quit
        End If
    End With
    
exit_SUB:
    Set objFileDialog = Nothing
    Set objWd = Nothing: Set doc = Nothing
    Exit Sub
    
Err_SUB:
    MsgBox Err.Description
    Resume exit_SUB
End Sub
この頁のTOPへTop
≪使い方≫

フォームのどこかにコマンドボタンを作成し、そのクリック時イベントから呼び出してください。

  例: Call wordOpenNew

実行結果

←このような感じの文書が作成されます。
≪注意≫
  • 同名の Word 文書が開いている場合、一応上書き確認のメッセージがでて、保存できたように見えますが、
    最終的にエラーとなって保存できません。

  • 保存用のダイアログボックスとして、FileDialog オブジェクトを使用しますので、
    Microsoft Office 11.0 Object Library (Access 2003) への参照設定もしたほうが便利です。

  • 保存用ダイアログボックスのタイトルと、デフォルトの保存先 (★の部分) は、それぞれの環境に合わせて変更してください。

  • 作成されたファイルは、閉じずにそのまま表示されます。


この頁のTOPへTop
【念の為の注意書きです。】
このページ(下位ページ含む)の全ての物の無断転載を禁止いたします。
又、当ページ(下位ページ含む)に記載されていることは、全て自己の責任において実行してください。

☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
  form mail はこちら

Copyright(C) pPoy 2010