- ベストアンサー
テキストファイルが文字化けする
エクセルのシートからテキストファイルに VBAで出力しようとしたのですが、 出力したテキストファイルは文字化けしてしまいます。 Dim ws As Worksheet For Each ws In Worksheets ws.SaveAs ws.Name + ".txt" Next ws としたのですがどこがいけないのでしょうか? アクティブにしているエクセルのファイルのシートは、 1つだけとしています。 *Excel2002を使用しています。 お願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
再びこんにちは。 > Excel2002だと出来ないので それは失礼しました、こちらはExcel97です。^^;; メソッドが変わったのでしょうかね。 Sub Test() Dim ws As Worksheet, wb As Workbook For Each ws In ThisWorkbook.Worksheets ws.Copy Set wb = ActiveWorkbook wb.SaveAs wb.Worksheets(1).Name + ".txt", xlText Next ws End Sub これでダメなら、ゴメンナサイです。
その他の回答 (1)
- papayuka
- ベストアンサー率45% (1388/3066)
こんにちは。 文字化けではなく、通常のExcelフォーマットになってます。拡張子を.xlsにすればExcelで普通に開けるハズです。 ブック内のシート数が1つならループする必要な無いと思いますが。。。 ws.SaveAs ws.Name + ".txt", FileFormat:=xlText
補足
ご早い回答ありがとうございます。 早速 ws.SaveAs ws.Name + ".txt", FileFormat:=xlText と試してみたのですが `SaveAs`メソッドは失敗しました。`Worksheet`オブジェクト とエラーが出ます。 Excel2000では ws.SaveAs ws.Name + ".txt", xlText これで出来たのですが、Excel2002だと出来ないので ご教授いただきたいです。 お願いいたします。
お礼
回答ありがとうございます。 試してみたところ無事出来ました。 このコードをじっくり読んで理解したいと思います。