Excel-VBA Queryテーブルの削除とデータ読込み

'CSV読込みとか。。。
'読込ファイルの準備
dim dowmcsv
If downcsv = "" Then InputBox ("読み込むファイル名を入れてください")

'ファイルの設定と確認
Dim FileExist, File_Path As String
Dim con

File_Path = ThisWorkbook.Path & "\" & downcsv

'csv=テキストなので、TEXT;とつける。
con = "TEXT;" File_Path

FileExist = Dir(File_Path)
If FileExist = "" Then
MsgBox "指定したcsvファイルが存在しません。検索、保存後に実行してください。", vbCritical, "-----"
Exit Sub
End If


'シートにあるクエリテーブルを調べて削除
Dim qt As QueryTable
For Each qt In ActiveSheet.QueryTables
qt.Delete
Next

'外部データ読込設定
'読み込開始行は3行目から。
'文字コードをSHIFT-JIS (TextFilePlatform = 932)日本語コードページ
'カンマ区切り→.TextFileCommaDelimiter = True

With ActiveSheet.QueryTables.Add(Connection:=con, Destination:=Range("A1"))
.Name = downcsv
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = False
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 932 '文字コード(Character)指定
.TextFileStartRow = 3 '3行目から取込み開始
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
'.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック