Имя: Пароль:
1C
1С v8
Как дописать Excel-файл
,
0 SergeyGr
 
28.01.14
13:18
Подскажите, как программно открыть Excel-файл, дописать его и закрыть ?

И чтобы не было "лишних" сообщений ?

Спасибо
1 shuhard
 
28.01.14
13:21
(0) а что конкретно  не получилось при наличии сотен статей по этому поводу ?
2 SergeyGr
 
28.01.14
13:24
Считать получилось, записать в новый тоже.

Не получается в уже существующий файл с данными добавить и потом записать его.
3 Господин ПЖ
 
28.01.14
13:27
проблема то в чем? нет параметров в методах? нет прав на запись в файл?
4 SergeyGr
 
28.01.14
13:31
ДокExcel = Новый COMОбъект("Excel.Application");
ДокExcel.Workbooks.Open(ПолноеИмяФайла);
Лист = ДокExcel.Sheets(1);
Лист.Cells(10,10).Value = "СокрЛП(СтрокаИзТЧ.Контрагент)";


А как записать этот документ ?
5 bugz2003
 
28.01.14
13:33
Excel.ActiveWorkBook.Save();
        Excel.WorkBooks.Close();
6 bugz2003
 
28.01.14
13:34
только в твоем случае
ДокExcel.ActiveWorkBook.Save();
ДокExcel.WorkBooks.Close();
7 dk
 
28.01.14
13:34
Книга = ДокExcel.Workbooks.Open(ПолноеИмяФайла);
Лист = Книга.Sheets(1);
...
Книга.Save(...);
8 SergeyGr
 
28.01.14
13:36
А можно как-то избежать вопроса "Файл существует.Заменить?"
9 George Wheels
 
28.01.14
13:41
(8) ConflictResolution для SaveAs
10 dk
 
28.01.14
13:43
displayalerts = ложь
11 George Wheels
 
28.01.14
13:45
(9) + И у самой книги есть свойство ConflictResolution.
Можно его установить в значение xlLocalSessionChanges.

Книга.ConflictResolution = xlLocalSessionChanges
Книга.Save
12 SergeyGr
 
28.01.14
13:48
(11) Прошу прощения, нужно так сделать ?

Excel = Новый COMОбъект("Excel.Application");
Excel.Workbooks.Open(ПолноеИмяФайла);
Excel.ConflictResolution = "xlLocalSessionChanges";
13 Wobland
 
28.01.14
13:54
(12) подозреваю, нужно знать, какое число имеется в виду под xlLocalSessionChanges
14 George Wheels
 
28.01.14
13:55
(13) Excel знает.
15 SergeyGr
 
28.01.14
13:56
0 или 1 ?
16 SergeyGr
 
28.01.14
13:57
Выпадает сообщение:  Поле объекта не обнаружено (ConflictResolution)
17 Wobland
 
28.01.14
13:57
(15) или -1.. открой для себя мсдн. или хотя бы гугл
18 George Wheels
 
28.01.14
13:58
(16) Не у приложения свойство, а у книги.
19 SergeyGr
 
28.01.14
14:02
(18) подскажи, плз !
20 George Wheels
 
28.01.14
14:07
Excel.Workbooks(1).ConflictResolution = ...
21 George Wheels
 
28.01.14
14:11
В Excel xlLocalSessionChanges = 2.
22 SergeyGr
 
28.01.14
14:13
Спасибо всем ОГРОМНОЕ за науку !


все заработало !