Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4436 / 13644 ツリー ←次へ | 前へ→

【56677】テキストのユニコード保存について しん 08/6/29(日) 22:12 発言[未読]
【56679】Re:テキストのユニコード保存について neptune 08/6/29(日) 22:29 回答[未読]
【56680】Re:テキストのユニコード保存について Blue 08/6/29(日) 22:37 回答[未読]
【56681】Re:テキストのユニコード保存について neptune 08/6/29(日) 22:53 発言[未読]
【56682】Re:テキストのユニコード保存について しん 08/6/29(日) 22:59 お礼[未読]
【56683】Re:テキストのユニコード保存について しん 08/6/29(日) 23:44 質問[未読]
【56684】Re:テキストのユニコード保存について kanabun 08/6/30(月) 1:26 発言[未読]
【56685】Re:テキストのユニコード保存について しん 08/6/30(月) 2:16 お礼[未読]

【56677】テキストのユニコード保存について
発言  しん  - 08/6/29(日) 22:12 -

引用なし
パスワード
   はじめまして、VBAのテキスト保存について行き詰りました。
下記のようにテキストデータを書き出したいのですが、
ここから
unicodeでの保存、
終了はどのように進めばよいでしょうか。
いろいろ試してみたのですが、エラーとなってしまいます。
ご教授ください


Sub ICHIRAN_OUTPUT()
  Dim KOKYAKU As String
  Dim ICHIRAN As String
  
  NAKAMI = "SOUDATA"
  filePath = Application.ActiveWorkbook.Path
  ICHIRAN = filePath & "\" & "ICHIRANHYOU.txt"

  Open ICHIRAN For Output As #1
    Print #1, NAKAMI
   
  Close #1

End Sub

【56679】Re:テキストのユニコード保存について
回答  neptune  - 08/6/29(日) 22:29 -

引用なし
パスワード
   ▼しん さん:
こんにちは

h tp://msdn.microsoft.com/ja-jp/library/cc364272.aspx
で、
openメソッド,closeメソッド、Charset プロパティ、SaveToFile メソッド
等を調べて下さい。

サンプルはググればあるとは思います。

【56680】Re:テキストのユニコード保存について
回答  Blue  - 08/6/29(日) 22:37 -

引用なし
パスワード
   OutputモードでOpenしてPrintステートメントで書き込むとCP932(Shift_JIS)で
ファイルが作成されてしまうようです。

バイナリモードで開いて書き込むか、
FileSystemObjectを使うかすればUnicodeで書き込めるでしょう。

バイナリで書き込むときはBOMをつけるとかしないといけないので
FileSystemObjectを使ったほうがらくでしょうけど。

http://officetanaka.net/excel/vba/filesystemobject/filesystemobject.htm
を参考にしてみてください・

【56681】Re:テキストのユニコード保存について
発言  neptune  - 08/6/29(日) 22:53 -

引用なし
パスワード
   ▼Blue さん:
こんにちは

>バイナリモードで開いて書き込むか、
>FileSystemObjectを使うかすればUnicodeで書き込めるでしょう。
>
>バイナリで書き込むときはBOMをつけるとかしないといけないので
>FileSystemObjectを使ったほうがらくでしょうけど。
FSOで出来そうですね。普段使わないので知りませんでした。

【56682】Re:テキストのユニコード保存について
お礼  しん  - 08/6/29(日) 22:59 -

引用なし
パスワード
   ▼neptune さん:
▼Blue さん:
早速のご回答ありがとうございます。
すぐにレスがつきびっくりしました。

とりあえずVBAをはじめたばかりで
すぐに解決にはいたりませんが、
ご回答を参考にもう少しいろいろ
試してみようと思います。
ありがとうございます。

【56683】Re:テキストのユニコード保存について
質問  しん  - 08/6/29(日) 23:44 -

引用なし
パスワード
   とりあえず、参考URLのようにしてみましたが、
テキストファイルを現在のWorkbookと同じ場所に
保存したいのですが、下記でエラーとなります。
何がおかしいのか判りません。度々すみませんが、
ヒントなるものをご教授ください。

Sub ICHIRAN_OUTPUT2()

Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
With FSO.CreateTextFile(ThisWorkbook.Path&"\ICHIRAN.txt")

.WriteLine "SOUDATA"
.Close

End With


End Sub

【56684】Re:テキストのユニコード保存について
発言  kanabun  - 08/6/30(月) 1:26 -

引用なし
パスワード
   ▼しん さん:
>unicodeでの保存、
>終了はどのように進めばよいでしょうか。

ワークシートにデータがある(または、元データをシートに展開している)
のであれば、
そのシートだけ新規Workbookに移動または Copyして、
「Unicode Textとして保存」して「閉じ」ればいいのでは?

Sub Macro1()
  Dim filePath as string
  Dim filename as string
  ActiveSheet.Copy
  filePath = Application.ActiveWorkbook.Path & "\"
  filename = filePath & "ICHIRANHYOU.txt"
  ActiveWorkbook.SaveAs Filename:=filename, _
    FileFormat:=xlUnicodeText, CreateBackup:=False
  ActiveWorkbook.Close
End Sub

【56685】Re:テキストのユニコード保存について
お礼  しん  - 08/6/30(月) 2:16 -

引用なし
パスワード
   ご回答ありがとうございます。
参考にさせていただき、

With FSO.CreateTextFile(Application.ActiveWorkbook.Path & "\" & "ICHIRAN.txt", True, True)

でできました。
ありがとうございました。

4436 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free