Страница 2 из 2
Re: доверять доступ к объектной модели проектов VBA
Добавлено: 09 май 2014, 12:53
jaroslav
Сделал, выдает ошыбку 1004: "Method Delete of object Sheets failed" на строке ThisWorkbook.Modules.Delete. Пример книги прилагаю.
Мне это нужно для того, чтобы пользователи, которые будут открывать эту книгу постоянно не сталкивались с вопросом: "Эта книга содержит макросы...". Программно ставить високий или низкий уровень макросов я не хочу (может у пользователей есть какие-то нюансы работы с ексель). Результат работы программы на 1 листе ексель. Как результат ртаботы программы перенести в другую книгу со всеми форматами, ширинами столбцов? Можно с помощью команды Переместить\Скопировать лист. Но у меня в некоторых ячейках более 256 символов. Как обойти это ограничение?
Re: доверять доступ к объектной модели проектов VBA
Добавлено: 09 май 2014, 13:02
pashulka
Скажите, а Вы всегда просто копируете чужой код ? там же чётко сказано, что сначала модуль нужно создать, причём не как Вам хочется, а именно так, как это продемонстрировано в двух примерах и только затем этот модуль(а, по сути, лист модуля) можно удалить.
1) Зачем, всё мешать в кучу ... наличие "флажка" доверять доступ к VBProject - вообще никак не связана с сообщением об отключении макросов и уровнем безопасности. Если очень хочется, чтобы макросы запускались автоматически и пользователи об этом не догадывались, то начиная с XL2000 можно использовать цифровую подпись (более подробную информацию можно найти в справке и сети)
2) Копировать - Специальная вставка (значения, форматы, есть ширина столбцов, но не во всех версиях), разумеется, специальная вставка доступна и программно, равно как и изменение ширины столбцов и т.п.
Re: доверять доступ к объектной модели проектов VBA
Добавлено: 09 май 2014, 13:20
jaroslav
Спасибо, pashulka. Извините, был невнимательным.
Я не программист по специальности. VBA изучаю самостоятельно, не всегда понимаю, что нужно сделать. Не судите строго
Re: доверять доступ к объектной модели проектов VBA
Добавлено: 09 май 2014, 13:34
pashulka
Дык, если бы я кого-то осудил, то самолично бы привёл приговор в исполнении

т.е. расстрел на месте
А если серьёзно и Вы не хотите париться с :
- сообщением о наличии макросов
- уровнями безопасности (которых не, кстати, в Excel97)
- доверенным доступом к VBProject (который появился только в ExcelXP)
то установите Visual Basic 6.0 и оформляйте свою программу в виде .exe (при желании и необходимости можно использовать также и xls файл)
Re: доверять доступ к объектной модели проектов VBA
Добавлено: 10 май 2014, 11:30
pashulka
В продолжении темы :
Далее приведена ссылка, где можно найти и скачать конвертер из XL в EXE, который позволяет выполнять макросы, даже если установлен высокий уровень безопасности, не задавая при этом вопросов (это я намекаю на раздражающее многих сообщение о необходимости включить макросы)
XL TO EXE CONVERTER - XLtoEXE