• ベストアンサー

VBAでテキストファイルを保存

VBAでテキストファイルを保存したいのですが、EUCで保存できません。 EUCで保存するにはどうしたらいいのでしょうか? Open myFile For Output As #myNo です。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

すみません。#2 で一部訂正します。 レイトバインディングなので WriteTextFile プロシージャの 変数宣言部辺りに、 Const adTypeText = 2 を追加して下さい。これがないとエラーになりますね...

urourojp
質問者

お礼

ありがとうございました。 うまくいきました。  ただ、レイトはちょっと処理が遅いみたいですね。 アーリーでやってみました。 また、よろしくお願いします。

その他の回答 (2)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんにちは。KenKen_SP です。 ADODB.Stream を使うと割と簡単です。エラートラップはしてませんが。 Option Explicit Sub Sample()   Dim strText As String   strText = "テキストを指定した文字コードでファイル書き出しテスト"   Call WriteTextFile(strText, "C:\sample.txt", 3) ' 3: EUC-JP End Sub Sub WriteTextFile(ByVal strText As String, _          ByVal strFilepath As String, _          ByVal intCharset As Integer)      Dim STM    As Object ' ADODB.Stream   Dim strCharset As String   Select Case intCharset     Case 2: strCharset = "iso-2022-jp"     Case 3: strCharset = "EUC-JP"     Case 4: strCharset = "UTF-8"     Case Else         strCharset = "Shift_JIS"   End Select   Set STM = CreateObject("ADODB.Stream")   With STM     .Open     .Type = adTypeText     .Charset = strCharset     .WriteText strText     .SaveToFile strFilepath     .Close   End With   Set STM = Nothing End Sub

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

VBA で文字コードEUCで保存はできないと思います。 文字コードを変換するようなライブラリを使うか、 いったんシフトJISで普通にファイルを作成した後、 変換ツールを起動して変換するというような手順になるのではないかと思います。

関連するQ&A