Registriert seit: 08.10.2017
Version(en): 2017
Guten Morgen zusammen,
ich möchte aus einem Makro heraus einen Ordner auf meinem Laufwerk öffnen, dort eine Pdf Datei auswählen, diese drucken, Ordner schließen und dann das Makro weiter laufen lassen. Hat jemand dazu evtl. eine gute Idee ?
Grüße Wexel
Registriert seit: 08.10.2017
Version(en): 2017
Registriert seit: 12.03.2016
Version(en): Excel 2003
Hallo Wexel
ich kann dir auf die schnelle einmal den Codeteil geben aus einem anderen Thread. Den must du auf deine Bedürfnisse anpassen. Zum Datei Öffnen kann man ganz oben Konstante Werte für Pfad und ;Dateiname angeben, wenn der Dateiname immer gleich bleibt. Sonst kannst du den Pfad und Dateinamen aus einer Zelle laden. Dazu must du das richtige Blatt und die richtige Zellen angeben.
Den Teil zum drucken zeichnest du am besten mit dem Makro Recorder auf und fügst den Codeteil einfach ins untere Makro ein.
Wenn du alles richtig anpasst sollte es klappen. In diesem Sinnne ....
mfg Gast 123
Code:
Option Explicit '24.1.2017 Gast 123 Clever Forum
Const Pfad = "E:\Excel Forum" 'Pfad als Konstante
Const Datei = "Meine Datei.xlsx" 'Datei als Konstante
Sub Daten_öffnen_undDrucken()
Dim Pfad As String, Datei As String
On Error GoTo Fehler
'Datei Öffnen, Pfad + Datei Name in Zellen
Pfad = ThisWorkbook.Sheets(1).Range("J1").Value
If Right(Pfad, 1) <> "\" Then Pfad = Pfad & "\"
Datei = ThisWorkbook.Sheets(1).Range("J2").Value
'Workbook Öffnen über Pfad & Datei
Workbooks.Open Filename:=CStr(Pfad & Datei)
'*** hier kommt der Codeteil zum drucken *******
'*** Drucken Ende
Workbooks(Datei).Close
Exit Sub
Fehler: MsgBox "unerwarteter Fehler (beim Öffnen) ??" & Chr(10) & Error()
End Sub
Registriert seit: 08.10.2017
Version(en): 2017
Jein, ich möchte keine Datei öffnen, auswählen zum drucken reicht mir.
zb. möchte ich
Start Makro
es öffnet sich mein Pfad G:/Auto/Audi öffnen.
in dem Ordner Audi gibts kann ich dann A1.pdf, A2.pdf, A3.pdf usw. auswählen
Daraus möchte ich dann A2.pdf auswählen und drucken.(muss nicht geöffnet sein oder werden)
Pfad schließen, makro läuft weiter ..
00202
Nicht registrierter Gast
Hallo, :19:
probiere es mal so der Spur nach - als
Ansatz: :21:
Code:
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 Declare Function GetActiveWindow Lib "user32.dll" () As Long
Public Sub Main()
Const strPath As String = "C:\Temp\"
Dim varTMP As Variant
On Error GoTo Fin
ChDrive "C:\"
ChDir strPath
varTMP = Application.GetOpenFilename("PDF Dateien (*.pdf),*pdf")
If varTMP <> False Then
ShellExecute GetActiveWindow, "print", varTMP, "", strPath, 0&
End If
Fin:
Application.Wait Now + TimeSerial(0, 0, 5)
Call Reader_weg
If Err.Number <> 0 Then MsgBox "Error: " & _
Err.Number & " " & Err.Description
End Sub
Private Sub Reader_weg()
Const STRPC As String = "."
Dim objProcesses As Object
Dim objProcess As Object
Dim objWMI As Object
Set objWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & STRPC & "\root\cimv2")
Set objProcesses = objWMI.ExecQuery("Select * from Win32_Process Where Name = 'acrord32.exe'")
For Each objProcess In objProcesses
objProcess.Terminate
Next objProcess
End Sub
Registriert seit: 08.10.2017
Version(en): 2017
Hat jemand ggf´s noch einen anderen Vorschlag, komme bisher nicht wirklich weiter...
Registriert seit: 04.12.2017
Version(en): 2003-2013
Registriert seit: 08.10.2017
Version(en): 2017
Natürlich habe ich auch schon gegoogelt..
Vom Ansatz her passt der Code von Case ja auch, PDF auswählen, alles super.
Dann gehts aber nicht weiter, kein Druck, kein Adobe öffnen etc.. (Zeit zum Adobe schließen habe ich auch schon verlänger)
MfG
00202
Nicht registrierter Gast
Hallo, :19:
was passiert denn, wenn Du im Explorer mit der rechten Maustaste eine PDF-Datei anklickst und dann "Drucken" auswählst?
Registriert seit: 08.10.2017
Version(en): 2017
Case,
wenn ich das so versuche, kann ich Löschen, Senden, Umbenennen, Öffnen etc, aber nicht drucken..