Mit einer Exceldatei arbeiten

Hallo,

ich bin gerade dabei ein Quizprogramm zu programmieren udn habe folgende Probleme:

Ich habe alle Daten in einer Exceltabelle.
Diese ist in einem Unterordner namens „music“.
Dazu meine 1. Frage:
Wie kann ich diese Excel-Datei aus diesem Unterordner öffnen und in den Arbeitsspeicher laden?

Dann wird eine Zufallszahl generiert, die die Zeile angibt.
Dazu meine 2. Frage:
Die Zufallszahl habe ich; wie kann ich jetzt mit der Exceltabelle arbeiten, dass es diese Zeile anwählt?

Aus der Zeile soll das Programm dann die Lösung nehmen und den Namen der Sounddatei den es dazu anspielen soll
(es wird ein Programm was Serientitel spielt und man erkennen soll, um welche Serie es sich handelt)
Und nun schon meine 3. und letzte Frage:
Wie kann ich eine Sounddatei anspielen, deren Dateiname aus einer Exceltabelle genommen wird?

Ich bedanke mich jetzt schon mal und hoffe, dass ich Antworten bekomme.
Ich hab schon gegoogelt und habe aber nix dazu gefunden.

Hallo,

Hi,

ich bin gerade dabei ein Quizprogramm zu programmieren udn
habe folgende Probleme:

Ich habe alle Daten in einer Exceltabelle.
Diese ist in einem Unterordner namens „music“.
Dazu meine 1. Frage:
Wie kann ich diese Excel-Datei aus diesem Unterordner
öffnen und in den Arbeitsspeicher laden?

Google:
http://www.google.com/search?hl=de&q=vb+excel+%C3%B6…
1.Suchtreffer

Dann wird eine Zufallszahl generiert, die die Zeile angibt.
Dazu meine 2. Frage:
Die Zufallszahl habe ich; wie kann ich jetzt mit der
Exceltabelle arbeiten, dass es diese Zeile anwählt?

Siehe Antwort zu Frage 1

Aus der Zeile soll das Programm dann die Lösung nehmen und den
Namen der Sounddatei den es dazu anspielen soll
(es wird ein Programm was Serientitel spielt und man erkennen
soll, um welche Serie es sich handelt)
Und nun schon meine 3. und letzte Frage:
Wie kann ich eine Sounddatei anspielen, deren Dateiname
aus einer Exceltabelle genommen wird?

Google:
http://www.google.com/search?hl=de&q=vb+mp3&lr=
2. Suchtreffer

Ich bedanke mich jetzt schon mal und hoffe, dass ich Antworten
bekomme.
Ich hab schon gegoogelt und habe aber nix dazu gefunden.

Komisch.
Gruß.Timo

Hallo,

Hi,

ich bin gerade dabei ein Quizprogramm zu programmieren udn
habe folgende Probleme:

Ich habe alle Daten in einer Exceltabelle.
Diese ist in einem Unterordner namens „music“.
Dazu meine 1. Frage:
Wie kann ich diese Excel-Datei aus diesem Unterordner
öffnen und in den Arbeitsspeicher laden?

Google:
http://www.google.com/search?hl=de&q=vb+excel+%C3%B6…
1.Suchtreffer

Danke für die Seite, ich habe sie mir mal angeschaut und den Code übernommen und auch bei Projekt/Verweise dieses Excel da eingestellt.
Jetzt kommt immer die Fehlermeldung, dass es die Exceldatei nicht findet. Diese Datei befindet sich im gleichen Ordner und so soll sie auch geöffnet werden, also müsste es doch reichen, wenn ich nur den Dateinamen eingebe, aber es kommt immer die Meldung, dass die Datei nicht gefunden wird. Ich hab die Prozedur direkt in meinen Sub eingebaut und deshalb ändere ich die Dateinamen im Sub und gebe sie nicht im Subaufruf an.
Und noch eine weitere Frage:
Abschreiben kann ja jeder, aber ich würde gerne verstehen, was ich da abschreibe. Könnte sich jemand die Arbeit machen und erklären, wie die Zeilen zustande kommen? Wäre echt freundlich.

Danke

Zu dem Rest bin ich noch nicht vorgedrungen!

Gruß
Rik

Hi,
es würde schon helfen, wenn du deinen Code posten würdest.
Hast du ihn 1:1 von der vorgeschlagenen Seite übernommen?
Hast du schon mal versucht, den Dateinamen der Exceldatei komplett mit Laufwerk & Pfad anzugeben?
Welche Zeilen verstehst du denn nicht?
Alle?
Frage konkretisieren oder auch hier einfach mal googlen.

Gruß.Timo

Hi,
es würde schon helfen, wenn du deinen Code posten würdest.

Also hier mein Code:

Private Sub Form_Load()
Dim nummer%, loesung%
Dim A As Variant
Dim Zeile As Long, Spalte As Integer

’ Workbook öffnen
On Error Resume Next
oExl.Workbooks.Open „list.xls“
If Err 0 Then
MsgBox „Exceldatei konnte nicht gefunden oder geöffnet werden.“, _
vbExclamation, „Dateifehler“
Exit Sub
End If

On Error GoTo 0

’ Tabelle selektieren:
ActiveWorkbook.Sheets(„list“).Select

loesung = Int(4 * Rnd())
antwort(loesung) = „Lösung“
nummer = Int(1 + (118) * Rnd())

End Sub

Hast du schon mal versucht, den Dateinamen der Exceldatei
komplett mit Laufwerk & Pfad anzugeben?

Habe ich jetzt mal versucht und das geht, aber da das Programm dann bei anderen Leuten an einem anderen Ort ist wäre es nicht schlecht, wenn es das so findet

Welche Zeilen verstehst du denn nicht?

Ich verstehe nicht, warum ich immer was mit den Error machen muss.
Was hat es mit den folgenden Zeilen auf sich?

On Error Resume Next
If Err 0 Then
On Error GoTo 0

Das würde ich gerne verstehen!

Nochmals Danke (auch für die Geduld)

Gruß
Rik

Hi,
es würde schon helfen, wenn du deinen Code posten würdest.

Also hier mein Code:

Private Sub Form_Load()
Dim nummer%, loesung%
Dim A As Variant
Dim Zeile As Long, Spalte As Integer

’ Workbook öffnen
On Error Resume Next
oExl.Workbooks.Open „list.xls“

hier könntest du z.B. folgendes verwenden:
oExl.Workbooks.Open App.Path & „\list.xls“
’ App.Path gibt den Pfad zurück, in dem das Programm läuft

If Err 0 Then
MsgBox „Exceldatei konnte nicht gefunden oder geöffnet
werden.“, _
vbExclamation, „Dateifehler“
Exit Sub
End If

On Error GoTo 0

’ Tabelle selektieren:
ActiveWorkbook.Sheets(„list“).Select

loesung = Int(4 * Rnd())
antwort(loesung) = „Lösung“
nummer = Int(1 + (118) * Rnd())

End Sub

Hast du schon mal versucht, den Dateinamen der Exceldatei
komplett mit Laufwerk & Pfad anzugeben?

Habe ich jetzt mal versucht und das geht, aber da das Programm
dann bei anderen Leuten an einem anderen Ort ist wäre es nicht
schlecht, wenn es das so findet

Welche Zeilen verstehst du denn nicht?

Ich verstehe nicht, warum ich immer was mit den Error machen
muss.
Was hat es mit den folgenden Zeilen auf sich?

On Error Resume Next

Ignoriert Fehler und macht einfach weiter --> keine Fehlermeldungen

If Err 0 Then

Wenn ein Fehler aufgetreten ist, dann…

On Error GoTo 0

Fehlerignoranz wieder aufheben

Das würde ich gerne verstehen!

Nochmals Danke (auch für die Geduld)

Dafür nicht.
Gruß.Timo

Gruß
Rik

Danke, habe erstmal die Zeilen verstanden (muss mich noch ein bisschen dahinter klemmen um das auch einzeln zu verstehen, warum und wieso genau das)

Mit dem App.Path hat es funktioniert. Den Rest schaue ich mir später einmal an und komme dann evtl. darauf zurück!

:wink:
Gruß
Rik

Wie kann ich eine Sounddatei anspielen, deren Dateiname
aus einer Exceltabelle genommen wird?

Google:
http://www.google.com/search?hl=de&q=vb+mp3&lr=
2. Suchtreffer

Sorry wenn ich nerve, aber das is mir zu kompliziert. Da blicke ich überhaupt nicht durch, ich weiß nicht wie ich das einbinden soll.

Also wenn die Form geladen wird soll einfach die MP3 Datei anfangen mit spielen. Der Ort der MP3 Datei steht in einer Exceldatei in Spalte C und die Zeile wird vorher durch einen Zufallsgenerator ermittelt:

Sub Aufgabe()
Randomize
nummer = Int(1 + 118 * Rnd())

End Sub

Die nummer ist die Zeile in der Exceltabelle.

Danke

hier könntest du z.B. folgendes verwenden:
oExl.Workbooks.Open App.Path & „\list.xls“

Hi cumbaya,
App.Path kennt mein Excel200 nicht und auch im Code auf der Seite die von dir genannt wurde wurde App nicht deklariert.
Was also ist App.Path, also dieses App?
Danke ^ Gruß
Reinhard

Hi,

Sorry wenn ich nerve, aber das is mir zu kompliziert. Da
blicke ich überhaupt nicht durch, ich weiß nicht wie ich das
einbinden soll.

Also wenn die Form geladen wird soll einfach die MP3 Datei
anfangen mit spielen. Der Ort der MP3 Datei steht in einer
Exceldatei in Spalte C und die Zeile wird vorher durch einen
Zufallsgenerator ermittelt:

Unter Projekt–>Verweise setzt du bei „Active movie control type library“ ein Häkchen.
Ganz oben in deinem Quelltext (oberhalb der ersten Sub) schreibtst du:
Dim fgm As FilgraphManager

Sub Aufgabe()
Randomize
nummer = Int(1 + 118 * Rnd())

Set fgm = New FilgraphManager
fgm.RenderFile ActiveSheet.Cells(nummer, 3).Value
fgm.Run

End Sub

Die nummer ist die Zeile in der Exceltabelle.

Gruß.Timo

Danke

Hi,

Hi cumbaya,
App.Path kennt mein Excel200 nicht und auch im Code auf der
Seite die von dir genannt wurde wurde App nicht deklariert.

App.Path gibt’s in VBA nicht, sondern nur in VB.

Was also ist App.Path, also dieses App?

Es gibt den Pfad zurück, in dem sich die Datei befindet.
In VBA musst du ThisWorkbook.Path (bei Excel) benutzen.
Gruß.Timo

Danke ^ Gruß
Reinhard

Danke dir, o.w.T.

Dazu meine 1. Frage:
Wie kann ich diese Excel-Datei aus diesem Unterordner
öffnen und in den Arbeitsspeicher laden?

Google:
http://www.google.com/search?hl=de&q=vb+excel+%C3%B6…

Wenn ich o.g. Coding verwende, bekomme ich bei der Zeile:
’ Tabelle selektieren:
ActiveWorkBook.Sheets(„Test“).Select

die Fehlermeldung Index außerhalb des gültigen Bereichs.

Was muss man da noch deklarienen?