Mehrere Dateien öffnen

Hallo,

ich habe ein glaube auf dem ersten Blick einfaches Problem, ich habe in einem festgelegten Verzeichnis .pdf Dateien liegen, nun möchte ich , so schön wie das im Win-Explorer funktioniert, alle Dateien markieren und doppelklick drauf, dann wir Adobe Acrobat-Reader geöffnet, und ich kann in den einzelnen PDF - Dateien blätter, ABER dann auch zwischen den Dateien springen, d.h. in allen, die ich markiert und mit doppelklick geöffnet habe.

Nun möchte ich das auch aus dem VB(A) Code heraus machen, mit shellExecute kann ich keine mehreren Dateien übergeben, über FSO habe ich keine richtige Idee …:frowning:

Kann mir jemand viell. helfen, der das Problem schonmal hatte?

Danke für Eure Hilfe

Mfg

Alex

Hallo,

hast du die Möglichkeit die Dateien in einem Array zu speichern?
Dann könntest du vielleicht mithilfe einer FOR-Schleife dein Programm realisieren.

Gruß

Pascal

Hallo Pascal,

ich habe es mir viel einfacher gemacht, ich nutze das Commando shell:

Shell „C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.exe c:\datei1.pdf c:\datei2.pdf c:\datei2.pdf“, vbNormalFocus

Die Dateien lasse ich in einer Schleife, die meine Datenbank abfragt und die einzelnen Dateien in das Verzeichnis speichert, in eine Variable schreiben:

exportdatei=exportdatei & " " & „C:\datei“ & zaehlvariablederdateien

Shell „C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.exe“ & exportdatei, vbNormalFocus

Damit funktioniert es, es fehlt halt nur der Charme das ich festlegen muss, wo der Speicherort der AcroRd32.exe ist :frowning: da wäre natürlich shellExecute besser gewesen.

Danke für deine Hilfe

Gruss ALex

ich habe ein glaube auf dem ersten Blick einfaches Problem,
ich habe in einem festgelegten Verzeichnis .pdf Dateien
liegen, nun möchte ich , so schön wie das im Win-Explorer
funktioniert, alle Dateien markieren und doppelklick drauf,
dann wir Adobe Acrobat-Reader geöffnet, und ich kann in den
einzelnen PDF - Dateien blätter, ABER dann auch zwischen den
Dateien springen, d.h. in allen, die ich markiert und mit
doppelklick geöffnet habe.

Hi Alex,
habe was fürr Word gebastelt, Dateien auswählen mit gedr. Strg + MausKlick, dann ok. GGfs, den Pfa dmit Chdrive undchdir umbiegen.

Option Explicit

Sub tt()
Dim Dateien, Öffne, n, WordApp
Dateien = Application.GetOpenFilename("Text Files (\*.doc), \*.doc", , "Auswahl", , True)
Set WordApp = GetObject(, "Word.Application")
If WordApp Is Nothing Then CreateObject ("Word.Application")
WordApp.Visible = True
For n = 1 To UBound(Dateien)
 WordApp.Documents.Open (Dateien(n))
Next n
End Sub

Gruß
Reinhard

Hallo Alex,

Damit funktioniert es, es fehlt halt nur der Charme das ich
festlegen muss, wo der Speicherort der AcroRd32.exe ist :frowning:
da wäre natürlich shellExecute besser gewesen.

Du kannst den Speicherort von der AcroRd32.exe aus der Registry lesen.
Ich such mal eben den Schlüssel.

Gruß

Pascal

Hallo Alex,

Damit funktioniert es, es fehlt halt nur der Charme das ich
festlegen muss, wo der Speicherort der AcroRd32.exe ist :frowning:
da wäre natürlich shellExecute besser gewesen.

Du kannst den Speicherort von der AcroRd32.exe aus der
Registry lesen.
Ich such mal eben den Schlüssel.

HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Acrobat Reader\7.0\Installer\Path

Gruß

Pascal

Damit funktioniert es, es fehlt halt nur der Charme das ich
festlegen muss, wo der Speicherort der AcroRd32.exe ist :frowning:
da wäre natürlich shellExecute besser gewesen.

Verwende statt den VB(A) Shellbefehl einfach den VB(S) Run Befehl, dann brauchst du den Acrobatreader nicht mehr angeben. Der Runbefehl startet automatisch die verknüpfte Anwendung. Kann aber sein, daß es dann nicht mehr mit mehreren Dateien gleichzeitig klappt. Hier eine einfache kleine Lösung:

private sub run_acro(str_path)

dim oshell
dim strfile

set oshell = CreateObject(„WScript.Shell“)

strfile = dir(str_path & „*.pdf“, vbnormal)

while strfile „“

oshell.run strfile,1,FALSE
strfile = dir
wend

end sub