Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10624 / 13646 ツリー ←次へ | 前へ→

【20772】csvファイルのインポートについて ぽこ 04/12/18(土) 20:30 質問[未読]
【20773】Re:csvファイルのインポートについて IROC 04/12/18(土) 20:57 回答[未読]
【20774】Re:csvファイルのインポートについて ぽこ 04/12/18(土) 21:10 回答[未読]
【20775】Re:csvファイルのインポートについて [名前なし] 04/12/18(土) 22:09 回答[未読]
【20782】Re:csvファイルのインポートについて ぽこ 04/12/19(日) 20:34 お礼[未読]

【20772】csvファイルのインポートについて
質問  ぽこ  - 04/12/18(土) 20:30 -

引用なし
パスワード
   はじめまして。ぽこと申します。

csvファイルをExcelに取り込むマクロを作成していますが、取り込みが
上手くいきません。方法としましてはまず「ファイルを開く」ダイアログ
で取り込むファイルを指定し、その後にエクセル上にデータを読み込むよ
うにしたいと思っています。

自分でいろいろやってみまして、■のところにはファイルへの
パスが必要だということはわかっているのですが、パスを格納
したTestという変数を使っても、エラーが出てしまいます。

なぜ上手くいかないのか原因がわかりません。
もしご存知のかたが居られましたらご教授ください。

よろしくお願い致します。

Dim Test
  
  Test = Application.GetOpenFilename _
    ("csvファイル (*.csv),*.csv", , , , True)
    Cells(1, 1) = Test
  With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;■■■" _
    , Destination:=Range("A1"))
    .Name = "test"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = xlWindows
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1)
    .Refresh BackgroundQuery:=False
  End With

【20773】Re:csvファイルのインポートについて
回答  IROC  - 04/12/18(土) 20:57 -

引用なし
パスワード
   Test = "C:\123.csv"

"TEXT;" & Test

で出来ませんか?

【20774】Re:csvファイルのインポートについて
回答  ぽこ  - 04/12/18(土) 21:10 -

引用なし
パスワード
   ▼IROC さん:早速のお返事ありがとうございます。

>Test = "C:\123.csv"
>
>"TEXT;" & Test
>
>で出来ませんか?

Testに格納する変数は一定ではないので、

Test = Application.GetOpenFilename _
    ("csvファイル (*.csv),*.csv", , , , True)

として、開くファイルへのパスを取得したつもりなんですが、
どうしても上手くいきません。。。。

>"TEXT;" & Test

でもやってみましたが、やっぱりダメです。

【20775】Re:csvファイルのインポートについて
回答  [名前なし]  - 04/12/18(土) 22:09 -

引用なし
パスワード
   ▼ぽこ さん:
>Testに格納する変数は一定ではないので、
>
>Test = Application.GetOpenFilename _
>    ("csvファイル (*.csv),*.csv", , , , True)
>
>として、開くファイルへのパスを取得したつもりなんですが、
>どうしても上手くいきません。。。。

Test = Application.GetOpenFilename("csvファイル (*.csv),*.csv")

にすればいいんじゃないですか?
MultiSelectプロパティをTrueにする必要はないんじゃないですかね。

【20782】Re:csvファイルのインポートについて
お礼  ぽこ  - 04/12/19(日) 20:34 -

引用なし
パスワード
   ▼[名前なし] さん:お返事ありがとうございます。

今、実際にやってみたところ、思い通りの動作をしてくれました!
MultiSelectプロパティがどういった意味のものかを良くわかって
いませんでした。これから調べてみようと思います。

助けていただいてありがとうございました。

10624 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free