| Top Page | プログラミング | テキスト保存/読み込み |
2006-01-23
'ワークブック(ファイル)を読み込み,各ワークシートをそれぞれテキスト形式で保存する.
'
' Coded by TAKENAKA, A. 2005-02-22
' Revised on 2006-06-11
Sub SaveSheets()
ver = Application.Version
If ver * 1 >= 12 Then ' 2007 以降
file_filter = "Excel File,*.xlsx;*.xlsm,Excel 2003,*.xls"
Else ' 2003 以前
file_filter = "Excel File,*.xls"
End If
Target = Application.GetOpenFilename(file_filter) ' 読み込むファイルを選択
If Target = False Then
Exit Sub
End If
Workbooks.Open Filename:=Target ' 選択したファイルを読み込む
' 確認のメッセージボックス.
rvl = MsgBox("全シートをそれぞれテキスト保存?", 33, "作業の確認")
If (rvl <> vbOK) Then ' [OK] でないなら中止
Exit Sub
End If
Set OriginalBook = ActiveWorkbook ' 保存したいデータが入ったブックを覚えておく.
WorkingPath = ActiveWorkbook.Path ' そのパスも.
For i = 1 To Sheets.Count ' ファイル中の各ワークシートについて.
OriginalBook.Activate ' 保存したいデータが入ったブックをアクティブに.
Set thisSheet = Sheets(i)
thisSheet.Activate ' i 番目のワークシートをアクティブに.
thisSheet.Copy ' 新しいファイルが作られてシートをコピー.
newName = WorkingPath + "\" + thisSheet.Name ' 作製するファイル名.
ActiveWorkbook.SaveAs Filename:=newName, _
FileFormat:=xlText, CreateBackup:=False ' テキスト保存
ActiveWorkbook.Close SaveChanges:=False ' ファイルを閉じる.
Next i
rvl = MsgBox("読み込んだファイルを閉じますか?", vbYesNo, "テキスト保存終了")
If rvl = vbYes Then
OriginalBook.Close ' ファイルを閉じる
End If
End Sub