Здравствуйте, .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, Вы писали:
bnk>>Разницы же никакой, что ты из VBA будет что-то делать, что EXE запустишь — возможности одинаковые. A>ну не совсем)... тяжело из vbs/vba, например внедрить свой код в адресное пространство другого процесса и делать там некое...
Офис VBA имеет буквально те же права что и exe запущенный из-под пользователя (полный доступ к WINAPI в частности)
В том числе, он может делать внедрение своего кода в адресное пространство другого процесса.
Запрет EXE — это безопасность на уровне защиты сердобольных домохозяек от злых вирусов.
Если ваш IT отдел не в курсе, то мне его жаль
bnk>>И непонятно чем конкретно офис и VBA не устраивает? A>Решение на офисе есть, хотелось узнать про возможные другие... и сравнить...
На ActiveX в браузере я бы особо не рассчитывал, его Microsoft скоро окончательно грохнет, я думаю.
В Edge уже нет, в Edge который на Chromium и подавно не будет.
Вообще для ограничения прав и C# в песочнице раньше можно было использовать Silverlight например.
Теперь можно подумать в сторону WebAssembly (см. Blazor) — "передний край" прямо
Здравствуйте, .alex, Вы писали:
A>Спасибо за полезный ответ))
Я конечно, иронию понял, но оверквотить не нужно. А еще, просто весь топик вырос не сколько из темы можно ли и как, а исходя из невнятных ограничений.
Поэтому, позвольте вас немножко перефразировать:
Какой есть, типа аксиома жизни... по другому никак...
Здравствуйте, .alex, Вы писали:
A>Добрый день. Подскажите пожалуйста как реализовать такую задачу. A>1. Дано: офисный комп с windows 10 + ms office + chrome + ms sql server 2016
Чем не устраивает VBA — к sql конектится, запросы шлет, конструктор форм есть
или можно контролы руками програмить. Все из коробки.
Просто парень видимо никогда не програмил на бэйсике и не понимает на сколько он сейчас могучий.
A>Можно ли написать подобный функционал например на локальном Java script и делать все вышеперечисленное просто в браузере? Если да, дайте пожалуйста ссылки где можно почитать примерно, как это сделать?