Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1392to1396
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Adobe Version bei Öffnen ermitteln

Adobe Version bei Öffnen ermitteln
13.11.2014 21:18:09
Laeubchen
Guten Abend,
mit den folgenden Anweisungen ist es ja möglich eine PDF zu öffnen, was soweit funktioniert.
'MS Office 2003 Adobe 7
ActiveSheet.OLEObjects.Add(ClassType:="AcroExch.Document.7", Link:=False, _
DisplayAsIcon:=False).Activate
'MS Office 2007 Adobe 11
ActiveSheet.OLEObjects.Add(ClassType:="AcroExch.Document.11", Link:=False, _
DisplayAsIcon:=False).Activate
Problem ist leider das unterschiedliche Adobe Versionen existieren und somit Fehlermeldungen erscheinen wird nicht die richtige gefunden.
Gibt es eine Möglichkeit nicht von der installierten Version abhängig zu sein?
Vielleicht ein Befehl der alle Versionen abdeckt?
Würde mich über ein Feedback freuen.
Gruß
Laeubhen

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Adobe Version bei Öffnen ermitteln
14.11.2014 00:15:08
KlausF
Hallo,
bei mir unter dem Mac funktioniert
Sub PDF_öffnen()
Dim sPath As String
sPath = ThisWorkbook.Path
sPath = IIf(Right$(sPath, 1) = Application.PathSeparator, sPath, sPath & Application. _
PathSeparator)
If sPath = "" Then
MsgBox "Die Datei muß zuerst gespeichert werden"
Exit Sub
End If
ActiveWorkbook.FollowHyperlink sPath & "DeineDatei.pdf"
End Sub
Damit wird das PDF mit der im Betriebssystem voreingestellten PDF-Software geöffnet.
(in der Regel die letzte Version von Acrobat Reader bzw. der Acrobat Vollversion)
Gruß
Klaus

Anzeige
AW: Adobe Version bei Öffnen ermitteln
14.11.2014 22:26:11
Laeubchen
Hallo Klaus,
vielen Dank für Dein Feedback.
Leider erscheint eine Fehlermeldung.
Userbild
Ich muss dazu schreiben, das es sich beim Öffnen der PDF nicht immer um die selbe handelt.
Vielleicht kannst Du so nett sein und nochmal schauen.
Gruß
Laeubchen

AW: Pfad ok?
15.11.2014 03:58:15
KlausF
Hallo Laeubchen,
die Fehlermeldung sagt mir nichts. Hast Du den Pfad angepasst?
ThisWorkbook.Path sucht an der Stelle, wo die aktive Excel-Datei liegt.
Und der Dateiname muss natürlich auch korrekt sein ...
Gruß
Klaus

Anzeige
AW: Pfad ok?
15.11.2014 11:44:31
Laeubchen
Hallo Klaus,
schön das Du Dich nochmal gemeldet hast.
Nun, da weder der Pfad noch die Datei beim Aufruf bekannt sind, kann ich diesen nicht vorgeben.
In diesem Fall wäre es wichtig, das der Anwender mit einem Öffnungsdialog selbst entscheiden kann den Pfad zu bestimmen und dann die für ihn relavante Datei aussucht und öffnet.
Ich nehme an, vielleicht liege ich richtig, das für den Pfad und die Datei Variablen gesetzt werden müssen, aber da bin ich noch sehr unbeholfen.
Gruß
Laeubchen

AW: Pfad ok?
15.11.2014 22:42:47
Laeubchen
Hallo Klaus,
aber trotz allem vielen Dank.
Vielleicht findet sich noch ein fleißiger Helfer.
Gruß
Laeubchen

AW: Pfad ok?
16.11.2014 18:40:19
Michael
Hallo Läubchen,
hier ein Schnellschuß, die verhyperlinkisierung mit dem Makorecoder aufgenommen:
Sub S_getDateiName()
' http:// _
msdn.microsoft.com/de-de/library/office/ff834966(v=office.15).aspx
' http://www.office-loesung.de/ _
ftopic293618_0_0_asc.php
Pfad = ThisWorkbook.Path
ChDrive Mid(Pfad, 1, 2)
ChDir Pfad
'filetoopen = Application.GetOpenFilename("Anwendungen (*.exe), *.exe")
filetoopen = Application.GetOpenFilename("PeDeEff (*.pdf), *.pdf")
If filetoopen  False Then
Range("a1") = filetoopen
Else: MsgBox "Keine Änderungen vorgenommen."
End If
Range("a1").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=Pfad, _
TextToDisplay:="PDF-Datei"
End Sub
Das .follow hab ich auf die Schnelle nicht hinbekommen, aber jetzt kannst mal die Datei wählen.
Schöne Grüße,
Michael

Anzeige
AW: Pfad ok?
17.11.2014 20:23:46
Laeubchen
Hallo Michael,
vielen Dank erst mal für Dein Feedback.
Die PDF muss als Objekt eingefügt werden.
Ich öffne eine Datei in die die PDF eingefügt werden soll. Der Anwender hat jetzt die Möglichkeit über einen Link den Öffnen Dialog anzusteuern, die PDF auszuwählen und dann wird sie zurecht geschnippelt.
Nehme ich den Code von Dir habe ich nur die Möglichkeit einen Link zu setzen zu der relavanten Datei. Vorausgesetzt ich habe das richtig verstanden.
Vielleicht liege ich auch falsch.
Ein Beispiel habe ich beigefügt.
https://www.herber.de/bbs/user/93839.xlsm
Gruß
Laeubchen

Anzeige
AW: Bilder proportional einfügen
17.11.2014 21:26:39
KlausF
Hallo Laeubchen,
probier mal
https://www.herber.de/bbs/user/93841.xls
Zelle auswählen, Makro starten und PDF (oder eine andere Bilddatei) auswählen.
Das Bild wird proportional in die Zelle eingefügt. Passt's?
Was Du mit dann wird sie zurecht geschnippelt meinst, habe ich nicht verstanden.
Gruß
Klaus

AW: übersehen
17.11.2014 22:35:07
KlausF
Hallo Laeubchen,
sorry, habe eben erst das eingebettete Objekt überhalb der Daten gesehen.
Dafür hätte ich keine Lösung.
Gruß
Klaus

Codeschnipsel
18.11.2014 07:27:43
Michael
Hallo Läubchen,
der Codeschnipsel war eigentlich nur als Teillösung für das suchen der pdf gedacht.
Ich hoffe, Du fühlst Dich nicht bevormundet, wenn ich so schlau daherrede, aber mir geht so durch den Kopf:
- pdf ist schlicht kein Grafikformat, sondern viel mehr
- warum muß eigentlich "alles" innerhalb von Excel stattfinden? Reicht es nicht, ne Datei zu verlinken?
So praktisch PDFs sind, sie haben auch ihre Tücken, grad was Sicherheit angeht, siehe z.B.:
http://www.heise.de/security/artikel/Tatort-Internet-PDF-mit-Zeitbombe-1036564.html
http://www.heise.de/security/artikel/Exploit-trotz-Adobes-Sandbox-1625029.html
Ehrlich gesagt, mir ist das im Detail zu hoch, aber ich finde es wichtig, das mal gehört zu haben.
Zu guter Letzt ist mir noch eingefallen, daß der passendste Weg für Dich sein könnte, die registry abzufragen nach dem Programm, das auf dem jeweiligen Rechner mit pdf verknüpft ist, das müßte man dann eigentlich als Objekt einbetten können.
Da bin ich aber auch nicht so fit.
Schöne Grüße,
Michael

Anzeige
AW: Codeschnipsel
19.11.2014 20:59:38
Laeubchen
Hallo Michael,
nein, ich fühle mich nicht bevormundet.
Ich komme aus der Zerstörungsfreien Prüfung, falls Dir das was sagt. Unter anderem prüfen wir auch die Materialgüte mit einem Gerät (Spectro), in dem wir das Material abfunken und das Maschinchen schmeißt dann raus, was es sein könnte.
Diese PDF Dateien ziehen wir runter und fügen sie für den Kunden in das Protokoll ein. Das Protokoll wird aber nicht als Datei gesandt sondern ausgedruckt, unterschrieben und via Post ab zum Kunden.
Dadurch ist die Lösung mit einem Link nicht so gut.
Nun gehe ich erst mal in Urlaub und unser Chef will mal schauen, ob es noch ein andere Möglichkeit gibt betreffs der Datenspeicherung und vielleicht können wir ein anderes Format wählen, was sich in Excel besser integrieren läßt.
Vielen Dank für Dein Feedback und noch einen schönen Abend.
Lieber Gruß
Laeubchen

Anzeige
freut mich
21.11.2014 18:29:29
Michael
Hallo Läubchen,
klingt nach Test einer Schweißnaht *ohne* sie in der Presse zu zerbrechen.
Spannendes Thema. Wenn ich das richtig verstehe, verwendet Ihr das alles also nur intern, wobei das eingangs beschriebene Problem verschiedener Versionen besteht. Ihr habt ja doch aber nur eine reichlich "endliche" Anzahl von Geräten, mit der Ihr diese Ausdrucke macht, sagen wir 4 oder 5?
Dann bestünde doch die Möglichkeit, die auf dem jeweiligen Rechner vorhandene Version als Anwender-String zu hinterlegen, also etwa so:

dim version as string
version="AcroExch.Document.7"
'MS Office 2003 Adobe 7
ActiveSheet.OLEObjects.Add(ClassType:=version, Link:=False, _
DisplayAsIcon:=False).Activate

Außerdem weißt Du ja, wie welcher Nutzer heißt, also, mit welchem "user" er im Environment hinterlegt ist, so daß Du in VB eigentlich nur ne Verzweigung unterbringen mußt a la
if nutzer="laeubchen" then version = "wie auch immer"
if nutzer="mustermann" then version = "wie auch immer plus x"
Auf alle Fälle wünsche ich einen schönen Urlaub!
Schöne Grüße,
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige