プロが教える店舗&オフィスのセキュリティ対策術

EXCEL2003です。同じフォルダにVBAマクロとデータのcsvファイルがあります。このとき、マクロでパスを取得し、次にcsvファイル名を手入力あるいはそのフォルダの詳細表示からファイルをクリックすればデータを取り込めるようにしたいのですが、どなたかマクロを教えてくれないでしょうか。か。

A 回答 (3件)

色々と方法はありますよ。


一例です。

Sub ボタン1_Click()
ChDir ThisWorkbook.Path
Dim vntFileName As Variant
vntFileName = _
Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv" _
, FilterIndex:=1 _
, Title:="開く" _
, MultiSelect:=False _
)
If vntFileName <> False Then
Workbooks.Open Filename:=vntFileName
End If
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
教えていただいた方法でフォルダからファイルを選択し、
データを取得できました。

お礼日時:2012/11/29 12:53

これは、マクロブックと同じパスの、選択されたCSVファイルをシート単位でコピーするプログラム。


そのパスがファイルダイアログのデフォルトになる。ファイルは複数選択できる。

Option Explicit
Sub EasyCopyCSV()
Dim CSV_filename As Variant, target As Variant
Dim CSV_SheetName As Variant
Dim FileCount As Long
Dim kk As Long

ChDrive ThisWorkbook.Path
ChDir ThisWorkbook.Path
CSV_filename = Application.GetOpenFilename(filefilter:="CSVファイル(*.csv;*.prn),*.csv;*.prn", MultiSelect:=True)
If IsArray(CSV_filename) Then
Else
MsgBox "キャンセルされました!"
Exit Sub
End If
FileCount = UBound(CSV_filename) '配列のサイズからファイル数を調べる
For kk = 1 To FileCount 'ファイル数カウンタ初期化しファイル数分カウンタを回す
Workbooks.Open CSV_filename(kk) 'ファイルを開く
CSV_SheetName = Worksheets(1).Name '開いたシートの名前=ファイル名を取得
Sheets(CSV_SheetName).Move Before:=ThisWorkbook.Sheets(1)
Next
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
教えていただいた方法は、今回はまだ必要ではありませんが、
今後必要になったときに使わせていただきます。

お礼日時:2012/11/29 12:56

作成例:


sub macro1()
 dim myPath as string
 dim myFile as string

 mypath = thisworkbook.path & "\"
 'msgbox mypath

start:
 myfile = inputbox("INPUT CSV FILENAME")
 if myfile = "" then exit sub
 if strconv(right(myfile,4),vblowercase) <> ".csv" then
  myfile = myfile & ".csv"
 end if

 if dir(mypath & myfile) = "" then
  msgbox "FILE NOT FOUND"
  goto start
 end if

 workbooks.open mypath & myfile
end sub


ファイルの指定の仕方とかは山ほどバリエーションがありますので、色々勉強してみて下さい。

同様に
>データを取り込めるようにしたい

どこに?どんな具合に?「取り込み」したいのか、具体的にアナタがやりたい事に応じたマクロを書いてやる必要があります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
教えていただいた方法で、ボックスにファイル名を入力し、
データを取得できました。

お礼日時:2012/11/29 12:54

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