【VBA】指定したcsvファイルを開く方法!閉じるところまで一括解説!

f:id:yshgs_elec:20210208215146j:plain

この記事では、指定したcsvファイルを開いて閉じる方法をご紹介していきます。

 

オシロスコープなんかの実験装置では、csvファイルでデータが出力されるため、それらのファイルを大量処理する場面などにこの記事の内容が役に立つはずです。

 

エクセル初心者向けに詳細解説していますので、ぜひ最後までご覧ください。

※基本的にはcsvファイルでなくても開けますので状況に応じて修正してください。

それでは早速やっていきます!

スポンサーリンク

csvファイルを開く方法

まずはVBA上でcsvファイルを開く方法をご紹介します。

 

◆csvファイルを開くVBAコード

Workbooks.Open (“開きたいファイルのフルパス”)

たったのこれだけ。

 

非常に簡単ですね。

スポンサーリンク

csvファイルを閉じる方法

次はVBA上でcsvファイルを閉じる法をご紹介します。

 

◆csvファイルを閉じるVBAコード

Windows(“開いたファイル名”).Close

 

ここで注意すべきなのは、開くときはフルパスを指定したのに対して、閉じるときはファイル名だけを指定するという点です。

(すでに開いている時点でどこにおいてあるかは関係ありませんからね。)

スポンサーリンク

VBAでの実際の使用例

ここまで基本的なVBAコード解説をしてきましたが、そうは言っても実際に使用してみないとわかりませんよね。

 

というわけでここからは実際に指定したcsvファイルを開いて、ある処理を行った後に閉じるという作業を実演していきたいと思います。

 

今回は以下の画像のように、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ファイルが開かれたことを確認する画像

 

メッセージも出てきました。

VBAの処理メッセージ

というわけできちんと動くことが確認できました。

 

念のため、セルに適当な名前を記述していた場合にどうなるのかも見てみましょう。

セルに記述した名前とフォルダ内のcsvファイルの名前が一致していない状態で、

 

「再びいざ、実行!!!」

f:id:yshgs_elec:20210208213921j:plain

すると上のようなメッセージが出現し、その後はなにも起こりませんでした。

 

ファイルがない場合も問題なく動作していそうですね。

スポンサーリンク

おわりに

というわけで今回は指定した名前のcsvファイルを開いて閉じるという一連の流れを行ってみました。

実験データ処理の際には非常に役立つはずですので、ぜひご活用ください。

 

このように私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

・日々の残業時間を減らしたい。

・業務をもっと効率的にこなしたい。

・もっと勉強する時間を作りたい。

こんな思いを持っている人は、ぜひ他の記事も見てみてくださいね。

この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました