FC2ブログ

ワード文書(*.doc)の作成について

ワード文書(*.doc)の作成

ワード文書(*.doc)を作成する方法は、ワードオブジェクトの作成 ⇒ 保存、これが基本です。
このあたり、Excelなどでも一緒です。(ExcelとWord位しかやったことが無いのでわかりませんが。。。)
あとは、いかにして思うような文章などを挿入し、成型するかだけだと思います。
以下のサンプルコードは、ページ設定や文章の挿入、表の作成を載せています。
応用すれば、思い描いたとおりのワード文書(*.doc)が作成できます。(多分。。。)


'==============================================================================
'
'ワード文書の作成関連
'
'==============================================================================




'---------------------------------------------------
' 利用方法(以下必要に応じてプロシージャに貼り付けて下さい。)
'---------------------------------------------------

'------------------------------------------------------------
' 事前に参照設定を行なってください。
' 【参照設定方法】
' [プロジェクト]-[参照設定]-[MicroSoft Word 11.0 Object Library]にチェックを入れる。
' (11.0はバージョンにより異なります。ex)11.0 ⇒ Word2003, 9.0 ⇒ Word2000))
'------------------------------------------------------------

''==============================================================================
'
' ワード文書の作成
'
'==============================================================================
  Dim wWD     As Word.Application
  Dim wDoc    As Word.Document
  Dim wTable   As Word.Table
  Dim wCell    As Word.Cell
  Dim wRange   As Word.Range
  Dim wShape   As Word.Shape
  Dim wPara    As Word.Paragraph
  Dim sInpuPath  As String
  Dim iCntI     As Integer
  Dim iCntJ    As Integer
  Dim bOpenFlg  As Boolean

   '---保存ファイル名取得
    sInpuPath = "c:\ワード文書サンプル.doc"


  '---ワードオブジェクト作成
    Set wWD = CreateObject("Word.Application")
    wWD.Visible = False


  '---ワード文書作成
    'オープン
    Set wDoc = wWD.Documents.Add

    With wDoc
      '---ページ設定(書式)
        With .PageSetup
          .LineNumbering.Active = False
          .Orientation = wdOrientPortrait
          .TopMargin = MillimetersToPoints(35)
          .BottomMargin = MillimetersToPoints(26)
          .LeftMargin = MillimetersToPoints(25)
          .RightMargin = MillimetersToPoints(15)
          .Gutter = MillimetersToPoints(0)
          .HeaderDistance = MillimetersToPoints(15)
          .FooterDistance = MillimetersToPoints(17.5)
          .PageWidth = MillimetersToPoints(210)
          .PageHeight = MillimetersToPoints(297)
          .FirstPageTray = wdPrinterDefaultBin
          .OtherPagesTray = wdPrinterDefaultBin
          .SectionStart = wdSectionNewPage
          .OddAndEvenPagesHeaderFooter = False
          .DifferentFirstPageHeaderFooter = False
          .VerticalAlignment = wdAlignVerticalTop
          .SuppressEndnotes = False
          .MirrorMargins = False
          .TwoPagesOnOne = False
          .GutterPos = wdGutterPosLeft
          .CharsLine = 40
          .LinesPage = 40
          .LayoutMode = wdLayoutModeGrid
        End With


      '---ページ設定(フォント)
        With wWD.Selection
          .Font.Name = "MS 明朝"
          .Font.Size = 11
        End With


      '---文書作成
        With wWD.Selection
          For iCntI = 1 To 10
            '文書挿入
            .TypeText Text:="テスト文書" & iCntI & vbCrLf

            '次行にカーソルを移動
            .MoveDown wdLine, Count:=1, Extend:=wdMove
          Next
        End With


        '次行にカーソルを移動
        wWD.Selection.MoveDown wdLine, Count:=1, Extend:=wdMove


      '---表作成
        Set wTable = .Tables.Add(Range:=wWD.Selection.Range, NumRows:=1, NumColumns:=4)

        '表の設定
        With wTable
          '表位置
          .Rows.LeftIndent = MillimetersToPoints(14.5)
          '列幅
          .Columns(1).SetWidth ColumnWidth:=MillimetersToPoints(35), RulerStyle:=wdAdjustNone
          .Columns(2).SetWidth ColumnWidth:=MillimetersToPoints(35), RulerStyle:=wdAdjustNone
          .Columns(3).SetWidth ColumnWidth:=MillimetersToPoints(35), RulerStyle:=wdAdjustNone
          .Columns(4).SetWidth ColumnWidth:=MillimetersToPoints(35), RulerStyle:=wdAdjustNone
        End With

        '表への値挿入
        With wWD.Selection
          For iCntI = 1 To 10
            '行挿入
            If iCntI > 1 Then
              .InsertRowsBelow 1
            End If

           For iCntJ = 1 To 4
              '文書挿入
              .TypeText Text:="表文書(" & iCntI & ", " & iCntJ & ")"

              '右隣にカーソルを移動
              If iCntJ <> 4 Then
                .MoveRight wdCell, Count:=1, Extend:=wdMove
              End If
            Next

            '左端にカーソルを移動
            .MoveLeft wdCell, Count:=3, Extend:=wdMove
          Next
        End With

        '保存
        .SaveAs sInpuPath

        'クローズ
        .Close
    End With


  '---終了
    '他のワード文書の開いているかチェック
    bOpenFlg = False
    For Each wDoc In wWD.Documents
      bOpenFlg = True
    Next

    'ワード終了(他のワード文書が開いていない場合)
    '非表示
    wWD.Visible = True
    If Not bOpenFlg Then
      wWD.Quit
    End If


  '---メッセージ
    MsgBox "終了"


  '---ワードオブジェクト開放
    Set wDoc = Nothing
    Set wWD = Nothing



【宣伝・・・(*´ω`)】

タイトルロゴ3

 システム葵では、個人様向けでも企業様向けでも、パソコン修理から、パソコン設定、パソコンの使い方、LAN環境構築、ソフトウェア開発まで、様々な実績がありますので、困ったことがあれば、お気軽にご相談下さい。
関連記事

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

検索フォーム
最新記事
カテゴリ
全記事表示リンク

全ての記事を表示する

最新コメント
プロフィール

ITLife

Author:ITLife
システム葵新井聡太です。
東京都東村山市に生まれ、ここで育ち、ここで結婚し、システムエンジニア一筋で十数年やってきました。
ここでは主に、パソコンを中心にITに関わることを備忘録として残していきたいと思います。
少しでも来ていただいた方のお役に立てたら幸いです。
m(_ _)m

p.s
ここで紹介している内容は一例です。すべては、自己責任でお願いします。

カレンダー
05 | 2019/06 | 07
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
訪問数
月別アーカイブ
リンク