vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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

Fortgeschrittene Programmierung
Re: PDF öffnen 
Autor: Buggy
Datum: 19.08.05 15:43

Hallo Sven,
versuche es mal mit diesem Code
'Beschreibung
'Bekanntlich wird beim Doppelklicken auf eine Datei entweder diese
'direkt ausgeführt (falls es sich um eine EXE- oder eben ausführbare
'Datei handelt) oder es wird die zu dieser Datei im System
'gespeicherte verknüpfte Anwendung geöffnet und die Datei dann als
'Parameter an die Anwendung übergeben (z.B. wird eine .doc-Datei
'autom. mit WordPad oder MS-Word geöffnet). Ist dem System der
'Dateityp nicht bekannt, so zeigt Windows von Haus aus den
'Verknüpfungs-Dialog (Öffnen mit...) an. Genau dieses Verhalten
'können auch Sie in Ihre eigenenen Anwendungen integrieren.
'
'Beispielaufruf
'DocumentOpen App.Path & "\test.dat"
'
'*************************************************************
 
 
 
Public 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
 
Public Declare Function GetSystemDirectory Lib "kernel32" _
  Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, _
  ByVal nSize As Long) As Long
 
Public Declare Function GetDesktopWindow Lib "user32" () _
  As Long
 
Public Const SE_ERR_NOASSOC = 31
Public Const SE_ERR_NOTFOUND = 2
 
'Dokument öffnen und ggf. autom. den
'"Öffnen mit..." - Dialog anzeigen
Public 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
funktioniert ganz hervoragend, ist allerdings nicht von mir,
ich weiß aber auch nicht mehr wer die Idee dazu hatte.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
PDF öffnen698SvenW18.08.05 13:05
Re: PDF öffnen556famousf18.08.05 16:33
Re: PDF öffnen504Buggy19.08.05 15:43
Re: PDF öffnen448SvenW20.08.05 16:48

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