Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 5/2007.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Mit Hilfe der Opening-Parameter für PDF-Dateien und ein paar API-Funktionen lässt sich ein PDF-basiertes Hilfesystem realisieren.

Techniken

VBA

Voraussetzungen

Access 2000 und höher

Beispieldateien

PDF-basierteHilfe.mdb

Shortlink

492

PDF-basierte Hilfe

Thomas Möller, Weinstadt

Zu vielen Access-Anwendungen gibt es Beschreibungen und Dokumentationen, eine integrierte Online-Hilfe jedoch nur selten. Warum funktionieren Sie nicht die schon vorhandene Programmbeschreibung zum Hilfetext um? Diesen Hilfetext lassen Sie sich dann kontextsensitiv anzeigen. Wie Sie diese Idee mit einem PDF-Dokument umsetzen, zeigt dieser Beitrag.

Wenn Sie eine PDF-basierte Hilfe umsetzen wollen, sollten Sie sich mit folgenden Fragen beschäftigen:

  • Wie öffnen Sie ein PDF-Dokument per VBA?
  • Wie erreichen Sie, dass ein PDF-Dokument nach dem Öffnen eine bestimmte Seite anzeigt?
  • Wie stellen Sie eine Verknüpfung zwischen dem Hilfethema und der Seitenzahl im PDF-Dokument her?
  • Wie sieht die Funktion zum Aufruf Ihrer Hilfe aus?

Ein PDF-Dokument öffnen

Als Erstes ist die Frage zu klären, wie Sie ein PDF-Dokument öffnen. Bei der Suche nach einer Lösung stoßen Sie ganz schnell auf die Funktion FollowHyperlink. Mit dieser Funktion können Sie auf einfache Art ein PDF-Dokument öffnen:

Dim strPfad As String

Dim strDok As String

strPfad = CurrentProject.Path

strDok = strPfad & "\" & "Hilfe.pdf"

Application.FollowHyperlink strDok

Der Vorteil dieser Funktion liegt in ihrer Einfachheit. Darin besteht aber auch gleichzeitig ihr Nachteil. Sie haben keine Kontrolle über die Ausführung der Funktion oder die Anwendung, die das Dokument öffnen soll. Sie können nur den Pfad zum Dokument übergeben. Die Angabe weiterer Parameter, die im Folgenden benötigt werden, ist nicht möglich. Wozu Sie diese weiteren Parameter brauchen, erfahren Sie später im Text.

Eine andere Funktion, die Ihnen hilft, ein PDF-Dokument anzuzeigen, finden Sie unter den API-Funktionen. Es ist die Funktion ShellExecute [1].

Mit dieser Funktion starten Sie jede beliebige externe Anwendung. Außerdem können Sie beliebige Dokumente mit dem dafür vorgesehenen Programm öffnen oder drucken. Damit Sie die Funktion ShellExecute verwenden können, müssen Sie diese zuerst in einem Modulkopf deklarieren:

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 SW_Show) As Long

Tab. 1 gibt einen Überblick über die verwendeten Parameter und ihre Bedeutung.

Parameter

Erläuterung

hWnd

Verweis auf das Fenster des startenden Programms.

lpOperation

Welche Aktion soll ausgeführt werden? Mögliche Werte sind etwa "open", "print" oder "edit".

lpFile

Welche Datei soll geöffnet werden?

lpParameters

Wenn in lpFile der Pfad zu einer Anwendung angegeben ist, können hiermit Parameter an das Programm übergeben werden.

lpDirectory

Arbeitsverzeichnis des Programms.

nShowCmd

Konstante, die angibt, wie das Programm angezeigt werden soll. 1 bedeutet "normal", also sichtbar.

Tab. 1: Parameter für die Funktion ShellExecute

Für den Parameter nShowCmd ist eine Vielzahl von Werten möglich. Bei Interesse können Sie diese in der Beispieldatenbank nachlesen.

Der Aufruf der Funktion erfolgt ähnlich einfach wie bei FollowHyperlink:

Dim strPfad As String

Dim strDok As String

strPfad = CurrentProject.Path

strDok = strPfad & "\" & "Hilfe.pdf"

ShellExecute Me.hwnd, "Open", _

strDok, vbNullString, "C:\", _

SW_SHOWNORMAL

Mit Hilfe dieser Funktion sind Sie in der Lage, ein beliebiges PDF-Dokument mit dem Adobe Reader aus einem Formular heraus zu öffnen. Leider können Sie auf diesem Weg nur das Dokument als Ganzes öffnen. Dabei wird Ihnen immer die erste Seite des Dokuments angezeigt.

Ein PDF-Dokument an einer bestimmten Stelle öffnen

Seit der Version 6 des Adobe Readers ist es möglich, einem PDF-Dokument beim Öffnen einen oder mehrere Parameter zu übergeben. Mit Hilfe dieser Parameter lässt sich unter anderem steuern, welche Seite nach dem Öffnen angezeigt werden soll. Die Dokumentation dieser Parameter finden Sie auf den Webseiten der Firma Adobe [2], [3] und [4]. Die Dokumentationen und damit auch die Parameter unterscheiden sich teilweise voneinander. Die in diesem Beitrags verwendeten Parameter funktionieren aber unverändert mit allen Versionen seit Adobe Reader 6.

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

© 2003-2015 André Minhorst Alle Rechte vorbehalten.