Перевод кода макроса в код для 1С

Опубликовал Александр (D9ID9I_SaIIIa) в раздел Программирование - Инструментарий

Возникла необходимость запускать из под 1С в excel макросы.
Макрос записывал в самом excel,затем переводил код под 1С...,-надоело муторное проставление строк после ..CodeModule.InsertLines("..,поиск кавычек и.т.д..,в связи с чем решил написать обработку,переводящую код макроса в код для запуска из под 1С.
Может кому ещё сгодится

Открываем макрос,копируем код,запускаем обработку,вставляем в верхнее окно,нажимаем кнопку "перевести",в нижнем окне должен появиться перевод,который можно скопировать в вашу конфигурацию и использовать как вам угодно.

просьба строго не судить,это моя первая публикация Smile

 

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

Наименование Файл Версия Размер
перевод макроса для 1С
.ert 10,50Kb
22.01.10
273
.ert 10,50Kb 273 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Ruslan Edokov (Redokov) 75 22.01.10 15:22 Сейчас в теме
Дело хорошее, хоть и под 7.7
Есть ли планы на 8?
2. Александр (D9ID9I_SaIIIa) 57 22.01.10 15:46 Сейчас в теме
(1)написал по необходимости для 7.7
3. Сергей Яхонтов (newbas) 488 22.01.10 17:00 Сейчас в теме
4. Екатерина Мартынова (KitKat) 22.01.10 18:00 Сейчас в теме
Это курутобл, как раз нужна такая обработочка! Сасибо , Дядя Саша!
5. Аркадий Кучер (Abadonna) 3653 23.01.10 10:35 Сейчас в теме
(0)
поиск ковычек

Поправь - кАвычек, а то прям аж глаз режет ;)
Разработка: +
6. Александр (D9ID9I_SaIIIa) 57 23.01.10 12:05 Сейчас в теме
(5) очепятки разноорбязят техст ) :D
7. Аркадий Кучер (Abadonna) 3653 23.01.10 12:09 Сейчас в теме
(6) ля-ля не надо :D буквы "а" и "о" шибко далеко расположены, чтобы на очепятку канало ;)
8. Александр (D9ID9I_SaIIIa) 57 23.01.10 14:12 Сейчас в теме
9. Алексей Ситников (SiAl) 67 25.01.10 13:03 Сейчас в теме
Прикольно. Молодец. Пиши подобное по "восьмерку".
10. david (dav405) 101 26.01.10 12:09 Сейчас в теме
11. AdApter (adapter) 27.01.10 13:30 Сейчас в теме
я чес гря смысла не понял. Зачем из 1С формировать код макроса для выполнения в том же ексель? Есть ведь OLE, или можно выполнить из 1с уже готовый макрос в книге Ексель. Реальный пример задачи можно в студию?
12. Александр (D9ID9I_SaIIIa) 57 27.01.10 15:20 Сейчас в теме
(11)
ну например в excel выгружаю таблицы,потом по эти таблицам строю графики(через макрос вставленный из 1С).
С помощью макроса я размещаю диаграмму на листе там -где мне это необходимо,меняю цвета рядов диаграммы,изменяю размер диаграммы...
//-----
предварительно я выгружаю из 1С таблицы ,затем записываю макрос строящий диаграмку,посмотрел что да как будет выглядеть,отшлифовал макрос в самом excele к необходимому мне результату,с помощью обработки перевел в код 1С и вставил в конфигурацию.При формировании отчета выгружаю все в excel с запуском макроса,естественно из под 1С.
//--------------
да можно выполнить из 1С готовый макрос в excel
например Exceл.Run("Макрос1") ну это для моего примера,просто не стал последнюю строчку дописывать в обработку :D
13. Александр Фокин (Sure) 136 27.01.10 17:55 Сейчас в теме
Вроде бы всё правильно...
Ехсел=СоздатьОбъект("Excel.Application");
Книга=Ехсел.Workbooks.Add;
MR=Книга.VBProject;
NM=MR.VBComponents.Add(1);
NM.CodeModule.InsertLines(1,"Sub M");
NM.CodeModule.InsertLines(2,"MsgBox 'aaa'");
NM.CodeModule.InsertLines(3,"End sub");
...Показать Скрыть

Но!..

MR=Книга.VBProject;
{D:\MODULE.ERT(8)}: Microsoft Office Excel: Программный доступ к проекту Visual Basic не является доверенны
Обидно :cry:
14. Александр (D9ID9I_SaIIIa) 57 27.01.10 19:25 Сейчас в теме
(13)В настройках Exсel
Сервиз--->Параметры--->Безопасность--->Безопасность макросов
уровень безопасности- низкая
Надежные издатели----доверять доступ к VB проекту
15. Александр (D9ID9I_SaIIIa) 57 27.01.10 19:27 Сейчас в теме
(13) и Ехсел.Run("M"); //чтоб запускалось при открытии excel
16. AdApter (adapter) 28.01.10 09:07 Сейчас в теме
(12) вот выше уже сказали про траблу. Если менять код макроса программно, то надо в параметрах ставить доверие. ПО умолчанию у всех выключено. Значит автоматически работать не будет - пройти по всем юзверям и пожмакать галки это не гут. ИМХО проще сделать так:
1. Подготовить заранее книгу excel с форматированием и диаграммой.
2 Хранить ее в каталоге ИБ для 77 или в хранилище для 8
3. Из 1с, программно, открыть, заполнить данными

Можно довесить пару бантиков:
например сохранить книгу как шаблон (xla), новые книги программно создавать из этого шаблона. Есть такой параметр в Open. ТОгда будет новая книга1.xls с нужными данными

Если совсем что то нереальное надо, какую то интерактивность, выполнение макросов у клиента после заполнения, то можно вписать готовый макрос и через Ехсеl.Run
17. Александр (D9ID9I_SaIIIa) 57 28.01.10 09:21 Сейчас в теме
(16) "1.Подготовить заранее книгу excel с форматированием и диаграммой.
2 Хранить ее в каталоге ИБ для 77 или в хранилище для 8
3. Из 1с, программно, открыть, заполнить данными"
отчёты у мня выводит 1 пользователь,отчёты слишком громоздкие и зависят от множества параметров,так что подготовить excel с форматированием не получиться,+одному "юзверю" настроить excel дело 1 мин.,делал для себя кому пригодиться хорошо.,хотя твоя идея тоже неплохая
18. AdApter (adapter) 28.01.10 09:28 Сейчас в теме
или засунуть запуск макроса в sub_main - тогда макрос сам будет стартовать при открытии книги, без всякой 1с и OLE (com)
19. Никита (Mopo3) 265 29.01.10 13:40 Сейчас в теме
20. Юрий Тимофеев (Tatitutu) 3562 29.01.10 14:19 Сейчас в теме
(18) http://infostart.ru/public/62799/ - там есть два моих примера как можно обойти ДОВЕРИЕ к МАКРОСАМ )))) и это не придел
(0) как варинт , для доработки
макрос в код 1С - имя макроса в список
список как параметр в 1С
макрос в Личную книгу макросов
после всех манипуляций книгу можно "убивать" или "откладывать" до нужных времен.
D9ID9I_SaIIIa; +1 Ответить
21. Макс (kubik12) 31.05.10 04:48 Сейчас в теме
всем привет!у меня проблема мне очень надо макрос который в экселе (перезаписать код) в 1С . Вопрос:объясните мне почему программа которая переводит как я понял код макроса в 1с 8.0 у меня не работает?может я что-то не так делаю? :(
Прикрепленные файлы:
задача о назначении.Полевикова.xls
22. Юрий Тимофеев (Tatitutu) 3562 31.05.10 11:03 Сейчас в теме
"Разработка компьютерной технологии решения экономико-математических задач о назначениях венгерским методом"

ладно лирики
1. потому что обработка для 7.7
2. у тебя не МАКРОС, а форма с кодом - это немного разные вещи
что ты хочешь в 8 ку перетащить Sub минимизация() ? или полностью весь фунционал ?
так его намного проще в 8 ке написать заново
23. Макс (kubik12) 31.05.10 18:12 Сейчас в теме
минимизацию и максимизацию!!!!!!!или хотябы минимизацию . дело в том что я даже понятия не имею как это сделать в 1с!!! Если можно помогите!!!!!! :cry: :cry:
24. Анатолий Ман (Самоделкин) 2 31.03.14 15:11 Сейчас в теме
Хорошая штука, хоть и много времени прошло с ее создания, а до сих пор актуальна.