|
сохранение Excel | ☑ | ||
---|---|---|---|---|
0
lubja
17.08.11
✎
15:21
|
народ, подскажите, пжлста!
есть екселевский файл с макросами. я в файл вношу изменения и хочу записать. вопрос в следующем: как сохранить и мои изменения, и макросы? код примерно следующий: Попытка ExcelПриложение = Новый COMObject("Excel.Application"); ExcelФайл = ExcelПриложение.Workbooks.Open(Файл); ExcelЛист = ExcelФайл.Sheets(1); Исключение Сообщить("Ошибка при загрузке Microsoft Excel." + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание); Возврат; КонецПопытки; //изменения этого файла ..... //здесь я перепробовала разные варианты ExcelПриложение.DisplayAlerts = Ложь; Попытка //ExcelЛист.SaveAs(Файл); //ExcelЛист.Save(); //ExcelФайл.SaveAs(Файл); //ExcelФайл.Save(); //ExcelПриложение.SaveAs(Файл); //ExcelПриложение.Save(); Исключение Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не удалось сохранить файл!"; Сообщение.Сообщить(); КонецПопытки; |
|||
1
lubja
17.08.11
✎
15:23
|
+ у меня получается, что либо файл с моими изменениями, но без макросов, либо с макросами, но без изменений...
|
|||
2
mzelensky
17.08.11
✎
15:25
|
(0) А что меняешь то???
|
|||
3
lubja
17.08.11
✎
15:26
|
(2) те варианты, которые я в попытке перепробовала возвращают (1)
|
|||
4
mzelensky
17.08.11
✎
15:28
|
Сделай для начала так:
ДокументExcel = Новый COMОбъект("Excel.Application"); ДокументExcel.Visible = True; и погляди что у тебя вообще с этим файлом экселевским. Данные тобой внесенные корректны или нет |
|||
5
mzelensky
17.08.11
✎
15:29
|
Вот это "ДокументExcel.Visible = True;" нужно в самом конце, когда уже все сделала - показываешь его на экране
|
|||
6
lubja
17.08.11
✎
15:31
|
(5) данные и макросы есть.
|
|||
7
mzelensky
17.08.11
✎
15:32
|
я так делал:
Ех = Новый COMОбъект("Excel.Application"); // пытаемся открыть базу .... Книга = Ех.WorkBooks.Open(Элементыформы.ПолеИмениФайла.Значение); ... Книга.SaveAs(Элементыформы.ПолеИмениФайла.Значение); Книга.close(); Ех.WorkBooks.close(); Ех=неопределено; |
|||
8
lubja
17.08.11
✎
15:36
|
(7) к сожалению, при попытке открыть этот файл после обработки выдает сообщение, что "действительный формат открываемого файла отличается от указываемого его расширением имени файла. перед открытием данного файла убедитесь, что он не поврежден и получен из надежного источника. открыть этот файл сейчас?". и если нажимаю да, то мои данные есть, макросов нет...
|
|||
9
mzelensky
17.08.11
✎
15:39
|
(8) ну эт ты уже макросы юзай....фишка именно в них, а не в способе сохранения экселя.
макросы что делают вообще? |
|||
10
lubja
17.08.11
✎
15:41
|
(9) а хз... файл прислал банк. сказали, чтобы именно в этот файл вносили изменения (типа, копирование не хляет). а что делают макросы - не моя забота))
|
|||
11
mzelensky
17.08.11
✎
15:48
|
(10) так может там тупо стоит защита от программного редактирования??? такое бывает!
|
|||
12
mzelensky
17.08.11
✎
15:49
|
попробуй программно просто добавить число в пустую ячейку экселя и сохранить.
|
|||
13
lubja
17.08.11
✎
15:52
|
(12) тут мысль одна появилась... как сохранить (программно) файл с типом именно xls? просто если я делаю в конце ДокументExcel.Visible = True и сохраняю руками файл именно в этом формате, то все вроде бы остается (и изменения, и макросы)
|
|||
14
mzelensky
17.08.11
✎
15:54
|
(13) ну я так полагаю:
Книга.SaveAs("Имя файла.xls"); Иначе формат программно не пробовал выставлять |
|||
15
mzelensky
17.08.11
✎
15:56
|
(13) гляди свойства "SaveAs"
|
|||
16
lubja
17.08.11
✎
16:02
|
спс. попробую.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |