1.3 Обработка ошибок
Записанный макрос не в каждой ситуации может работать правильно. Это может быть вызвано как особенностями работы Microsoft Excel, так и ошибками при редактировании макроса. Если выполнение макроса невозможно, будет выдано сообщение об ошибке, в котором указан номер ошибки и приведен краткий комментарий. Комментарий может быть как на русском языке, так и на английском. Если нажать кнопку End, выполнение макроса прекратится. Если нажать кнопку Help, запустится справочная система Microsoft Excel и появится окно со справкой по этой ошибке. Если нажать кнопку Debug, откроется окно Visual Basic, в котором будет отмечена строка макроса, вызвавшая ошибку выполнения
В зависимости от характера ошибки ее необходимо исправить или обойти.
Если ошибка вызвана неправильным редактированием макроса, в текст макроса следует внести исправления, а затем закрыть окно Visual Basic. В запросе на прекращение процесса отладки , следует нажать кнопку ОК, а затем снова запустить макрос. Если же ошибка работы макроса связана с особенностями ситуации, то можно внести в макрос команды, позволяющие обойти эту ошибку. Наиболее универсальная команда обхода ошибок в макросах: On Error GoTo a, где а -- метка, к которой следует перейти при обнаружении ошибки. В качестве метки можно использовать буквы, цифры или их сочетания. Пробелы использовать нельзя. Метка в тексте макроса вводится с двоеточием отдельной строкой: Команду On Error GoTo a можно ввести первой строкой макроса, для того, чтобы она перехватывала все ошибки. Метку можно ввести перед той командой макроса, которая должна выполняться после ошибочной команды. Если при обнаружении ошибки следует прекратить выполнения макроса, то метку следует ввести перед строкой завершения работы макроса.
После необходимого редактирования и создания команды обхода ошибки текст макроса примет следующий вид:
Sub Валюты()
Валюты Макрос
Макрос записан 02.01.2007 (Spiridonov)
On Error GoTo a
Sheets.Add
ActiveSheet.Name = "Новый"
Sheets("Курсы валют").Select
Range("A1:G19").Select
Selection.Copy
Sheets("Новый").Select
Selection.PasteSpecial Paste:=xlPasteValues
Selection.Replace What:=".", Replacement:="."
Range("H2").Select
ActiveCell.FormulaR1C1 = "=RC[-4]/RC[-6]"
Selection.AutoFill Destination:=Range("H2:H19")
Range("H2:H19").Select
Selection.Copy
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues
Range("A:B,E:H").Select
Selection.Delete Shift:=xlToLeft
Columns("B:B").Select
Selection.Style = "Currency"
Range("A:B").EntireColumn.AutoFit
Range("A1").Select
ActiveSheet.Name = Date
Границы
a:
End Sub
Sub Границы()
Границы Макрос
Макрос записан 02.01.2007 (Spiridonov)
Range("A1:B19").Select
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeTop).LineStyle = xlContinuous
Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous
Selection.Borders(xlEdgeRight).LineStyle = xlContinuous
Selection.Borders(xlInsideVertical).LineStyle = xlContinuous
Selection.Borders(xlInsideHorizontal).LineStyle = xlContinuous
Range("A1").Select
End Sub
Удаление макросов
Для удаления макроса выполните команду Сервис/Макрос/Макросы, в окне Макросы выберите макрос и нажмите кнопку Удалить. В окне запроса следует нажать кнопку Да. В окне Microsoft Excel отменить удаление макроса невозможно. Но если сразу же после удаления макроса открыть окно Visual Basic, то, нажав кнопку Undo (Отменить), удаление макроса можно отменить.
Подписывание макросов
При установленном высоком уровне безопасности неподписанный макрос при открытии файла будет отключен и, соответственно, не будет запускаться, даже если он написан самим пользователем.
Для подписи макроса необходимо получить сертификат.
Для подписи коммерческих макросов следует получить заверенный сертификат в официальном коммерческом центре сертификации.
Для личного использования сертификат цифровой подписи можно создать самостоятельно с помощью программы Цифровой сертификат для проектов VBA. макрос офисный приложение delphi
Создание цифрового сертификата
Для запуска программы создания цифрового сертификата откройте Главное меню Windows и выберите команду Все программы Microsoft OfficeСредства Microsoft Office. В окне Создание цифрового сертификата введите имя сертификата и нажмите кнопку ОК. Теперь цифровой сертификат создан, и его можно использовать для подписывания макросов.
Добавление цифровой подписи к макросу
Для добавления цифровой подписи в режиме просмотра макроса в окне редактора Visual Basic выполните команду Tools/Digital Signature. В окне Цифровая подпись нажмите кнопку Выбрать. В окне Выбор сертификата выберите сертификат, используемый для подписи, и нажмите кнопку ОК.
После того, как имя сертификата будет указано в окне Цифровая подпись, нажмите кнопку ОК. Цифровая подпись к макросу добавлена.
- Введение
- Глава 1. Средства автоматизации в офисных приложениях
- 1.1 Стандартные и пользовательские макросы
- 1.2 Редактирование макросов
- 1.3 Обработка ошибок
- Глава 2. Управление офисными приложениями в проектах Delphi
- 2.1 Нестандартные отчёты - кто и зачем этим занимается
- 2.3 Создание отчётов в Word (различные подходы)
- 2.3 Управление объектами Word и Excel 2000
- 52. Организация взаимодействия приложений.
- Интеграция с Microsoft Office
- 3.4. Приложения Microsoft Office
- Пакет приложений Microsoft Office
- Структура пакета Microsoft Office
- Приложения Microsoft Office
- 8.3 Интеграция приложений Microsoft Office с технологиями SharePoint
- 7 Взаимодействие с другими приложениями Microsoft Office
- Компоненты Delphi для взаимодействия с серверами автоматизации ms Office