エクセルブックの操作に関して、よく使用する記述をまとめてみました。(これらは「VBAトレーニング」の中でも紹介しています)
このページで学習出来る事 VBAトレーニング最初となる今回は、Excelシートの使い方について説明をしていきたいと思います。 ただ単純にシートを切り替えたり、削除したりするコードを覚えるのではなくブックやシートオブジェクトを見[…]
目次
・エクセルを表示せずに(非表示で)ブックを開く方法
・新規エクセルファイルの作成
・エクセルファイルの保存方法
エクセルを表示せずに(非表示で)ブックを開く方法
Sub main()
Dim objXlsApp As New Application
Dim objWorkbook As Workbook
Set objWorkbook = objXlsApp.Workbooks.Open("C:\sample.xlsx")
'--------------------------
'シートの値を取得するなどの処理をする。
'--------------------------
objWorkbook.Close SaveChanges:=False
End Sub
コードの解説
‘エクセルアプリケーションを操作するオブジェクトを読み込んでいます。
Dim objXlsApp As New Application
‘エクセルブックを入れる変数宣言をしています。
Dim objWorkbook As Workbook
‘エクセルアプリケーションから指定したエクセルファイルを開いています。
‘この操作で[C:\sample.xlsx]の内容が[objWorkbook]に入っています。
Set objWorkbook = objXlsApp.Workbooks.Open(“C:\sample.xlsx”)
‘開いたファイルを保存せずに閉じています。
objWorkbook.Close SaveChanges:=False
この様にエクセルアプリケーションを事前に宣言することで、エクセルファイルを表示せずに開くことが出来ます。
ただ「バックグラウンド」では開いていますので、ブックを閉じる前にVBAがエラーなどで終了してしまうと、タスクマネージャーなどで消してあげる必要があります。
新規エクセルファイルの作成
Sub main()
Dim objXlsApp As New Application
Dim objWorkbook As Workbook
Set objWorkbook = objXlsApp.Workbooks.Add
objWorkbook.SaveAs ("C:\sample.xlsx")
objWorkbook.Close
End Sub
コードの解説
‘エクセルアプリケーションを操作するオブジェクトを読み込んでいます。
Dim objXlsApp As New Application
‘エクセルブックを入れる変数宣言をしています。
Dim objWorkbook As Workbook
‘[objXlsApp.Workbooks.Add]で新規ブックを作成し、その情報を[objWorkbook]に入れています。
Set objWorkbook = objXlsApp.Workbooks.Add
‘名前を付けてエクセルファイルを保存しています。
objWorkbook.SaveAs (“C:\sample.xlsx”)
objWorkbook.Close
エクセルファイルの保存方法
'上書き保存
Sub main()
Dim objXlsApp As New Application
Dim objWorkbook As Workbook
Set objWorkbook = objXlsApp.Workbooks.Open("C:\sample.xlsx")
objWorkbook.Close SaveChanges:=True
End Sub
'保存せずに閉じる
Sub main()
Dim objXlsApp As New Application
Dim objWorkbook As Workbook
Set objWorkbook = objXlsApp.Workbooks.Open("C:\sample.xlsx")
objWorkbook.Close SaveChanges:=False
End Sub
'名前を付けて保存
Sub main()
Dim objXlsApp As New Application
Dim objWorkbook As Workbook
Set objWorkbook = objXlsApp.Workbooks.Open("C:\sample.xlsx")
objWorkbook.SaveAs ("C:\sample2.xlsx")
objWorkbook.Close
End Sub
コードの解説
‘上書き保存
‘開いているブックオブジェクトを上書き保存します。
Set objWorkbook = objXlsApp.Workbooks.Open(“C:\sample.xlsx”)
objWorkbook.Close SaveChanges:=True
‘保存せずに閉じる
‘開いているブックオブジェクトを保存せずに閉じます。
Set objWorkbook = objXlsApp.Workbooks.Open(“C:\sample.xlsx”)
objWorkbook.Close SaveChanges:=False
‘名前を付けて保存保存せずに閉じる
‘開いているブックオブジェクトを名前を付けて保存します。
Set objWorkbook = objXlsApp.Workbooks.Open(“C:\sample.xlsx”)
objWorkbook.SaveAs (“C:\sample2.xlsx”)
objWorkbook.Close
この様な方法で、名前を付けて保存する方法もあります。
objWorkbook.Close SaveChanges:=True, Filename:=”C:\sample.xlsx”
関数の操作に関して、よく使用する記述をまとめてみました。(これらは「VBAトレーニング」の中でも紹介しています) [sitecard subtitle=関連記事 url=https://www.taru-net.jp/tec/excel[…]