Excel ファイルを新規に作成する
VB、VBA で Excel ファイルを新規に作成する関数です。但し、VBScript だとエラーになります。
- Dim objApp 'Excelアプリ
- Dim objBook 'ExcelBook
- Dim objSheets 'ExcelSheets
- Dim objSheet 'ExcelSheet
- Dim strMsg 'エラーメッセージ
- Dim strXlsPath '保存Excelファイル
- Dim i
- Dim xlNormal
- xlNormal = -4143
- 'Excel の保存先
- strXlsPath = "C:\test.xls"
- '===============================================================================
- 'Excelを起動する
- '===============================================================================
- On Error Resume Next
- Err.Clear
- Set objApp = CreateObject("Excel.Application")
- If Err Then
- 'エラー処理
- strMsg = strMsg & "Excelを起動できませんでした" & vbCrLf
- strMsg = strMsg & "Err.Number:" & Err.Number & vbCrLf
- strMsg = strMsg & "Err.Description:" & Err.Description & vbCrLf
- End If
- 'エラー処理の初期化
- On Error GoTo 0
- If strMsg <> "" Then
- 'エラーメッセージの表示
- MsgBox strMsg, vbCritical, "Excel の作成"
- Else
- '===============================================================================
- '新規ワークシートを作成
- '===============================================================================
- objApp.Workbooks.Add
- '非表示にする
- objApp.Application.Visible = False
- '確認ダイアログを表示させない
- objApp.DisplayAlerts = False
- Set objBook = objApp.ActiveWorkbook
- Set objSheets = objBook.Worksheets
- 'シート1のみ残して後は削除
- For i = 2 To objSheets.Count
- objBook.Sheets(2).Delete
- Next
- 'シート1の書き込み
- Set objSheet = objBook.Sheets(1)
- 'セル全体の設定
- With objSheet
- .Name = "シート名1"
- .Cells.Font.Name = "MS Pゴシック"
- .Cells.Font.Size = 11
- .Columns("A:A").ColumnWidth = 20 'A列の列幅を指定する例
- End With
- 'セル"A1"に「AAAA」と表示する例
- objSheet.Range("A1").Value = "AAAA"
- 'シートを新規に作成
- Set objSheet = objBook.Worksheets.Add
- 'セル全体の設定
- With objSheet
- .Name = "シート名2"
- .Cells.Font.Name = "MS Pゴシック"
- .Cells.Font.Size = 11
- .Columns("A:A").ColumnWidth = 20 'A列の列幅を指定する例
- End With
- 'セル"A1"に「BBBB」と表示する例
- objSheet.Range("A1").Value = "BBBB"
- '新規ブックを読み取り専用で保存
- objBook.SaveAs FileName:=strXlsPath, _
- FileFormat:=xlNormal, _
- Password:="", _
- WriteResPassword:="", _
- ReadOnlyRecommended:=True, _
- CreateBackup:=False
- 'Excelの終了
- objApp.DisplayAlerts = True '確認ダイアログを表示させる
- objBook.Close
- objApp.Quit
- 'オブジェクトの解放
- Set objSheet = Nothing
- Set objSheets = Nothing
- Set objBook = Nothing
- Set objApp = Nothing
- 'エラーメッセージの表示
- MsgBox "Excel を作成しました。", vbInformation, "Excel の作成"
- End If
VBScript とは
Visual Basic (VB) のサブセット(簡易版)で、 マイクロソフト社製のスクリプト言語である。 Microsoft Windows上やInternet Information Server(IIS)上で動作する。
VBScript (Microsoft Visual Basic Scripting Edition) は VisualBasicの構文を真似てつくられた、 Microsoft Windowsのネイティブ スクリプト言語である。ランタイムとして、ASP や WSH があり、 主な用途として、
- Active Server Pages (ASP) などを使用したサーバサイドスクリプティング処理
- Windows Script Host (WSH) を利用したWindows上でのネイティブ・スクリプト
- Internet Explorerを使用したクライアントサイドスクリプティング処理
- HTML Applications(HTA)アプリケーション
が挙げられる。 ただし、WWWクライアントスクリプトとしては、対応するブラウザが Windows版のInternet Explorerだけであり、2005年現在ではほとんど使われていない。
HTAやASP、HTML中に組み込まれることが多いが 単体のスクリプトファイルとしておかれる場合、 拡張子は通常.vbsを使用する。