gifts2017

"Карманный" EXCEL (подарок для бухгалтера)

Опубликовал Юрий Тимофеев (Tatitutu) в раздел Программирование - Практика программирования

Очень часто замечаю, что люди, столкнувшись с 1С (таблицами и отчетами), иногда хотят перепроверить !!! данные, копируют, открывают EXCEL и там выполняют привычные для них действия. Так зачем далеко ходить, ведь все под рукой :-)

Внешняя обработка с таблицей EXCEL

Код открыт. Без комментариев (сегодня пятница)

 

По огромной просьбе посетителей сайта, рассказываю подробно как сделать это ЧУДО своими руками

Создаем форму в 1С

Меню - Файл-Вставить ActiveX

Если нет этого компонента , то качаем по ссылке

http://www.microsoft.com/en-us/download/details.aspx?id=22276

файл OWC11.EXE размер 18,5 мб. Устанавливаем (это расширение для Web EXCEL)

 

 

Постоянно встает вопрос :

А для чего ЭТО ? 

- ну придумайте сами :-)

А как сохранить в EXCEL ?

- есть кнопочка на панели инструментов (для пользователей) экспорт в EXCEl

- для программистов (программный способ)

// откроется книга EXCEL

ЭлементыФормы.ЭлементУправления2.Export();

//открыть и сразу записать на диск (в формате xml)

ЭлементыФормы.ЭлементУправления2.Export("D:\Книга3.xml");

//записать на диск (в формате xml) без открытия

ЭлементыФормы.ЭлементУправления2.Export("D:\Книга3.xml");

А как загрузить из EXCEL ?

ЭлементыФормы.ЭлементУправления2.XMLURL="D:\Тест.xml";

P.S.  я надеюсь у здешних программистов не вызовет вопрос как из xls сделать xml и обратно ?

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Карманный EXCEL
.epf 8,86Kb
23.11.12
207
.epf 8,86Kb 207 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Дмитрий Павлик (DimaP) 23.11.12 16:49
2. Юрий Зайцев (Yury1001) 23.11.12 17:38
а как запустить, неактивное всё?
3. Максим Полянский (yandextesting) 23.11.12 17:40
Улыбнуло. С пятницей Вас!
4. Александр Федорович (Фред) 28.11.12 07:25
Так это же клинический случай...Ексель может и не помочь...)) Если что и требует проверки, то соответствие неких отчетам другим...
5. PlatonovStepan (Jogeedae) 28.11.12 12:23
Эх, плюсну, чего уж там :)
бухи-то налили?

{Без офиса работало бы вообще цены не было б!!!!!!}
6. AlexsisIT (Alexsisit) 29.11.12 07:08
Не работает!!!
Офис стоит 2007 открываю обработку все неактивно и ничего не пашет, при увеличении окна увеличиваются все изображение.
Открыл в конфигураторе, там только форма. Кода нет вообще!
Если автор не ответит как с ней работать поставлю минус )
7. Юрий Тимофеев (Tatitutu) 29.11.12 15:04
(6) Alexsisit,

Во первых публикация в Life
Во вторых в публикации написано : Код открыт. Без комментариев (сегодня пятница)
В третьих там всего лишь:
Microsoft Office Spreadsheet 11.0 ActiveX Control на форме

видно зависит от офиса , 2007 нет подрукой чтобы проверить его работу.

и вчетвертых : не могу ответить в комментариях у меня нет доступа почему то

и в пятых : хочешь ставить минус - ставь это твое право
Удачи, везде , всегда и во всем !
bashirov.rs; oweo; unknownDaemon; Mell; adhocprog; +5 Ответить
8. Дмитрий Кеба (Fenicss) 30.11.12 06:28
Ну это очень удобно когда работаешь в терминале. И им приходится сворачивать термилку для того что бы запустить эксель на очень медленных Компах.
А так мне кажется милое дело.
Tatitutu; +1 Ответить
9. Максим Евсенкин (tehas) 05.12.12 14:09
забавная обработавка =)) возьму себе в коллекцию, спасибо =)
10. Сергей Марченко (MarSeN) 20.02.13 23:46
пора сделать то-же самое для управляемой формы ). как пример http://infostart.ru/public/142204/. Если не сделаете Вы - сделаю я (конечно-же с ссылкой на Вашу статью)
11. Юрий Тимофеев (Tatitutu) 21.02.13 11:20
(10) MarSeN,
Делай - все в твоих руках и удачи.
12. roman melnikov (Mell) 21.02.13 12:05
Очень понравилась нашему администратору базы. Всегда все перепроверяет в Excel )))
13. Александр Крынецкий (echo77) 30.05.13 20:03
Я просто во всех отчетах добавляю функционал вычисления суммы выделенных ячеек :-)
14. Александр Федоров (Sasha255n) 13.09.13 21:03
Ну вообщем то не так часто но бывает такая необходимость насущная возникает и тогда пря мо таки и возникают неудобства с окрытием и закрытием окошек. Вообщем автору однозначно плюс скачаю как выше оратор написал себе в колекцию и не только я дуамаю вещь нужная и пригодиться.
15. Ирина (xast) 18.10.13 14:35
мне очень понравилась ваша идея, пока не скачиваю (не хватает денюжки), но как будет... обязательно скачаю... мои бухи то же в восторге
16. Maxim Kolkin (the1) 29.10.13 13:38
17. Денис Луцик (NAKIS) 18.12.13 11:59
Сейчас привяжем и нашим бухам) будут просто прыгать от счастья)
19. Lena Lesnik (lelusha) 06.02.14 21:59
а как реагирует на это Офис? возможна конвертация?
Согласна, удобно при работе из терминала, ведь без экселя в 1с никуда)
20. Константин Куликов (Светлый ум) 20.01.15 06:44
21. Allexey (alex_4x) 08.06.15 14:43
Надо еще допилить возможность записывать полученный файл в 1С (не в виде Excel файла, а в виде документа) и чтобы была возможность одновременно нескольким людям с ним работать.
У меня такое было сделано, но подглюкивало. :-)
Суть такая: Любители пообмениваться ексельками с какой-то мурней (неизвестно чем) делают свой файл, он записывается и потом много людей одновременно! могут менять там строки и колонки, у всех он переодически обновляется. У меня было реализовано как много много документов, в каждом по одной строке в табличной части.
Строки могут двигать вверх вниз (меняется дата документа, а дата документа используется для сортировки строк. Изначально даты сделаны с разрывом в месяц, начиная с 100 года от рождества христова. :-) учитывая. Когда строка передвигается, обычно достаточно поменять дату у одного перемещаемого документа (вверх вниз), все остальные не трогаем.
С колонками хуже - там надо много перезаписывать.

22. Роман Осадченко (cleaner_it) 18.06.15 06:39
Будет больше пользы, если запилить мини-статью - как поместить актив-икс на форму.
Каждый наклепает себе этих обработок, сколько нужно. Для любого офиса)
23. Юрий Тимофеев (Tatitutu) 18.06.15 10:52
(10) MarSeN, (конечно-же с ссылкой на Вашу статью) - статья Ваша есть , а ссылки на меня нет. бывает.
24. Юрий Тимофеев (Tatitutu) 18.06.15 11:26
(22) cleaner_it, любой каприз - добавил описание в шапку статьи. Спасибо
Зеленоград; +1 Ответить
25. Иван Иванов (arkanru) 23.06.15 11:47
По большому счету - херня, попробуйте сохранить в файл внесенные изменения
26. Юрий Тимофеев (Tatitutu) 23.06.15 13:10
(25) arkanru, мне кажется ты "Я" пропустил перед "-"
Должно же быть "По большому счету Я - ...," типа глупый еще и не все получается. Не переживай, будет желание поймешь.

я то как раз могу сохранить (в любом из трех форматов) и прочитать обратно. А вот что сделал Ты ?
27. Иван Иванов (arkanru) 24.06.15 13:27
(26) Tatitutu, Когда кажется - креститься надо, нехристь :))) Пальцы веером, это - здорово ! Слюни подбери, я на досуге ради разминки и загрузил и выгрузил все что мне нужно, потом подумал - а что с этим делать ? Прикол, не более. Возможности этого activeX сильно урезаны, проще уж сам Эксель открыть и сделать все что нужно. Если ты такой крутой в доказательство выложи фрагмент кода, как ты формулы в ячейках сохраняешь.
28. Юрий Тимофеев (Tatitutu) 24.06.15 14:28
(27) arkanru,
1. тебя не смущает дата публикации 23.11.12 15:21 ? спустя три года твой комментарий как бы немного устарел
2. элементарно. (там где ты учился - я преподавал)
3. Хамство не прощаю. До Савеловской не так далеко.
Прикрепленные файлы:
29. Иван Иванов (arkanru) 24.06.15 14:39
Код давай, я тебе таких картинок нарисую мульен

Хамства аналогично - не прощаю !
30. Юрий Тимофеев (Tatitutu) 24.06.15 15:06
(29) arkanru,

ЭлементыФормы.ЭлементУправления2.ActiveCell.FormulaLocal="="+СокрЛП(Формула);
31. Юрий Тимофеев (Tatitutu) 24.06.15 15:17
Картинки и код в целом - как вставить функцию :-)
Прикрепленные файлы:
КарманныйEXCEL.epf
32. Иван Иванов (arkanru) 24.06.15 15:30
Боюсь, уважаемый, вы меня не поняли. Я прошу вас привести код сохранения формулы в ячейке при сохранении данных во "внешнем" файле на диске. В трех форматах - не прошу, хватит одного Экселя, версия Экселя - на выбор.

а приведенный вами код прописывает формулу в ячейку в поле в ЭлементеУправления, смеетесь, уважаемый ?
33. Юрий Тимофеев (Tatitutu) 24.06.15 16:09
(32) arkanru, Как задал вопрос - так я тебе и ответил. Добавил в описание публикации

Постоянно встает вопрос :
А для чего ЭТО ?
- ну придумайте сами :-)
А как сохранить в EXCEL ?
- есть кнопочка на панели инструментов (для пользователей) экспорт в EXCEl
- для программистов (программный способ)

// откроется книга EXCEL
ЭлементыФормы.ЭлементУправления2.Export();

//открыть и сразу записать на диск (в формате xml)
ЭлементыФормы.ЭлементУправления2.Export("D:\Книга3.xml");

//записать на диск (в формате xml) без открытия
ЭлементыФормы.ЭлементУправления2.Export("D:\Книга3.xml",false);
А как загрузить из EXCEL ?
ЭлементыФормы.ЭлементУправления2.XMLURL="D:\Тест.xml";

P.S. я надеюсь у здешних программистов не вызовет вопрос как из xls сделать xml и обратно ?
34. Иван Иванов (arkanru) 24.06.15 16:46
Так и говори, что не знаешь ! Тут (для меня) дело принципа, могу ли я из COMобъекта сохранить во внешний файл нужные мне значения. Командами кода подменять кнопки и экспортировать данные через другой формат - моветон, а вот как из напрямую - ты не знаешь, а понтов, понтов ..... ладно, пока !
35. Юрий Тимофеев (Tatitutu) 24.06.15 16:51
(34) Скучно с тобой. Ты не понимаешь , что и о чем говоришь. Извиниться слабо, решил слинять
36. Иван Иванов (arkanru) 24.06.15 17:25
собачиться с тобой, да, нет ни малейшего желания, а, собсно, кто и перед кем должен извиняться ? может перечитаешь начало диалога ?
37. Юрий Тимофеев (Tatitutu) 24.06.15 17:32
(36) arkanru,
попробуйте сохранить в файл внесенные изменения
- я показал как

Я прошу вас привести код сохранения формулы в ячейке при сохранении данных во "внешнем" файле на диске. В трех форматах - не прошу, хватит одного Экселя, версия Экселя - на выбор.
- я показал как

я то как раз могу сохранить (в любом из трех форматов) и прочитать обратно. А вот что сделал Ты ? - осталось без ответа
38. Иван Иванов (arkanru) 24.06.15 20:19
попробуйте сохранить в файл внесенные изменения
что непонятного ?

а ты что начал вещать ?

а я ничем не хвастался. Обработка с загрузкой-выгрузкой с использованием данного activeX лежит на диске, только я пошел другим путем, создается новый "пустой" COMобъект и в него переносятся по ячейкам все данные и свойства из activeX и этот объект уже сохраняется. Считаю, что хвастаться и понты кидать незачем. Лично я пока этим кодом не доволен.

но хамить начал ты

типа глупый еще и не все получается


извини, но мы с тобой в одной канаве не валялись. Так что - без обид, сам напросился
39. Юрий Тимофеев (Tatitutu) 24.06.15 20:36
(38) arkanru, что же ты такой "болезненный" ? Улыбнись жизнь прекрасна.
Обработка была выложена - без единой строчки кода - это один из первых примеров использования активХ на форме
три года назад !!! еще раз повторюсь.

"только я пошел другим путем, создается новый "пустой" COMобъект и в него переносятся по ячейкам все данные и свойства из activeX и этот объект уже сохраняется."

- молодец у каждого свою путь

нет, ты начал "По большому счету - херня" - если бы задал вопрос - я бы тебе спокойно ответил.а так от кого прилетело туда и вернулось. Тебе с этим жить :-)

"извини, но мы с тобой в одной канаве не валялись"

ты знаешь - я вообще не имею привычки в канаве валяться

"Так что - без обид, сам напросился"

Не льсти себе, Tatitutu - обидеть очень хлопотно!
40. Иван Иванов (arkanru) 25.06.15 09:29
На обиженных воду возят. Сиди и обижайся в своем углу.

Лечиться тебе надо.

Когда я выложил в сети свои "изыскания" на предмет другого COMобъекта - Skype4Com у меня и в мыслях не было надуваться как индюк, что я там где-то что-то первым выложил.

А за напоминание о методе Export() - пасиб, что-то я его упустил из виду.
41. Юрий Тимофеев (Tatitutu) 25.06.15 13:08
(40) arkanru, Ты нормально смотрю разговаривать не можешь.
Никто на тебя не обижался и обижаться не собирается - еще раз говорю не льсти себе.

Всегда пожалуйста. Обращайся.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа