はじめて投稿します。
よろしくお願いします。
Excel の外部テキストの取り込みウィザードとほとんど同じ処理する
マクロを次のように記載しました。
Sub GetData()
With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\sample.txt", _
Destination:=Range("A1"))
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierNone
.TextFileConsecutiveDelimiter = True
.TextFileCommaDelimiter = True
.TextFileColumnDataTypes = array(xlTextFormat, xlTextFormat)
.Refresh BackgroundQuery:=False
End With
End Sub
上記を次のようなテキスト (sample.txt) に対して実行すると ASCII
コード以外の文字 (名前、生まれ) は文字化けしてしまいます。取り
込むファイルの文字コードを指定することはできないのでしょうか ?
sample.txt
名前:STRING,ID:INT
生まれ,123
Miller,728
Myers,1334
McFyer,789
Thommy,345
こちらでも同じ問題にぶつかりました。
http://support.microsoft.com/default.aspx?scid=KB;JA;418841
マイクロソフトの関連ページは上記のようですが、
なにか解決策はないでしょうか。
http://www2s.biglobe.ne.jp/~iryo/2vba/vba29f.html
ここに・・・
Excel上で取り込んだデータが時々文字化けしましたが、下記に変更で直ったことがあります。
.WebFormatting = xlWebFormattingAll
との記述がありました。
ご参考までに・・・
※ CSVをデータベースとして開けば、文字バケは
無かったようにも思いますが・・・
以上。
岡田さん、コメントありがとうございます。
「Connection:="TEXT」と「Connection:="URL」では条件が違ってくるようで、
.WebFormattingをつけたら実行時エラーになりました。
CSVをデータベースで開く方法はどのようにすればよいでしょう。
ここの、
Text Driver={Microsoft Text Driver (*.txt;*.csv)};DefaultDir=physical path to .txt file
をご参照下さい。
ADOでは、通常のアクセスで大丈夫です。
参考までに・・・
以上。
OfficeをXPから2003にアップグレードしたら、それだけで文字化けが
止まりました。
もともとOffice2000で構築したシステムで、XPを入れたらおかしくな
ったという問題だったので、OfficeXPはどうやら使ってはいけないバー
ジョンだったというのが結論のようです。
岡田さん、いろいろありがとうございました。
ツイート | ![]() |