Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: alexexcel от 28.06.2019, 18:07

Название: VBA:"With cmt.Shape.TextFrame.Characters.Font" выдает ошибку
Отправлено: alexexcel от 28.06.2019, 18:07
"Application-defined or object-defined error"

Sub CommentAddOrEditTNR()
  Dim cmt As Comment
  Set cmt = ActiveCell.Comment
  If cmt Is Nothing Then
    ActiveCell.AddComment text:=""
    Set cmt = ActiveCell.Comment
    With cmt.Shape.TextFrame.Characters.Font
      .Name = "Times New Roman"
      .Size = 11
      .Bold = False
      .ColorIndex = 0
    End With
  End If
  SendKeys "+{F2}"
End Sub

В чем тут может быть дело? Excel 2016.
Название: Re: VBA:"With cmt.Shape.TextFrame.Characters.Font" выдает ошибку
Отправлено: alexexcel от 30.06.2019, 01:51
Может это быть, потому что это 64-битный эксель? Потому что в 32-битном это работает нормально.
Название: Re: VBA:"With cmt.Shape.TextFrame.Characters.Font" выдает ошибку
Отправлено: boa от 01.07.2019, 11:24
Вы бы пример приложили, как того требуют правила форума. Может и ответ быстреее бы получили...
Название: Re: VBA:"With cmt.Shape.TextFrame.Characters.Font" выдает ошибку
Отправлено: alexexcel от 01.07.2019, 20:02
Спасибо за внимание к моему посту, но непонятно, какой пример я мог бы приложить. Макро и ошибку я приложил, а что еще можно?

Я нашел причину. При случайном нажатии CTRL+6 в Options -- Advanced -- Display options for this workbook активируется опция For objects, show: Nothing (hide objects). Эта опция и приводит к такому поведению. При этом также деактивируются элементы Аудита и еще некоторые вещи. Никогда не сталкивался с такой штукой. Странно, что эксель позволяет без всякого уведомления отключить кучу функций случайным нажатием клавиш и потом концы не найдешь даже при помощи экспертов, как показывает отсутствие ответа на мою проблему на этом форуме. Хотя казалось бы, почему может элементарное макро выдавать ошибку...