Дан от Wauconda зададе въпроса за 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 и изберете View Code. В горната част на диалоговия прозорец 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