Anzeige
Archiv - Navigation
1180to1184
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

Drucken

Drucken
Toni
Hallo Hajo,
deine Vermutung ist richtig.
Darum muß ich mich erst einmal Entschuldigen das mir nicht die richtigen Worte eingefallen sind.
Die Hyperliks können wir ganz vergessen. Am besten seht euch mal die Tabelle an.
Nun hoffe ich das ihr mein Anliegen versteht.
https://www.herber.de/bbs/user/71704.xls
Danke für deine Antwort
mfg.Toni

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

Betreff
Benutzer
Anzeige
AW: Drucken
30.09.2010 12:50:33
Tino
Hallo,
wenn ich alles richtig verstanden habe, versuch es mal mit diesem Code.
'in ein Modul ************************************************ 
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 Print_Files()
Dim rngBereich As Range, rngRange As Range
Dim strFile$, strFehlerDatei$, lngRow As Long
'Pfad anpassen 
Const sPath$ = "Y:\User\Dokumente\Verfahren\"
'Bereich Festlegen 
With Tabelle1
    Set rngBereich = .Range("I5:K21")
End With

lngRow = rngBereich(1).Row - 1
For Each rngRange In rngBereich.Columns(1).Cells
    If rngRange <> "" Then
        strFile = sPath$ & rngBereich.Cells(rngRange.Row - lngRow, 2)
        strFile = strFile & " " & rngBereich.Cells(rngRange.Row - lngRow, 3) & ".doc"
        If Dir(strFile, vbNormal) <> "" Then
            Call ShellExecute(0, "print", strFile, "", "", 6)
        Else
            strFehlerDatei = strFehlerDatei & strFile & vbCr
        End If
    End If
Next rngRange

If strFehlerDatei <> "" Then
    MsgBox "Datei(en) nicht gefunden" & vbCr & vbCr & strFehlerDatei, vbExclamation, "Fehler"
End If
End Sub
Gruß Tino
Anzeige
AW: Drucken
30.09.2010 14:37:58
Toni
Hallo Tino,
erst einmal ein Dankeschön für die Antwort. Werde es später Probieren da ich jetzt Unterwegs bin.
Melde mich auf jeden Fall nochmal.
mfg.Toni
AW: Drucken
01.10.2010 11:01:45
Toni
Hallo Tino,
habe jetzt etwas Zeit gefunden und mich mal an deinem VBA Code begeben. Es scheint genau das zu sein
was ich suche,aber es kommt immer die Meldung "Datei(en) nicht gefunden." Egal welches Laufwerk ich auch als Pfad eingebe.
Sonst wäre ich mit dieser Lösung voll zufrieden.
mfg. Toni
AW: Drucken
01.10.2010 11:12:33
Tino
Hallo,
dann sind vermutlich Dateien nicht vorhanden.
Gehe den Code mal mit F8 in einzelschritten durch, wenn der Code in
Else
strFehlerDatei = strFehlerDatei & strFile & vbCr
rein geht, fehlt vermutlich diese Datei.
Gruß Tino
Anzeige
AW: Drucken
01.10.2010 12:40:16
Toni
Hi Tino,
das hört sich ja gut an, nur kann ich damit garnichts anfangen habe keine Ahnung wie ich erkennen kann
wo der Fehler liegt. Das habe ich noch nie gemacht mit F8 kenne ich mich nicht aus. Die Taste F8 ist mir bekannt aber alles was danach passiert ist gleich 0.
Der Code Else strFehlerDatei....... ist ja drin.
Ich hoffe trotzdem das du mir weiterhelfen kannst.
mfg.Toni
AW: Drucken
01.10.2010 12:52:14
Tino
Hallo,
mit F8 gehst Du den Code in einzelschritten durch Zeile für Zeile.
Wenn Du dabei mit der Maus über eine Variable gehst,
bekommst Du in der Regen deren aktuellen Inhalt angezeigt.
Gruß Tino
Anzeige
AW: Drucken
01.10.2010 13:46:23
Toni
Hallo,
danke nochmal für deine Bemühungen, aber ich bin mit meinen Wissen in VBA überfordert, es währe schön gewesen wenn ich es hinbekommen hätte.
Es ist nur schade um die Zeit die ich Investiert habe.
Gibt es vielleicht eine andere Lösung für mein Problem?
Trotzdem Danke
mfg.Toni
AW: Drucken
02.10.2010 13:35:36
Tino
Hallo,
kann Dir jetzt nicht sagen wo Dein Problem ist.
Es gibt noch andere Möglichkeiten, aber die brauchen auch den Pfad zu den Dateien.
Schreibe doch mal den richtigen Pfad zu solch einer Datei,
dann kann ich Dir den Code eventuell anpassen.
PS: Wenn Du der investierten Zeit nachtrauerst solltest Du Dich erst gar nicht damit befassen,
wenn man programmieren will wird es immer Rückschläge geben und man muss nach einer anderen Lösung suchen.
Gruß Tino
Anzeige
AW: Drucken
03.10.2010 09:58:13
Toni
Hallo Tino,
ich Freue mich sehr wenn du mein Problem nochmal angehen möchtest.
Anbei noch mal die Mappe und den dazu gehörenden Pfad zu den Worddateien.
Natürlich hast Du mit deiner Meinung recht, also noch einen neuen Versuch, irgendwie wird es schon klappen.
Es liegt mir sehr viel an einer Lösung.
https://www.herber.de/bbs/user/71749.xls
mfg. Toni
AW: Drucken
03.10.2010 10:17:23
Tino
Hallo,
ok. versuch mal diesen Code
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 Print_Files()
Dim rngBereich As Range, rngRange As Range
Dim strFile$, strFehlerDatei$, lngRow As Long
'Pfad anpassen 
Const sPath$ = "C:\Benutzer\Manfred\Haus\Zum Druck\"
'Bereich Festlegen 
With Tabelle1
    Set rngBereich = .Range("I5:K21")
End With

On Error GoTo ErrorH:
ChDrive Left$(sPath, 2)
ChDir sPath

lngRow = rngBereich(1).Row - 1
For Each rngRange In rngBereich.Columns(1).Cells
    If rngRange <> "" Then
        strFile = sPath$ & rngBereich.Cells(rngRange.Row - lngRow, 2)
        strFile = strFile & "\" & rngBereich.Cells(rngRange.Row - lngRow, 3) & ".doc"
        If Dir(strFile, vbNormal) <> "" Then
            Call ShellExecute(0, "print", strFile, "", "", 6)
        Else
            strFehlerDatei = strFehlerDatei & strFile & vbCr
        End If
    End If
Next rngRange

If strFehlerDatei <> "" Then
    MsgBox "Datei(en) nicht gefunden" & vbCr & vbCr & strFehlerDatei, vbExclamation, "Fehler"
End If
Exit Sub
ErrorH:
MsgBox Err.Description, vbCritical + vbMsgBoxSetForeground + vbMsgBoxHelpButton, _
"Error: " & Err.Number, Err.HelpFile, Err.HelpContext
End Sub
Gruß Tino
Anzeige
AW: Drucken
05.10.2010 11:12:41
Toni
Hallo Tino,
es klappt immer noch nicht. Wenn ich die Dateien ausgesucht habe und sie auf der rechten Seite in meiner Liste stehen, kommt immer die Meldung ( kann Datei nicht finden).
Spalte: D4 E4
links gebe ich ein: Listen\ Liste C002
Spalte: J4 K4
rechts zum Ausdruck steht: Listen\ Liste C002
In der Meldung steht immer Daten nicht gefunden C:\Users\Manfred\Haus\Zum Druck\Listen\Liste C002.doc
Vielleicht gibt es ja eine leichtere Lösung ?. Wenn deine Lösung funktionieren würde währe es für mich das beste.
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 Print_Files()
Dim rngBereich As Range, rngRange As Range
Dim strFile$, strFehlerDatei$, lngRow As Long
'Pfad anpassen
Const sPath$ = "C:\Users\Manfred\Haus\Zum Druck\Garagen\"
'Bereich Festlegen
With Tabelle1
Set rngBereich = .Range("I5:K21")
End With
On Error GoTo ErrorH:
ChDrive Left$(sPath, 2)
ChDir sPath
lngRow = rngBereich(1).Row - 1
For Each rngRange In rngBereich.Columns(1).Cells
If rngRange  "" Then
strFile = sPath$ & rngBereich.Cells(rngRange.Row - lngRow, 2)
strFile = strFile & "\" & rngBereich.Cells(rngRange.Row - lngRow, 3) & ".doc"
If Dir(strFile, vbNormal)  "" Then
Call ShellExecute(0, "print", strFile, "", "", 6)
Else
strFehlerDatei = strFehlerDatei & strFile & vbCr
End If
End If
Next rngRange
If strFehlerDatei  "" Then
MsgBox "Datei(en) nicht gefunden" & vbCr & vbCr & strFehlerDatei, vbExclamation, "Fehler"
End If
Exit Sub
ErrorH:
MsgBox Err.Description, vbCritical + vbMsgBoxSetForeground + vbMsgBoxHelpButton, _
"Error: " & Err.Number, Err.HelpFile, Err.HelpContext
End Sub

mfg. Toni
Anzeige
letzter Versuch sonst müssen andere es versuchen
05.10.2010 18:21:29
Tino
Hallo,
letzter Versuch sonst weiß ich auch nicht wie ich Dir noch helfen kann.
Ich hoffe nur das diese Ordner und Dateien auch vorhanden sind und ob der Pfad korrekt ist.
Bei mir läuft es mit beiden Versionen, diese und die vorhergehende.
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 Print_Files()
Dim rngBereich As Range, rngRange As Range
Dim strFile$, strFehlerDatei$, lngRow As Long
Dim FSO As Object
'Pfad anpassen 
Const sPath$ = "C:\Benutzer\Manfred\Haus\Zum Druck\"
'Bereich Festlegen 
With Tabelle1
    Set rngBereich = .Range("I4:K21")
End With

On Error GoTo ErrorH:
ChDrive Left$(sPath, 2)
ChDir sPath

lngRow = rngBereich(1).Row - 1
Set FSO = CreateObject("Scripting.FileSystemObject")
For Each rngRange In rngBereich.Columns(1).Cells
    If rngRange <> "" Then
        strFile = sPath$ & rngBereich.Cells(rngRange.Row - lngRow, 2)
        strFile = strFile & "\" & rngBereich.Cells(rngRange.Row - lngRow, 3) & ".doc"
        If FSO.FileExists(strFile) Then
            Call ShellExecute(0, "print", strFile, "", "", 6)
        Else
            strFehlerDatei = strFehlerDatei & strFile & vbCr
        End If
    End If
Next rngRange

If strFehlerDatei <> "" Then
    MsgBox "Datei(en) nicht gefunden" & vbCr & vbCr & strFehlerDatei, vbExclamation, "Fehler"
End If
Exit Sub
ErrorH:
MsgBox Err.Description, vbCritical + vbMsgBoxSetForeground + vbMsgBoxHelpButton, _
"Error: " & Err.Number, Err.HelpFile, Err.HelpContext
End Sub
Gruß Tino
Anzeige
AW: letzter Versuch sonst müssen andere es versuchen
06.10.2010 18:12:23
Toni
Hallo Tino,
es Funktioniert jetzt bei mir und ich muß dir sagen das mir jetzt ein Fehler in meiner Schreibweise aufgefallen ist .Und zwar habe ich immer C 001 anstatt C001 geschrieben.
es tut mir Leid . Trotzdem noch einmal tausend Dank für die super Antwort.
mfg.Toni

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige