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
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
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
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
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....
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]
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
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]
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?
Hallo,
es muss
Public Sub PDF_Show()
bzw.
Public Function PDF_Show()
im Modul heißen.
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
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
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.
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?
Hi Achim,
wenn Du angemeldet bist, findest Du unterhalb von meinem Namen in blauer Schrift den Anhang.
Harald
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
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?
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.
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
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.
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