• ベストアンサー

テキストファイルが文字化けする

  エクセルのシートからテキストファイルに VBAで出力しようとしたのですが、 出力したテキストファイルは文字化けしてしまいます。 Dim ws As Worksheet For Each ws In Worksheets ws.SaveAs ws.Name + ".txt" Next ws としたのですがどこがいけないのでしょうか? アクティブにしているエクセルのファイルのシートは、 1つだけとしています。 *Excel2002を使用しています。 お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.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 これでダメなら、ゴメンナサイです。

gorohamusu
質問者

お礼

回答ありがとうございます。 試してみたところ無事出来ました。 このコードをじっくり読んで理解したいと思います。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

こんにちは。 文字化けではなく、通常のExcelフォーマットになってます。拡張子を.xlsにすればExcelで普通に開けるハズです。 ブック内のシート数が1つならループする必要な無いと思いますが。。。 ws.SaveAs ws.Name + ".txt", FileFormat:=xlText

gorohamusu
質問者

補足

ご早い回答ありがとうございます。 早速 ws.SaveAs ws.Name + ".txt", FileFormat:=xlText と試してみたのですが `SaveAs`メソッドは失敗しました。`Worksheet`オブジェクト とエラーが出ます。 Excel2000では ws.SaveAs ws.Name + ".txt", xlText これで出来たのですが、Excel2002だと出来ないので ご教授いただきたいです。 お願いいたします。