Что нового

AutoIt + Excel - изменение размера колонок

zoxer1

Знающий
Сообщения
72
Репутация
6
Здравствуйте!

Дано:
Скрипт - формирует отчет.
Файл Excel - Файл отчета, заполняется Скриптом
Одна ячейка вида с надписью
Код:
"#######"
- дата, но так как не помещается в ячейку файла Excel, пишется именно так.

Найти:
Найти способ изменение размера Колонки с помощью скрипта.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
zoxer1
Попробуйте так:
Код:
#include <Excel.au3>

$sFileXls = @ScriptDir & '\test.xls'

$oExcel = _ExcelBookOpen($sFileXls)
$oExcel.Columns('A:F' ).EntireColumn.Select ;колонки A-F
$oExcel.Selection.EntireColumn.AutoFit
$oExcel.Range('A1' ).Select
;_ExcelBookClose($oExcel)

А так еще проще:
Код:
#include <Excel.au3>

$sFileXls = @ScriptDir & '\test.xls'

$oExcel = _ExcelBookOpen($sFileXls)
$oExcel.Columns('A:F' ).EntireColumn.AutoFit ;колонки A-F
;_ExcelBookClose($oExcel)
 

musicstashall

Знающий
Сообщения
322
Репутация
7
Мастера, дайте пожалуйста аналогичный пример для обновленной библиотеки, этот уже не работает.

Код:
$oExcel = _Excel_Open(Default, Default, Default, Default, True)
$sWorkbook = @ScriptDir & '\calculate.xls'
$oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook)
$oWorkbook.Columns('A:F' ).EntireColumn.AutoFit

$oWorkbook.Columns('A:F' ).EntireColumn.AutoFit
$oWorkbook^ ERROR
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Как-то так :
Код:
#include <Excel.au3>
$oExcel=_Excel_Open(False)
$sFileXls = @ScriptDir & '\test.xls'
$oWorcbook= _Excel_BookOpen($oExcel,$sFileXls)
$oExcel.Columns('A:F' ).EntireColumn.AutoFit ;колонки A-F
 

musicstashall

Знающий
Сообщения
322
Репутация
7
Всё равно та же самая ошибка:


: ==> The requested action with this object has failed.:
$oExcel.Columns('A:F' ).EntireColumn.AutoFit
$oExcel^ ERROR



Я вот подумал, может быть потому, что файл недоступен для редактирования? Мой документ создается функцией _ArrayToXLS и офис сообщает, что редактирование этого файла запрещено политикой. Так же у меня проблемы с открытием его как книги, скриптом не открывается, только руками. Что посоветуете? Может есть подобная функция поновее? Или можно как-то сам файл документа представить в соответствующем формате, чтобы XLS его не блокировал?


Добавлено:
Сообщение автоматически объединено:

Всё получилось. Использовал другую функцию _ExcelSheetWriteFromArray
 
Верх