アプリ版:「スタンプのみでお礼する」機能のリリースについて

CSVのデータを集計する、エクセルマクロ(VBA)を作ったのですが、日本語WINDOWS7&エクセル2013 だと問題なく動いているのですが、英語版のWINDOWS &エクセル2013だと 下記の処理で文字化けが起きてうまく処理ができないことがあります。

Open infile For Input As #fileNo
Line Input #fileNo, rec
divrec = Split(rec, ",", -1, vbBinaryCompare)


1024行目がの文字が、全角の文字が来ると文字化けになります。
本来  ”あいうえお”
英語版 ”あい・・えお” (うの文字が1024行目がきたばあい)
その為まれに、SPlit処理がうまくいかないことが発生します。

Windowsの言語の形式 の部分を English→Japanese にすれば このエラーは起きないの
ですが、アメリカ人のパソコンでも実行できるマクロを作りたいと考えています。

なにかいい方法はないでしょうか?

A 回答 (1件)

提案としては、今のところ、このようなものが考えられます。



・Excelの"QueryTable" を使う

・Open infile For Input As #fileNo
のスタイルをやめて、FileSystemObject のOpenTextFile で読む。(ReadLine か、ReadAllを使う)

・Open infile For Input As #fileNoではなく、以下の様なバイナリで読んでいく。

 Open inFile For Binary Access Read As #fileNo
 bufbyte = InputB(LOF(fileNo), #fileNo) ''bufbyte は、byte 配列変数

実際は、試してないので、はっきりしたことは言えません。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
ご提案の方法を一度試してみますので、結果がわかりましたら連絡させていただきます。

お礼日時:2015/07/14 19:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!