Как заставить пользователя включить макросы в листе?

Вопрос:У меня есть шаблон с макросами для проверки данных при нажатии кнопки. Шаблон, содержащий только один лист и никаких листов, добавленных в этот файл (он должен иметь только один лист). Теперь я должен сделать это, когда файл открыт без использования макросов, мне нужно отобразить изображение, пожалуйста, включите макросы, другие не нужно отображать. Большое спасибо за

Вопрос:

У меня есть шаблон с макросами для проверки данных при нажатии кнопки. Шаблон, содержащий только один лист и никаких листов, добавленных в этот файл (он должен иметь только один лист). Теперь я должен сделать это, когда файл открыт без использования макросов, мне нужно отобразить изображение, пожалуйста, включите макросы, другие не нужно отображать.

Большое спасибо за любую помощь.

Лучший ответ:

как заставить пользователя активировать макросы в листе?

Ответ на ваш вопрос: “ Вы не можете

Однако вот альтернатива Ken Puls, которая подойдет вашей цели просто отлично.

Тема: принудительное включение макросов в книгу

Ссылка: http://www.vbaexpress.com/kb/getarticle.php?kb_id=379

QUOTE FROM THE LINK

Так как нет способа использовать макрос для включения макросов, желательно, чтобы пользовательские макросы были включены. Этот конкретный метод скрывает все листы, кроме “приветственного” листа, который сообщает пользователю о включении макросов и применяется каждый раз при сохранении книги. Если пользователь открывает рабочую книгу с включенными макросами, все макросы будут скрыты листами. Скрытие листов также выполняется с использованием свойства Excel VeryHidden, что означает, что листы не могут быть скрыты с помощью меню Excel. Однако имейте в виду, что это влияет только на эту книгу, поэтому пользователь может использовать макрос из другой книги, чтобы отобразить все ваши листы. Однако есть вероятность, что, если ваш пользователь обладает навыками, они всегда могут попасть в ваш файл. ПРИМЕЧАНИЕ. Чтобы предотвратить некоторые проблемы с циклом событий, этот код требует перезапуска Excel, созданного в файлах Сохранения, а также требует репликации Excel. “Рабочая книга изменила, вы хотите сохранить” подсказки и действия. Этот код заботится обо всем этом. Однако при закрытии файла возникает очень незначительная проблема. Если пользователь попытается выйти из приложения, он закроет книгу, но не Excel. Завершение закрытия полностью закроет Excel.

Followup

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

  • Вставьте новую строку
  • Увеличить высоту строки
  • Скрыть остальные строки
  • Изменение размера и перемещение изображения в соответствующем месте.

И когда вы открываете, сделайте обратное сверху

  • Показать остальные строки
  • Удалить 1-й ряд
  • Уменьшите размер и переместите изображение в крайнее левое положение на листе.

Внимание!.

Когда вы поместите изображение на листе, щелкните правой кнопкой мыши на картинке и нажмите “Формат изображения”. В Format Picture Dialog выберите Don’t move or size with cells и снимите флажок с опцией Print Object

КОД, КОГДА ЗАКРЫВАЙТЕ РАБОЧИЙ КНИГУ – примените ту же концепцию, что и в приведенной выше ссылке

Dim shp As Shape With Sheets(«Sheet1») .Rows(1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove .Rows(1).RowHeight = 300 .Rows(«2:» & .Rows.Count).EntireRow.Hidden = True Set shp = .Shapes(«Picture 1») With shp .Top = Sheets(«Sheet1»).Range(«A1»).Top .Left = Sheets(«Sheet1»).Range(«A1»).Left .LockAspectRatio = msoFalse .Height = 100 .Width = 100 End With End With

КОД, КОГДА ОТКРЫВАЙТЕ РАБОЧИЙ КНИГУ – примените ту же концепцию, что и в приведенной выше ссылке

Dim shp As Shape With Sheets(«Sheet1») .Rows(«1:» & .Rows.Count).EntireRow.Hidden = False .Rows(1).Delete Set shp = .Shapes(«Picture 1») With shp .LockAspectRatio = msoFalse .Height = 0 .Width = 0 .Top = Sheets(«Sheet1»).Range(«A1»).Top .Left = Sheets(«Sheet1»).Range(«IV1»).Left End With End With

ПРИМЕЧАНИЕ. В приведенном выше коде замените «Sheet1» на соответствующее имя листа и замените «Picture 1» на соответствующее имя изображения. Я показываю изображение в ячейке A1. Вы можете изменить это, чтобы отобразить изображение, когда захотите, отрегулировав .Top и .Left фигуры.

SNAPSHOT ЕСЛИ МАКРО ОТКЛЮЧЕН

Оцените статью
Добавить комментарий