PDA

Vollständige Version anzeigen : *.pdf per Hyperlink aus Excel öffnen


cms
04.07.2006, 13:23
Hallo Zusammen!

Mein Problem ist folgendes:
Ich habe eine riesengroße Excel-Liste an Dateien die in verschieden Ordnern zu finden sind. Diese Liste habe ich per Makro erstellt, was aber für meine Frage nicht allzu wichtig ist.

Jedenfalls liegt hinter jedem Dateinamen in der Excel-Liste ein Hyperlink zur jeweiligen Datei. Diese kann ich, wie bei einem Hyperlink so üblich, einfach per Mausklick öffnen.

Das funktioniert soweit auch überall, außer bei *.pdf-Dateien. Da wird nämlich nur kurz der Adobe Reader geöffnet, sofort wieder geschlossen und so getan als wäre gar nichts gewesen. Im Explorer oder per Start - Ausführen kann ich die jeweilige Datei aber problemlos aufmachen.

Kennt jemand von euch das Problem und weiß Rat?

Falls ich mich irgendwo unklar ausgedrückt haben sollte einfach nachfragen!

P.S.: Das Problem liegt definitiv nicht an meinem Computer und wahrscheinlich auch nicht an irgendwelchen individuellen Einstellungen denn es ist bisher an jedem Computer aufgetreten auf dem ich es versucht habe!

lg cms

Lumpensammler
04.07.2006, 14:03
Hallo, cms,

kann ich auf meinem Dienstrechner (Windows XP Pro, Excel2002 und Adobe Acrobat 7 Professional) bestätigen. Ich würde auf VBA und FollowHyperlink umsteigen.

Gruß
LS

cms
04.07.2006, 14:43
Aber führt er damit nicht genau denselben Befehl aus wie wenn ich einfach auf den Hyperlink draufklicke???

Wie kann ich ihm denn im VBA sagen dass er dem Hyperlink dann folgen soll wenn auf einen geklickt wurde?

Lumpensammler
04.07.2006, 15:07
Hallo, cms,

der Befehl wird ausgelöst, wenn ein Hyperlink ausgelöst wird. Was dann folgt, liegt im Code, nicht in der Aktion selbst. ;)

Gruß
LS

cms
05.07.2006, 09:21
Ähem ....

Danke für die Info aber gelöst hab ich mein Problem leider immer noch nicht. Wie müsste so ein Code denn ungefähr ausschauen der mir das pdf anständig öffnet?

Lumpensammler
06.07.2006, 07:27
Hallo, cms,

das Aufflackern und Schließen kann ich momentan nicht verhindern. Folgende Codes in die aufgeführten Module:

'DieseArbeitsmappe

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set grgBereich = Nothing
End Sub

Private Sub Workbook_Open()
Set grgBereich = ActiveCell
End Sub
'Standardmodul

Option Explicit

Public grgBereich As Range
'Klassenmodul Tabelle

Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Right$(LCase$(grgBereich.Value), 4) = ".pdf" Then
ChDrive$ Left(grgBereich.Value, 3)
ChDir$ Left(grgBereich.Value, InStrRev(grgBereich.Value, "\", -1))
ShellExecute 0, "open", Dir$(grgBereich.Value), "", CurDir$ & "\", 1
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set grgBereich = ActiveCell
End Sub
Gruß
LS

cms
06.07.2006, 08:20
Vielen Dank für den Code, Lumpensammler!

Ich habe inzwischen auch herausgefunden woran es liegt dass das pdf nicht anständig geöffnet wird. Schuld daran ist die Adobe-Reader-Version. Soweit ich weiß tritt der Fehler mit V 7.0.0 bis 7.0.2 auf. Bin jetzt an einem PC mit V 7.0.3 und hier funktioniert alles prima.

Aktuell gibts glaub ich V 7.0.8 zum Download, damit sollte das Problem beseitigt sein!