- ベストアンサー
外国語とCSVについて
エクセルにベトナム語を入力し、 システムにインポートするためにCSV化したところ Ý nghĩa của このような言葉が ? ngh?a c?a とCSV内で表示されてしまいます 解消する方法ご存知のかたいらっしゃったら、教えてください (なお、エクセルから「名前を付けて保存」の際に オプションで「Webオプション」選択し、「ベトナム語」を選択してみましたがだめでした」
- SHIBA-DAIMON
- お礼率0% (0/3)
- その他([技術者向] コンピューター)
- 回答数3
- ありがとう数7
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Unicodeでよければ、5年ほど前に作ったものがありますので、CSV化のコードを提供します。 どこかに、ActiveX やフォーム・コントロールのボタンとマクロを設定してください。昔のままですが、Excel 2010で試してみて、Unicodeは、出力しています。(おそらく、97以上なら、どのバージョンでも、可動するはずです。) '標準モジュール (ActiveX コントロールの場合は、ボタンを設定したシート) '最初に、出力範囲を選択してから、ボタンなどで実行してください。 '// Sub CSV_OutputByUnicode() Dim rng As Range Dim i As Long, j As Long Dim Fso As Object Dim f As Object Dim fName As Variant Dim buf As String Dim TxtLine As String Dim objTxt As Object Dim OverWrite As Boolean Dim mPath As String '出力パス mPath = ActiveWorkbook.Path & "\" Set rng = Selection If ActiveWorkbook.Path = "" Then MsgBox "一旦ファイルを保存してください。", vbExclamation: Exit Sub '範囲のチェック(マウスで選択) If rng.Cells.Count < 3 Then MsgBox "最初に、範囲を選択してください。", vbExclamation Exit Sub End If On Error GoTo ErrHandler Start: Do fName = Application.InputBox("出力名を入れてください。", "CSV出力", Type:=2) If VarType(fName) = vbBoolean Then Exit Sub Loop Until Trim(fName) <> "" fName = mPath & fName '拡張子のチェック If StrComp(Right(fName, 4), ".csv", vbTextCompare) <> 0 Then fName = StrConv(fName & ".csv", vbNarrow) End If 'ファイルの上書きチェック If Dir(fName) <> "" Then If MsgBox("上書きしますか", vbQuestion + vbOKCancel) = vbOK Then OverWrite = True Else GoTo Start End If End If '出力 Set Fso = CreateObject("Scripting.FileSystemObject") Set f = Fso.CreateTextFile(fName, OverWrite, True) For i = 1 To rng.Rows.Count For j = 1 To rng.Columns.Count buf = buf & "," & rng.Cells(i, j).Text Next j If TxtLine = "" Then TxtLine = Mid(buf, 2) Else TxtLine = TxtLine & vbCrLf & Mid(buf, 2) End If buf = "" Next i f.Write (TxtLine & vbCrLf) f.Close ErrHandler: If Err.Number > 0 Then MsgBox Err.Number & " : " & Err.Description Else MsgBox fName & vbCrLf & "出力しました。", vbInformation End If Set objTxt = Nothing Set f = Nothing Set Fso = Nothing Set rng = Nothing End Sub '//
その他の回答 (2)
日本語エクセルの標準機能では、csvファイルを含むテキストファイルへの保存時には、文字コードをJIS8ビットコードとシフトJISコードに変換してしまう仕様だから無理。 VBAプログラムを書いて独自にユニコードのままテキストファイルへ保存するか、ソフトウェア開発業者にそうしたプログラム開発を発注すれば可能。
- aozakana_dha
- ベストアンサー率45% (76/168)
エクセルだけでは無理なようです。 とりあえず Excel形式(*.xlsx) 等で保存し、 それを別のソフトで編集する必要がありそうです。 たとえば LibreOffice Calc を使用するとCSV保存時に文字コードを選択できます。 ここで多言語対応の文字コード、たとえば Unicode(UTF-8) を指定すると 外国語を含んだデータも保存できるかと思います。 ただ「システムにインポート」して使用するとのことですが、 そのシステムがインポート可能な文字コードが決まっているかと思います。 そのシステムが、たとえば日本語Windows環境で広く使用される Shift_JIS, Windows-31J, MS932 などと呼ばれる文字コードのファイルしかインポートできないとすれば、 どうやってもベトナム語を含んだデータは投入できないことになります。
関連するQ&A
- 5行目からのCSVデータを作りたい
いつもお世話になります。 とあるシステムにデータを入力して、CSVファイルを作成して別システムにインポートしているのですが、そのファイルフォーマットがデータが5行目から始まる形のものなのです。とある事情からそれをエクセルで作成しなければならず、CSVで保存したものを開くと空白行を無視して1行目から始まってしまいます。 1から4行目までを空白にしてCSVを作成する方法をご教授ください。
- ベストアンサー
- Visual Basic
- ExcelからCSVファイルへの変換と文字化け
エクセルからCSVファイルへの変換したときの文字化けに悩まされています。 たとえば、 千代田区大手町19-1 という住所がはいっているセルがあり、CSVに変換すると、 千代田区大手町19?1 となります。 エクセルで開いても、テキストエディタで開いても「-」が「?」に文字化けします。 エンコードの問題なのでしょうが、どうすれば文字化けが解消されるのか、わかりません。 エクセルはデフォルトではSJISで保存されるようなので、 UTF8で保存すれば、文字化けはなくなるのかもしれません。 ただ、 http://web-laboratories.com/excel-csv こちらのサイトにあるように、 [WEBオプション]をつかってUnicode[UTF-8]で保存しても、 テキストエディタで開きなおすと、SJISのままになっているようです。 文字化けをさせないCSVファイルへの保存のやり方を教えてください。
- ベストアンサー
- Excel(エクセル)
- エクセル Web上のExcelファイルをCSV形式で保存したい!
WEB上のエクセルファイルをファイルのダウンロードで保存を選択します。 すると、「名前をつけて保存」画面になるので、ファイル形式をCSVにしたいのですが、[Microsoft Excelワークシート][すべてのファイル]の2種類しか選択できません。 どのようにしたらファイルの種類にCSVを表示できるのでしょうか?? おわかりの方教えてくださーい!
- ベストアンサー
- オフィス系ソフト
- エクセルのcsv保存で。。
前と同じような質問ですみません。。。 エクセルのSheet5をcsv形式で保存する際、 名前を付けて保存のダイアログを表示させて、 ファイルの名前を常に「bonaplus.csv」と 既定値で表示させておくようなマクロは できないでしょうか? ※bonaplusの後には作成日付を入力します。 ※csvファイルを作成した後に元のエクセルファイルの 保存になります。
- 締切済み
- オフィス系ソフト
- phpMyAdminのCSVインポートで文字化け
phpMyAdminでCSVデータのインポートを行ったのですが、文字化けしてしまいます。 (正) 17:00~5:00⇒(化け) 17:00~5:00 CSV、MySQLともに文字コードはutf8です。 phpMyAdminの画面から直接日本語レコードを追加すると文字化けせずに表示されます。 --手順-- エクセルで手動で作成したデータをCSV形式で保存した後、テキストエディタでutf8で保存。 phpMyAdminの「インポート」より「LoadDATA文を使用したCSVの読み込み」を選択し、 区切り文字はカンマを選択⇒「エンコーディングの変換」は「なし」を選択⇒実行。 --環境-- WindowsXP XAMPP1.7 MySQL5.5.16 phpMyAdmin3.4.5 どなたか詳しい方いらっしゃいましたら知恵をお貸しください。 よろしくお願いします!
- 締切済み
- MySQL
- CSV入力 手動ではできるのにVBAでは?
CSVをインポートするときに、手動ではできるのですが、 VBAで実現できないのでおたずねします。 [グループ名][人数] うさぎ 50 ぱんだ 30 こあら 45 のように元データにはIDらしきものが有りません。 これを前提に。。。。 <手動の場合> 1.[外部データ]-[テキストファイル]でcsvファイルを選択 2.現在のデータベースの新しいテーブルに・・を選択して、OK 3.テキストインポートウィザートが表示され、1行目が文字化けしているので、 [設定]でコードページを「日本語JIS」にして[OK]して[次へ] 4.先頭行をフィールド名・・にチェックを入れ、[次へ] 5.フィールドオプションのデータ型をエラーが出ないように変更し、[次へ] 6.「主キーを自動的に設定する」を選択する。 ※ここで左端のフィールドにCSVにはない「ID」が表示される。<===これが目的 7.[設定]でインポート定義「インポート定義1」を保存して[次へ] 8.インポート先のテーブル名「T-001」を入力して[完了] できたテーブルを開くと、IDフィールドに主キーが設定されています。 ここまでをVBAでやりたいのですが、 DoCmd.TransferText acImportDelim, "インポート定義1", "T-001", "C:\File_1.CSV", True とするとIDフィールドができていません。 どうすれば手動でやったときと同じ結果が得られるのでしょうか? よろしくご指導お願いします。
- ベストアンサー
- オフィス系ソフト
- txtファイルを「,」で区切ったcsvにしたい
txtファイルをcsvに変換しようとしています。 要はカンマ「,」でtxtファイルの中の文字を区切りたいのです 「excelで名前を付けて保存」→「保存するファイル形式」でCSVを選択すればできるのですが、excelを持っておらず困っています。 無料でできる簡単ないい方法はありますか? ちなみに、open officeやkingsoftの無料officeで「名前を付けて保存」→「保存するファイル形式」でCSVを試してみたのですが、ダメでした。OSはwin7とMacOS10.8を使っています。winでできればベストですが、ダメならMacでも大丈夫です。
- ベストアンサー
- その他([技術者向] コンピューター)
- accessでcsv、excel保存が出ない
お世話になります。 Access97でテーブルデータを保存するときなど、CsvデータやExcelデータとして保存できません。保存するときにファイルの種類の選択肢としてこれらが出てきません。なぜででしょう?多分、何かAccessのオプション機能が正しく動いていないからだと思うのですが、どうすれば復活できるでしょうか?以前は、出来ていたのですが。。。
- 締切済み
- オフィス系ソフト
- csvでの表示がおかしい
「1.xlsx」というファイルで A1は文字列として設定してあります。 そこに、「4-1」と入力してあります。 これを「1.csv」で保存し、開くと A1は「4月1日」と表示され、ユーザー定義という設定になっています。 なぜでしょうか? これを、開いても4-1と表示されるようにしたいのですがどうすればいいですか? Excel2010 win10
- 締切済み
- Excel(エクセル)