0x800a03ec {SaveAs method of Workbook class failed

2019-08-25 01:39发布

I'm trying to write some data from TCL to a CSV file, but i get the 0x800a03ec {SaveAs method of Workbook class failed} when executing it. Any idea why this is happening?

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

标签: excel com tcl
2条回答
手持菜刀,她持情操
2楼-- · 2019-08-25 02:21

The problem is in your SaveAs line. It should read

$workbook SaveAs {c:\tst.csv}

Also you may want to change the location from C:\ as that is often not a writable location,.

查看更多
forever°为你锁心
3楼-- · 2019-08-25 02:45

Actually, plain googling for this yields lots of possible causes and solutions (from manual setting the output format to hitting the row limit to hitting the string length limit etc). Most definitely, this exception has nothing to do with Tcl (since it's just what COM marshals from an Excel instance), so just read through the discussions linked from the search output and see what applies to your case.

查看更多
登录 后发表回答