Krain Geschrieben 22. September 2004 Geschrieben 22. September 2004 Hallo zusammen, Wie das Thema schon sagt suche ich eine Möglichkeit PDF's mit einer VBA Anwendung anzeigen zu lassen. Wäre recht wichtig! Danke Zitieren
robotto7831a Geschrieben 22. September 2004 Geschrieben 22. September 2004 Ohne Acrobat Reader? Und das noch mit VBA. Ich glaube das geht nicht. Ich habe zwar ein paar Beispiele gefunden, die nutzen aber alle den Acrobat Reader. Wie soll der Inhalt auch sonst dargestellt werden. Frank Zitieren
Krain Geschrieben 22. September 2004 Autor Geschrieben 22. September 2004 Das Problem ist: In der VBA-Anwendung können momentan schon PDF's geöffnet werden über den Acrobat Reader. Jedoch wenn jemand außerhalb der VBA-Anwendung den Reader öffnet und wieder schließt bekommt die VBA-Anwendung es nicht mehr hin den Reader zu öffnen (nur indem ich die VBA-Anwendung neu starte. Genau das will ich verhindern. Gibt es hierfür eine Möglichkeit? Zitieren
robotto7831a Geschrieben 22. September 2004 Geschrieben 22. September 2004 Wie öffnest Du das PDF denn? Ein Beispiel aus dem Internet. Public 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 Sub pdf() Product = "V:\Test.pdf" ShellExecute 0, "open", Product, "", "", SHOWMAXIMIZED ShellExecute 0, "print", Product, "", "", SHOWMAXIMIZED ShellExecute 0, "exit", Product, "", "", SHOWMAXIMIZED End Sub [/code] Frank Zitieren
demirel Geschrieben 25. September 2004 Geschrieben 25. September 2004 Sub werte_aus_acrobat_auslesen() ' Testsub für Zugriff auf Acrobat-Felder Dim rechnungsname(200) As String Dim Fld As AFORMAUTLib.field Dim Flds As AFORMAUTLib.Fields 'Set acrobatx = CreateObject("AcroExch.App") Set acroexchapp = CreateObject("Acroexch.app") acroexchapp.CloseAllDocs Set acroexchavdoc = CreateObject("Acroexch.avdoc") Summe = 0 Set myOlApp = CreateObject("Outlook.Application") Set myitem = myOlApp.ActiveInspector.CurrentItem aufgabe_text = myitem.body ergebistext = "Rechnung " + Chr(9) + "RG1" + Chr(9) + "RG2" + Chr(9) + "RG3" + Chr(9) + "Verwendet" + Chr(13) Start = 1 zähler = 1 position_rechnung_beginn = InStr(Start, aufgabe_text, "<", 1) While position_rechnung_beginn <> 0 position_rechnung_ende = InStr(position_rechnung_beginn, aufgabe_text, ">", 1) rechnungsname(zähler) = Mid(aufgabe_text, position_rechnung_beginn, position_rechnung_ende - position_rechnung_beginn + 1) zähler = zähler + 1 Start = position_rechnung_ende position_rechnung_beginn = InStr(Start, aufgabe_text, "<", 1) Wend anzahl_rechnungen = zähler - 1 For i = 1 To anzahl_rechnungen dateiname = Mid(rechnungsname(i), 2, Len(rechnungsname(i)) - 2) 'If i = 1 Then ' dateiname = "c:\dummy\dummy.pdf" 'ElseIf i = 2 Then ' dateiname = "c:\dummy\dummy1.pdf" 'ElseIf i = 3 Then ' dateiname = "c:\dummy\dummy2.pdf" 'Else ' End 'End If bOK = acroexchavdoc.Open(dateiname, True) If (bOK) Then Set aformaut = CreateObject("AFormAut.App") Set Flds = aformaut.Fields End If ergebistext = ergebistext + dateiname + Chr(9) For Each Fld In Flds If Fld.Name = "Betrag_Ueberweisung_1_" Then ergebistext = ergebistext + Fld.Value + Chr(9) If Val(Fld.Value) <> 0 Then betrag = Val(Fld.Value) End If Next For Each Fld In Flds If Fld.Name = "Betrag_Ueberweisung_2_" Then ergebistext = ergebistext + Fld.Value + Chr(9) If Val(Fld.Value) <> 0 Then betrag = Val(Fld.Value) End If Next For Each Fld In Flds If Fld.Name = "Betrag_Ueberweisung_3_" Then ergebistext = ergebistext + Fld.Value + Chr(9) If Val(Fld.Value) <> 0 Then betrag = Val(Fld.Value) End If Next Summe = Summe + betrag ergebistext = ergebistext + Format(betrag, "#####.##") + Chr(13) acroexchapp.CloseAllDocs 'bOK.CloseAllDocs Next i ergebistext = ergebistext + Chr(13) + "Gesamtbetrag: " + Format(Summe, "#####.##") myitem.body = myitem.body + Chr(13) + Chr(13) + "-----" + ergebistext MsgBox (ergebistext) 'text = "C:\Programme\Adobe\Acrobat 5.0\Acrobat\acrobat.exe" 'text = text + " " + rechnung 'AnwID = Shell(text, 6) 'Set aktuelle_datei = acrobatx.getactivedoc.getpddoc 'Set outlook_fenster = CreateObject("Outlook.Application").ActiveExplorer 'outlook_fenster.Activate 'MsgBox (aktuelle_datei.getfilename) 'MsgBox (acrobatx.getactivedoc.getpddoc.AcquirePage(1).GetNumAnnots) 'formfieldcount) End Sub hoffe du blikst es..... ps: ist aber als makro geschrieben gruss türk Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.