かっきぃーの雑記帳

おもしろき こともなき世に おもしろく

Excelファイルを開くマクロ [すぐに使えるエクセル・マクロ集]

いろいろなアプリケーションを使っていると、そのアプリケーションでは対応していないグラフを作ってみたいとか、計算処理をしてみたいといった気持ちになるときがあります。

それらのアプリケーションに共通のデータフォーマットである「*.csv」や「*.txt」などの形式で生データを出力するできる機能があれば、エクセルマクロを活用することによって、実現できる可能性があります。

k-create.hatenadiary.com

 

そのスタート地点で有効なのがExcelファイルを開くマクロ」です。Excel形式でファイルを開くことができれば、あとはそれに元にして、表にしたり、グラフにしたり、計算したり、必要なデータのみ抽出したり、といったことが可能になります。

一度だけの処理であれば、生データをもとに処理していけばいいのですが、同じ作業を何度も実行する場合に、マクロ化が力を発揮します。

 

 [これまでに活用した事例]

  • 計測機器で取得したデータをグラフ化
  • 数値計算ソフトの結果から必要なデータのみを抽出して整理

 

今回は、Excelで別のファイルを開くマクロのサンプルコードを紹介します。

 

サンプルコード

Sub read_file()
'=======================================
'
' Excelでファイルを開くマクロ
'
'=======================================

'Fileの選択
  filename00 = Application.GetOpenFilename("ファイル名,*.*")
  If filename00 = "False" Then
    MsgBox ("マクロを中止します")
    End
  End If

'Excelでファイルを開く
  Workbooks.Open Filename:=filename00

End Sub

 

重要構文

(1)Application.GetOpenFilename("[文字列A],[拡張子B]")

実行するとファイルを開くダイヤログが表示され、ファイルの種類の欄に任意に設定した [文字列A]が表示。ダイヤログに表示されるファイルは[拡張子B]で指定できる。拡張子 は「*.xls」「*.csv」「*.txt」のように設定する。特に指定しないときはワイルドカード「*.*]を設定。

この構文では「C:\Documents and Settings\・・・・・\book.xls」のように、 パスを含めた文字列としてファイル名を取得します。

※ファイル名のみを抽出したい場合は、次回公開予定の「パスを含むファイル名からファイル名のみを抽出するマクロ」をお待ちください。

 

(2)Workbooks.Open Filename:=[文字列C]

[文字列C]で規定されるファイルをエクセル形式で開く。[文字列C]はパスを含むものでも、 ファイル名のみでもよい。ファイル名のみとする場合は、アクティブになっている保存場所が 指定される。対象ファイルの存在場所とアクティブになっている場所が異なる場合は当然開けない。

k-create.hatenadiary.com

 

スポンサーリンク