[VB 2005] Datei kann nicht gefunden werden

Tobbi2

Grünschnabel
Ich hab ein Programm geschrieben, dass ein Windows Media Player Steuerelement beinhaltet und bestimmte Dateien abspielen soll.

Das ganze sah dann so aus:

Code:
 Private Sub Trailer2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Trailer2ToolStripMenuItem.Click
        AxWindowsMediaPlayer1.URL = "C:\Dokumente und Einstellungen\Tobias\Eigene Dateien\Visual Studio 2005\Projects\Metroid Media\Metroid Media\Video MP\t_metroid_prime_2.wmv"
    End Sub

Die Datei hatte ich in den Projektordner kopiert und dann habe ich den kompletten Pfad genommen.um die Übersicht zu bewahren habe ich für die Dateien im Projektordner Unterordner erstellt. Da das beim Debuggen alles soweit funktioniert hatte, hatte ich das Programm per OneClick auf meinem PC veröffentlicht. Dann habe es installiert und es hat wunderbar funktioniert. Dann wollte ich das Programm einem Kumpel von mir geben und habe ihn dafür die Installationsdateien geschickt. Aber als er das Programm installiert hatte und eine von den Dateien abspielen wollte, kam eine Fehlermeldung, dass die Datei nicht gefunden wurde.

Ich denke, dass es am Pfadnamen liegt, aber ich weiß nicht, wie ich das beheben kann.
 
Hi Tobbi,

das Problem ist tatsächlich der Pfad. Du gibst ihn absolut an, d.h. dass die Datei auch genau in diesem Ordner liegen soll. Wenn ich dich jedoch richtig verstanden habe, willst du eine Datei öffnen, die sich im Unterodner deines Programms befindet. Dafür brauchst du einen relativen Pfad:

Code:
AxWindowsMediaPlayer1.URL = Application.StartupPath & "\Unterordner\Dateiname\"

Natürlich musst du den Unterordner und den Dateinamen noch entsprechend benennen.

Gruß
PhoenixLoe
 
Danke für die Hilfe.

Zwar funktioniert dabei dann das öffnen der Datei beim Debuggen nicht mehr, aber wenn man es installiert hat, funktioniert alles prima.

Allerdings bin ich nun auf ein neues Problem gestoßen. Und zwar soll das Programm auch eine bestimmte Word-Datei öffenen. Das habe ich so gemacht:

Code:
Public Class Form1
    Dim Word As Object

 Private Sub KomplettlösungToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KomplettlösungToolStripMenuItem.Click
        Word = CreateObject("Word.Application")
        Word.visible = True
        Word.WindowState = 1
        Word.Documents.Open(Application.StartupPath & "\Word\Metroid Komplettlösung.doc")
    End Sub

hier wird mir aber wieder gesagt, dass der Pfadname ungültig ist.
 
Hi Tobbi,

um ehrlich zu sein, bin ich kein wirklicher Fan der CreateObject-Anweisung, da man über die Eigenschaften der Objekte nichts weiß (außer man besitzt eine entsprechende Referenz). In deinem Fall könnte es zum Beispiel sein (bin mir aber nicht sicher ;)), dass der Pfad mit Hilfe von Slashes statt Backslashes angegeben werden muss, weil es sich um ein typisch amerikanisches Microsoft-Produkt handelt:

Code:
Word.Documents.Open("./Word/Metroid Komplettlösung.doc")

Falls das nicht funktioniert, würde ich dir eine Alternative empfehlen, die du sowieso eher verwenden solltest. Die Process-Klasse bietet nämlich die Möglichkeit, eine Datei mit dem Programm zu öffnen, das dieser Dateiendung zugeordnet ist:

Code:
Process.Start(Application.StartupPath & "\Word\Metroid Komplettlösung.doc")

Natürlich muss sich die Datei wieder im Pfad des Programms befinden und der entsprechende Benutzer muss dem Dateityp eine Anwendung zugeordnet haben, ansonsten gibt es eine Fehlermeldung.

Gruß
PhoenixLoe
 
Also irgendwie hat das auch nicht funktioniert. Ich hab mal auf zwei Bildern festgehalten, was dabei herausgekommen ist.
 

Anhänge

  • Metroid Media Problem.JPG
    Metroid Media Problem.JPG
    52 KB · Aufrufe: 62
  • Metroid Media Problem 2.jpg
    Metroid Media Problem 2.jpg
    141,8 KB · Aufrufe: 63
Also, die einzige Erklärung, die noch in Frage kommt, ist, dass der Pfad tatsächlich nicht existiert. Könntest du mal bitte eine Auflistung deiner Unterordner und Dateien in deinem Programmordner posten? Vielleicht finde ich den Fehler dann.

Gruß
PhoenixLoe
 
Ich hab das Problem gefunden: Und zwar war bei allen Word Dateien (.doc) die Eigenschaft "Buildvorgang" auf "Keine" gestellt und nicht auf "Inhalt". Dadurch, dass es auf "Keine"gestellt war, wurden die Word Dateien beim Veröffentlichen des Programms nicht mitkopiert und deswegen konnten sie auch nicht gefunden werden.
 
Zuletzt bearbeitet:
Zurück