0x800a03ec {Ошибка метода SaveAs класса Workbook} в TCOM / TCL - PullRequest
0 голосов
/ 08 марта 2012

Я пытаюсь записать некоторые данные из TCL в файл CSV, но я получаю 0x800a03ec {метод SaveAs класса Workbook не выполнен} при его выполнении.Есть идеи, почему это происходит?

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 ]

1 голос
/ 08 марта 2012

На самом деле, простое гугление для этого дает множество возможных причин и решений (от ручной настройки формата вывода до достижения ограничения строки до достижения ограничения длины строки и т. Д.). Совершенно определенно, это исключение не имеет ничего общего с Tcl (поскольку это именно то, что COM-маршалы из экземпляра Excel), так что просто прочитайте обсуждения, связанные из результатов поиска и посмотреть, что относится к вашему делу.

0 голосов
/ 08 марта 2012

Проблема в вашей строке SaveAs.На нем должно быть написано

$workbook SaveAs {c:\tst.csv}

Также вы можете изменить местоположение на C: \, поскольку это часто не место для записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...