vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Ich doof 
Autor: Matthias
Datum: 04.08.02 15:07

Hi N00b,

also der Tip den Dieter nannte Öffnen mit..."-Dialog bei Bedarf autom. anzeigen funktioniert eigentlich gut.
Probiere doch mal folgendes aus ; Lege eine neues Projekt mit einem CommandButton an und kopiere folgenden Code in das Programm.
<code>
Option Explicit
 
'zunächst die benötigten API-Deklarationen
Private Declare Function ShellExecute Lib "shell32.dll" _
    Alias "ShellExecuteA" (ByVal hWnd As Long, _
    ByVal lOperation As String, _
    ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long
 
Private Declare Function GetSystemDirectory Lib "kernel32" _
  Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, _
  ByVal nSize As Long) As Long
 
Private Declare Function GetDesktopWindow Lib "user32" () _
  As Long
 
Private Const SE_ERR_NOASSOC = 31
Private Const SE_ERR_NOTFOUND = 2
 
'Dokument öffnen und ggf. autom. den
'"Öffnen mit..." - Dialog anzeigen
Private Sub DocumentOpen(sFilename As String)
  Dim sDirectory As String
  Dim lRet As Long
  Dim DeskWin As Long
 
  DeskWin = GetDesktopWindow()
  lRet = ShellExecute(DeskWin, "open", sFilename, _
    vbNullString, vbNullString, vbNormalFocus)
 
  If lRet = SE_ERR_NOTFOUND Then
    'Datei nicht gefunden
ElseIf lRet = SE_ERR_NOASSOC Then
    'Wenn die Dateierweiterung noch nicht bekannt ist...
    'wird der "Öffnen mit..."-Dialog angezeigt.
sDirectory = Space(260)
    lRet = GetSystemDirectory(sDirectory, Len(sDirectory))
    sDirectory = Left(sDirectory, lRet)
    Call ShellExecute(DeskWin, vbNullString, _
      "RUNDLL32.EXE", "shell32.dll,OpenAs_RunDLL " & _
      sFilename, sDirectory, vbNormalFocus)
  End If
End Sub
 
Private Sub Command1_Click()
Dim F As Long
Dim myString As String
 
 F = FreeFile
 myString = "Hallo Welt :)"
 Open App.Path & "dummy.txt" For Output As #F
 Write #F, myString
 
  DocumentOpen (App.Path & "dummy.txt")
 
 Close #F
 
End Sub
 
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
 Kill (App.Path & "dummy.txt")
 Unload Me
 Set Form1 = Nothing
End Sub

Und nach dem Schema kannst Du Datein öffnen welche Du willst/vorhanden sind. Also eigentlich einfach

Gruß
Matthias
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
fremde programme aus eigenem programm starten60N00b04.08.02 13:26
Re: fremde programme aus eigenem programm starten495ModeratorDieter04.08.02 13:29
Re: fremde programme aus eigenem programm starten43N00b04.08.02 13:30
Ich doof77N00b04.08.02 13:42
Re: Ich doof436Elwood04.08.02 14:56
Re: Ich doof37N00b04.08.02 15:04
Re: Ich doof122Matthias04.08.02 15:07
Re: Ich doof = Mein Netscape auch !36Matthias04.08.02 15:13
Re: Ich doof = Mein Netscape auch !34N00b04.08.02 15:15
Re: Ich doof42N00b04.08.02 15:13
Re: Ich doof82Matthias04.08.02 15:18
Re: Ich doof38Matthias04.08.02 15:21
Ups ... ist heute der Tag der Selbstbezichtigungen? *Grinz* ...426unbekannt04.08.02 15:29
Jow, wollen wir uns anschliessen? *auchGrinz* (oT)403Elwood04.08.02 15:30
Re: Macht mal... Ich gehe wieder ins Bett... War wohl doch z...41Matthias04.08.02 15:34
Code funtzt aber nu gibts noch ein problem41N00b04.08.02 17:23

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel