Avatar billede bw82 Nybegynder
12. marts 2009 - 18:44 Der er 3 kommentarer

Autoprint and word og excel dokumenter

Hej eksperter.

Jeg har et lille vb scribt der lige nu printer alle word dokumenter lagt i en bestemt mappe og i alefabetisk rækkefølge.
nu skal jeg tilføje nogle excel dokumenter *.xls og ændre scriptet så der nu udskifives kun i alfabetisk rækkeføgle.
fx: først "a.doc" dernæst "b.xls" igen c.doc osv...

håber der en der kan hjælpe da jeg ikke er sikker på at ved at ændre "doc" til "*.*" i scriptet vil skabe den alfebetiske printer rækkefølge.

skripter ser således ud. 

Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add()

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set FileList = objWMIService.ExecQuery _
    ("ASSOCIATORS OF {Win32_Directory.Name='c:\automat_mappe_sverige'} Where " _
        & "ResultClass = CIM_DataFile")

For Each objFile In FileList
    If objFile.Extension = "doc" Then
        objWord.PrintOut ,,,,,,,,,,,,objFile.Name
    End If
Next

objWord.Quit




venlig hilsen

bw
Avatar billede tjp Mester
12. marts 2009 - 21:04 #1
Desværre ikke fuldt testet pga af manglende printer:

    Set objWord = CreateObject("Word.Application")
    Set objXl = CreateObject("Excel.Application")
   
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
   
    Set FileList = objWMIService.ExecQuery _
        ("ASSOCIATORS OF {Win32_Directory.Name='c:\automat_mappe_sverige'} Where " _
            & "ResultClass = CIM_DataFile")
   
    For Each objFile In FileList
        If objFile.Extension = "doc" Then
            objWord.PrintOut , , , , , , , , , , , , objFile.Name
        End If
        If objFile.Extension = "xls" Then
            objWord.PrintOut , , , , , , , , , , , , objFile.Name
        End If
    Next
   
    objWord.Quit
    objXl.Quit
Avatar billede tjp Mester
12. marts 2009 - 21:36 #2
Nu tror jeg den virker ;-) :


Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add()

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add()


strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set FileList = objWMIService.ExecQuery _
    ("ASSOCIATORS OF {Win32_Directory.Name='c:\automat_mappe_sverige'} Where " _
        & "ResultClass = CIM_DataFile")

For Each objFile In FileList
    If objFile.Extension = "doc" Then
        objWord.PrintOut , , , , , , , , , , , , objFile.Name
    End If
    If objFile.Extension = "xls" Then
        objWord.PrintOut , , , , , , , , , , , , objFile.Name
    End If
Next

objWord.Quit
objExcel.Quit
Avatar billede bw82 Nybegynder
15. marts 2009 - 21:33 #3
Hej tjp.

tak for din feedback. jeg har nu kørt det i et test miljø med 3 dokumenter: a.doc  b.xls  c.doc  desværre virker det ikke helt. da det der sker er at alle dokumenter åbner og sender printjob og lukker som de skal. b.xls kommer ud med 50 sider med 5-10 linjer rådata tekst. fx: ∏∏∏∏∏∏x~║∏∏∏∏∏∏ osv..
viker som xls dokumentet ikke ses som it xls dokument.

Håber det siger dig et eller andet

takker på forhånd for din hjælp
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester