Riproduci suono in Excel - Suggerimenti per Excel

Dan di Wauconda ha posto la domanda su Excel di questa settimana.

Ho un foglio di lavoro Excel che calcola un valore. Se il valore della cella è> 100, è necessario riprodurre un file midi.
Riproduzione di file audio

Questo suggerimento fa uso dei gestori di eventi discussi qui il 23 dicembre. Se non hai familiarità con i gestori di eventi, leggi prima il suggerimento.

Il primo passaggio consiste nell'incollare una copia del file MIDI in un punto fuori mano del foglio di lavoro.

  • Apri il lettore multimediale WIN95. Programmi> Accessori> Multimedia
  • Apri il file midi scelto nel lettore multimediale.
  • Nel lettore multimediale, seleziona Modifica, quindi Copia oggetto.
  • In Excel, trova una posizione fuori mano. In questo esempio, seleziono Sheet1 Cell Z99. Fare clic qui e quindi premere Modifica> Incolla
  • Guarda la casella del nome in Excel. Nella casella del nome, darà un nome al file midi. Il mio si chiama Object 1.

La macro VBA per riprodurre quel file midi è:

Sub Playit() ActiveSheet.Shapes("Object 1").Select Selection.Verb Verb:=xlPrimary End Sub

A seconda che si disponga di Excel 97 o Excel 95 / 7.0, si utilizzerà il gestore eventi appropriato per richiamare il codice precedente. Di seguito è riportato un esempio per Excel 97. Supponiamo che se viene immesso un nuovo valore nella cella A1, si desidera verificare se la cella calcolata in A2 è> 100. Il gestore eventi è il seguente:

Apri l'editor di Visual Basic. Nella finestra di sinistra, fare clic con il pulsante destro del mouse su Sheet1 e selezionare Visualizza codice. Nella parte superiore della finestra di dialogo Book1 - Sheet1 Code, sono presenti due elenchi a discesa. Dal menu a discesa a sinistra selezionare Foglio di lavoro. Dal menu a discesa a destra, seleziona Modifica. Immettere le seguenti righe di codice:

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

Articoli interessanti...