Дэн из Воконды задал на этой неделе вопрос об Excel.
У меня есть рабочий лист Excel, который вычисляет значение. Если значение ячейки> 100, мне нужен файл midi для воспроизведения.

В этом совете используются обработчики событий, которые обсуждались здесь 23 декабря. Если вы не знакомы с обработчиками событий, сначала ознакомьтесь с этим советом.
Первый шаг - вставить копию MIDI-файла в какое-либо место на рабочем листе.
- Откройте медиаплеер WIN95. Программы> Аксессуары> Мультимедиа
- Откройте выбранный midi-файл в медиаплеере.
- В медиаплеере выберите «Правка», затем «Копировать объект».
- В Excel найдите труднодоступное место. В этом примере я выбираю Sheet1 Cell Z99. Нажмите здесь, а затем нажмите Edit> Paste
- Посмотрите на поле имени в Excel. В поле имени он даст имя MIDI-файлу. Мой называется Объект 1.
Макрос VBA для воспроизведения этого файла midi:
Sub Playit() ActiveSheet.Shapes("Object 1").Select Selection.Verb Verb:=xlPrimary End Sub
В зависимости от того, используете ли вы Excel 97 или Excel 95 / 7.0, вы можете использовать соответствующий обработчик событий для вызова вышеуказанного кода. Вот пример для Excel 97. Предположим, что если новое значение введено в ячейку A1, вы хотите проверить, больше ли вычисленная ячейка в A2 100. Обработчик событий выглядит следующим образом:
Откройте редактор Visual Basic. В левом окне щелкните правой кнопкой мыши Sheet1 и выберите Просмотреть код. Вверху диалогового окна Book1 - Sheet1 Code есть два раскрывающихся списка. В раскрывающемся списке слева выберите Рабочий лист. В правом раскрывающемся списке выберите Изменить. Введите следующие строки кода:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Address = "$A$1" Then If Range("A2")> 100 Then ActiveSheet.Shapes("Object 1").Select Selection.Verb Verb:=xlPrimary End If End If End Sub