PowerShell Memo

このサイトはPowerShell(MSH/Monad)奮闘記です

管理人「newpops吉岡洋」が
「PowerShell(旧名:MSH/Monad)」の研究結果を日々綴っていきます。

【お知らせ】
この日記からPowerShellのTipsを抽出し「PowerShell FAQ」として整理しました。


2006-02-01

[]ExcelファイルをHTMLファイルにコンバートする

COMスクリプティングが貧弱 - PowerShell Memoで、「ExcelファイルをHTMLファイルにコンバートする」スクリプトを紹介しましたが、

Monad Beta2ではExcelファイルのオープンに失敗するため動作しませんでした。


Beta3で実行してみると、なんと、正しく動作するじゃないですか。

COM周りも改善しているのかな?


というわけで、再度紹介しますね。

ExcelファイルをHTMLファイルにコンバートする
param([string] $xlsFilePath)

# Excelファイルをオープンする
$excel    = new-object -com Excel.Application
$workbook = $excel.Workbooks.Open($xlsFilePath)

# 出力するHTMLファイル名が存在する場合は削除する
$htmlPath  = [System.IO.Path]::ChangeExtension($xlsFilePath,".html")
$filesPath = $htmlPath + ".files"
remove-item $htmlPath  -ea SilentlyContinue
remove-item $filesPath -ea SilentlyContinue

# ExcelファイルをHTMLファイルにコンバートする
# Const xlHtml = 44 (&H2C)
$workbook.SaveAs($htmlPath, 44)

# HTMLファイルが出力されるまでウェイト
while(test-path $htmlPath -eq $False)
{
    start-sleep -m 100
}

# Excelファイルをクローズし、Excelを終了する
$workbook.Close()
$excel.Quit()

# オブジェクト破棄
$excel = $null
$workbook = $null