タイトルの通りです。
簡単なプログラムを作ってみました。
このような事は出来ないのでしょうか。
教えてください。
宜しくお願いします。
☆サンプルプログラム☆
↓
Sub test()
Dim Stm As Object
Dim sText As String
Const adCRLF = -1
Const adReadAll = -1
Const adTypeText = 1
sText = "あああ"
Set Stm = CreateObject("ADODB.Stream")
Stm.Open
Stm.Charset = "UTF-8"
Stm.WriteText sText
ActiveSheet.Range("A1").Value = Stm.ReadText()
Stm.Close
Set Stm = Nothing
End Sub
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは。
KenKen_SP です。UTF-8 で書かれたテキストファイルの文字列を読み込んでコードを
試してみましたが、そのまま動きましたね、、意図は何ですか?
Excel2000 以上なら Unicode 対応してますので、Excel内部でのみの
処理なら特に問題はないと思います。理由があって別のキャラセット
に変換するならもう一つ ADOBE.Stream を CreateObject し、そちら
の Charset を変換したいキャラセットに設定してから、WriteText
するなり、CopyTo すればいいです。
こんな感じ。
Sub CONVERT_CHARSET()
'参照設定するなら:Microsoft ActiveX Data Objects x.x Library
Dim SRC As Object
Dim DST As Object
Dim strFILEPATH As String
Const adTypeText = 2
strFILEPATH = Application.GetOpenFilename("TEXTファイル (*.txt), *.txt")
If UCase$(strFILEPATH) = "FALSE" Then Exit Sub
Set SRC = CreateObject("ADODB.Stream")
With SRC
.Open
.Charset = "UTF-8"
.Type = adTypeText
.LoadFromFile strFILEPATH
.Position = 0
End With
Set DST = CreateObject("ADODB.Stream")
With DST
.Open
.Charset = "Shift_JIS"
.Type = adTypeText
End With
SRC.CopyTo DST
DST.Position = 0
ActiveSheet.Range("A1").Value = DST.ReadText()
SRC.Close
DST.Close
Set SRC = Nothing
Set DST = Nothing
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
VB.NETをJavaに変換するツール...
-
HRESULTの代替となる型
-
家電製品の電力周波数を変える機械
-
エクセルVBAの自動変換機能?
-
Excel-VBAのmsgBox()の不思議
-
DOSコマンドでの文字コード変換...
-
VB.NETからJavaに変換するツー...
-
EUCからUTF-8へのコード変換
-
SJIS⇔UTF-8の文字コード...
-
入力ボックスが繰り返しポップ...
-
tex 郵便記号のだしかた
-
JavaプログラムをC++へ変換したい
-
c++でmatからvectorへの変換の...
-
VB6から.NETへアップグレード時...
-
keycodeについて
-
bmp→jpgに、jpg→bmpに
-
VB6で10進数を32進数に変換する...
-
なぜ通信には16進数文字列が使...
-
VB 6 を VS 2012に変換するには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
家電製品の電力周波数を変える機械
-
Mac 乗数の入力方法
-
10進数をBCDに変換する方法
-
bmp→jpgに、jpg→bmpに
-
なぜ通信には16進数文字列が使...
-
画像ファイル変換(Tiff→PDF)
-
シフトJISのCSVファイルをUFT-8...
-
分を時間に変換するプログラム
-
【EXCEL】カナ、ひらがなを英字...
-
C/C++→JAVAに変換するツール
-
c++でmatからvectorへの変換の...
-
UTF8→ShiftJISに変換したいです!
-
VB6からVB2010への変換について
-
C#でのpngからbmpへの変換について
-
StrConvの使い方について教えて...
-
PHPで、日本語からアルファベッ...
-
エクセルVBAの自動変換機能?
-
C++からCへのソース変換について
-
VB.NETをJavaに変換するツール...
おすすめ情報