Author | Message | ||||||||
---|---|---|---|---|---|---|---|---|---|
zubillo Новенький участник форума Joined: 03 Sep 2007 |
|
||||||||
|
|||||||||
vvv Автор программы BookDesigner Joined: 18 Jun 2003 |
|
||||||||
|
|||||||||
zubillo Новенький участник форума Joined: 03 Sep 2007 |
|
||||||||
|
|||||||||
Libroom Член клуба The eBook Joined: 10 Jun 2003 |
|
||||||||
|
|||||||||
gross Активный участник форума Joined: 29 Oct 2006 Location: Москва |
|
||||||||
|
|||||||||
vvv Автор программы BookDesigner Joined: 18 Jun 2003 |
|
||||||||
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum |
© Libroom, 2021
Добрый день, уважаемые форумчане! Надеюсь, кто-то уже с такой проблемой сталкивался и в силах мне помочь. Проблема заключается в следующем: с помощью кнопки «Выгрузка» я выгружаю нужные мне поручения из реестра поручений. В процессе работы макрос создаёт новую книгу, в которую выгружает только те поручения, которые пользователь выбрал в UserForm(main). После того, как макрос завершает свою работу — новая книга оказывается недоступна для:
Реестр во вложении, заранее благодарю! |
|
Михаил Чечёткин Пользователь Сообщений: 12 |
#2 13.10.2020 15:09:00 Нет, не победил. Данное решение не помогло…
Изменено: Михаил Чечёткин — 13.10.2020 15:23:15 |
||
_Igor_61 Пользователь Сообщений: 3007 |
Проверил (у меня Excel 2007) |
_Igor_61, Спасибо, да, пробовал на разных компьютерах, проблема в том что если в созданной книге создать новый лист и перейти на «Лист1» — то все начинает работать, а если сразу после работы макроса попробовать выполнить действия, которые я перечислил — то ничего не выходит. Странно, почему же у меня новая книга как замороженная, как будто она принимает параметры защиты Реестра. |
|
_Igor_61 Пользователь Сообщений: 3007 |
#5 13.10.2020 16:30:42 Описанные Вами проблемы у меня наблюдаются не в новь созданной книге, а в исходном файле (но скролл все-таки работает).
ставит в модуле WWW:
В модуле книги уберите:
Окно перестанет выскакивать |
||||||||
Mershik Пользователь Сообщений: 8277 |
#6 13.10.2020 16:32:17
Не бойтесь совершенства. Вам его не достичь. |
||
MIkle Mikle Пользователь Сообщений: 12 |
#7 13.10.2020 16:34:43
Да, но ставит пароль на Реестр, а блокируется новая книга. |
||
_Igor_61 Пользователь Сообщений: 3007 |
#8 13.10.2020 16:47:44 Посмотрите модуль книги. В примере в стартовом сообщении есть вот это:
Возможно в Вашем рабочем файле строчки с паролем не закомментированы
Может в этом дело? MsgBox закрываете, но лист все равно под защитой остается Изменено: _Igor_61 — 13.10.2020 16:56:30 |
||||
MIkle Mikle Пользователь Сообщений: 12 |
#9 13.10.2020 16:54:50
Вообще их удалил. История та же. У вас все работает нормально? |
||
MIkle Mikle Пользователь Сообщений: 12 |
#10 13.10.2020 17:01:16
Этот макрос никак при выгрузке не учавствует.
Ну в случае с unprotect я и хочу в случае неправильного пароля закрыть макрос, опять же, unprotect не учавствует при выгрузке. |
||||
_Igor_61 Пользователь Сообщений: 3007 |
Да, все нормально. Защита на листе остается правда но это по причине в #5. Кнопкой «Снять защиту» снимается. Новая книга не блокируется Изменено: _Igor_61 — 13.10.2020 17:03:56 |
MIkle Mikle Пользователь Сообщений: 12 |
#12 13.10.2020 17:20:51
put in vor переводится и расшифровывается как «вставь в ведомость объемов работ» а по делу, если у вас проблема не отображается, то и помочь в её решении становится невозможным. В любом случае спасибо! |
||
vikttur Пользователь Сообщений: 47199 |
MIkle Mikle, для темы надо готовить небольшой пример (все, что не касается вопроса и не влияет на работу примера — отвлекающий МУСОР!). С ним и вопрос быстрее решится, и у других меньше времени отберете.. Тратьте свое на подготовку примера… |
понял, спасибо за критику. Учту в следующий раз. |
|
vikttur Пользователь Сообщений: 47199 |
Не поздно учесть в этот раз Миклухо МаЙклай? ) |
MIkle Mikle Пользователь Сообщений: 12 |
#16 14.10.2020 11:28:14
Да, во вложении файл в котором нет ничего лишнего. Продублирую суть проблемы: после работы макрос на кнопке «Выгрузка» формирует новую книгу, в которой:
не знаю, прост)) Прикрепленные файлы
|
||||
sokol92 Пользователь Сообщений: 4456 |
Проделал с Вашей книгой следующее: Макрос сформировал новую книгу с заголовком «1». Никаких проблем, отмеченных в сообщении #16, с этой книгой не наблюдается. Версия Excel 2016 (32-). Перезагрузите систему и на «чистом» Excel выполните строго те же действия. Если проблемы есть, то сохраните новую книгу. Изменено: sokol92 — 14.10.2020 13:17:42 |
MIkle Mikle Пользователь Сообщений: 12 |
#18 14.10.2020 14:28:13
Вот тут момент, не могу понять как мне кодом vba сохранить текущую книгу, закрыть, а потом открыть её-же.
После сохранения—>закрытия—>открытия проблемы пропадают. |
||||
sokol92 Пользователь Сообщений: 4456 |
Следовательно, книга формируется корректно. Ищите с помощью отладчика, в какой именно момент работы макроса возникают проблемы. |
MIkle Mikle Пользователь Сообщений: 12 |
#20 14.10.2020 15:25:48
Прошёлся по всем строкам и выявил, что если просто создать новую книгу с помощью:
То книга создаётся без проблем, все работает. Но если ту же самую команду вызвать через Userform, то даже пустая книга замораживается и недоступна для скрола/закрытия, пока не создашь новый лист. |
||||
Валидатор «ругается».
Валидатор «ругается».
Не паникуйте. Нажмите кнопку S т. е. перейдите к коду книги. Курсор обычно останавливается на одну-две строки ниже невалидного места. Если, знаете как устроен код fb2, посмотрите, что неправильно и исправьте. Прочитать можно в книге М. И. Кондратович (Юзич) Создание электронных книг в формате FictionBook 2.1 Практическое руководство.
Если не знаете, не беда. Нажмите кнопку B.
Курсор обычно останавливается за (или на) каким-нибудь элементом форматирования: заголовок, эпиграф, рисунок и т. д. Скорее всего — он и не валиден. Измените форматирование элемента на текст (скрипт «Обзор и превращение элементов» в разделе Обработка форматирования, скрипт «Снятие форматирования стихом, цитатой или эпиграфом» в разделе Мелочи редактирования, кнопка
), удалите рисунок. Проверьте валидацию F8. При положительном результате (Ошибок не обнаружено) возвратите форматирование элемента, вставьте рисунок. Предварительно окружите место вставки пустыми строками. Их потом можно удалить. И снова F8.
Если, не помогло, выделите некорректное место (2-3 строки ниже и выше элемента форматирования), скопируйте в буфер и сотрите выделенное. Проверьте валидацию F8. При положительном результате (Ошибок не обнаружено), вставьте содержимое буфера в текстовой редактор. (Не Word, а редактор поддерживающий только txt: Notepad, Aditor и т. д. Он снимет все признаки форматирования). Выделите и скопируйте вставленное. Вставьте в FBE на место стертого. Проверьте валидацию F8. При положительном результате (Ошибок не обнаружено) возвратите форматирование элемента. И снова F8.
Часто помогает запуск скрипта «Сброс структуры разделов» в разделе Структура разделов.
Для предотвращения не валидности при вставке картинки, эпиграфа и т. д. лучше обрамлять место вставки пустыми строками, особенно от заголовков. Пустые строки потом можно удалить скриптами «Управляемое исправление разрывов абзацев», «Пустые строки возле иллюстраций». Невалидность чаще всего возникает в местах соприкосновения таких элементов форматирования с заголовком. Особенно если файл конвертирован другой программой: FineReader, docfb2 и т. д.
Рекомендуется периодически (в ходе редактирования) нажимать кнопку F8, для проверки валидности, и в случае положительного ответа сохранять файл. В случае невалидности давать Откат.
Хорошо всегда иметь резервную копию валидного файла.
Очень частой ошибкой, делающей файл не валидным, является разрыв секции сразу после заголовка – разрыв зеленой линии слева от текста между заголовком и тестом.
Поставить курсор в заголовок(title) и нажать Alt+Del. Разрыв убирается.
Иногда (когда не удается справиться) полезно открыть файл в FBD (Fiction Book Designer) и переформатировать проблемное(некорректное место) средствами FBD. Кстати и наоборот. Сохранить файл в FBD, с проверкой валидатором FBD (запись без архивации), и вновь проверить в FBE. Проблема обычно устраняется.
FBD открывает файлы, которые FBE не открывает, как не валидные.
-
#1
Пытаюсь создать книгу Excel (тренируюсь/изучаю)
Использую стандартную функцию:
#include <Excel.au3>
$oExcel = _ExcelBookNew()
В результате пишет ошибку:
«C:1AutoIt v3 Script.au3″(3,25) : error: _ExcelBookNew(): undefined function.
Версия автоит: AutoIt Version: 3.3.14.2
Что/где не так делаю?
-
#2
AutoIt 3.3.12.0 — Финал
• Изменено: Переписана Excel UDF. Функции и/или параметры были переименованы, убраны или добавлены. ЭТО ИЗМЕНЕНИЕ НАРУШАЕТ ОБРАТНУЮ СОВМЕСТИМОСТЬ.
-
#3
Спасибо, разобрался.
Версия, которая была установлена не совпадает с версией примера.
07.09.17 — 18:58
Имеется:
Windows Server 2012 х64
На нем Office 2013 x64
На нем 1С Сервер х64
Пытаюсь выгружать в файл Ексель.
Excel = Новый COMОбъект(«Excel.Application»);
Excel.Displayalerts = 0;
Книга = Excel.WorkBooks.Add();
И вот на этой строке вылезает сообщение:
Ошибка при вызове метода контекста (Add)
Книга = Excel.WorkBooks.Add();
по причине:
Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается открыть или сохранить документы из-за нехватки памяти или места на диске.
• Чтобы освободить память, закройте ненужные книги или программы.
• Чтобы освободить место на диске, удалите с этого диска ненужные файлы.
Для эксперимента попробовал открыть существующий файл:
Excel.Workbooks.Open(«D:Temp111»);
Открывает…
Подозреваю что при попытке создания нового файла, Excel обращается куда то, куда доступа у юзера USR1CV8 (под которым работает 1С) нет.
Подскажите что делать?
1 — 07.09.17 — 19:00
Второй день бьюсь, весь инет перерыл …
2 — 07.09.17 — 19:21
(0) на msdn — проверь есть ли параметры у Workbooks.Add(), может нужен параметр, что создаём?
3 — 07.09.17 — 19:25
(2) В файловой базе этот код полностью работает. Так что проблема именно с доступами из 1С:Сервер в Ексель.
4 — 07.09.17 — 19:38
(3) скорее в TEMP, проверь права доступа на ту папку, которая прописана в общей системной переменной
5 — 07.09.17 — 19:46
4+ или залогинься в винду с USR1CV8
6 — 07.09.17 — 19:48
В «Настройка DCOM» в свойствах Excel прописал «Разрешения на запуск и активацию» пользователя USR1CV8.
А вот на вкладке «Удостоверение» прописать этого пользователя не дает. Ругается «код ошибки 80070569 выбранный режим входа для для данного пользователя не предусмотрен».
Какие еще права надо дать USR1CV8? В какую группу его засунуть?
7 — 07.09.17 — 19:50
(5)Пробовал. Дал ему «Пользователи удаленного рабочего стола» и зашел удаленно под USR1CV8. Вручную запустил Ексель, создал книгу, нормально создалось. Запустил 1С, попробовал выгрузить в Ексель, результат тот же.
8 — 07.09.17 — 19:52
(7) на tmp дал права то?
9 — 07.09.17 — 19:53
(6) Интерактивный вход в систему в групповых политиках вроде
10 — 07.09.17 — 19:54
Ну и проверить, что служба сервера 1С работает не из-под «локал систем»
11 — 07.09.17 — 20:09
Попробовал так. Дал USR1CV8 еще и права Администратор.
Зашел под ним. В «Настройка DCOM» в свойствах Excel на вкладке «Удостоверение» поставил «Текущий пользователь».
И заработало …
Получается, надо в «Удостоверение» прописать USR1CV8.
12 — 07.09.17 — 20:14
(9) Забрал у USR1CV8 права Администратор.
Зашел в «Локальная политика безопасности — Локальные политики — Назначение прав пользователя». Правильно?
В списке нашел «Запретить локальный вход» и там был USR1CV8. Убрал. Все равно не дает прописать его в «Удостоверение».
Что еще нехватает?
13 — 07.09.17 — 20:19
(10)служба сервера 1С работает под USR1CV8
14 — 07.09.17 — 20:20
(8)Какую именно tmp надо проверить?
15 — 07.09.17 — 20:36
Под пользователем USR1CV8 создай новую книгу в excel руками, скорее всего тебе предложит какой нибудь диалог типа создавать конкретно под этим пользователем.
16 — 07.09.17 — 20:55
17 — 08.09.17 — 07:20
(15)Пробовал. Зашел под USR1CV8, создал книгу, сохранил. Закрыл Ексель. Снова открыл. Никаких вопросов не задает. Открыл книгу, изменил, сохранил. Все нормально.
(16)Спасибо! Я уже нарыл в инете эту информацию, только по частям. Теперь заново, пошагово все проделал.
В результате COMОбъект(«Excel.Application») создается. Но потом, при создании книги Книга = Excel.WorkBooks.Add(); выдает:
Ошибка при вызове метода контекста (Add) Книга=Excel.WorkBooks.Add();
по причине:
Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается открыть или сохранить документы из-за нехватки памяти или места на диске.
• Чтобы освободить память, закройте ненужные книги или программы.
• Чтобы освободить место на диске, удалите с этого диска ненужные файлы.
18 — 08.09.17 — 14:25
Попробуй создать каталоги, может поможет, но не факт
Папки
C:WindowsSysWOW64configsystemprofileDesktop
C:WindowsSystem32configsystemprofileDesktop
19 — 08.09.17 — 14:49
(17) Documents and Settings — смотрел?
20 — 09.09.17 — 09:37
Может квоты установлены для пользователя ОС службы агента
Birmingem
21 — 13.09.17 — 10:39
В общем, так и не победил эту проблему.
Отказался от формирования Ексель файла на сервере (по рекомендации микрософта ).
Теперь на сервере собираю данные, складываю в несколько массивов и передаю на клиента.
И файл Ексель создаю на клиенте.