title image


Smiley Re: über excel worddokumente eines bestimten ordners ausdrucken
Hallo Thomas,

versuch es mal so:







Option Explicit



Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As InfoT) As Long

Private Declare Function CoTaskMemFree Lib "ole32" (ByVal hMem As Long) As Long

Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpStr1 As String, ByVal lpStr2 As String) As Long

Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pList As Long, ByVal lpBuffer As String) As Long

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassname As String, ByVal lpWindowName As String) As Long

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 lpnShowCmd As Long) As Long



Private Type InfoT

    hwnd As Long

    Root As Long

    DisplayName As Long

    Title As Long

    Flags As Long

    FName As Long

    lParam As Long

    Image As Long

End Type



Private Function GetAOrdner() As String

    Dim xl As InfoT, IDList As Long, RVal As Long, FolderName As String

    With xl

        .hwnd = FindWindow("xlmain", vbNullString)

        .Title = lstrcat("Bitte wählen Sie ein Verzeichnis", "")

        .Flags = &H1

    End With

    IDList = SHBrowseForFolder(xl)

    If IDList <> 0 Then

        FolderName = Space(256)

        RVal = SHGetPathFromIDList(IDList, FolderName)

        CoTaskMemFree (IDList)

        FolderName = Trim(FolderName)

        FolderName = Left(FolderName, Len(FolderName) - 1)

    End If

    GetAOrdner = FolderName

End Function



Public Sub Worddokumente_drucken()

    Dim strFolder As String, intIndex As Integer

    strFolder = GetAOrdner

    If Trim$(strFolder) <> "" Then

        With Application.FileSearch

            .LookIn = strFolder

            .FileType = 3

            .Execute

            For intIndex = 1 To .FoundFiles.Count

                ShellExecute 0, "print", .FoundFiles(intIndex), "", strFolder, 0

            Next

        End With

    End If

End Sub



Code eingefügt mit Syntaxhighlighter 2.5







Gruß

Nepumuk
Gruß
Nepumuk


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: