マクロ講座 マクロ講座11回

 指定したフォルダのブックを開くマクロ

たとえば、Cドライブにある、Book1.xlsを開くマクロを、記録してみましょう。
以下のようになります。
(サンプルファイルは、こちらから マクロ講座11回サンプルデータ

ブックを開くマクロを記録

あらかじめCドライブにBook1.xlsを作成してあります。
このファイルを開くマクロを記録してみましょう。
マクロの記録ボタンをクリックします。
マクロの名前をつけます。
メニューのファイルをクリックします。Cドライブにある、Book1.xlsを選択します。
Book1.xlsを開いたら、マクロの記録を終了します。■青い四角の記録終了ボタンを押します
できましたか?
それでは、マクロの中身を見てみましょう。
Sub ブックを開く()
    Workbooks.Open Filename:="C:\Book1.xls"
End Sub    
これが、Dドライブの『顧客データ』というフォルダであれば、
Sub ブックを開く()
    Workbooks.Open Filename:="D:\顧客データ\Book1.xls"
End Sub    
となります。Excel2007以降のファイルであれば、Book1.xlsx です。
Sub ブックを開く()
    Workbooks.Open Filename:="D:\顧客データ\Book1.xlsx"
End Sub    
マクロの記録を開くと、ChDir "C:\" のように記録されていますが、ChDir はチェンジディレクトリの意味です。 ディレクトリとは Windowsのフォルダの意味ですから、これは「カレントフォルダの位置を変える "C:\"」 ということになります。 だたし、ファイルを開くマクロでは、開くブック名をフルパスで指定していますから、省略が可能です。
スポンサーリンク
スポンサーリンク

任意のファイル名を指定して開く

ここまでは、簡単に理解できたと思います。
でも、これでは、たくさんある顧客データの限定されたファイルしか、
開くことができません。
ファイル名を指定して開く
『D:\顧客データ』
Dドライブにある、顧客データフォルダに、ファイルが 以下のようにあると
仮定して、B1セルに、名前を入れると、そこに入れた名前をもとに
ファイルを開くように変更してみましょう。
顧客データフォルダ
表のB1セルにファイル名を入れて、マクロを実行すると、
そのファイル名を開くというわけです。
変更するのは、

D:\顧客データ\Book1.xls の

名前の部分『Book1』のところだけです。
『Book1』をB1セルの内容を表すように書き換えます。

B1セルの内容を表すのは「 & Range("B1").Value & 」という記述ですが、
これをファイル名を示す文字列として認識させる必要があります。

マクロの記述では「""」で囲むと、その部分は文字列として認識されます。

\顧客データ\" & Range("B1").Value & ".xls" 
Sub ブックを開く()
    Workbooks.Open Filename:="D:\顧客データ\Book1.xls"
End Sub    
以下のように変更
Sub ブックを開く()
    Workbooks.Open Filename:="D:\顧客データ\" _
     & Range("B1").Value & ".xls"
End Sub    
Excel2007以降のファイルであれば、Book1.xlsx です。
Sub ブックを開く()
    Workbooks.Open Filename:="D:\顧客データ\" _
     & Range("B1").Value & ".xlsx"
End Sub    
 

以上で、B1セルに入力した名前をもとに、その名前のブックを開くマクロが作成
できました。

B1セルに入力する名前は、実在するファイルなら何でもかまいませんし、
フォルダの場所を変更すれば、どこのフォルダのファイルでも開くことができます。

B1セルにファイルの名前を入力するのが面倒なときは、
入力規制でリストからファイルを選択するようにすれば良いでしょう。
今日の講義は以上です。お疲れ様でした。
スポンサーリンク
スポンサーリンク