|
|
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Есть обработка написанная в VBA. Она ни как не связана с ячейками эксель. По сути считывает данные из обработок 1С и записывает их в другие файлы на фтпэшник. Как модуль VBA преобразовать в экзешник? Так как достаточно тупо получается запускать процедуру из excel. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 16:24 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Minch, Перепиши свой макрос на языке который позволяет скомпилировать твой код в исполняемый файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 17:02 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Как вариант - переложить код в vbs. Можно его так оставить, а можно скомпилировать в exe. Но может не работать, если скрипты в системе запрещены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 20:19 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Hugo121Как вариант - переложить код в vbs. Можно его так оставить ... Вроде не сработает, если в VBA типы переменных указаны. Для каждой строки типа Dim FName as string придется тип удалять. ----- Не люблю Progress OpenEdge. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 08:47 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Перекладывание в vbs не работает. Да на работе не в чем переписывать. Может чего-то убрать попытаться Dim xmlDoc As MSXML2.DOMDocument Set xmlDoc = New DOMDocument xmlDoc.async = False xml_name = "C:\1c_reglament\nike_out.xml" If xmlDoc.Load(xml_name) Then ServName = xmlDoc.getElementsByTagName("ServName").Item(0).Text BaseName = xmlDoc.getElementsByTagName("BaseName").Item(0).Text UserName = xmlDoc.getElementsByTagName("UserName").Item(0).Text Password = xmlDoc.getElementsByTagName("Password").Item(0).Text ObrCode = xmlDoc.getElementsByTagName("ObrCode").Item(0).Text ConnectionString = "Srvr=""" & ServName & """;Ref=""" & BaseName & """;Usr=""" & UserName & """;Pwd=""" & Password & """;" ' открываю 1С Set V82App = CreateObject("V82.Application") V82App.Connect (ConnectionString) ' нахожу обработку Set СправочникОбработки = V82App.Справочники.ВнешниеОбработки Set ЭлементСправочника = СправочникОбработки.НайтиПоКоду(ObrCode) Set ОбработкаСсылка = ЭлементСправочника.ПолучитьОбъект() Set ДвоичныеДанные = ОбработкаСсылка.ХранилищеВнешнейОбработки.Получить() ' сохраняю обработку в файл TempFileName = V82App.ПолучитьИмяВременногоФайла() ДвоичныеДанные.Записать (TempFileName) Set form = V82App.ВнешниеОбработки.ПолучитьФорму(TempFileName) form.Открыть Else ' Вывожу сообщение об ошибке - не удалось прочитать файл настроек Dim strErrText As String Dim xPE As MSXML2.IXMLDOMParseError ' Obtain the ParseError object Set xPE = xmlDoc.parseError With xPE strErrText = "Your XML Document failed to load" & _ "due the following error." & vbCrLf & _ "Error #: " & .ErrorCode & ": " & xPE.reason & _ "Line #: " & .Line & vbCrLf & _ "Line Position: " & .linepos & vbCrLf & _ "Position In File: " & .filepos & vbCrLf & _ "Source Text: " & .srcText & vbCrLf & _ "Document URL: " & .URL End With MsgBox (strErrText) End If ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 10:11 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Прямо в 1С это не реализуется разве? Зачем ещё привлекать VB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 10:41 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
AndreTM, Смысл в том, что бы не заходить никуда. Ни в 1С, ни в excel. Нажал на иконку на рабочем столе, и все у тебя получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 12:56 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Minch,Ну типы всего в трёх местах стереть нужно. Сложнее разобраться с MSXML2 - я сам не делал. Но думаю что сделать можно. Зато потом для коррекции достаточно блокнота, и оперативно. И всегда легко посмотреть, что же оно там делает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 13:40 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Вот в таком виде работает: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. Кириллицу категорически не принимает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 13:50 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Да, скорее всего кириллицу обойти не удастся (( Ладно. Буду думать, может поставлю запуск макроса на открытие книги excel с последующим ее закрытием. Спасибо всем большое за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 14:20 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
MinchДа, скорее всего кириллицу обойти не удастся (( Ладно. Буду думать, может поставлю запуск макроса на открытие книги excel с последующим ее закрытием. Спасибо всем большое за помощь. Если бы у меня была задача сделать "не заходить никуда. Ни в 1С, ни в excel. Нажал на иконку на рабочем столе, и все у тебя получилось.", то я бы переписал эти несколько строк кода 1С на английском языке, сделал бы файл VBS и ярлык для него. ----- Не люблю Progress OpenEdge. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 17:43 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
кладовщик, Я уже начал: Set sprobr = V82App.Справочники.ВнешниеОбработки Только вот как в 1С заменить .Справочники.ВнешниеОбработки на что-то английское? И можно ли вообще? Придумали тоже... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 17:53 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Хотя вообще кириллица в vbs принимается - т.е. такое работает без проблем: Код: vbnet 1. 2. 3. 4. 5. 6. 7. Но не в именах переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 18:04 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Hugo121кладовщик, Я уже начал: Set sprobr = V82App.Справочники.ВнешниеОбработки Только вот как в 1С заменить .Справочники.ВнешниеОбработки на что-то английское? И можно ли вообще? Придумали тоже... Идите на форум 1С. Насколько я помню, весь код в 1С можно писать и на английском. 1С 8.0 Описание встроенного языка.chmВстроенный язык (далее по тексту - язык) представляет собой предметно-ориентированный язык программирования, специально разработанный с учетом возможности его применения не только профессиональными программистами. В частности, все операторы языка имеют как русское, так и англоязычное написание которые можно использовать одновременно в одном исходном тексте. Основной язык, описываемый в данной книге - русский однако для каждого оператора языка приводится его англоязычный синоним. Мне бывший нач-к рассказывал (в печали), что как-то принял какую-то конфигу, написанную на английском. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 18:09 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Мне так смутно вспоминается, что в контекстной справке в режиме редактора кода в 1С можно и на английском сразу хелп зырить. Т.е. вариант - тупо переводить построчно, не имея вообще никакого понятия об 1С. ----- Не люблю Progress OpenEdge. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 18:20 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Ну тогда нет проблем - всего 8 строк перевести. Если что - е 1С в глаза не видел :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 18:25 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Я! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 18:26 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
У нас в компании великолепный отдел 1С. Больше половины не знают как там устроена база. Да и сама база построена очень коряво. Из-за моей прихоти переписывать там ничего не будут (((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2012, 13:05 |
|
||
|
Как из макроса Excel сделать экзешник?
|
|||
|---|---|---|---|
|
#18+
Minch, я думаю, что если верить кладовщику и здравому смыслу, то просто можно в коде vbs заменить ".Справочники.ВнешниеОбработки" на английский аналог. Только его нужно найти в документации. Ну а переменным просто придумайте имя латиницей, хоть тоже самое русское. Но ещё раз повторю - я 1С не видел, поэтому утверждать не буду. Вдруг здравый смысл подвёл... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2012, 19:45 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=37801594&tid=2175700]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 479ms |

| 0 / 0 |
