- 締切済み
テキストをUNICODEで記録するには
現在エクセルVBAで以下のコードを使用してセルから読み込んだデータをテキストファイルに変換するプログラムを使用しています。 今回下記のコードだと文字化けしてしまう文字(韓国語)を扱うことになりました。 エクセルの保存形式を「Unicode」で保存すると問題なくテキストができることがわかりました。 そこで下記のプルグラムで保存形式を「Unicode」で保存する方法を教えてください。 ターゲットになる変数は「text」という変数です。 よろしくお願いします。 Open "x:\文字.txt" For Append As #1 If a = "" Then Print #1, Chr(9); text Else Print #1, Format(a, "@"); Chr(9); intime; "/"; outtime; Chr(9); text No = No + 1 End If Close #1 n = n + 1
- homma
- お礼率84% (744/884)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- ushi2015
- ベストアンサー率51% (241/468)
こんにちは 変数宣言し、その変数にどのような値をセットするのか ハッキリさせたコードを提示するようにして下さい。 別の方法になりますが、 Sub test() Dim a As String Dim intime As Long Dim outtime As Long Dim txt2 As Object Dim Text As String Dim tPath As String tPath = "x:\文字.txt" Set txt2 = CreateObject("ADODB.Stream") txt2.Type = adTypeText txt2.Charset = "UTF-8" ' 改行コードを設定(-1:CRLF、10:LF、CR:13) txt2.LineSeparator = -1 Text = Range("A1").Text a = "1" txt2.Open txt2.LoadFromFile tPath txt2.Position = txt2.Size If a = "" Then txt2.WriteText Chr(9) & Text, adWriteLine Else txt2.WriteText Format(a, "@") & Chr(9) & intime & "/" & outtime & Chr(9) & Text, adWriteLine End If txt2.SaveToFile tPath, 2 txt2.Close Set txt2 = Nothing End Sub
関連するQ&A
- Unicodeの文字がどれか、調べたいです
ある文章をメモ帳で保存しようとしたら「このファイルはANCIテキストファイルで保存すると失われてしまうUnicode形式の文字を含んでいます。Unicodeの情報を保存するには、[文字コード]から[Unicode]を選択してください」と出ました。どれがUnicodeの文字なのかを調べる方法を探しましたが、アテになるのが全くありません。また、「[文字コード]から[Unicode]を選択する」という言葉の意味も分かりません。文字コード表を開きましたが、その後詰まりました。 限りなく分かりやすい説明をお願いします!
- 締切済み
- Windows 7
- ユニコード
IMEパッドの使い方、保存のしかた IMEパッドのunicodeを入力したのですが保存をしようと思うとこのファイルはANSIテキストファイルとして保存すると失われてしまうunicode形式文字を含んでます。 unicodeの情報を保存するには、下のキャンセルをクリック、文字コードからunicodeを選択してください。続行しますか?OK キャンセルとでます。OK キャンセルをどちらもおしてみたのですが ?としか保存できませんどのようにすると保存できますか?パソコンしょしんしゃです。よろしくおねがいします
- 締切済み
- Windows XP
- Unicodeって・・・
Unicodeを初心者の人に説明するとしたらなんと説明したら いいのでしょう? どういうところで使われてるものでしょう? EXCELでテキストファイルで保存するとき Unicodeがありますが、 普通のテキスト形式とどう違うのでしょうか? テキストで保存したあとメモ帳などで開くと同じようですが。。。
- ベストアンサー
- その他(インターネット・Webサービス)
- Unicodeについて質問です。
Unicodeについて質問です。 あるテキストファイルからUnicode文字を検索したいと思っています。 Unicode形式で保存したくないテキストファイルがあるのですが、どうやらどこかにUnicode文字を使ってしまったようで検索に手間取っています。 かなりの文章量のテキストファイルなので目で探す事は非常に困難で、仕方なくUnicodeコード表を元に一文字ずつ検索しているのですがなかなかヒットしません。 アラビア語のような特殊な文字を記入した記憶はないのですが、こちらのコード表(http://nurucom-archives.hp.infoseek.co.jp/digital/unicode-table.html)によると半角数字もUnicode文字となっていたりするようで知らずに入力した可能性が高いです。 できればテキスト貼り付け(方言変換サイトなどのように)でUnicode文字を検索できるサイトか、もしくはフリーソフトのようなものはありませんでしょうか。 Unicodeについて教えていただけるだけでも助かります。よろしくお願いします。
- ベストアンサー
- Windows Vista
- テキスト出力時に色を付けるには
エクセルのマクロで読み込んだセルを以下のコマンドでテキストファイルに出力しています。 Print #1, Format(a, "@"); Chr(9); intime; "/"; outtime; Chr(9); text その際に条件によって特定のテキストにだけ色を付けることはできますでしょうか。 可能でしたら方法を教えてください。
- 締切済み
- Visual Basic
- UTF-16テキストファイルの作成
エクセルで作成したデータをUTF-16形式で保存したいのですが、 「名前をつけて保存」でファイルの種類を選ぼうとしても、 該当の形式が見当たりません。 Unicodeテキストで保存してからメモ帳で開いて文字コードを変更しようとしてみましたが、UTF-8しか選択肢がありません。 どなたか方法を知ってる方、教えてください。お願いします。
- ベストアンサー
- その他(データベース)
- UnicodeでないファイルをUnicode保存
いつも楽しく勉強させていただいております。環境はWin7Office2010です。 ExcelVBAからFSOを用いてCSV形式のファイルを読み込み、多少の加工をして最終的にはSQLServerに取り込むという作業をしています。 問題はCSVファイルのことなのですが、どうやらUnicodeでないようでFSOで開くと文字化けしてしまうものがあります。 Excelやワードパッドで開くとちゃんと読めます。 StrConv関数でUnicodeに変換しようとしたのになぜかできませんでした。 今回はファイル数が少なかったので、手作業でワードパッドで開き、保存の形式をUnicodeにして事なきを得ましたが、今後同様のファイルを多数処理しないといけないので手作業での変換は難しいです。 そこで、こんなことは可能でしょうか。 ・ExcelVBAで非Unicode形式のファイルを読み、Unicodeで別ファイルに書き出す。 または、 ・ExcelVBAでワードパッドなどを制御し、自動的にファイルを開いてUnicodeで保存しなおす。 ついでといっては何ですが、そのファイルの文字コードが何であるかはどうやって分かりますか。 できればVBAを介して調べる方法があれば教えてくださるとうれしいです。
- ベストアンサー
- Visual Basic
- エクセルで、形式を選択で、テキストとUnicodeテキストの違いは?
エクセル2000で、形式を選択して貼付けで、 テキストとUnicodeテキストの違いは? おなじようなんですが?? よろしくお願いします。
- 締切済み
- オフィス系ソフト
- HTMLユニコード?の変換
こんにちは。大変困っていますので助けてください。 日本語の使えないデータベースに日本語を保存するため、unicode形式の→「日本」このような形式で文字を保存してあり、それをexcel+VBA上で日本語に戻したいのですが、unicodeにまったく無知なため四苦八苦しています。 まず、 (1)unicodeにもいろいろな形式があるようで、上記の書き方はとあるサイトではHTMLユニコードとかかれていましたが、これは一般的な読み方なのでしょうか?(http://code.cside.com/3rdpage/jp/unicode/converter.html) htmlユニコードで検索をしてもここ以外ではあまり引っかからず、また &#~;という形式についても調べてもよく分かりません。これはなんと呼ばれる表記方なのでしょうか? (2)そして上記のようなコードをvbaで日本語に直す場合、単純に StrConv(<文字列>, vbFromUnicode) ではうまくいかないのですが、どうやって変換すればいいのでしょうか? どうか知恵をお貸しください。よろしくお願いします。
- ベストアンサー
- Visual Basic
- 保存形式としてのUnicode、UTF-8
「Unicode、UTF-8 違い」などでネットを検索すると Unicode・・・文字コード UTF-8・・・符号化方式 とのことで、同次元のものではないとのこと。 しかし、 さくらエディタ、TeraPadなどのテキストエディタの保存形式に Unicode、UTF-8などがあるのですが、この違いは何でしょうか? 前提として、iPhone/iPadにてテキストファイルを扱おうとすると Gmailの添付ファイル、Dropboxなどで文字化けする(デコードできない)ので どちらかの形式に統一しようと思ったのですが、 あとあと困るといやなので、正確に理解したいと思った次第です。 どうぞよろしくお願いします。
- ベストアンサー
- その他(ソフトウェア)
お礼
お礼メールが遅れてすみませんでした。 ありがとうございました。
補足
回答ありがとうございました。 早速従来のプログラムを以下のように書き換えたところ txt2.Type = adTypeText の行でエラーになってしまいます。 エラー名は 実行時エラー'3001': 引数が間違った型、許容範囲外、または競合しています。 とでます。 申し訳ありませんが解決方法などお分かりでしたら教えてください。 Sub MakeCAP() Dim a As String Dim intime As String Dim outtime As String Dim txt2 As Object Dim Text As String Dim tPath As String tPath = "x:\文字.txt" n = 1 No = 1 Set txt2 = CreateObject("ADODB.Stream") txt2.Type = adTypeText txt2.Charset = "UTF-8" '改行コードを設定(-1:CRLF,10:LF,CR:13) txt2.LineSeparator = -1 Do a = Cells(n, 1) intime = Cells(n, 2) outtime = Cells(n, 3) Text = Cells(n, 4) txt2.Open txt2.LoadFromFile tPath txt2.Position = txt2.Size If a = "" Then txt2.WriteText Chr(9) & Text, adwriteline Else txt2.WriteText Format(a, "@") & Chr(9) & intime & "/" & outtime & Chr(9) & Text, adwriteline No = No + 1 End If txt2.saveToFile tPath, 2 txt2.Close Set txt2 = Nothing n = n + 1 Loop Until Text = "" End Sub