ブログ主が仕事や個人的に学んだPC系・プログラミング系(VBAとかHTML)について書いていく備忘録ブログ。
※ここで記載する内容はあくまで「個人的に」上手くいく内容です。ご使用には十分注意してください
Posted by 若槻風亜 - 2021.11.09,Tue
こちらで修正した修正コードの内容が
仕事中に欲しくなったので自分用に。
■ファイルのエンコードを取得してファイルを読み込む
Dim MyFile as Strng
Dim Str2 as String
Myfile = "開くファイルのパス"
Call CheckDefaultEncode(MyFile)
'=======================================================
' 文字コードの判別
' 参照↓
' 参照↓
' https://dobon.net/vb/dotnet/string/getencodingobject.html ←ここのコメント欄
' https://dobon.net/vb/dotnet/string/getencodingobject.html
' http://nonsoft.la.coocan.jp/SoftSample/VB.NET/SampleCode2Code.html
'=======================================================
Sub CheckDefaultEncode(ByVal File0 As String)
'■変数の設定
Dim bs As Byte() = IO.File.ReadAllBytes(File0)
Dim bytCheck As Byte()
Dim strCheck As String
Dim Enc as String
Dim Reader as IO.StreamReader
Dim Reader as IO.StreamReader
'■順番にエンコードを読み込み、通常文字列とバイト数を比較して一致したものを読み込み
For cnt = 1 To 6
'△処理回数によって対象を変更
If cnt = 1 Then Enc = "shift_jis"
If cnt = 2 Then Enc = "euc-jp"
If cnt = 3 Then Enc = "iso-2022-jp"
If cnt = 4 Then Enc = "utf-8"
If cnt = 5 Then Enc = "utf-16"
If cnt = 6 Then Enc = "UNICODE"
'△文字列とバイトを読み込み比較。一致したら内容を読み込み
strCheck = System.Text.Encoding.GetEncoding(Enc).GetString(bs)
bytCheck = System.Text.Encoding.GetEncoding(Enc).GetBytes(strCheck)
If bs.SequenceEqual(bytCheck) Then
'★読み込み(1行ずつ読みたい場合はループで回す)
Reader = New IO.StreamReader(File0, System.Text.Encoding.GetEncoding(Enc))
Reader = New IO.StreamReader(File0, System.Text.Encoding.GetEncoding(Enc))
TextBox1.Text = Reader.ReadToEnd
’★解除
Reader.Close
Reader.Dispose
'★読み終わったので処理を抜ける
’★解除
Reader.Close
Reader.Dispose
'★読み終わったので処理を抜ける
Exit For
End If '---読み込み値が一致するかどうか
Next '---エンコード分処理を回すFor-Next
End Sub
PR
Comments
Post a Comment
プロフィール
HN:
若槻風亜
性別:
女性
職業:
会社員
趣味:
創作、プログラミング
自己紹介:
仕事や個人で学んだことをまとめておきたかったがために備忘録ブログを立ち上げました。
あくまで自分が学んだこと・自分が出来たことなので、ご覧くださる場合は参照レベルでお願いします。
あくまで自分が学んだこと・自分が出来たことなので、ご覧くださる場合は参照レベルでお願いします。
ブログ内検索
カレンダー
最新記事
(12/31)
(12/30)
(03/27)
(11/09)
(10/07)
P R
最新トラックバック
コガネモチ
フリーエリア
Template by mavericyard*
Powered by "Samurai Factory"
Powered by "Samurai Factory"