kostenloser Webspace werbefrei: lima-city


dateien mit standardprogramm öffnen

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    speckuntu

    Kostenloser Webspace von speckuntu

    speckuntu hat kostenlosen Webspace.

    weiß igendjemand wie ich eine beliebige datei mit vb6 mit dem standardprogramm öffnen kann

    lg,
    spckuntu
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. meinst du sowas?
    http://www.activevb.de/tipps/vb6tipps/tipp0001.html
  4. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    grizzlybaer schrieb:
    meinst du sowas?
    http://www.activevb.de/tipps/vb6tipps/tipp0001.html

    Nö ;)



    speckuntu schrieb:
    weiß igendjemand wie ich eine beliebige datei mit vb6 mit dem standardprogramm öffnen kann
    lg,
    spckuntu

    Ja weiß ich ;)
    Du hast aber nicht explizit gesagt, dass du eine Antwort haben willst...


    Überlege mal einfach: Wie öffnest du eine Datei auf deinem Computer? Wohl über den Windows-Explorer...
    Also eine unfertige Beispiellösung:

    Dim strExplorer As String
    strExplorer = Environ(\"SystemRoot\") & \"\\\\Explorer.exe\"
    
    Dim strFile As String
    strFile = \"C:\\\\Test.txt\"
    
    Shell strExplorer & \" \" & \"\"\"\" & strFile & \"\"\"\"


    Wenn keine Standardanwendung zugeordnet ist, wird der \"Öffnen mit\"-Dialog angezeigt.
    Zu ergänzen: Fehler- bzw. Ausnahmenbehandlung.


    Beitrag geändert: 11.2.2008 18:19:22 von cbhp
  5. Einfache Prozedur für Öffnen mit Office-Programmen, beim Aufruf vollständigen Pfad der Office-Datei übergeben (kann bei Bedarf natürlich erweitert werden.

    Sub testDokumentOeffnen()
    DokumentOeffnen (\"C:\\temp\\Test.doc\")
    End Sub

    Public Sub DokumentOeffnen(pfad As String)
    Dim app As String, ext As String
    ext = UCase(Right(pfad, Len(pfad) - InStrRev(pfad, \".\")))
    If ext = \"DOC\" Then app = \"Winword.exe\"
    If ext = \"XLS\" Then app = \"Excel.exe\"
    If ext = \"PPT\" Then app = \"Powerpnt.exe\"
    app = app & \" \"\"\" & pfad & \"\"\"\"
    Call Shell(app, 1)
    Procedure_End:
    Exit Sub
    Procedure_Err:
    MsgBox Err.Description
    Resume Procedure_End
    End Sub


  6. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.


    Einfache Prozedur für Öffnen mit Office-Programmen, beim Aufruf vollständigen Pfad der Office-Datei übergeben (kann bei Bedarf natürlich erweitert werden.

    Sub testDokumentOeffnen()
    DokumentOeffnen (\"C:\\temp\\Test.doc\")
    End Sub

    Public Sub DokumentOeffnen(pfad As String)
    Dim app As String, ext As String
    ext = UCase(Right(pfad, Len(pfad) - InStrRev(pfad, \".\")))
    If ext = \"DOC\" Then app = \"Winword.exe\"
    If ext = \"XLS\" Then app = \"Excel.exe\"
    If ext = \"PPT\" Then app = \"Powerpnt.exe\"
    app = app & \" \"\"\" & pfad & \"\"\"\"
    Call Shell(app, 1)
    Procedure_End:
    Exit Sub
    Procedure_Err:
    MsgBox Err.Description
    Resume Procedure_End
    End Sub



    Standardprogramme ungleich Microsoft Office!
    Mit deiner Lösung lassen sich nur fest definierte Dateitypen öffnen, aber sonst nichts. Stell dir mal vor, jeder Benutzer hat andere Standardanwendungen für den gleichen Dateityp...

    Da ist die Lösung von mir mit der Parameterübergabe an den Windows-Explorer schon besser.


  7. und wieso nicht einfach nur shell mit dem dateinamen?
  8. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.


    und wieso nicht einfach nur shell mit dem dateinamen?


    Weil wenn man beliebige Dateien über Shell aufrufen würde, z.B. die Datei \"file.xy2\" und keine Standardanwendung für diesen Dateityp registriert ist, ein Fehler auftritt.
    Der Shell() Befehl ist eigentlich dafür da, um ausführbare Anwendungen zu starten (also Dateien mit der Endung .exe, .com, ...)

    Außerdem leitest du durch einen Aufruf des Explorers, dem du die Datei als Parameter übergibst, die Fehlerbehandlung mit um, z.B. falls die Datei nicht geöffnet werden kann oder nicht vorhanden ist. Zusätzlich hast du einen netten Effekt bei XP und Vista: Falls die Datei von einem fremden Computer stammt, erscheint das Dialogfeld \"Möchten Sie diese Datei öffnen?\" bzw. die Benutzerkontensteuerung schaltet sich vor, falls bestimmte Rechte erforderlich sind.

    Somit ist der Shell-Aufruf mit dem Explorer kombiniert die einfachste Variante.
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!