Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1204to1208
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
DOS PRINT aus VBA auf eine Liste von Dateien
Dateien
Hallo alle miteinand,
ich habe eine Excel-Liste in der ich verschiedene Word-Document Namen stehen habe, mit Verzeichnisinfo und Dateitypinfo.
  • A HORSE WITH NO NAME 2.3.2011 28.160 SOLOPFADE DOC 1 9.3.2011

  • Das sind eine ganze Menge Dateien untereinander und von sagen wir 250 in einem Verzeichnis möchte ich 10 die angekreuzt sind ausdrucken per DOS Print.
    Das geht sicherlich auch direkt via VBA aber ich will das einfach mit einbauen!
    Eine ähnliche Liste gibt es mit MP3 Dateien die ich in der gleichen Art nicht ausdrucken möchte sondern DIREKT brennen will. Also so das er mir den Brenner in Vista schon bestückt und dort den Brennvorgang startet. Aber das erst als späteren Step. Wichtig wär mir der Dos-Befehl in VBA eingebunden.
    Wäre nett wenn jemand helfen könnt.
    Vielen Dank im Vorraus aus dem sonnigen Köln!
    L.G.
    Lothar P.

    2
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Benutzer
    Anzeige
    AW: DOS PRINT aus VBA auf eine Liste von Dateien
    25.03.2011 09:50:05
    Dateien
    Hallo Lothar,
    mit dem "DOS PRINT" kenne ich mich nicht aus (vielleicht steht dazu etwas im Archiv) und wie ich Dateien an ein Brenn-Programm übergebe, weiß ich leider auch nicht. Der Rest erscheint für mich lösbar.
    Etwas schwierig ist nur der String "A HORSE WITH NO NAME 2.3.2011 28.160 SOLOPFADE DOC 1 9.3.2011", weil das Trennungszeichen der einzelnen Segmente (also das Leerzeichen) zugleich im Titel vorkommt. Hier würde ich Split anwenden:
    Sub ZeileZerlegen()
    Dim Zeile As Variant
    Dim i As Integer, Titel As String
    Zeile = Split("A HORSE WITH NO NAME 2.3.2011 28.160 SOLOPFADE DOC 1 9.3.2011", " ")
    Debug.Print CDate(Zeile(UBound(Zeile))) 'hinteres Datum
    Debug.Print Zeile(UBound(Zeile) - 2)    'Datei-Endung
    Debug.Print Zeile(UBound(Zeile) - 3)    'Name der Datei
    Debug.Print Zeile(UBound(Zeile) - 4)    'Größe der Datei?
    Debug.Print Zeile(UBound(Zeile) - 5)    'vorderes Datum
    For i = 0 To UBound(Zeile) - 6
    Titel = Titel & " " & Zeile(i)
    Next i
    Debug.Print Trim(Titel)                 'Titel
    End Sub
    
    Leider kann ich hier nicht erkennen, was du mit "Verzeichnisinfo" meinst, da ich keinen Laufwerksbuchstaben bzw. Dateipfad aus deinem Beispiel heraus erkennen kann.
    Das mit dem Ankreuzen ist auch sehr einfach: Über ein UserForm werden die Datei-Einträge einfach in eine ListBox übertragen, welche die Eigenschaft "MultiSelect = fmMultiSelectMulti" und "ListStyle = fmListStyleOption" hat.
    Also der Anfang ist gemacht, aber ohne weitere Infos komme ich an dieser Stelle nicht weiter.
    Viele Grüße
    Martin
    Anzeige
    AW: DOS PRINT aus VBA auf eine Liste von Dateien
    25.03.2011 11:39:11
    Dateien
    Hallo Martin,
    Danke für die Antwort!!
    Ich habe mich nicht richtig ausgedrückt seh ich gerade!! SORRY!
    Die Informationen die mit in der Liste stehen sind EIGENTLICH irrellevant, ich will die WORD Datei via Dos oder Windows.Explorer ausdrucken.
    Ich habe einen Weg gefunden, der ist allerdings nicht komplett da alle meine .DOC die Fehlermeldung bringen das die Seitenränder ausserhalb des druckbaren Bereichs liegen (o.s.ä)
    Das auslesen der angekreuzten "DATEIEN" ist nicht das Problem sondern effektiv der Ausdruck der Datei.
    Wenn du bitte mal schaust:
  • 
    Sub WORDTEST()
    Dim appWord As Object
    Dim STRDOC As String
    Set appWord = CreateObject("Word.Application")
    'appWord.Application.DisplayAlerts = False       HIERMIT HATTE ICH VERSUCHT DIE MELDUNG ZU  _
    UMGEHEN!
    STRDOC = "C:\Documents and Settings\My Documents\PRI\BANDS\SOLOPFADE\cambiera.doc"
    appWord.Documents.Open STRDOC
    appWord.PrintOut Filename:=STRDOC
    appWord.Quit
    Set appWord = Nothing
    End Sub
    

  • Das funktioniert auch soweit automatisch wenn die Meldung NICHT kommt.
    Aus dem Explorer heraus drucken ist dann problemlos, krieg ich aber aus EXCEL-VBA nicht hin:
  • 
    Sub EXPLTEST()
    Dim APPEXPL
    Dim STRDOC As String
    APPEXPL = ("C:windows,explorer.exe")
    STRDOC = "C:\Documents and Settings\My Documents\PRI\BANDS\SOLOPFADE\horse with no name.doc" _
    APPEXPL.Print STRDOC
    APPEXPL.Quit
    Set APPEXPL = Nothing
    End Sub
    

  • Wäre sehr nett wenn du mir noch weiter helfen könntest!
    V.G.
    LotharP
    Anzeige

    303 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige