Ошибка не могу создать книгу

Author Message

zubillo
Новенький участник форума

Новенький участник форума

Joined: 03 Sep 2007
Posts: 2


Posted: 03.09.2007 12:57    

Не могу создать книгу в формате MsReader (.lit) — при нажатии на соответствующую кнопку (а равно и при нажатии клавиатурной комбинации или строчки в выпадающем меню) не происходит вообще ничего. Остальные кнопки работают. Программу и обновление скачивал 02.09. с.г.

Кстати, почему Ваша программа отказывается работать с файлами .doc и .rtf в отсутствие MsOffice? И поможет ли тут OpenOffice?

 
View user’s profile ^

vvv
Автор программы BookDesigner

Автор программы BookDesigner

Joined: 18 Jun 2003
Posts: 2690


Posted: 03.09.2007 20:38    

zubillo wrote:
Не могу создать книгу в формате MsReader (.lit) — при нажатии на соответствующую кнопку (а равно и при нажатии клавиатурной комбинации или строчки в выпадающем меню) не происходит вообще ничего. Остальные кнопки работают. Программу и обновление скачивал 02.09. с.г.

Кстати, почему Ваша программа отказывается работать с файлами .doc и .rtf в отсутствие MsOffice? И поможет ли тут OpenOffice?


1. Откуда обновление скачивали? Должно быть это
http://www.the-ebook.org/e107/e107_files/downloads/bd/BookDesignerExe. zip
2. Если в окне BD нет никакого текста — lit создаваться не будет.
3. MsOffice (а точнее, MsWord) необходим. ОО не поможет, слаб. Во-первых, не все типы доков правильно обрабатывает, во-вторых, не умеет восстанавливать ломаное тэговое дерево.

 
View user’s profile ^

zubillo
Новенький участник форума

Новенький участник форума

Joined: 03 Sep 2007
Posts: 2


Posted: 04.09.2007 01:13    

Добрый вечер.
Обновление установил. Не помогло. Нажатие кнопки «лит» все также не приводит ни к какому результату. Что такое окно «БД»?
Почему же необходими Ворд-то?
 
View user’s profile ^

Libroom
Член клуба The eBook

Член клуба The eBook

Donate

Joined: 10 Jun 2003
Posts: 23551


Posted: 04.09.2007 07:00    

zubillo wrote:
Почему же необходими Ворд-то?


Потому, что используется «родная» библиотека от MS Word.

zubillo wrote:
Что такое окно «БД»?


Окно программы BookDesigner.
_________________
еБукъ 207

 
View user’s profile ^

gross
Активный участник форума

Активный участник форума

Joined: 29 Oct 2006
Posts: 187

Location: Москва


Posted: 04.09.2007 12:33    

а какой именно Ворд нужен?
_________________
Avis rara
 
View user’s profile ^

vvv
Автор программы BookDesigner

Автор программы BookDesigner

Joined: 18 Jun 2003
Posts: 2690


Posted: 04.09.2007 20:07    

gross wrote:
а какой именно Ворд нужен?


От 2000 и выше. Но чем старее версия ворда — тем быстрее и лучше будет работать. Поэтому рекомендуется 2000.

Добавлено спустя 10 минут 31 секунду:

zubillo wrote:
Почему же необходими Ворд-то?


Потому, что он используется для преобразования doc и rtf в html со строгой структурой тэгового дерева. А ОО этого делать не умеет. Строгое же дерево тегов необходимо для преобразования во многие ебучные форматы (в частности, в lit).

Вот когда допишу свой восстановитель тегового дерева — тогда можно будет и ОО использовать. С ОО преобразование из doc и rtf будет работать раз в пять быстрее, чем с вордом. Но это на будущее, когда будет время заняться восстановителем.

 
View user’s profile ^
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
Регистрация: 13.10.2020

#2

13.10.2020 15:09:00

Всем спасибо, победил историю путём создания нового Excel отдельным процессом, спасибо разделу «Приёмы».

Нет, не победил. Данное решение не помогло…


Код
Set newexcel = CreateObject("Excel.Application")
   With newexcel
   Set nnn = Workbooks.Add
End With
newexcel.Visible = True
nnn.Activate

Изменено: Михаил Чечёткин13.10.2020 15:23:15

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

Проверил (у меня Excel 2007)
1.Скролл работает
2.Ячейки редактируются
3.Книга закрывается без проблем.
Оff:  На разных компьютерах пробовали? Возможно, Ваш компьютер находится в гос.учреждении и поэтому ему не нравится придуманный Вами пароль  :)

 

_Igor_61, Спасибо, да, пробовал на разных компьютерах, проблема в том что если в созданной книге создать новый лист и перейти на «Лист1» — то все начинает работать, а если сразу после работы макроса попробовать выполнить действия, которые я перечислил — то ничего не выходит. Странно, почему же у меня новая книга как замороженная, как будто она принимает параметры защиты Реестра.

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

#5

13.10.2020 16:30:42

Описанные Вами проблемы у меня наблюдаются не в новь созданной книге, а в исходном файле (но скролл все-таки работает).

Цитата
Михаил Чечёткин написал:
пишет что лист защищён, хотя макрос не ставит защиту);

ставит в модуле WWW:

Код
Worksheets("Реестр").protect Password:="putinvor"
Цитата
Михаил Чечёткин написал:
Невозможно закрыть книгу простым нажатием на красный крестик в правом верхнем углу экрана

В модуле книги уберите:

Код
MsgBox ("Лист защищён!")

Окно перестанет выскакивать

 

Mershik

Пользователь

Сообщений: 8277
Регистрация: 03.12.2015

#6

13.10.2020 16:32:17

Цитата
_Igor_61 написал:
«putinvor»

:D  

Не бойтесь совершенства. Вам его не достичь.

 

MIkle Mikle

Пользователь

Сообщений: 12
Регистрация: 13.10.2020

#7

13.10.2020 16:34:43

Цитата
_Igor_61 написал:
ставит в модуле WWW:

Да, но ставит пароль на Реестр, а блокируется новая книга.

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

#8

13.10.2020 16:47:44

Посмотрите модуль книги. В примере в стартовом сообщении есть вот это:

Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    'Worksheets("Реестр").protect Password:="putinvor", AllowFiltering:=True
    MsgBox ("Лист защищён!")
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   'Worksheets("Реестр").protect Password:="putinvor", AllowFiltering:=True
   MsgBox ("Лист защищён!")
End Sub

Возможно в Вашем рабочем файле строчки с паролем не закомментированы
И в макросе «zagruz» пароль другой:

Код
If Password <> "putler" Then
        MsgBox "Неправильный пароль.", vbExclamation
        Exit Sub

Может в этом дело? MsgBox закрываете, но лист все равно под защитой остается

Изменено: _Igor_6113.10.2020 16:56:30

 

MIkle Mikle

Пользователь

Сообщений: 12
Регистрация: 13.10.2020

#9

13.10.2020 16:54:50

Цитата
_Igor_61 написал: …строчки с паролем не закомментированы

Вообще их удалил. История та же. У вас все работает нормально?

 

MIkle Mikle

Пользователь

Сообщений: 12
Регистрация: 13.10.2020

#10

13.10.2020 17:01:16

Цитата
_Igor_61 написал:
И в макросе «zagruz» пароль другой:

Этот макрос никак при выгрузке не учавствует.

Цитата
_Igor_61 написал:
Может в этом дело? MsgBox закрываете, но лист все равно под защитой остается

Ну в случае с unprotect я и хочу в случае неправильного пароля закрыть макрос, опять же, unprotect не учавствует при выгрузке.

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

Да, все нормально. Защита на листе остается правда но это по причине в #5. Кнопкой «Снять защиту» снимается. Новая книга не блокируется
Mershik, это не я написал, это ТС такой пароль придумал! Не вводите в заблуждение товарища майора!  :)  

Изменено: _Igor_6113.10.2020 17:03:56

 

MIkle Mikle

Пользователь

Сообщений: 12
Регистрация: 13.10.2020

#12

13.10.2020 17:20:51

Цитата
_Igor_61 написал:
Не вводите в заблуждение товарища майора!    

put in vor переводится и расшифровывается как «вставь в ведомость объемов работ» :D  — это для т-ща майора.

а по делу, если у вас проблема не отображается, то и помочь в её решении становится невозможным. В любом случае спасибо!

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

MIkle Mikle, для темы надо готовить небольшой пример (все, что не касается вопроса и не влияет на работу примера — отвлекающий МУСОР!). С ним и вопрос быстрее решится, и у других меньше времени отберете.. Тратьте свое на подготовку примера…

 

понял, спасибо за критику. Учту в следующий раз.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Не поздно учесть в этот раз :), ведь решения пока нет.
Еще один плюс примера — часто при его составлении решение проблем находится самостоятельно.

Миклухо МаЙклай? )
Зачем в нике дубль?

 

MIkle Mikle

Пользователь

Сообщений: 12
Регистрация: 13.10.2020

#16

14.10.2020 11:28:14

Цитата
vikttur написал:
Не поздно учесть в этот раз , ведь решения пока нет.

Да, во вложении файл в котором нет ничего лишнего. Продублирую суть проблемы: после работы макрос на кнопке «Выгрузка» формирует новую книгу, в которой:

  • Невозможно вписать данные в ячейку (пока не создашь новый лист и не перейдёшь на первый)
  • Невозможно эту новую книгу закрыть
  • Невозможно скролить мышкой (полоса прокрутки при этом работает)
Цитата
vikttur написал:
Миклухо МаЙклай? )Зачем в нике дубль?

не знаю, прост))

Прикрепленные файлы

  • _РЕЕСТР ПОРУЧЕНИЙ1.xlsb (49.35 КБ)

 

sokol92

Пользователь

Сообщений: 4456
Регистрация: 10.09.2017

Проделал с Вашей книгой следующее:
1. Нажал кнопку «Выгрузка»
2. В выборе типа загрузки указал «Совещание». В выборе совещания указал «1»  и нажал кнопку «Выгрузка».

Макрос сформировал новую книгу с заголовком «1». Никаких проблем, отмеченных в сообщении #16, с этой книгой не наблюдается.

Версия Excel 2016 (32-).

Перезагрузите систему и на «чистом» Excel выполните строго те же действия. Если проблемы есть, то сохраните новую книгу.
Далее, закройте Excel и вновь откройте только что сохраненную проблемную книгу. Если проблемы остаются, то вложите проблемную книгу в сообщение.

Изменено: sokol9214.10.2020 13:17:42

 

MIkle Mikle

Пользователь

Сообщений: 12
Регистрация: 13.10.2020

#18

14.10.2020 14:28:13

Цитата
sokol92 написал:
Перезагрузите систему и на «чистом» Excel выполните строго те же действия. Если проблемы есть, то сохраните новую книгу.Далее, закройте Excel и вновь откройте только что сохраненную проблемную книгу. Если проблемы остаются, то вложите проблемную книгу в сообщение.

Вот тут момент, не могу понять как мне кодом vba сохранить текущую книгу, закрыть, а потом открыть её-же.

Цитата
sokol92 написал:
Если проблемы остаются, то вложите проблемную книгу в сообщение.

После сохранения—>закрытия—>открытия проблемы пропадают.

 

sokol92

Пользователь

Сообщений: 4456
Регистрация: 10.09.2017

Следовательно, книга формируется корректно. Ищите с помощью отладчика, в какой именно момент работы макроса возникают проблемы.

 

MIkle Mikle

Пользователь

Сообщений: 12
Регистрация: 13.10.2020

#20

14.10.2020 15:25:48

Цитата
sokol92 написал:
Ищите с помощью отладчика

Прошёлся по всем строкам и выявил, что если просто создать новую книгу с помощью:

Код
Set nnn = Workbooks.Add
nnn.Activate

То книга создаётся без проблем, все работает.

Но если ту же самую команду вызвать через 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

Спасибо, разобрался.
Версия, которая была установлена не совпадает с версией примера.

   Birmingem

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С) нет.

Подскажите что делать?

   Birmingem

1 — 07.09.17 — 19:00

Второй день бьюсь, весь инет перерыл …

   Fedor-1971

2 — 07.09.17 — 19:21

(0) на msdn — проверь есть ли параметры у Workbooks.Add(), может нужен параметр, что создаём?

   Birmingem

3 — 07.09.17 — 19:25

(2) В файловой базе этот код полностью работает. Так что проблема именно с доступами из 1С:Сервер в Ексель.

   Fedor-1971

4 — 07.09.17 — 19:38

(3) скорее в TEMP, проверь права доступа на ту папку, которая прописана в общей системной переменной

   Fedor-1971

5 — 07.09.17 — 19:46

4+ или залогинься в винду с USR1CV8

   Birmingem

6 — 07.09.17 — 19:48

В «Настройка DCOM» в свойствах Excel прописал «Разрешения на запуск и активацию» пользователя USR1CV8.

А вот на вкладке «Удостоверение» прописать этого пользователя не дает. Ругается «код ошибки 80070569 выбранный режим входа для для данного пользователя не предусмотрен».

Какие еще права надо дать USR1CV8? В какую группу его засунуть?

   Birmingem

7 — 07.09.17 — 19:50

(5)Пробовал. Дал ему «Пользователи удаленного рабочего стола» и зашел удаленно под USR1CV8. Вручную запустил Ексель, создал книгу, нормально создалось. Запустил 1С, попробовал выгрузить в Ексель, результат тот же.

   lubitelxml

8 — 07.09.17 — 19:52

(7) на tmp дал права то?

   Cyberhawk

9 — 07.09.17 — 19:53

(6) Интерактивный вход в систему в групповых политиках вроде

   Cyberhawk

10 — 07.09.17 — 19:54

Ну и проверить, что служба сервера 1С работает не из-под «локал систем»

   Birmingem

11 — 07.09.17 — 20:09

Попробовал так. Дал USR1CV8 еще и права Администратор.

Зашел под ним. В «Настройка DCOM» в свойствах Excel на вкладке «Удостоверение» поставил «Текущий пользователь».

И заработало …

Получается, надо в «Удостоверение» прописать USR1CV8.

   Birmingem

12 — 07.09.17 — 20:14

(9) Забрал у USR1CV8 права Администратор.

Зашел в «Локальная политика безопасности — Локальные политики — Назначение прав пользователя». Правильно?

В списке нашел «Запретить локальный вход» и там был USR1CV8. Убрал. Все равно не дает прописать его в «Удостоверение».

Что еще нехватает?

   Birmingem

13 — 07.09.17 — 20:19

(10)служба сервера 1С работает под USR1CV8

   Birmingem

14 — 07.09.17 — 20:20

(8)Какую именно tmp надо проверить?

   VS-1976

15 — 07.09.17 — 20:36

Под пользователем USR1CV8 создай новую книгу в excel руками, скорее всего тебе предложит какой нибудь диалог типа создавать конкретно под этим пользователем.

   Cyberhawk

16 — 07.09.17 — 20:55

   Birmingem

17 — 08.09.17 — 07:20

(15)Пробовал. Зашел под USR1CV8, создал книгу, сохранил. Закрыл Ексель. Снова открыл. Никаких вопросов не задает. Открыл книгу, изменил, сохранил. Все нормально.

(16)Спасибо! Я уже нарыл в инете эту информацию, только по частям. Теперь заново, пошагово все проделал.

В результате COMОбъект(«Excel.Application») создается. Но потом, при создании книги Книга = Excel.WorkBooks.Add(); выдает:

Ошибка при вызове метода контекста (Add) Книга=Excel.WorkBooks.Add();

по причине:

Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается открыть или сохранить документы из-за нехватки памяти или места на диске.

• Чтобы освободить память, закройте ненужные книги или программы.

• Чтобы освободить место на диске, удалите с этого диска ненужные файлы.

   VS-1976

18 — 08.09.17 — 14:25

Попробуй создать каталоги, может поможет, но не факт

Папки

C:WindowsSysWOW64configsystemprofileDesktop

C:WindowsSystem32configsystemprofileDesktop

   Масянька

19 — 08.09.17 — 14:49

(17) Documents and Settings — смотрел?

   Cyberhawk

20 — 09.09.17 — 09:37

Может квоты установлены для пользователя ОС службы агента

  

Birmingem

21 — 13.09.17 — 10:39

В общем, так и не победил эту проблему.

Отказался от формирования Ексель файла на сервере (по рекомендации микрософта :) ).

Теперь на сервере собираю данные, складываю в несколько массивов и передаю на клиента.

И файл Ексель создаю на клиенте.

Понравилась статья? Поделить с друзьями:
  • Ошибка не могу создать временный файл
  • Ошибка не могу послушать музыку
  • Ошибка не могу получить доступ к процессу
  • Ошибка не могу подключиться к прокси серверу
  • Ошибка не могу подключить сетевой принтер