ブックを閉じずに名前を付けて保存するだけの場合は、WorkbookオブジェクトのSaveAs
メソッドを使用する :
Workbookオブジェクト.SaveAs Filename
以下に新規ブックを保存するサンプルコードを記す :
Sub SampleSaveAsWorkbook()
Dim bk As Workbook
Set bk = Application.Workbooks.Add
'
' <<新規ブックを更新する処理をここに記述>>
'
bk.SaveAs Filename:="D:\SampleBook.xlsx"
End Sub
2015年3月31日火曜日
ブックを閉じる
ブックを閉じる場合は、WorkbookオブジェクトのCloseメソッドを使用する :
Workbookオブジェクト.Close [SaveChanges], [Filename]
ブックの変更内容を保存して閉じたい場合はSaveChanges引数にTrueを、保存せずに
閉じたい場合はFalseを指定する。また、ブックに名前を付けて保存して閉じる場合は
SaveChanges 引数にTrueを指定し、且つ、Filename引数を設定しなければならない。
以下に新規ブックを保存して閉じるサンプルコードを記す :
Sub SampleCloseWorkbook()
Dim bk As Workbook
Set bk = Application.Workbooks.Add
'
' <<新規ブックを更新する処理をここに記述>>
'
bk.Close SaveChanges:=True, Filename:="D:\SampleBook.xlsx"
End Sub
Workbookオブジェクト.Close [SaveChanges], [Filename]
ブックの変更内容を保存して閉じたい場合はSaveChanges引数にTrueを、保存せずに
閉じたい場合はFalseを指定する。また、ブックに名前を付けて保存して閉じる場合は
SaveChanges 引数にTrueを指定し、且つ、Filename引数を設定しなければならない。
以下に新規ブックを保存して閉じるサンプルコードを記す :
Sub SampleCloseWorkbook()
Dim bk As Workbook
Set bk = Application.Workbooks.Add
'
' <<新規ブックを更新する処理をここに記述>>
'
bk.Close SaveChanges:=True, Filename:="D:\SampleBook.xlsx"
End Sub
CSVファイルを読み込む
CSVファイルを読み込む場合は、既存ブックを開く場合と同様に、Workbooksオブジェクト
のOpenメソッドを使用する(厳密さに欠けるが...) :
Set Workbook変数 = Workbooksオブジェクト.Open(Filename, _
[Format], _
[Delimiter])
ファイルの区切り文字を指定するFormat引数に設定する値は下記のいずれか :
1 : タブ
2 : カンマ(,)
3 : スペース
4 : セミコロン(;)
5 : なし(なし、って何?)
6 : ユーザーが独自の区切り文字を指定する場合
Format引数に6を指定した場合に限り、Delimiter引数を設定する必要がある。
カンマ区切りCSVを読み込むサンプルコードを以下に記す :
Sub SampleOpenCSV1()
Dim bk As Workbook
Set bk = Application.Workbooks.Open(Filename:="D:\Sample1.csv", _
Format:=2)
End Sub
文字列"++"で区切られたCSVを読み込むサンプルコードは以下の通り :
Sub SampleOpenCSV2()
Dim bk As Workbook
Set bk = Application.Workbooks.Open(Filename:="D:\Sample2.csv", _
Format:=6, _
Delimiter="++")
End Sub
のOpenメソッドを使用する(厳密さに欠けるが...) :
Set Workbook変数 = Workbooksオブジェクト.Open(Filename, _
[Format], _
[Delimiter])
ファイルの区切り文字を指定するFormat引数に設定する値は下記のいずれか :
1 : タブ
2 : カンマ(,)
3 : スペース
4 : セミコロン(;)
5 : なし(なし、って何?)
6 : ユーザーが独自の区切り文字を指定する場合
Format引数に6を指定した場合に限り、Delimiter引数を設定する必要がある。
カンマ区切りCSVを読み込むサンプルコードを以下に記す :
Sub SampleOpenCSV1()
Dim bk As Workbook
Set bk = Application.Workbooks.Open(Filename:="D:\Sample1.csv", _
Format:=2)
End Sub
文字列"++"で区切られたCSVを読み込むサンプルコードは以下の通り :
Sub SampleOpenCSV2()
Dim bk As Workbook
Set bk = Application.Workbooks.Open(Filename:="D:\Sample2.csv", _
Format:=6, _
Delimiter="++")
End Sub
2015年3月30日月曜日
既存ブックを開く
既に存在するブックを開くときは、WorkbooksオブジェクトのOpenメソッドを使用する。
Openメソッドの書式は下記の通り :
Set Workbook変数 = Workbooksオブジェクト.Open(Filename , _
[ReadOnly], _
[Password])
既存のブック D:\SampleBook.xlsx を開くサンプルコードは以下の通り :
Sub SampleOpenWorkbook1()
Dim bk As Workbook
Set bk = Application.Workbooks.Open(Filename:="D:\SampleBook.xlsx")
End Sub
既存のブックを読み取り専用で開くサンプルコードは以下の通り :
Sub SampleOpenWorkbook2()
Dim bk As Workbook
Set bk = Application.Workbooks.Open(Filename:="D:\SampleBook.xlsx", _
ReadOnly:=True)
End Sub
ブックがパスワードで保護されている場合のコードは以下の通り(パスワードは
「12345」とする) :
Sub SampleOpenWorkbook3()
Dim bk As Workbook
Set bk = Application.Workbooks.Open(Filename:="D:\SampleBook.xlsx", _
Password:="12345")
End Sub
Openメソッドの書式は下記の通り :
Set Workbook変数 = Workbooksオブジェクト.Open(Filename , _
[ReadOnly], _
[Password])
既存のブック D:\SampleBook.xlsx を開くサンプルコードは以下の通り :
Sub SampleOpenWorkbook1()
Dim bk As Workbook
Set bk = Application.Workbooks.Open(Filename:="D:\SampleBook.xlsx")
End Sub
既存のブックを読み取り専用で開くサンプルコードは以下の通り :
Sub SampleOpenWorkbook2()
Dim bk As Workbook
Set bk = Application.Workbooks.Open(Filename:="D:\SampleBook.xlsx", _
ReadOnly:=True)
End Sub
ブックがパスワードで保護されている場合のコードは以下の通り(パスワードは
「12345」とする) :
Sub SampleOpenWorkbook3()
Dim bk As Workbook
Set bk = Application.Workbooks.Open(Filename:="D:\SampleBook.xlsx", _
Password:="12345")
End Sub
新規ブックの作成
新たにブックを作成する場合は、WorkbooksオブジェクトのAddメソッドを使用する。
Addメソッドの書式は下記の通り :
Set Workbook変数 = Workbooksオブジェクト.Add([Template])
ここでTemplate引数に指定できる値は、下記の通り(実は他にもあるがほとんど使わない
はずなので割愛する) :
XlWBATemplate.xlWBATWorksheet
以下に、新規ブックを作成するコードを記す :
Sub SampleCreateNewWorkbook1()
Dim bkNew As Workbook
Set bkNew = Application.Workbooks.Add
End Sub
上のプロシージャを実行すると「Bookn」(nは正の整数)という名前で、新たにブックが追加
される。これに対して、Template引数を指定した下記のコードを実行すると、「Sheetn」
(nは正の整数)という名前の新規ブックが追加される :
Sub SampleCreateNewWorkbook2()
Dim bkNew As Workbook
Set bkNew = _
Application.Workbooks.Add(Template:=XlWBATemplate.xlWBATWorksheet)
End Sub
Addメソッドの書式は下記の通り :
Set Workbook変数 = Workbooksオブジェクト.Add([Template])
ここでTemplate引数に指定できる値は、下記の通り(実は他にもあるがほとんど使わない
はずなので割愛する) :
XlWBATemplate.xlWBATWorksheet
以下に、新規ブックを作成するコードを記す :
Sub SampleCreateNewWorkbook1()
Dim bkNew As Workbook
Set bkNew = Application.Workbooks.Add
End Sub
上のプロシージャを実行すると「Bookn」(nは正の整数)という名前で、新たにブックが追加
される。これに対して、Template引数を指定した下記のコードを実行すると、「Sheetn」
(nは正の整数)という名前の新規ブックが追加される :
Sub SampleCreateNewWorkbook2()
Dim bkNew As Workbook
Set bkNew = _
Application.Workbooks.Add(Template:=XlWBATemplate.xlWBATWorksheet)
End Sub
登録:
投稿 (Atom)