ブックを操作してみようここでは、ファイル操作の初めてとしてブックの操作を学びましょう。
■ この章で学ぶこと |
エクセルでいうブックとは、ファイルの新規作成をしてもらえればわかると思いますが、オブジェクト階層でいうと
アプリケーションの下に位置するオブジェクトです(わからない!?)。
皆さんは意識せずに、色々なファイルをブックを分けて作成していると思います。
今回この章で、そのブックを操作する方法を学びましょう。
ここでは、まず簡単にブックを開いてみようと思います。
Sub ブックオープン()
ChDir ThisWorkbook.Path
Workbooks.Open Filename:="xxx.xls"
MsgBox "ブックが開かれました"
MsgBox "開いたブックを閉じます"
Workbooks("xxx.xls").Close
End Sub
|
ChDir ThisWorkbook.Path
Workbooks.Open Filename:="xxx.xls"
この2行でファイルネームがxxxのファイルがオープンされます。
1行目をみてなんだこれは?と思われるかもしれませんが、意味としてはパスを
このブック(マクロを走らせるブック)と同じフォルダに設定しますよ、という意味です。
これから先パスに悩まされることがちょくちょくあると思いますが、○○○のファイル
ネームのブックを開きなさいという命令をしても、マクロはカレントのフォルダしか見に
行きません(ちょっと怠慢ですよね)。そのため、どこのフォルダを見に行きなさいと
指示しておく必要がある訳です。
Msgbox "○○○○"
メッセージボックスは初めて出てきましたがよく使用することになるので覚えておきましょう。
この1文で○○○○とかかれたメッセージボックスが出てきます。
Workbooks("xxx.xls").Close
ファイルネームxxxのブックを閉じなさいということで、起動したブックを閉じることになります。。
以下のコードは、現在アクティブになっているブックのフォルダ内にtest.xlsの有無を判断します。
存在すれば、パスを表示、存在しなければ存在しない旨のメッセージを表示します。
Sub Path()
Dim strPath As String
Dim strFullPath As String
Dim Fname As String
strPath = ActiveWorkbook.Path
strFullPath = strPath & "\*.*"
Fname = Dir(strFullPath)
Do While Fname <> ""
If Fname = "test.xls" Then
MsgBox strPath
Exit Sub
End If
Fname = Dir()
Loop
MsgBox ("test.xlsが同一フォルダにありません。やり直してください")
End Sub
|
いままでの意味を理解していればわかると思います