Du bist nicht angemeldet.

Visual-Jan

Registrierter Benutzer

  • »Visual-Jan« ist der Autor dieses Themas

Beiträge: 2

Dabei seit: 7. September 2010

  • Private Nachricht senden

1

Dienstag, 7. September 2010, 22:41

VB-Script zum Drucken aller Dateien (OpenOffice) in einem Ordner

Hallo liebe Forumsgemeinde,

ich habe vor einigen Jahren in der Schule VisualBasic gehört, aber seitdem nichts mehr damit gemacht.
Momentan stehe ich vor der Herausforderung ein kleines Skript mit VB zu schreiben, um alle OpenOffice-Dateien
eines Ordners auszudrucken. Mein kläglicher Versuch ist im Anhang. Anscheinend wird OpenOffice sogar geöffnet
(Soviele neue OpenOffice-Prozesse (soffice.bin & soffice.exe) wie Dokumente in dem betreffenden Ordner, werden mir nach Ausführen des Skripts im Task-Manager angezeigt), doch leider druckt der Drucker nicht. Muss man da OpenOffice direkter ansprechen, oder ist mein Skript doch falsch?

Visual Basic Quellcode

1
2
3
4
5
6
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("E:\alt\Dokumente") 
Set colItems = objFolder.Items
For each i in colItems
	i.InvokeVerbEx("Print")
Next


Über jegliche Hilfe würde ich mich wirklich sehr freuen :)
Jan

* Topic verschoben *

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »der_Kurt« (7. September 2010, 23:36)


  • »xXMichaelXx« ist männlich

Beiträge: 1 146

Dabei seit: 22. Mai 2009

Frühere Benutzernamen: xXMichaelXx

Hilfreich-Bewertungen: 14

  • Private Nachricht senden

2

Dienstag, 7. September 2010, 22:43

Für VBS gibt's ein eigenes Unterforum ;)
whitehouse:~$ rm -f /bin/laden

Beiträge: 4 421

Hilfreich-Bewertungen: 384

  • Private Nachricht senden

3

Dienstag, 7. September 2010, 22:56

ich kenn mich mit VBS nicht aus.
Habe hier was gefunden, vieleicht kann dir das weiter helfen:
http://www.administrator.de/VBScript,_me…angeben%29.html
MFG ALEX

ApreX

Registrierter Benutzer

  • »ApreX« ist männlich

Beiträge: 13

Dabei seit: 6. September 2010

Wohnort: NRW

  • Private Nachricht senden

4

Freitag, 10. September 2010, 10:54

Hallo Visual-Jan,

soweit ich weiß stellt VBScript kein Printer-Objekt zur Verfügung. Allerdings bin ich mir da nicht sicher. Ich guck ma ob ich noch i-wo was bei mir finde. Wenn ja melde ich mich.
mfg ApreX

Visual-Jan

Registrierter Benutzer

  • »Visual-Jan« ist der Autor dieses Themas

Beiträge: 2

Dabei seit: 7. September 2010

  • Private Nachricht senden

5

Freitag, 10. September 2010, 17:02

@SystemUnknow:

Ich habe mir den Code mal angeschaut und ihn etwas übersichtlicher dargestellt:

Visual Basic Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
'PrintAll.vbs

'default directory
sSourceFolder = "E:\test"

'Executing the script with arguments will cause the very first argument (0) to replace the default
'directory defined in the script.
If WScript.Arguments.Count > 0 Then
	sSourceFolder = WScript.Arguments(0)
End If

Set fso = CreateObject("Scripting.FileSystemObject") '?

'If the directory does not exist, give an error messsage, else print all .xls files on the default printer.
If Not fso.FolderExists(sSourceFolder) Then
	WScript.Echo "Ordner " & sSourceFolder & " nicht verfügbar!"
	WScript.Quit(2)
Else
	bPrinted = False 'boolean value for checking whether any files were printed

	Set oShellApp = WScript.CreateObject("Shell.Application") '?

	For Each oFile In fso.GetFolder(sSourceFolder).Files
		If InstrRev(oFile.Name, ".") Then
			If LCase(Mid(oFile.Name, InstrRev(oFile.Name, "."))) = ".xls" Then 'print .xls files 
				oShellApp.ShellExecute oFile.Path, "", "", "print", 0
				bPrinted = True
				WScript.Sleep(5180)
			End If
		End If
	Next

	Set oShellApp = Nothing
	
	'Print a warning if no file was printed.
	If Not bPrinted Then
		WScript.Echo "Kein Dokument zum Drucken gefunden!"
		WScript.Quit(1)
	End If
End If


Die Ausführung klappt, allerdings wird mir nur 1 Dokument von 10 ausgedruckt...
Bei den Dokumenten handelt es sich um .xls Dateien, die über OpenOffice Calc geöffnet werden.
Insgesamt sind es 10 Stück. Das Dokument, welches gedruckt wird von den 10 ist immer das gleiche.
Allerdings weder das erste noch das letzte. (OS: Win7)

Leider verstehe ich auch nur grob, was das Skript genau macht, deshalb weiß ich nicht, was da schiefläuft.
Wisst ihr vllt Rat?

Viele Grüße,
Jan

Verwendete Tags

OpenOffice

Social Bookmarks