|
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
|
|
[B] Access is denied [/B] Python + Excel VBA02.03.2018, 10:26. Показов 2186. Ответов 17
Всем привет! бьюсь над задачей:
для документа эксель с поддержкой макросов пытаюсь программно в питоне 2.7 (import os - не поддерживает (по крайней мере у меня не получается подгрузить эту библиотеку)) : Предоставить доступ к объектной модели VBA (поставить галочку - на картинке) нашел что можно предоставить доступ через реестр в этой теме: Работа с реестром однако у меня вылазит ошибка Access is denied (видимо нет прав администратора) Отсюда вопрос как в питоне прописать чтобы этот момент исполнялся от имени администратора.. p.s. возможно есть еще другие решения основной задачи? Оч жду ...
0
|
|
| 02.03.2018, 10:26 | |
|
Ответы с готовыми решениями:
17
Windows service на Python: access denied Pyodbc Python + Access функции VBA на Python Не работает virtualhost Permission denied: access to / denied |
|
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
|
||||||
| 02.03.2018, 10:27 [ТС] | ||||||
|
конкретно из указанного поста использую этот код
0
|
||||||
|
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
|
|
| 02.03.2018, 11:03 | |
|
А если сделать .reg-файл и запустить его или bat?
0
|
|
|
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
|
|
| 02.03.2018, 11:04 [ТС] | |
|
а как это сделать ? я вообще не в курсе
0
|
|
|
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
|
|
| 02.03.2018, 11:14 | |
|
Создаешь нужный параметр в реестре, экспортируешь его, получается reg-файл
а затем запускаешь из своей программы вроде regedit -s -i -q "file.reg"
1
|
|
|
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
|
|
| 02.03.2018, 11:16 [ТС] | |
|
Но я не могу программно (кодом в питоне) получить доступ к реестру
0
|
|
|
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
|
|||
| 02.03.2018, 11:31 | |||
Сообщение было отмечено rar как решение
РешениеДобавлено через 7 минут Reg файл выглядит так
1
|
|||
|
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
|
|
| 02.03.2018, 12:20 [ТС] | |
|
Спасибо за ответ, буду сейчас пробовать !
Добавлено через 42 минуты Как для реестра верно прописать путь , если часть пути неизвестна? конкретно [HKEY_USERS\xxx\Software\Microsoft\Office\15.0\Excel\Se curity] где xxx - произвольное количество символов (заранее неизвестных)
0
|
|
|
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
|
|
| 02.03.2018, 12:29 | |
|
Если все так сложно, может выдавать сообщение вроде - запустите программу от имени администратора?
0
|
|
|
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
|
||||||
| 02.03.2018, 12:43 [ТС] | ||||||
|
1.) Сделал рег файл с содержимым
2.) Нашел поиском в реестре файл AccessVBOM выгрузил - сделал рег файл поменяв значение - запустил - работает Но этот файл имеет вид [HKEY_USERS\xxx\Software\Microsoft\Office\15.0\Excel\Se curity] Но когда вставляю его же в питон код - пишет файл такой не найден... Добавлено через 1 минуту ххх - как понимаю, это текущий процесс, файл эксель (всего лишь мои догадки) который будет изменяться. Добавлено через 3 минуты Просто были мысли может реестр понимает запись вида \ .. \ , \ ** \ (часть произвольного пути)
0
|
||||||
|
|
|||
| 02.03.2018, 12:58 | |||
Сообщение было отмечено rar как решение
РешениеА также SID'ы остальных пользователей. В раздел HKEY_USERS вообще не надо ничего писать - нужно использовать раздел текущего загруженного юзера HKEY_CURRENT_USER. Или машинный раздел HKEY_LOCAL_MACHINE. --------------------------------------------------------- Добавлено через 6 минут P.S. После внесения изменений в реестре, как правило, требуется перезагрузить систему, чтобы увидеть применение этих изменений.
1
|
|||
|
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
|
|||||||||||
| 02.03.2018, 13:00 [ТС] | |||||||||||
|
Garry Galler - вы абсолютно правы!
вручную запущенный ниже рег файл работает! :
0
|
|||||||||||
|
|
|||
| 02.03.2018, 13:08 | |||
|
Вам бы нужно почитать про структуру реестра.
1
|
|||
|
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
|
|
| 02.03.2018, 13:17 [ТС] | |
|
Да, вроде как видит:
regpath='Software\\Microsoft\\Office\\15 .0\\Excel\\Security' root = _winreg.OpenKey(_winreg.HKEY_CURRENT_USE R, regpath, 0, _winreg.KEY_ALL_ACCESS) Остался вопрос как прописать в этой части (если значения меняется там) root = _winreg.OpenKey(_winreg.HKEY_CURRENT_USE R, regpath, 0, _winreg.KEY_ALL_ACCESS) значение "AccessVBOM"=dword:00000001
0
|
|
|
|
||||||
| 02.03.2018, 13:41 | ||||||
Сообщение было отмечено rar как решение
Решение
1
|
||||||
|
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
|
|
| 02.03.2018, 14:03 [ТС] | |
|
Garry Galler - благодарю!
Заметил одну вещь, если выполнять вручную рег файл ,то значение в реестре визуально поменяется сразу если выполнять питоном - значение визуально не изменится, но если зайти в изменить параметр - то значение будет изменено ! Так что все работает ![]() Еще раз всем больше спасибо !
0
|
|
|
|
||
| 02.03.2018, 14:07 | ||
|
F5 нажмите - экран реестра обновится. Разницы между этими двумя способами записи в реестр никакой нет, кроме используемых инструментов.
0
|
||
|
2 / 2 / 0
Регистрация: 04.02.2016
Сообщений: 458
|
|
| 02.03.2018, 14:10 [ТС] | |
|
0
|
|
| 02.03.2018, 14:10 | |
|
Помогаю со студенческими работами здесь
18
Разработка программ и баз данных (Delphi + Access, MS SQL Server, MySQL; VBA + Access, Excel) VBA ACCESS & EXCEL
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|