Имя: Пароль:
1C
1С v8
Открыть, отредактировать и сохранить файл Excel
0 Ник ё занят
 
13.10.17
16:42
Как читать файл excel понятно, как создавать и записывать тоже, но как открыть существующий, внести некоторые изменения в определенную ячейку, сохранить и закрыть не могу понять.
Если я делаю так, то

    Попытка
        Эксель = Новый COMОбъект("Excel.Application");
        Эксель.WorkBooks.Open(ПутьКФайлу);
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    
    Книга = Эксель.Workbooks.Add();
    Лист  = Книга.WorkSheets(1);
    
    Версия = Лев(Эксель.Version,Найти(Эксель.Version,".")-1);
    Если Версия = "8" Тогда
         КоличествоСтрокВФайле = Лист.Cells.CurrentRegion.Rows.Count;     
    Иначе
        КоличествоСтрокВФайле = Лист.Cells(1, 1).SpecialCells(11).Row;
    Конецесли;
    
    Для НомерСтроки=1 По КоличествоСтрокВФайле Цикл
        Лист.Cells(НомерСтроки, 2).Value   = 1;
    КонецЦикла;
    
    Попытка
        //Эксель.SaveAs(ПутьКФайлу);   // вот тут пытаюсь сохранять, но выбивает исключение
        Эксель.ActiveWorkBook.SaveAs(ПутьКФайлу); // тоже исключение
    Исключение
        Сообщить(ОписаниеОшибки() + " Файл не сохранен!");
    КонецПопытки;
1 Numerus Mikhail
 
13.10.17
16:43
Какое исключение? что пишет?
2 lubitelxml
 
13.10.17
16:44
что написано в описание ошибки?
3 Wern
 
13.10.17
16:46
Странно как то, сначала ты открываешь файл, после чего добавляешь новую книгу. Книга это и есть файл. Т.е. у тебя старый файл не измениться а все твои изменения будут в новом пустом файле. Нужно
Книга=Эксель.WorkBooks.Open(ПутьКФайлу);

...

а в конце Книга.Save();
4 Ник ё занят
 
17.10.17
08:46
(3) а еще такой момент - пытаюсь сохранить значение в ячейке в виде формулы екселевской таким образом:
    Лист.Cells(2, 2).FormulaR1C1 = "=ГИПЕРССЫЛКА(""google.com"";""Гугл"")";

Выбивает на этой строке исключение:
    Ошибка при установке значения атрибута контекста (FormulaR1C1) по причине:
Произошла исключительная ситуация (0x800a03ec)
5 Мимохожий Однако
 
17.10.17
08:54
Ответь на (1),(2)
6 Ник ё занят
 
17.10.17
09:56
(5) это уже другой немного вопрос, не про сохранение, а про запись в ячейку, которое не value а formula
7 Ник ё занят
 
17.10.17
14:16
(5) какая там была ошибка у меня 4 дня назад я уже не помню
8 Ник ё занят
 
18.10.17
11:55
(4) .FormulaLocal