TCOM / TCL中的0x800a03ec {SaveAs方法的Workbook类失败}错误

时间:2012-03-07 20:03:17

标签: excel com tcl

我正在尝试将一些数据从TCL写入CSV文件,但是在执行时我得到了0x800a03ec {WorkAs类的SaveAs方法失败}。知道为什么会这样吗?

set application [::tcom::ref createobject "Excel.Application"]
$application Visible 1

set workbooks [$application Workbooks]
set workbook [$workbooks Add]
set worksheets [$workbook Worksheets]
set worksheet [$worksheets Item [expr 1]]
#set worksheet [$worksheets Item "Sheet1"]
set cells [$worksheet Cells]

set rows [array size atten]
for {set row 1} {$row <= $rows} {incr row} {
    $cells Item $row "B" $atten($row)
}

$workbook SaveAs Filename {c:\tst.csv}
$application Quit

2 个答案:

答案 0 :(得分:1)

实际上,plain googling for this会产生许多可能的原因和解决方案(从手动设置输出格式到达到行限制以达到字符串长度限制等)。最明显的是,这个例外与Tcl无关(因为它只是COM从Excel实例中编组),所以只需阅读从搜索输出链接的讨论,看看适用于你的情况。

答案 1 :(得分:0)

问题在于您的SaveAs行。它应该读

$workbook SaveAs {c:\tst.csv}

此外,您可能希望从C:\更改位置,因为它通常不是可写位置。