2016-05-29 7 views
1

ファイル拡張子は.xlsですが、デフォルトではhtmlファイルに保存すると変なことがあります。PowerShellはファイルをxlsとして保存しますが、出力はhtmlです

enter image description here

enter image description here

これは、私は、ファイルにいくつかのアクションを実行するために、私のPowerShellスクリプトを使用している問題の原因とXLSファイルとして保存。その結果、スクリプトは1つのxlsファイルと1つのフォルダ(htmlファイルを含む)を生成します。この問題を解決する方法はありますか?私はxlsファイルとして任意のhtmlファイルでファイルを保存したいだけです。どんな助けでも大変感謝しています。ここで

The

enter image description here

私は.XLSとして、ファイルを保存するために使用するコード

Function RenameTab ($ExcelFileName, $OutLoc) 
{ 
$excelFile = "D:\Projects\" + $excelFileName + ".xls" 
$xldoc = New-Object -ComObject "Excel.Application" 
$xldoc.Visible = $false 
$xldoc.DisplayAlerts = $false 

$workbook = $xldoc.Workbooks.Open($excelFile) 
foreach ($worksheet in $workbook.Worksheets) 
{ 
    $n = $ExcelFileName ##+ "_" + $worksheet.Name 
    $worksheet = $workbook.worksheets.item(1) 
    $worksheet.name = "Sheet1" 
    $workbook.SaveAs($OutLoc + $n + ".xlsx") 
    $workbook.Close() 
} 
$xldoc.Quit() 
} 

答えて

1

あなたがSaveAsを呼び出すと、あなたは本当にfile formatを指定する必要があります。

SaveAsためdocumentationによれば、第二引数になり、補正後の行は次のようになります。

$workbook.SaveAs($OutLoc + $n + ".xlsx", 51) # 51 = xlOpenXMLWorkbook 

私はCOM相互作用を持つすべてのこと多くの経験を持っていないが、あなたはできるかもしれません何とか直接列挙を使用して、同様の行を作成する:

$workbook.SaveAs($OutLoc + $n + ".xlsx", $xldoc.XlFileFormat.xlOpenXMLWorkbook) 
+0

私の人生を救った!ありがとう – user664481

関連する問題