| Access Tips by pPoy |
| Word | Access から既存 Word文書を開いて、1行目に見出し項目を挿入し全文書を表に変換する (Access2002,Access2003, Word2002,Word2003) |
Access から 既存の Word 文書 を操作する方法です。以下のコードは、既存 Word 文書を開いて表に変換する処理です。 既存文書の1行目に見出し項目を挿入後、表のオートフォーマットを適用します。 修正した Word ファイルは、保存せずに開いたままです。
|
|
|---|---|---|---|
≪準備≫Microsoft Word 11.0 Object Library (Word 2003) に参照設定が必要です。必ずお使いのバージョンを設定してください。 ![]() 「 C:\Test」 フォルダに、「フォント名.doc」 という名前の Word ファイルが必要です。 ←左のような、 フォント名の一覧ファイルを用意してください。 準備ができたところで、 以下のコードを標準モジュールに貼り付けます。 | |||
Sub wordConvertToTable()
'既存 Word文書を開いて、1行目に見出し項目を挿入し、
'全文書を表に変換する。保存はしない。
'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 myTable As Word.Table
Dim docPath As String 'Word文書のパス
Dim docName As String 'Word文書ファイル名
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 "登録済みフォント一覧"
End With
'全文書取得後表に変換
Set myRange = doc.Content
With myRange
.Font.Size = 9
.ConvertToTable _
Format:=wdTableFormatList1, _
AutoFitBehavior:=wdAutoFitFixed
End With
'表の微調整(センタリング、幅)
Set myTable = doc.Tables(1)
With myTable
.Rows.Alignment = wdAlignRowCenter
.PreferredWidthType = wdPreferredWidthPercent
.PreferredWidth = 50 '文書幅の50%に変更
End With
exit_SUB:
Set myRange = Nothing: Set myTable = Nothing
Set objWd = Nothing: Set doc = Nothing
End Sub
|
|
≪使い方≫ フォームのどこかにコマンドボタンを作成し、そのクリック時イベントから呼び出してください。 例: Call wordConvertToTable
←このような感じで、 文書の一番上に項目行が追加され、 文書が表に変換され、表のオートフォーマットが適用されます。 | |||
≪注意≫
| |||
☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
form mail はこちら
Copyright(C) pPoy 2010