:: On Sat, 7 Apr 2018 12:14:22 +0200
:: (it.comp.os.win.xp)
:: <paa5lo$l5b$
1...@gioia.aioe.org>
:: Paperino <non...@lo.dico.invalid> wrote:
> "Mandare in stampa" non è una cosa semplice, a meno che
> non si tratti di avere tutti e solo file che rispettino
> determinati requisiti, in un formato che sia supportato
> dal computer su cui gira il programma e che a sua volta
> supporti un "verbo" come "PrintTo", e a cui vadano bene
> le opzioni di default della stampante, per dire. Se no,
> le cose si complicano e non poco. [Oppure puoi pagare e
> comprare uno dei programmi che fanno quel lavoro :-)]
Comunque, per verificare se un dato file supporti il verbo "stampa"
basta anche solo qualcosa del genere :) è un pezzo di VBscript che ho
buttato giù al volo, in breve, lanciandolo da prompt e passandogli il
path di una o più cartelle, elenca a video tutti i files che supportano
il verbo "stampa" ossia che potrebbero essere direttamente stampati da
uno script "batch" che può anche essere quello sotto (basta soltanto
togliere il commento dalla chiamata DoIt :D)
' ===================================================
' uso: cscript pr.vbs path
' es.: cscript pr.vbs c:\documenti
' ===================================================
Dim arg
Set arg = WScript.Arguments
WScript.Quit main(arg.Count, arg)
Function main(argc, argv)
Dim iArg
For iArg = 0 To argc-1
Elenca argv(i)
Next
main = 0
End Function
Sub Elenca(sPath)
Dim objShell, objFolder
Dim objItem, objVerbs
Dim objVerb, sName, objApp
Set objShell = CreateObject("shell.application")
Set objFolder = objShell.NameSpace(sPath)
For Each objItem In objFolder.Items
Set objVerbs = objItem.Verbs
If objVerbs.Count > 0 Then
For Each objVerb In objVerbs
sName = Trim(objVerb.Name)
If sName = "Stam&pa" Then
WScript.StdOut.WriteLine objItem.Path
' objVerb.DoIt ' stampa il file
End If
Next
End If
Next
End Sub
' ===================================================