Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: accessy am Oktober 11, 2012, 18:13:28

Titel: PDF öffnen über VBA geht nicht
Beitrag von: accessy am Oktober 11, 2012, 18:13:28
Ich habe im Formular den Doppelklick auf das Feld gelegt, welches das PDF öffnen soll.
Als Ereignis habe ich den Namen des Makros angegeben.

Im Makro habe ich
AusführenCode gewählt
Als Funktionsname habe ich "PDF_Show" eingetragen.

Im Modul1 habe ich folgenden Code geschrieben:


Option Compare Database
Private Sub PDF_show()
Dim Pfad As String
  Pfad = "C:\Kunden\Angebote\" & Me!Angebot
  Application.FollowHyperlink Pfad, , True
End Sub


Mache ich den Doppelklick erscheint der Fehler
"Das Objekt enthält nicht das Automatisierungsobjekt 'PDF_Show'

Kann mir da jemand helfen den Fehler zu vermeiden?
Gruß Achim
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: bahasu am Oktober 11, 2012, 18:50:31
Zitat von: accessy am Oktober 11, 2012, 18:13:28
Als Funktionsname habe ich "PDF_Show" eingetragen.

Hi,

Du schreibst von einem "Funktionsaufruf", verwendest aber eine sub.
Was passiert bei folgenden:

Public Function PDF_show() as boolean
  Dim Pfad As String   
  Pfad = "C:\Kunden\Angebote\" & Me!Angebot   
  Application.FollowHyperlink Pfad, , True
End Function

Harald
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: bahasu am Oktober 11, 2012, 19:04:12
Hi,

2. Frage:
Was passiert, wenn Du statt dem Umweg mit dem Makro eine Ereignisprocedure bei dem Button hinterlegst und dort als Code einträgst:

   Dim Pfad As String
   Pfad = "C:\Kunden\Angebote\" & Me!Angebot
   Application.FollowHyperlink Pfad, , True


oder noch kürzer:

   Application.FollowHyperlink "C:\Kunden\Angebote\" & Me!Angebot, , True

Harald
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: accessy am Oktober 11, 2012, 19:07:47
Hallo Harald,
geschrieben habe ich das mit dem Funktionsaufruf eher unbewußt.
Das Resultat ist das gleiche.

Schau mal hier, das ist die gesamte Meldung
http://www.pic-upload.de/view-16413362/PDF.jpg.html

Gruß Achim
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: accessy am Oktober 11, 2012, 19:13:45
Vielleicht sollte ich noch erwähnen,
dass ich den ADOBE Reader NICHT nutze, sondern den PDF-Xchange viewer.
Aber daran sollte es doch nicht liegen....
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: bahasu am Oktober 11, 2012, 19:57:13
Hi Achim,

funktioniert der Datei-Aufruf aus dem Betriebssystem (= Explorer) heraus?
Falls nein, musst Du diese Beziehung herstellen.

Was passiert, wenn Du einen Versuch mit einer Word oder Excel-Datei machst?

Anbei ein Beispiel, mit dem ich eine pdf-Datei in Adobe öffnen konnte.
Bitte im Formular ein eigenes Beispiel eingeben, sichern und danach per Doppelklick im Feld die Datei aufrufen.

Harald

[Anhang gelöscht durch Administrator]
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: accessy am Oktober 11, 2012, 20:14:47
Alle Verknüpfungen funktionieren.
Aus dem Explorer, oder auch aus meinem Speed-Commander heraus
kann ich sämtliche Dateien wie JPG, DOC, DOCX, XLS, XLSX, XLSM, PDF, usw...
problemlos öffnen.

Der Test mit einer DOC, oder XLS Datei brachte die gleiche Fehlermeldung.

Vielleicht gibt es da Schwierigkeiten mit dem Code, weil ich Access XP 2002 verwende.
Ich habe mal gegoogelt nach diesem Thema.
Da war auch was mit einer "ShellExecute" Sache, die wohl besser sein soll bei NICHT Verwendung von ADOBE ald Reader.

Ich habe in meinem Excel-Programm einen funktionsfähigen Code laufen.
Aber der ist in Access nicht zu gebrauchen. Der ging gar nicht.

Hast du einen funktionsfähigen Code im Einsatz, der eine PDF öffnet?


Private Sub CommandButton14_Click() 'Info für Gewindekernlöcher zeigen
Select Case LC
   Case 1
     strDateiName = "Gew_Kernloch_D.pdf"
   Case 2
     strDateiName = "Gew_Kernloch_F.pdf"
   Case 3
     strDateiName = "Gew_Kernloch_E.pdf"
   Case 4
     strDateiName = "Gew_Kernloch_I.pdf"
End Select
      StrPfad = ActiveWorkbook.Path & "\toolinfo\"
      Set MyShell = CreateObject("WScript.Shell")
      Set fs = CreateObject("Scripting.FileSystemObject")
      If fs.fileexists(StrPfad & strDateiName) = True Then
         MyShell.Run Chr(34) & StrPfad & strDateiName & Chr(34)
       Else
         Exit Sub
      End If
      Set MyShell = Nothing
End Sub
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: bahasu am Oktober 11, 2012, 20:45:45
Hi,

Zitat von: accessy am Oktober 11, 2012, 20:14:47
Hast du einen funktionsfähigen Code im Einsatz, der eine PDF öffnet?

ja, in obigem Anhang.

ja, in diesem Anhang (mit FollowHyperlink und ShellExecute).

shellexecute: http://social.msdn.microsoft.com/Forums/de-DE/accessde/thread/33cb1b2e-7515-41bc-8615-00d3c746eb61


Harald

[Anhang gelöscht durch Administrator]
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: accessy am Oktober 11, 2012, 22:02:33
Es muss irgendetwas anderes faul sein.
Ich habe den Code ins Modul gesetzt.


Option Compare Database
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 PDF_Show()
    Dim Pfad As String
    Pfad = "C:\Kunden\Angebote\"
    ShellExecute 0, "open", Pfad, "", "", 1
End Sub


Es kommt wieder zur gleichen Fehlermeldung.
Dann habe ich mal den Code über F8 im Einzelschritt gestartet.
Und siehe da, es gibt keinen Fehler und der Explorer öffnet sich.

Kann es sein, dass ich irgendein Modul nicht installiert habe, was Access benötigt?
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: DF6GL am Oktober 11, 2012, 22:40:50
Hallo,



es muss

Public Sub PDF_Show()

bzw.

Public  Function PDF_Show()

im Modul heißen.
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: ebs17 am Oktober 12, 2012, 00:45:03
Kleine Anmerkung:
- Die FollowHyperlink-Methode ist abhängig von IE-Einstellungen und daher nicht rechnerübergreifend anwendungssicher, aber schön kurz.
- Die ShellExecute-Methode ist anwendungssicher, weil Win-API. Hier kann man nur falsch aufrufen.

In beiden Fällen muss natürlich einem Dateityp (Dateiendung) ein entsprechendes Anwendungsprogramm zugeordnet sein.

MfGA
ebs
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: bahasu am Oktober 12, 2012, 05:36:28
Hi Achim,

gibt es ein Problem beim Laden meiner Beispiele?

Wenn nein, dann wären die obigen Problem nicht aufgetreten, da die benötigten Schritte dort getestet und korrekt eingebaut sind.

Harald
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: accessy am Oktober 12, 2012, 09:18:05
Ich bin jetzt ein wenig überrascht, dass es PUBLIC statt Private heißen muss.
In meinem Excel VBA habe ich Public für die Dimensionierung der Variablen im gesamten Programm verwendet.
Na egal, ich habe es geändert, aber die Meldung bleibt die gleiche.


Harald,
du fragst mich nach Problemen mit den Beispielen von dir.
Wo sind die denn? Ich sehe da keinen Anhang, oder sichtbaren Code.
Hast du damit den Code gemeint aus diesem Link?
http://social.msdn.microsoft.com/Forums/de-DE/accessde/thread/33cb1b2e-7515-41bc-8615-00d3c746eb61


Ich habe mal eine Schaltfläche ins Formular gesetzt,
auf das Ereignis "Klicken" deine Kurzform eingetragen
Application.FollowHyperlink "C:\Kunden\Angebote\" & Me!Angebot, , True
Anschließend den Cursor im Formular in die Zelle eines der Angebote gesetzt.
Nach dem Klicken erscheint die Meldung
Microsoft Access kann das Makro 'Application' nicht finden.

Entweder ich mache hier alles falsch, oder es fehlt tatsächlich irgendeine Aktivierung / Verknüpfung.
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: accessy am Oktober 12, 2012, 10:22:42
Nachtrag:

Ich stoße über die Recherche in vielen Beiträgen anderer Foren und Workshops überall auf die
einfache Methode des FOLLOWHYPERLINK.....
Und bei allen scheint es zu funktionieren.

Kann es sein, dass dieses FollowHyperlink bei mir gar nicht installiert ist, oder deaktiv, oder oder keine Ahnung warum?
Kann ich das irgendwo sehen?
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: bahasu am Oktober 12, 2012, 10:25:41
Hi Achim,

wenn Du angemeldet bist, findest Du unterhalb von meinem Namen in blauer Schrift den Anhang.

Harald
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: bahasu am Oktober 12, 2012, 10:29:10
Hi Achim,

wenn Du das mit dem Anhang gefunden hast, kannst Du Deine Datenbank in komprimierter und gezippter Form mit wenigen Test-Daten hier zur Verfügung stellen (im Eingabefenster zu einem Beitrag gibt es links unten den Punkt: Erweiterte Optionen).
Vielleicht läßt sich so die Ursache leichter ergünden.

Harald
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: accessy am Oktober 12, 2012, 10:36:51
Hallo Harald,

wer lesen kann, ist klar im Vorteil.
Ich seh schon den Wald vor lauter Bäumen nicht mehr.....

Ich erhalte diese Meldung hier.
(http://www10.pic-upload.de/12.10.12/hyybk45arfu.jpg) (http://www.pic-upload.de/view-16420853/MDB.jpg.html)

Hast du noch andere Möglichkeiten, mir deinen funktionsfähigen Code darzustellen, oder zu übermitteln?
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: accessy am Oktober 12, 2012, 11:09:10
Da habe ich leider ein Problem mit der Veröffentlichung.
Die Datenbank ist auf meinem Rechner, den mir mein Arbeitgeber zur Verfügung stellt.

Ich kann mit meiner Datenbank zwar anstellen, was ich will; es gibt da keinerlei Einschränkungen hinsichtlich Admin und so...
Aber es sind nunmal Firmendaten, die ich vom Hauptserver als Tabellen aus der großen Datenbank runterziehe und mit Access verarbeite.

Ich möchte da nicht in Schwierigkeiten geraten.
Ich bitte um Verständnis.

Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: bahasu am Oktober 12, 2012, 11:09:46
Hi,

Plan A:
Hattest Du versucht, die im Anhang vorhandenen Datei direkt zu öffnen?
Falls ja, bitte runterladen in einen Ordner "Deines Vertrauens", entzippen und dann die mdb-Datei öffnen. Falls dann eine Sicherheitsfrage kommt, diese so beantworten, dass die Datei geöffnet wird. Falls unsicher, dann bitte vorher einen Virenscanner laufen lassen.

Plan B:
Falls A) nicht funktioniert, schicke ich die Datei auch per Email. Plan A gefällt mir aber besser  ;D

Harald
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: accessy am Oktober 12, 2012, 11:31:15
Hab dir 'ne PN gesendet mit der Mail, wo du die Datei hinschicken kannst.
Ist es nur bei mir so, oder ist der Server dieses Forums wirklich sehr langsam?
Manchmal dauert es fast 2 bis 3 Minuten, bis sich nach Klick auf die 2. Seite der Beiträge, diese öffnet.
Titel: Re: PDF öffnen über VBA geht nicht
Beitrag von: bahasu am Oktober 12, 2012, 11:46:42
Hi Achim,

Deine PN ist angekommen und beantwortet. Hoffentlich hilft es.
Das Forum ist HEUTE wirklich sehr langsam. War auch zeitweise gar nicht reingekommen, bzw. durfte mich nach dem Einstieg gleich noch mal anmelden.

Harald