分かりやすく、使いやすく。

ワードファイルをテキストファイルに変換して出力する方法

スポンサーリンク

VBScript でワードファイルをテキストファイルに変換して出力するサンプルコードです。尚、このスクリプトを実行するにはワードがインストールされている必要があります。

  1. ファイルを1つ指定して変換する
  2. 特定のフォルダのワードファイルを全てテキストに変換して出力する


ファイルを1つ指定して変換する

VBScript(実行可能なサンプルコード)
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
31
32
33
34
35
36
Option Explicit
On Error Resume Next
 
Dim objWordApp
Dim objWordDoc
Dim strWordFilePath
Dim strTextFilePath
 
'変換元のワードファイルの絶対パスを指定
strWordFilePath = "c:\temp\テスト.docx"
 
'変換先のテキストファイルの絶対パスを指定(出力先)
strTextFilePath = "c:\temp\テスト.txt"
 
'ワードのオブジェクトを作成
Set objWordApp = WScript.CreateObject("Word.Application")
 
If Err.Number = 0 Then
  'ワードドキュメントを開く
  Set objWordDoc = objWordApp.Documents.Open(strWordFilePath)
  
  If Err.Number = 0 Then
    'テキスト形式で保存
    objWordDoc.SaveAs strTextFilePath, 2
 
    objWordDoc.Close
    objWordApp.Quit
  Else
    WScript.Echo "エラー:" & Err.Description
  End If
Else
  WScript.Echo "エラー:" & Err.Description
End If
 
Set objWordDoc = Nothing
Set objWordApp = Nothing 

特定のフォルダのワードファイルを全てテキストに変換して出力する

次のサンプルコードは、特定のフォルダの「doc」ファイルと「docx」ファイルをテキストファイルに変換して出力します。出力するテキストファイルは、元のワードファイルの拡張子を「txt」にしたファイル名で出力します。

VBScript(実行可能なサンプルコード)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Option Explicit
On Error Resume Next
 
'ワード関連のオブジェクト
Dim objWordApp
Dim objWordDoc
 
'ファイルシステム関連のオブジェクト
Dim objFileSys
Dim objFolder
Dim objFile
 
'各種文字列
Dim strWordFilePath
Dim strTextFilePath
Dim strTargetFolderPath
Dim strFileExtension
 
'変換するワードファイルが入っているフォルダのパスを指定する。
strTargetFolderPath = "."
 
'ファイルシステムを扱うオブジェクトを作成
Set objFileSys = CreateObject("Scripting.FileSystemObject")
 
'ワードのオブジェクトを作成
Set objWordApp = WScript.CreateObject("Word.Application")
 
If Err.Number = 0 Then
  
  Set objFolder = objFileSys.GetFolder(strTargetFolderPath)
  
  'FolderオブジェクトのFilesプロパティからFileオブジェクトを取得
  For Each objFile In objFolder.Files
    strFileExtension = objFileSys.GetExtensionName(objFile.Name)
    
    'ワードの拡張子のみ処理対象とする
    If strFileExtension = "doc" or strFileExtension = "docx" Then
      
      strWordFilePath = objFile.Path
      strTextFilePath = objFile.ParentFolder & _
                        "\" & _
                        objFileSys.getBaseName(objFile.Name) & _
                        ".txt"
      
      WScript.Echo "変換開始:" & strWordFilePath
      
      'ワードドキュメントを開く
      Set objWordDoc = objWordApp.Documents.Open(strWordFilePath)
      
      If Err.Number = 0 Then
        'テキスト形式で保存
        objWordDoc.SaveAs strTextFilePath, 2
 
        objWordDoc.Close
        Set objWordDoc = Nothing
      Else
        WScript.Echo "エラー:" & Err.Description
      End If
      
      WScript.Echo "変換完了:" & strTextFilePath
    Else
      WScript.Echo "変換対象外:" & objFile.Name
    End If
    
  Next
  
 
Else
  WScript.Echo "エラー:" & Err.Description
End If
 
objWordApp.Quit
Set objWordDoc = Nothing
Set objWordApp = Nothing 
スポンサーリンク
スポンサーリンク