Сделал, выдает ошыбку 1004: "Method Delete of object Sheets failed" на строке ThisWorkbook.Modules.Delete. Пример книги прилагаю.
Мне это нужно для того, чтобы пользователи, которые будут открывать эту книгу постоянно не сталкивались с вопросом: "Эта книга содержит макросы...". Программно ставить високий или низкий уровень макросов я не хочу (может у пользователей есть какие-то нюансы работы с ексель). Результат работы программы на 1 листе ексель. Как результат ртаботы программы перенести в другую книгу со всеми форматами, ширинами столбцов? Можно с помощью команды Переместить\Скопировать лист. Но у меня в некоторых ячейках более 256 символов. Как обойти это ограничение?
доверять доступ к объектной модели проектов VBA
Модератор: Naeel Maqsudov
- Вложения
-
- Книга1..zip
- (11.21 КБ) 43 скачивания
Скажите, а Вы всегда просто копируете чужой код ? там же чётко сказано, что сначала модуль нужно создать, причём не как Вам хочется, а именно так, как это продемонстрировано в двух примерах и только затем этот модуль(а, по сути, лист модуля) можно удалить.
1) Зачем, всё мешать в кучу ... наличие "флажка" доверять доступ к VBProject - вообще никак не связана с сообщением об отключении макросов и уровнем безопасности. Если очень хочется, чтобы макросы запускались автоматически и пользователи об этом не догадывались, то начиная с XL2000 можно использовать цифровую подпись (более подробную информацию можно найти в справке и сети)
2) Копировать - Специальная вставка (значения, форматы, есть ширина столбцов, но не во всех версиях), разумеется, специальная вставка доступна и программно, равно как и изменение ширины столбцов и т.п.
1) Зачем, всё мешать в кучу ... наличие "флажка" доверять доступ к VBProject - вообще никак не связана с сообщением об отключении макросов и уровнем безопасности. Если очень хочется, чтобы макросы запускались автоматически и пользователи об этом не догадывались, то начиная с XL2000 можно использовать цифровую подпись (более подробную информацию можно найти в справке и сети)
2) Копировать - Специальная вставка (значения, форматы, есть ширина столбцов, но не во всех версиях), разумеется, специальная вставка доступна и программно, равно как и изменение ширины столбцов и т.п.
Спасибо, pashulka. Извините, был невнимательным.
Я не программист по специальности. VBA изучаю самостоятельно, не всегда понимаю, что нужно сделать. Не судите строго
Я не программист по специальности. VBA изучаю самостоятельно, не всегда понимаю, что нужно сделать. Не судите строго
Дык, если бы я кого-то осудил, то самолично бы привёл приговор в исполнении
т.е. расстрел на месте 
А если серьёзно и Вы не хотите париться с :
- сообщением о наличии макросов
- уровнями безопасности (которых не, кстати, в Excel97)
- доверенным доступом к VBProject (который появился только в ExcelXP)
то установите Visual Basic 6.0 и оформляйте свою программу в виде .exe (при желании и необходимости можно использовать также и xls файл)


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