
VB6で、日本語と簡体文字の混在するUTF-8コードのファイル "c:\testfile.txt" を読み取って変数に入れて、取り扱える実例を作っていただけませんでしょうか?
VB6では、FileSystemObjectなどを使うようですが、さっぱり使い方が分りません。私は昔、コボルやフォートランをかじったことがあり、VBの基礎は使えるのですが、FileSystemObjectなどはどうも分りません。Visual Basic.NETを使えばUTF-8も簡単に使えるようですが、難しくて歯が立たずVB6でやろうとしています。
ご参考;「次のコードは、FileSystemObject を使って、ファイルの読み取りまたは書き込みに使用できる TextStream オブジェクトを取得する例です。」とあるのですが、ファイルから変数に読み取るために使うには如何使えば良いのか、分りません。
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("This is a test.")
MyFile.Close
また、下記は「指定したファイルを開き、開いたファイルの読み取り、または追加書き込みに使用できる TextStream オブジェクトを返します。」とあるのですが、これとの関係もよくわかりません。
object.OpenTextFile(filename[, iomode[, create[, format]]])
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
現在開示されている状況からは「Visual Basic6でなければならない」理由がまったくわかりません。
秀丸エディタを使っているのなら、秀丸のマクロで済んでしまう内容ではないでしょうか?
秀丸のマクロは、ちょっとしたプログラム言語並の機能がありますから。
他にも、UTF-8に対応していて、文字列の加工も得意な言語がいっぱいあります。
Perl , Ruby, PHP, Python等。
COBOLやFortranを知っているなら、変にオブジェクト指向っぽくなってBasicと呼ぶのに抵抗のあるVBより、昔のBasicに近い感じで記述できるPerlの方が理解しやすいのではないか、とも思います。
データは秀丸で作るんのですが、利用するとき秀丸のないところで使う必要があるのです。
また、64歳になりましたので、いまさら別の言語を勉強するのは無理です。VisualBasic2010もトライしましたがさっぱり分りませんでした。
つまり私が今使えるのはVisual Basic6なので、それでのUTF-8の利用法を探しているわけです。
No.1
- 回答日時:
私はDomesticな人間で、よくわかってないが、参考までに。
下記を質問に補足された方が良いのでは。
コード云々を聞く前に、質問として
(1)達成して、その後結果どうしたいのか。文字化けしないように画面表示や印刷したいのか、
エクセルに読み込みたい、ワードなどソフトに読み込みたい、他のコードのファイルを作りたいなどなど。
(2)なぜプログラムで処理したいのか。次のプログラムによる処理につなげるためとか。
(3)元データはどういうもの(何処から入手した・由来したもの)か。WEBから来たもの。現地人の作成文書?ファイル。
(4)ソフトによって(身近なものでも)は、文字コードを指定して開けるものがある。
メモ帳 「開く」の画面と「文字コード」を指定。他の専用テキストエディタなら、可能なものが多いでしょう。
エクセルの「テキストファイルウイザード1/3」で「元のファイル」で指定
など
参考
http://d.hatena.ne.jp/replication/20100211/12662 …
ーー
プログラムでは
ファイルを開くとき、文字コードを指定できる入出力システムや、データベースソフトを利用する
http://d.hatena.ne.jp/niemands/20090316/1237225383
ーー
FSOではCreateTextFileなどは文字コードを指定できるパラメータがある。
OpenTextFileでファイル形式指定でTristateなどが在る。
ご協力ありがとうございます。
秀丸エディタで作成した日本語と中国簡体字の混じったテキストファイルを読み込んで、一定の処理ののち、HTML文に作成してインターネットブラウザで日本文と中国簡体字を表示させます。
HTML文の作成法や簡体字の表示させ方は分っています。ところが、現状では、中国簡体字をVisual Basic6によるプログラムで読み込んだ時点でコードが異なるために文字化けになってしまいます。
そこで、UTF-8コードとして変数に読み込む方法が必要になっているものです。Visual Basic6の画面に表示する必要はありません。
やり方は問いませんのでよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Line Inputで文字化け(助けて下さい)
Visual Basic(VBA)
-
VB6.0-整数と余りを求める
Visual Basic(VBA)
-
VB6.0 ファイルの一括読込み
Visual Basic(VBA)
-
-
4
VB6 配列を初期化したい
Visual Basic(VBA)
-
5
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
6
テキストボックスの入力制限
Visual Basic(VBA)
-
7
Visual Basic 6.0 コンボボックスのChangeイベントが発生しません
Visual Basic(VBA)
-
8
VB6のプロジェクトロードエラーについて
Visual Basic(VBA)
-
9
VB6 String型変数の文字数制限
IT・エンジニアリング
-
10
mscommの受信バッファ異常について
Visual Basic(VBA)
-
11
VB6のwinsockでconnectできない
Visual Basic(VBA)
-
12
Visual Basic 6.0で 1行 読み込みたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
動かなくなってしまった古いVBA...
-
フォルダ階層・ファイル名・ペ...
-
更新日が指定日以降のファイル取得
-
【ACCESS VBA】アクセスからデ...
-
VB6でUTF-8ファイルの読取りを
-
「エクセルファイルが開いてい...
-
遅延バインディングの回避方法
-
vbaサブフォルダーをワイルドカ...
-
Accessのウインドウサイズの固定
-
VB.Netソリューションでフォー...
-
「AccessViolationException」...
-
エクセルのVBAで開いている...
-
excel マクロ PDF化の際のエラ...
-
VBAでのファイル名と更新日(作...
-
ファイルを開く時間測定のスク...
-
複数のワークブックのVBAを変更...
-
エクセルのプロパティーでセキ...
-
エクセルvbaでdocuworksprinter...
-
エクセルで複数のコメントのサ...
-
カンマ区切りのCSVファイルから...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
動かなくなってしまった古いVBA...
-
AccessからOLEオブジェクト型の...
-
VBAでフォルダ内のhtmlファイル...
-
VB6でUTF-8ファイルの読取りを
-
サブフォルダ含むフォルダ内の...
-
EXCEL VBAを使ったファイル解析...
-
webブラウザからローカルファイ...
-
「エクセルファイルが開いてい...
-
タイムスタンプの更新の方法2
-
複数のワークブックのVBAを変更...
-
vbaサブフォルダーをワイルドカ...
-
ffftpでファイル取得が0バイト...
-
VBAでCSVファイルを読み込もう...
-
フォルダ階層・ファイル名・ペ...
-
【ACCESS VBA】アクセスからデ...
-
ExcelVBA 文字コード変換
-
excel マクロ PDF化の際のエラ...
-
FileDialog オブジェクトでファ...
-
Wordのプロパティ・総ページ数...
-
Accessのウインドウサイズの固定
おすすめ情報