Здравствуйте, .alex, Вы писали:
bnk>>Разницы же никакой, что ты из VBA будет что-то делать, что EXE запустишь — возможности одинаковые. A>ну не совсем)... тяжело из vbs/vba, например внедрить свой код в адресное пространство другого процесса и делать там некое...
Офис VBA имеет буквально те же права что и exe запущенный из-под пользователя (полный доступ к WINAPI в частности)
В том числе, он может делать внедрение своего кода в адресное пространство другого процесса.
Запрет EXE — это безопасность на уровне защиты сердобольных домохозяек от злых вирусов.
Если ваш IT отдел не в курсе, то мне его жаль
bnk>>И непонятно чем конкретно офис и VBA не устраивает? A>Решение на офисе есть, хотелось узнать про возможные другие... и сравнить...
На ActiveX в браузере я бы особо не рассчитывал, его Microsoft скоро окончательно грохнет, я думаю.
В Edge уже нет, в Edge который на Chromium и подавно не будет.
Вообще для ограничения прав и C# в песочнице раньше можно было использовать Silverlight например.
Теперь можно подумать в сторону WebAssembly (см. Blazor) — "передний край" прямо
A>Можно ли написать подобный функционал например на локальном Java script и делать все вышеперечисленное просто в браузере? Если да, дайте пожалуйста ссылки где можно почитать примерно, как это сделать?
А зачем тут JScript? Вы имеете типично десктопную задачу, зачем тащить в нее не нужный ей по природе веб-уровень? Делайте на любом десктопном языке программирования; если язык от Microsoft, то как минимум MSSQL намного лечге пойдет, да и с Excel как-то решить можно будет.
Здравствуйте, .alex, Вы писали:
S>>А зачем тут JScript? Вы имеете типично десктопную задачу, зачем тащить в нее не нужный ей по природе веб-уровень? Делайте на любом десктопном языке программирования; если язык от Microsoft, то как минимум MSSQL намного лечге пойдет, да и с Excel как-то решить можно будет. A>Да, наверно забыл упомянуть, моя программа не должна быть в формате exe, dll и тп, а вот xlsx, js+html, vbs и тп... можно. Требования безопасности — никаких скомпилированных бинарников...
Если JS то нужен Node.js, да и любой другой скрипт подойдет, Питон например.
Здравствуйте, GarryIV, Вы писали:
GIV>Здравствуйте, .alex, Вы писали:
S>>>А зачем тут JScript? Вы имеете типично десктопную задачу, зачем тащить в нее не нужный ей по природе веб-уровень? Делайте на любом десктопном языке программирования; если язык от Microsoft, то как минимум MSSQL намного лечге пойдет, да и с Excel как-то решить можно будет. A>>Да, наверно забыл упомянуть, моя программа не должна быть в формате exe, dll и тп, а вот xlsx, js+html, vbs и тп... можно. Требования безопасности — никаких скомпилированных бинарников...
GIV>Если JS то нужен Node.js, да и любой другой скрипт подойдет, Питон например.
Думаю не подойдёт... ведь в случае использования или того или другого на компе появятся новые exe файлы — интерпретаторы этих скриптовых языков, а это не допустимо... вот в этом-то и проблема..
Добрый день. Подскажите пожалуйста как реализовать такую задачу.
1. Дано: офисный комп с windows 10 + ms office + chrome + ms sql server 2016 (прямо на нем или по сети). Больше ничего ставить на него ни на какие другие компы нельзя
Надо сделать программу с доступом к БД(mssql server) с интерфейсом (таблички, кнопки, радио батоны, чекбоксы и пр...) и чтобы была возможность сохранять результаты запросов в excel и работа с локальными файлами, чтобы можно было читать/писать файл настроек программы
Так собственно вопрос на чем это можно написать, понятно что на vba (access или excel), но такая реализация есть и она не очень удобна...
Можно ли написать подобный функционал например на локальном Java script и делать все вышеперечисленное просто в браузере? Если да, дайте пожалуйста ссылки где можно почитать примерно, как это сделать?
Здравствуйте, s_aa, Вы писали:
_>А зачем JavaScript? Чем C# с WPF не годится? Ставить ничего вроде не надо дополнительно, с MSSQL и Excel из коробки
Т.е. можно грубо говоря в блокноте писать код (ide ставить нельзя) и без компилятора (никаких новых exe на компе появиться не должно) выполнить его встроеным интерпретатором и появится окошко с интерфейсом? Если да, дайте плз ссылку на примеры...
Здравствуйте, sushko, Вы писали:
S>А зачем тут JScript? Вы имеете типично десктопную задачу, зачем тащить в нее не нужный ей по природе веб-уровень? Делайте на любом десктопном языке программирования; если язык от Microsoft, то как минимум MSSQL намного лечге пойдет, да и с Excel как-то решить можно будет.
Да, наверно забыл упомянуть, моя программа не должна быть в формате exe, dll и тп, а вот xlsx, js+html, vbs и тп... можно. Требования безопасности — никаких скомпилированных бинарников...
A>Да, наверно забыл упомянуть, моя программа не должна быть в формате exe, dll и тп, а вот xlsx, js+html, vbs и тп... можно. Требования безопасности — никаких скомпилированных бинарников...
В порядке бреда:
в десятке по слухам есть C# компилятор в комплекте, можно компилировать не в exe, а в файл с другим расширением и запускать его.
Для винды же вроде достаточно чтобы файл начинался с MZ.
Здравствуйте, .alex, Вы писали:
A>Добрый день. Подскажите пожалуйста как реализовать такую задачу. A>1. Дано: офисный комп с windows 10 + ms office + chrome + ms sql server 2016 (прямо на нем или по сети). Больше ничего ставить на него ни на какие другие компы нельзя A>Надо сделать программу с доступом к БД(mssql server) с интерфейсом (таблички, кнопки, радио батоны, чекбоксы и пр...) и чтобы была возможность сохранять результаты запросов в excel и работа с локальными файлами, чтобы можно было читать/писать файл настроек программы A>Так собственно вопрос на чем это можно написать, понятно что на vba (access или excel), но такая реализация есть и она не очень удобна... A>Можно ли написать подобный функционал например на локальном Java script и делать все вышеперечисленное просто в браузере? Если да, дайте пожалуйста ссылки где можно почитать примерно, как это сделать?
Здравствуйте, vladimir.romin, Вы писали:
VR>Здравствуйте, .alex, Вы писали:
A>>Добрый день. Подскажите пожалуйста как реализовать такую задачу. A>>1. Дано: офисный комп с windows 10 + ms office + chrome + ms sql server 2016 (прямо на нем или по сети). Больше ничего ставить на него ни на какие другие компы нельзя A>>Надо сделать программу с доступом к БД(mssql server) с интерфейсом (таблички, кнопки, радио батоны, чекбоксы и пр...) и чтобы была возможность сохранять результаты запросов в excel и работа с локальными файлами, чтобы можно было читать/писать файл настроек программы A>>Так собственно вопрос на чем это можно написать, понятно что на vba (access или excel), но такая реализация есть и она не очень удобна... A>>Можно ли написать подобный функционал например на локальном Java script и делать все вышеперечисленное просто в браузере? Если да, дайте пожалуйста ссылки где можно почитать примерно, как это сделать?
VR>Это все вроде про NodeJS?
Он ведь имеет в своём составе exe файлы? Если да, то не подходит...
Здравствуйте, .alex, Вы писали:
A>Здравствуйте, vladimir.romin, Вы писали:
VR>>Здравствуйте, .alex, Вы писали:
A>>>Добрый день. Подскажите пожалуйста как реализовать такую задачу. A>>>1. Дано: офисный комп с windows 10 + ms office + chrome + ms sql server 2016 (прямо на нем или по сети). Больше ничего ставить на него ни на какие другие компы нельзя A>>>Надо сделать программу с доступом к БД(mssql server) с интерфейсом (таблички, кнопки, радио батоны, чекбоксы и пр...) и чтобы была возможность сохранять результаты запросов в excel и работа с локальными файлами, чтобы можно было читать/писать файл настроек программы A>>>Так собственно вопрос на чем это можно написать, понятно что на vba (access или excel), но такая реализация есть и она не очень удобна... A>>>Можно ли написать подобный функционал например на локальном Java script и делать все вышеперечисленное просто в браузере? Если да, дайте пожалуйста ссылки где можно почитать примерно, как это сделать?
VR>>Это все вроде про NodeJS? A>Он ведь имеет в своём составе exe файлы? Если да, то не подходит...
1.
Можно из JavaScript дергать ActiveX компоненты, а там уж простор для действий. Сам JS не имеет доступа к файлам локальной машины и тем более базе данных.
2.
.NET Framework в своем составе имеет компилятор, который делает бинарники на лету. Вы на машину копируете C# исходники, компилируете их сразу и запускаете.
Здравствуйте, vladimir.romin, Вы писали:
VR>Здравствуйте, .alex, Вы писали:
A>>Здравствуйте, vladimir.romin, Вы писали:
VR>>>Здравствуйте, .alex, Вы писали:
A>>>>Добрый день. Подскажите пожалуйста как реализовать такую задачу. A>>>>1. Дано: офисный комп с windows 10 + ms office + chrome + ms sql server 2016 (прямо на нем или по сети). Больше ничего ставить на него ни на какие другие компы нельзя A>>>>Надо сделать программу с доступом к БД(mssql server) с интерфейсом (таблички, кнопки, радио батоны, чекбоксы и пр...) и чтобы была возможность сохранять результаты запросов в excel и работа с локальными файлами, чтобы можно было читать/писать файл настроек программы A>>>>Так собственно вопрос на чем это можно написать, понятно что на vba (access или excel), но такая реализация есть и она не очень удобна... A>>>>Можно ли написать подобный функционал например на локальном Java script и делать все вышеперечисленное просто в браузере? Если да, дайте пожалуйста ссылки где можно почитать примерно, как это сделать?
VR>>>Это все вроде про NodeJS? A>>Он ведь имеет в своём составе exe файлы? Если да, то не подходит...
VR>1. VR>Можно из JavaScript дергать ActiveX компоненты, а там уж простор для действий. Сам JS не имеет доступа к файлам локальной машины и тем более базе данных.
Да, примерно так и думал. С бд понятно, через объект ADO можно работать, а вот с локальными файлами и интерфейсом непонятно, хотелось бы пример какой-нибудь, а то везде в примерах node.js и пр...
VR>2. VR>.NET Framework в своем составе имеет компилятор, который делает бинарники на лету. Вы на машину копируете C# исходники, компилируете их сразу и запускаете.
Вот это тоже отличный вариант! А можно пример и статейку например про простейшее приложение и его «запуск» его исходника
VR>>2. VR>>.NET Framework в своем составе имеет компилятор, который делает бинарники на лету. Вы на машину копируете C# исходники, компилируете их сразу и запускаете. A>Вот это тоже отличный вариант! А можно пример и статейку например про простейшее приложение и его «запуск» его исходника
Здравствуйте, vladimir.romin, Вы писали:
VR>>>2. VR>>>.NET Framework в своем составе имеет компилятор, который делает бинарники на лету. Вы на машину копируете C# исходники, компилируете их сразу и запускаете. A>>Вот это тоже отличный вариант! А можно пример и статейку например про простейшее приложение и его «запуск» его исходника
VR>https://metanit.com/sharp/articles/16.php
Похоже то что надо! Спасибо огромное!!!
Здравствуйте, .alex, Вы писали:
VR>>>>2. VR>>>>.NET Framework в своем составе имеет компилятор, который делает бинарники на лету. Вы на машину копируете C# исходники, компилируете их сразу и запускаете. A>>>Вот это тоже отличный вариант! А можно пример и статейку например про простейшее приложение и его «запуск» его исходника
VR>>https://metanit.com/sharp/articles/16.php A>Похоже то что надо! Спасибо огромное!!!
Здравствуйте, GarryIV, Вы писали:
GIV>Здравствуйте, .alex, Вы писали:
VR>>>>>2. VR>>>>>.NET Framework в своем составе имеет компилятор, который делает бинарники на лету. Вы на машину копируете C# исходники, компилируете их сразу и запускаете. A>>>>Вот это тоже отличный вариант! А можно пример и статейку например про простейшее приложение и его «запуск» его исходника
VR>>>https://metanit.com/sharp/articles/16.php A>>Похоже то что надо! Спасибо огромное!!!
GIV>Тут будут новые exe/dll а тебе нельзя
А что, он скомпилирует и создаст exe? Если да, то нельзя чтобы он процесс в памяти сделал, а файл не делал?))
Здравствуйте, s_aa, Вы писали:
_>Не заметил, что вообще exe нельзя. Тогда похоже только офис и vba.
Такое решение есть, но оно не совсем устраивает... хотелось бы другой вариант...
Здравствуйте, .alex, Вы писали:
VR>>1. VR>>Можно из JavaScript дергать ActiveX компоненты, а там уж простор для действий. Сам JS не имеет доступа к файлам локальной машины и тем более базе данных. A>Да, примерно так и думал. С бд понятно, через объект ADO можно работать, а вот с локальными файлами и интерфейсом непонятно, хотелось бы пример какой-нибудь, а то везде в примерах node.js и пр...
Excel можно и без всякого ActiveX читать-писать (sheetjs)
А вообще, что за дебильное требование — "EXE нельзя"?
Может быть что ты ошибаешься, и "EXE нельзя" под администратором, а под юзером можно?
Разницы же никакой, что ты из VBA будет что-то делать, что EXE запустишь — возможности одинаковые.
И непонятно чем конкретно офис и VBA не устраивает?
GIV>>Тут будут новые exe/dll а тебе нельзя A>А что, он скомпилирует и создаст exe? Если да, то нельзя чтобы он процесс в памяти сделал, а файл не делал?))
Здравствуйте, .alex, Вы писали:
A>Добрый день. Подскажите пожалуйста как реализовать такую задачу. A>1. Дано: офисный комп с windows 10 + ms office + chrome + ms sql server 2016 (прямо на нем или по сети). Больше ничего ставить на него ни на какие другие компы нельзя A>Надо сделать программу с доступом к БД(mssql server) с интерфейсом (таблички, кнопки, радио батоны, чекбоксы и пр...) и чтобы была возможность сохранять результаты запросов в excel и работа с локальными файлами, чтобы можно было читать/писать файл настроек программы A>Так собственно вопрос на чем это можно написать, понятно что на vba (access или excel), но такая реализация есть и она не очень удобна... A>Можно ли написать подобный функционал например на локальном Java script и делать все вышеперечисленное просто в браузере? Если да, дайте пожалуйста ссылки где можно почитать примерно, как это сделать?
Можно обойтись одним JS и HTML.
JavaScript работает с MS Office через ActiveX. Для доступа к бд, попробуй старый добрый ADO, он доступен и через ActiveX тоже.
Ни каких проблем быть не должно
bnk>А вообще, что за дебильное требование — "EXE нельзя"? bnk>Может быть что ты ошибаешься, и "EXE нельзя" под администратором, а под юзером можно?
Какое есть, типа режимное предприятия... Нельзя никак...
bnk>Разницы же никакой, что ты из VBA будет что-то делать, что EXE запустишь — возможности одинаковые.
ну не совсем)... тяжело из vbs/vba, например внедрить свой код в адресное пространство другого процесса и делать там некое...
bnk>И непонятно чем конкретно офис и VBA не устраивает?
Решение на офисе есть, хотелось узнать про возможные другие... и сравнить...
Здравствуйте, white_znake, Вы писали:
_>Можно обойтись одним JS и HTML. _>JavaScript работает с MS Office через ActiveX. Для доступа к бд, попробуй старый добрый ADO, он доступен и через ActiveX тоже. _>Ни каких проблем быть не должно
А с файлами локальными можно через JS работать? Ну или может есть какой-нибудь другой способ хранить настройки?...
И можно ли на "локальном" JS сделать вменяемый интерфейс с кнопочками и табличками?...
Здравствуйте, .alex, Вы писали:
bnk>>А вообще, что за дебильное требование — "EXE нельзя"? bnk>>Может быть что ты ошибаешься, и "EXE нельзя" под администратором, а под юзером можно? A>Какое есть, типа режимное предприятия... Нельзя никак...
Строго говоря — административные задачи решаются административными инструментами, от каких-то инфраструктурных скриптов, до написанием всяческих записок, или даже заявлений, ну или просто обсуждением проблемы. Попытки их решить техническими способами ни к чему хорошему не приведет, ни в ближайшей перспективе, ни в дальнейшей (особенно, когда вскроется, что вы сознательно обошли/нарушили систему ИБ каковой бы она ни была.)
bnk>>Разницы же никакой, что ты из VBA будет что-то делать, что EXE запустишь — возможности одинаковые. A>ну не совсем)... тяжело из vbs/vba, например внедрить свой код в адресное пространство другого процесса и делать там некое...
Это дичь какая-то. 100% прикладных учетных задач в этом даже близко не нуждаются.
bnk>>И непонятно чем конкретно офис и VBA не устраивает? A>Решение на офисе есть, хотелось узнать про возможные другие... и сравнить...
Если вы делаете это на своем энтузиазме, тогда, это можно сделать дома без извращений и прикинуть как оно могло бы быть и набраться опыта. Если перед вами поставлена задача, создать внутреннее ПО, то "низя в exe" это не конструктивно. И тут мы возвращаемся к административному решению проблемы.
PS: Варианты всякие с ActiveX это банальное прибивание гвоздями к IE, что в 2019 году выглядит весьма специфически. Да и "если низя в exe", "то и в dll" низя... Всякие динамические компиляции повершелом и прочей ересью в итоге где-нибудь все равно упрется в необходимость тех же самых прав.
Здравствуйте, TimurSPB, Вы писали:
TSP>Здравствуйте, .alex, Вы писали:
A>>Добрый день. Подскажите пожалуйста как реализовать такую задачу. A>>1. Дано: офисный комп с windows 10 + ms office + chrome + ms sql server 2016 (прямо на нем или по сети). Больше ничего ставить на него ни на какие другие компы нельзя TSP>https://blogs.msdn.microsoft.com/sqlserverstorageengine/2017/12/18/building-sql-rest-api-back-end-for-angular-apps/ TSP>Это если бэкенд дописать можно на стороне "сервера"
на стороне сервера тоже бинарников никаких "новых" нельзя...
Здравствуйте, Mystic Artifact, Вы писали:
MA>Здравствуйте, .alex, Вы писали:
bnk>>>А вообще, что за дебильное требование — "EXE нельзя"? bnk>>>Может быть что ты ошибаешься, и "EXE нельзя" под администратором, а под юзером можно? A>>Какое есть, типа режимное предприятия... Нельзя никак... MA> Строго говоря — административные задачи решаются административными инструментами, от каких-то инфраструктурных скриптов, до написанием всяческих записок, или даже заявлений, ну или просто обсуждением проблемы. Попытки их решить техническими способами ни к чему хорошему не приведет, ни в ближайшей перспективе, ни в дальнейшей (особенно, когда вскроется, что вы сознательно обошли/нарушили систему ИБ каковой бы она ни была.)
bnk>>>Разницы же никакой, что ты из VBA будет что-то делать, что EXE запустишь — возможности одинаковые. A>>ну не совсем)... тяжело из vbs/vba, например внедрить свой код в адресное пространство другого процесса и делать там некое... MA> Это дичь какая-то. 100% прикладных учетных задач в этом даже близко не нуждаются.
bnk>>>И непонятно чем конкретно офис и VBA не устраивает? A>>Решение на офисе есть, хотелось узнать про возможные другие... и сравнить... MA> Если вы делаете это на своем энтузиазме, тогда, это можно сделать дома без извращений и прикинуть как оно могло бы быть и набраться опыта. Если перед вами поставлена задача, создать внутреннее ПО, то "низя в exe" это не конструктивно. И тут мы возвращаемся к административному решению проблемы.
MA> PS: Варианты всякие с ActiveX это банальное прибивание гвоздями к IE, что в 2019 году выглядит весьма специфически. Да и "если низя в exe", "то и в dll" низя... Всякие динамические компиляции повершелом и прочей ересью в итоге где-нибудь все равно упрется в необходимость тех же самых прав.
A>А с файлами локальными можно через JS работать? Ну или может есть какой-нибудь другой способ хранить настройки?...
Можно. File System Object называется ActiveX. https://docs.microsoft.com/ru-ru/office/vba/language/reference/user-interface-help/filesystemobject-object
Но Через JS так же будет.
A>И можно ли на "локальном" JS сделать вменяемый интерфейс с кнопочками и табличками?...
Ты шутишь? Можно, не хуже чем интерфейс для Windows (правда тут набегут апологеты WPF меня чморить). HTML5 + CSS3 + Bootstrap тебе в помощь ;)
Здравствуйте, .alex, Вы писали:
A>Спасибо за полезный ответ))
Я конечно, иронию понял, но оверквотить не нужно. А еще, просто весь топик вырос не сколько из темы можно ли и как, а исходя из невнятных ограничений.
Поэтому, позвольте вас немножко перефразировать:
Какой есть, типа аксиома жизни... по другому никак...
Здравствуйте, .alex, Вы писали:
A>Добрый день. Подскажите пожалуйста как реализовать такую задачу. A>1. Дано: офисный комп с windows 10 + ms office + chrome + ms sql server 2016
Чем не устраивает VBA — к sql конектится, запросы шлет, конструктор форм есть
или можно контролы руками програмить. Все из коробки.
Просто парень видимо никогда не програмил на бэйсике и не понимает на сколько он сейчас могучий.
_>Для полноты картины попробуйте http://vbsedit.com/ для vbs+hta самое то редактор.
Да, им уже с 2008 года пользуюсь... к нему еще дебагер есть удобный...
Вот чего не хватает (ну или не нашел) это отладчик для vbs в visual studio code (можно конечно как-то хитро через VisualStudio, параллельно запущенную, отлаживать, но это имхо не удобно)...