この記事では、指定したcsvファイルを開いて閉じる方法をご紹介していきます。
オシロスコープなんかの実験装置では、csvファイルでデータが出力されるため、それらのファイルを大量処理する場面などにこの記事の内容が役に立つはずです。
エクセル初心者向けに詳細解説していますので、ぜひ最後までご覧ください。
※基本的にはcsvファイルでなくても開けますので状況に応じて修正してください。
それでは早速やっていきます!
csvファイルを開く方法
まずはVBA上でcsvファイルを開く方法をご紹介します。
◆csvファイルを開くVBAコード
Workbooks.Open (“開きたいファイルのフルパス”)
たったのこれだけ。
非常に簡単ですね。
csvファイルを閉じる方法
次はVBA上でcsvファイルを閉じる法をご紹介します。
◆csvファイルを閉じるVBAコード
Windows(“開いたファイル名”).Close
ここで注意すべきなのは、開くときはフルパスを指定したのに対して、閉じるときはファイル名だけを指定するという点です。
(すでに開いている時点でどこにおいてあるかは関係ありませんからね。)
VBAでの実際の使用例
ここまで基本的なVBAコード解説をしてきましたが、そうは言っても実際に使用してみないとわかりませんよね。
というわけでここからは実際に指定したcsvファイルを開いて、ある処理を行った後に閉じるという作業を実演していきたいと思います。
今回は以下の画像のように、VBAを実行するファイルと同じ場所に開きたいcsvファイルを保存しているという状態で実行していきます。
また、開きたいファイルはあらかじめセルに記述してあることを想定してコードを書いています。
◆csvファイルを開く⇒閉じるという一連の流れを行うVBAコード
Sub open_csv()
'変数の型を宣言
Dim file_name As String
'開きたいファイル名を指定
'セルを参照する場合
file_name = Cells(2, 1)
'コードの直接記述する場合
'file_name ="\test_data1.csv"
'指定したcsvファイルを開く
If Dir(ThisWorkbook.Path & "\" & file_name) <> "" Then
Workbooks.Open (ThisWorkbook.Path & "\" & file_name)
Else
MsgBox "指定ファイルがありません。"
Exit Sub
End If
MsgBox "指定ファイルを開きました。"
'指定したcsvファイルを閉じる
Windows(file_name).Close
End Sub
少し難しそうに見えるかもしれませんが、基本的に行っていることは以下の通りです。
①開きたいファイル名を指定
②Workbooks.Openで①のファイルを開く
(ファイルがなかった場合は処理を止めるようにしています。)
③MsgBoxでメッセージを表示
(実用する際は、ここをあなたが行いたい処理に書き換えましょう。)
④Windows.Closeで開いたファイルを閉じる
VBA実行結果の確認
最後に先ほど紹介したVBAコードを実行してみましょう。
この状態で(セルに記述した名前とフォルダ内のcsvファイルの名前が一致していることをご確認ください。)
「いざ、実行!!!」
すると以下のようにきちんと指定したファイルが開かれました。
メッセージも出てきました。
というわけできちんと動くことが確認できました。
念のため、セルに適当な名前を記述していた場合にどうなるのかも見てみましょう。
セルに記述した名前とフォルダ内のcsvファイルの名前が一致していない状態で、
「再びいざ、実行!!!」
すると上のようなメッセージが出現し、その後はなにも起こりませんでした。
ファイルがない場合も問題なく動作していそうですね。
おわりに
というわけで今回は指定した名前のcsvファイルを開いて閉じるという一連の流れを行ってみました。
実験データ処理の際には非常に役立つはずですので、ぜひご活用ください。
このように私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
・日々の残業時間を減らしたい。
・業務をもっと効率的にこなしたい。
・もっと勉強する時間を作りたい。
こんな思いを持っている人は、ぜひ他の記事も見てみてくださいね。
この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
それではまた!
コメント