SQLの窓

2017年09月03日


VBScript : 新しい Excel の Book を作成する

Excel 2007 以降の場合

VBScript : Excel の新しいBookを作成する
2007 以降の場合、.xls の拡張子で保存時はフォーマットを指定しないと読みだす時に警告が出るようです

サンプルは、.xlsx で保存しています

通常イントラネットのWEBページで利用されるテクニックの基本的な部分です。イントラネットの場合は、フォーマットを事前に作成しておくので、Excel ブックの作成を行う事は稀ですが、簡単な運用に使う場合は新規にブックが必要になると思います

※ 複数回実行すると上書きされます

Excel.Application を初回のみ作成するように記述しているのは、関数化するとこのような記述がいずれ都合が良くなるからです。

昔から、Excel.Application の扱いはけっこう厄介で、実行する毎に Quit しておくとトラブルを最低限に抑える事ができます。しかし、操作方法のルールとリカバリ方法をマニュアル化しておく事が最も重要になります
' **********************************************************
' 新しい Excel の Book を作成する
' **********************************************************

Dim ExcelApp	' アプリケーション
Dim ExcelBook	' ブック
Dim Fso		' ファイルシステムオブジェクト

' このスクリプトが存在するディレクトリ
Set Fso = CreateObject( "Scripting.FileSystemObject" )
strCurPath = WScript.ScriptFullName
Set obj = Fso.GetFile( strCurPath )
Set obj = obj.ParentFolder
strCurPath = obj.Path

' このディレクトリに作成
Dim BookPath : BookPath = strCurPath & "\mybook.xlsx"

' 初回のみオブジェクトを作成
If Not IsObject(ExcelApp) Then
	Set ExcelApp = CreateObject("Excel.Application")
End If

' 警告を出さないようにする
ExcelApp.DisplayAlerts = False

' ブック追加
ExcelApp.Workbooks.Add

' 追加したブックを取得
Set ExcelBook = ExcelApp.Workbooks( ExcelApp.Workbooks.Count )

on error resume next
' 保存
ExcelBook.SaveAs( BookPath )
if Err.Number <> 0 then
	MsgBox( "ERROR:" & Err.Description )
end if
on error goto 0

' Excel をアプリケーションとして終了
ExcelApp.Quit
' Excel を VBScript から開放
Set ExcelApp = Nothing
' オブジェクト変数を初期化( 初期化しないとオブジェクト扱いされる )
ExcelApp = Empty




タグ:VBScript EXCEL
posted by lightbox at 2017-09-03 14:09 | VBS + オブジェクト | このブログの読者になる | 更新情報をチェックする
バッチ処理

Microsoft Office
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり