| Access Tips by pPoy |
| Word | Access から既存 Word文書を開いて、先頭に日付を入力後上書き保存する (Access2002,Access2003, Word2002,Word2003) |
Access から 既存の Word 文書 を操作する方法です。以下のコードは、既存 Word 文書を開いてから修正後保存するまでの処理です。 修正した Word ファイルは、一瞬で閉じてしまいます。
|
|
|---|---|---|---|
≪準備≫Microsoft Word 11.0 Object Library (Word 2003) に参照設定が必要です。必ずお使いのバージョンを設定してください。 「 C:\Test」 フォルダに、「テスト文書.doc」 という名前の Word ファイルが必要です。ファイルの中味は空でも構いません。 ファイルを準備後、標準モジュールに以下のコードを貼り付けてください。 |
Sub wordAddDate()
'既存 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 docPath As String 'Word文書のパス
Dim docName As String 'Word文書ファイル名
Const wdAlignParagraphRight = 2 '右寄せ
Const wdLineStyleNone = 0 'ライン無し
docPath = "C:\Test\" '★最後に"\"をつける
docName = "テスト文書.doc" '★
Set objWd = CreateObject("Word.Application")
objWd.Documents.Open FileName:=docPath & docName
Set doc = objWd.Documents(docName)
'Word 画面を表示
objWd.Visible = True
'文字入力
Set myRange = doc.Range(0, 0)
With myRange
.InsertParagraph
.InsertBefore Format(Date, "ggge 年 m月 d日")
'書式設定
With .Paragraphs(1)
.Alignment = wdAlignParagraphRight
.Range.Bold = False
.Range.Font.Borders(1).LineStyle = wdLineStyleNone
.Range.Font.Size = 10
End With
End With
'保存して閉じる
doc.Close SaveChanges:=True
objWd.Quit
exit_SUB:
Set myRange = Nothing
Set objWd = Nothing: Set doc = Nothing
End Sub
|
|
≪使い方≫ フォームのどこかにコマンドボタンを作成し、そのクリック時イベントから呼び出してください。 例: Call wordAddDate
←このような感じで、 文書の一番上に日付が追加されます。 ※ この処理で追加されたのは、1行目の日付だけです。 ※ このファイルは、こちら で作成した Word 文書です。 | |||
≪注意≫
| |||
☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
form mail はこちら
Copyright(C) pPoy 2010