Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

problema macro per scelta stampante

467 views
Skip to first unread message

SiNi

unread,
Dec 19, 2007, 4:25:26 AM12/19/07
to
Salve a tutti.

Ho fatto un foglio excel che contiene un CommandButton che premendolo, mi
permette di stampare uno o piů fogli excel all'interno del file stesso
(purchč le loro linguette siano selezionate) con una stampatne creata con
PDF CREATOR..
Il problema sta nel fatto che questo file devo passarlo ad altri colleghi e
la porta in cui questi colleghi hanno il PDF Creator inserito non č uguale
alla mia.
Il codice č il seguente:

Private Sub stampa_Click()

If Application.ActivePrinter = "PDFCreator su Ne00:" = True Then


ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDFCreator su Ne00:", Collate:=True

Else

Application.ActivePrinter = "PDFCreator su Ne01:"

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDFCreator su Ne00:", Collate:=True

End If

End Sub


Cosa succede...se vado in altri PC dove il PDF CREATOR č su "PDFCreator su
Ne01:" allora stampa i singoli fogli, mentre se "PDFCreator su Ne00:" allora
mi da errore.

Come posso modificare la macro affinchč in qualsiasi "PDFCreator su
NeXXXXX:" stampi i fogli?

Tra l'altro, EVENTUALMENTE, non so come cambiare "PDFCreator su Ne01:" e
mettere "PDFCreator su Ne00:"

Grazie.

SiNi

Maurizio Borrelli

unread,
Dec 19, 2007, 5:13:43 AM12/19/07
to
"SiNi" wrote in message
news:etmaUHi...@TK2MSFTNGP06.phx.gbl:

> Ho fatto un foglio excel che contiene un CommandButton che premendolo,

> mi permette di stampare uno o più fogli excel all'interno del file stesso
> (purchè le loro linguette siano selezionate) con una stampatne creata


> con PDF CREATOR..
> Il problema sta nel fatto che questo file devo passarlo ad altri

> colleghi e la porta in cui questi colleghi hanno il PDF Creator inserito non è
> uguale alla mia.
> Il codice è il seguente:


> Private Sub stampa_Click()
> If Application.ActivePrinter = "PDFCreator su Ne00:" = True Then
> ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
> "PDFCreator su Ne00:", Collate:=True
> Else
> Application.ActivePrinter = "PDFCreator su Ne01:"
> ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
> "PDFCreator su Ne00:", Collate:=True
> End If
> End Sub

> Cosa succede...se vado in altri PC dove il PDF CREATOR è su


> "PDFCreator su Ne01:" allora stampa i singoli fogli, mentre se "PDFCreator su Ne00:"
> allora mi da errore.

> Come posso modificare la macro affinchè in qualsiasi "PDFCreator su


> NeXXXXX:" stampi i fogli?
> Tra l'altro, EVENTUALMENTE, non so come cambiare "PDFCreator su Ne01:"
> e mettere "PDFCreator su Ne00:"

Ciao SiNi.

Magari questo ti aiuta.

Option Explicit

Public Sub Test1()
Const cstrInStrPrinter = "PDFCreator"
Dim wshNetwork As Object ' IWshRuntimeLibrary.WshNetwork
Dim wshCollection As Object ' IWshRuntimeLibrary.WshCollection
Dim wshItem As Variant
Dim strPrinter As String
Dim strPrompt As String

Set wshNetwork = CreateObject("WScript.Network") _
' New IWshRuntimeLibrary.WshNetwork
Set wshCollection = wshNetwork.EnumPrinterConnections
For Each wshItem In wshCollection
Debug.Print wshItem
If InStr(1, wshItem, cstrInStrPrinter, vbTextCompare) Then
strPrinter = wshItem
Exit For
End If
Next
If Len(strPrinter) Then
strPrompt = "La stampante" _
& " '" & cstrInStrPrinter & "'" _
& " in questo PC si chiama:" _
& vbNewLine & strPrinter
Else
strPrompt = "Stampante" _
& " '" & cstrInStrPrinter & "'" _
& " non trovata in questo PC."
End If
MsgBox strPrompt
Debug.Print

Set wshCollection = Nothing
Set wshNetwork = Nothing
End Sub

--
(Facci sapere se e eventualmente come hai risolto. Grazie.)

Ciao :o) Microsoft MVP (Excel)
Maurizio https://mvp.support.microsoft.com/profile/Maurizio.Borrelli
-------- Spazio personale di Maurizio Borrelli
?SPQR(C) http://spdmb.spaces.live.com
 X       RIO - Risorse in italiano per gli utenti di office
-------- http://www.riolab.org

SiNi

unread,
Dec 19, 2007, 8:38:50 AM12/19/07
to

> "SiNi" wrote in message
..............................

> Set wshCollection = Nothing
> Set wshNetwork = Nothing
> End Sub

Ciao Maurizio,

intanto ti ringrazio per l'aiuto.
Ho messo la tua macro al posto della mia, ma non è quello che cercavo.
Quello che a me serve è che premendo il command button, mi stampi i fogli
selezionati sulla PDFCREATOR, non mi interessa su che porta sia,
l'importante è che stampi.
Con la tua macro mi esce solo il messaggio, ma non mi dice su che porta si
trova il PDFCREATOR (a parte che a me serve solo che stampi, non sapere su
che porta come dicevo).

Grazie ancora e se hai qche altro suggerimento...ne sarei lieto!

SiNi


Mauro Gamberini

unread,
Dec 19, 2007, 9:03:43 AM12/19/07
to
> Ho messo la tua macro al posto della mia, ma non č quello che cercavo.
> Quello che a me serve č che premendo il command button, mi stampi i fogli
> selezionati sulla PDFCREATOR, non mi interessa su che porta sia,
> l'importante č che stampi.

> Con la tua macro mi esce solo il messaggio, ma non mi dice su che porta si
> trova il PDFCREATOR (a parte che a me serve solo che stampi, non sapere su
> che porta come dicevo).
>

Immagino(immagino) che tu abbia
nel messaggio il nome della stampante.
Se la metti come Application.ActivePrinter?

--
---------------------------
Mauro Gamberini
http://www.riolab.org/


SiNi

unread,
Dec 19, 2007, 11:23:46 AM12/19/07
to
Ciao Mauro,

>> Ho messo la tua macro al posto della mia, ma non è quello che cercavo.
>> Quello che a me serve è che premendo il command button, mi stampi i fogli

>> selezionati sulla PDFCREATOR, non mi interessa su che porta sia,

>> l'importante è che stampi.


>> Con la tua macro mi esce solo il messaggio, ma non mi dice su che porta
>> si trova il PDFCREATOR (a parte che a me serve solo che stampi, non
>> sapere su che porta come dicevo).
>>
>
> Immagino(immagino) che tu abbia
> nel messaggio il nome della stampante.
> Se la metti come Application.ActivePrinter?


quello che ho fatto io, fatto per modo di dire, ho usato il registratore di
macro.
Il nome è PDFCreator (perchè il programma si chiama PDFCREATOR e genera
questa stampante virtuale con il suo nome).
Come ho detto, ho il nome della stampante ma quello che cambia tr i pc è
"PDFCreator su Ne00:"
cioè "PDFCreator" resta sempre uguale, ma cambia "su Ne00:" in qualche altro
PC diventa "su Ne01:"
Io volevo che stampasse sul nome "PDFCreator" senza star li a vedere su
quale porta è configurata questa stampante virtuale (l'assegna, penso, in
automatico il programma durante l'installazione).

Se sai aiutarmi...intanto ti ringrazio.

SiNi


Mauro Gamberini

unread,
Dec 19, 2007, 11:43:47 AM12/19/07
to
> quello che ho fatto io, fatto per modo di dire, ho usato il registratore
> di macro.
>
<cut>

Ad esempio.
Nel codice postato da Maurizio,
al posto dell'ultimo:
MsgBox strPrompt
metti:
Call Stampa(strPrompt)

Poi fai una routine Stampa:

Private Sub Stampa(BYVal s As String)

Dim oldStampante as string

with application
oldStampante = .activeprinter
.ActivePrinter = s
'
'Il codice di stampa
'
.activeprinter = oldStampante

End sub

Il tuo pulsante chiamerą la routine di Maurizio:

Private Sub Command1_click()
call test1
end sub

Scritto tutto qui, da testare.

Maurizio Borrelli

unread,
Dec 19, 2007, 12:08:04 PM12/19/07
to
"SiNi" wrote in message
news:e2el7UkQ...@TK2MSFTNGP03.phx.gbl:

[...]
> > Magari questo ti aiuta.
[...]


> Ho messo la tua macro al posto della mia, ma non è quello che cercavo.

[...]

Ciao SiNi.

Immagino! Il mio era un esempio che illustrava gli strumenti che
potresti usare per fare quel che vuoi.

Ora *prova* questo (in una cartella nuova!) Non ho testato ma chissa'...
magari funziona.

' ThisWorkbook - Workbook
'
Option Explicit

'Private Const cstrInStrPrinter = "PDFCreator"
Private Const cstrInStrPrinter = "Document"
Private Const cstrDefaultPrinterPropertyName = "DefaultPrinter"

Private mstrDefaultPrinter As String

Public Property Get DefaultPrinterString() As String
DefaultPrinterString = mstrDefaultPrinter
End Property

Private Function GetDefaultPrintersList(ByVal InStrPrinter _
As String) As Variant
On Error GoTo ErrorHandler
Const cstrDelim = ","


Dim wshNetwork As Object ' IWshRuntimeLibrary.WshNetwork
Dim wshCollection As Object ' IWshRuntimeLibrary.WshCollection
Dim wshItem As Variant
Dim strPrinter As String

Set wshNetwork = CreateObject("WScript.Network") _


' New IWshRuntimeLibrary.WshNetwork
Set wshCollection = wshNetwork.EnumPrinterConnections
For Each wshItem In wshCollection
Debug.Print wshItem
If InStr(1, wshItem, cstrInStrPrinter, vbTextCompare) Then

strPrinter = strPrinter & wshItem & cstrDelim


End If
Next
If Len(strPrinter) Then

strPrinter = Left$(strPrinter _
, Len(strPrinter) - Len(cstrDelim))
End If
GetDefaultPrintersList = Split(strPrinter, cstrDelim)

ExitProcedure:


Set wshCollection = Nothing
Set wshNetwork = Nothing

Debug.Print
Exit Function

ErrorHandler:
GetDefaultPrintersList = CVErr(Err.Number)
Resume ExitProcedure

End Function

Private Sub MsgBoxErr(ByVal e As VBA.ErrObject)
With e
MsgBox "ERR#" & Format$(.Number) _
& vbNewLine & .Description _
, vbExclamation Or vbOKOnly _
, "GetDefaultPrintersList"
End With
End Sub

Public Function PrinterExists(ByVal PrinterString _
As String) As Boolean


Dim wshNetwork As Object ' IWshRuntimeLibrary.WshNetwork
Dim wshCollection As Object ' IWshRuntimeLibrary.WshCollection
Dim wshItem As Variant

Dim blnReturn As Boolean

Set wshNetwork = CreateObject("WScript.Network") _
' New IWshRuntimeLibrary.WshNetwork
Set wshCollection = wshNetwork.EnumPrinterConnections
For Each wshItem In wshCollection

If StrComp(wshItem, PrinterString, vbTextCompare) = 0 Then
blnReturn = True


Exit For
End If
Next

ExitProcedure:
PrinterExists = blnReturn


Set wshCollection = Nothing
Set wshNetwork = Nothing

Exit Function

ErrorHandler:
blnReturn = False
Resume ExitProcedure

End Function

Public Property Get PropertyDefaultPrinter() As String
Dim cdps As Office.DocumentProperties
Dim cdp As Office.DocumentProperty

On Error Resume Next
Set cdps = Me.CustomDocumentProperties
Set cdp = cdps.Item(cstrDefaultPrinterPropertyName)
PropertyDefaultPrinter = cdp.Value

Set cdp = Nothing
Set cdps = Nothing
End Property
Public Property Let PropertyDefaultPrinter(ByVal NewValue As String)
On Error GoTo ErrorHandler
Dim cdps As Office.DocumentProperties
Dim cdp As Office.DocumentProperty

Set cdps = Me.CustomDocumentProperties
Set cdp = cdps.Item(cstrDefaultPrinterPropertyName)
cdp.Value = NewValue

ExitProcedure:
Exit Property

ErrorHandler:
Set cdp = cdps.Add(cstrDefaultPrinterPropertyName _
, LinkToContent:=False _
, Type:=msoPropertyTypeString _
, Value:=NewValue)
Resume ExitProcedure

End Property

Public Sub SetDefaultPrinter()
On Error GoTo ErrorHandler
Const xlInputBoxNumericType As Long = 1
Const cstrDelim = vbNewLine
Dim vntPrintersList As Variant
Dim vntItem As Variant
Dim strPrompt As String
Dim i As Long
Dim lngChoice As Long

mstrDefaultPrinter = Me.PropertyDefaultPrinter
If PrinterExists(mstrDefaultPrinter) Then Exit Sub

vntPrintersList = GetDefaultPrintersList(cstrInStrPrinter)
If IsError(vntPrintersList) Then
Err.Raise CLng(vntPrintersList)
Else
Select Case UBound(vntPrintersList)
Case -1
mstrDefaultPrinter = Me.Application.ActivePrinter
MsgBox "Stampante di tipo" _


& " '" & cstrInStrPrinter & "'" _

& " non trovata." _
& vbNewLine & "Verra' usata la stampante:" _
& vbNewLine & Me.DefaultPrinterString _
, vbCritical Or vbOKOnly
Case 0
mstrDefaultPrinter = vntPrintersList(0)
Case Else
For Each vntItem In vntPrintersList
i = i + 1
strPrompt = strPrompt _
& CStr(i) & ". " & vntItem & cstrDelim
Next
If Len(strPrompt) Then
strPrompt = Left$(strPrompt _
, Len(strPrompt) - Len(cstrDelim))
End If
strPrompt = "Trovata piu' di una stampante di tipo" _
& " '" & cstrInStrPrinter & "'." _
& vbNewLine & "Scegli fra queste:" _
& vbNewLine & strPrompt
lngChoice = 1
Do
lngChoice = Application.InputBox(strPrompt _
, "Scelta stampante" _
, lngChoice _
, Type:=xlInputBoxNumericType)
If 0 <= lngChoice And lngChoice <= 5 Then Exit Do
Loop
If lngChoice Then
mstrDefaultPrinter = vntPrintersList(lngChoice - 1)
Else
mstrDefaultPrinter = Me.Application.ActivePrinter
End If
MsgBox "Verra' usata la stampante:" _
& vbNewLine & Me.DefaultPrinterString _
, vbInformation Or vbOKOnly
End Select
End If
Me.PropertyDefaultPrinter = mstrDefaultPrinter

ExitProcedure:
Exit Sub

ErrorHandler:
MsgBoxErr Err
Resume ExitProcedure

End Sub

Private Sub Workbook_Open()
SetDefaultPrinter

Maurizio Borrelli

unread,
Dec 19, 2007, 12:16:58 PM12/19/07
to
"Maurizio Borrelli" wrote in message
news:OGce4Gm...@TK2MSFTNGP04.phx.gbl:

> "SiNi" wrote in message
> news:e2el7UkQ...@TK2MSFTNGP03.phx.gbl:

Ciao SiNi.

> Ora *prova* questo (in una cartella nuova!) Non ho testato ma chissa'...
> magari funziona.

[...]


> 'Private Const cstrInStrPrinter = "PDFCreator"
> Private Const cstrInStrPrinter = "Document"

[...]

E uno!...

Sostituisci le due righe di codice qui sopra con questa:

Private Const cstrInStrPrinter = "PDFCreator"

--

Maurizio Borrelli

unread,
Dec 19, 2007, 1:09:50 PM12/19/07
to
"Maurizio Borrelli" wrote in message
news:OGce4Gm...@TK2MSFTNGP04.phx.gbl:

> "SiNi" wrote in message
> news:e2el7UkQ...@TK2MSFTNGP03.phx.gbl:

[...]


> Ora *prova* questo (in una cartella nuova!) Non ho testato ma chissa'...
> magari funziona.

[...]

Ciao SiNi.

Forse e' anche opportuno che io precisi che a seguito dell'esecuzione
del codice che ho inviato, che come avrai notato, viene eseguito
all'apertura della Cartella di lavoro, per stampare da codice
potrai/dovrai scrivere una istruzione del tipo:

ActiveWindow.SelectedSheets.PrintOut Copies:=1 _
, ActivePrinter:=ThisWorkbook.DefaultPrinterString _
, Collate:=True

SiNi

unread,
Dec 20, 2007, 3:28:50 AM12/20/07
to
Ciao Maurizio,

>
> Ciao SiNi.
>
> Forse e' anche opportuno che io precisi che a seguito dell'esecuzione del
> codice che ho inviato, che come avrai notato, viene eseguito all'apertura
> della Cartella di lavoro, per stampare da codice potrai/dovrai scrivere
> una istruzione del tipo:
>
> ActiveWindow.SelectedSheets.PrintOut Copies:=1 _
> , ActivePrinter:=ThisWorkbook.DefaultPrinterString _
> , Collate:=True
>
> --
> (Facci sapere se e eventualmente come hai risolto. Grazie.)
>


ho provato la macro, perň solo la prima volta che ho aperto il file mi ha
dato la scelta, e tra l'altro quando ho dato stampa, mi ha stampato sulla
stampante quella di defaut.
Poi ho provato a riavviare il pc, ma non mi ha chiesto piů niente
all'apertura e continua a stamparmi sulla stampante di default, mai sulla
PDFCREATOR.

Mi chiedevo, visto che non sono un genio di vba, ma quello che ho fatto io,
non si potrebbe modificare inserendo come nome stampante il nome PDFCREATOR
senza mettere la porta?
Non dovrebbe funzionare lo stesso?

Ciao e grazie ad entrambi.


SiNi

unread,
Dec 20, 2007, 3:33:54 AM12/20/07
to
Ciao Mauro,

> Ad esempio.
> Nel codice postato da Maurizio,
> al posto dell'ultimo:
> MsgBox strPrompt
> metti:
> Call Stampa(strPrompt)
>
> Poi fai una routine Stampa:
>
> Private Sub Stampa(BYVal s As String)
>
> Dim oldStampante as string
>
> with application
> oldStampante = .activeprinter
> .ActivePrinter = s
> '
> 'Il codice di stampa
> '
> .activeprinter = oldStampante
>
> End sub
>

> Il tuo pulsante chiamerà la routine di Maurizio:


>
> Private Sub Command1_click()
> call test1
> end sub


ho messo su modulo1:


Option Explicit

Public Sub Test1()
Const cstrInStrPrinter = "PDFCreator"

Call Stampa(strPrompt)
Debug.Print

Set wshCollection = Nothing
Set wshNetwork = Nothing
End Sub

--------------

Private Sub Stampa(ByVal s As String)


Dim oldStampante As String
With Application
oldStampante = .ActivePrinter
.ActivePrinter = s
<=== QUI MI DA ERRORE!!!!!!!
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
.ActivePrinter = oldStampante
End With

End Sub

------------------------------------

Su foglio1 nel commandbutton


Private Sub CommandButton1_Click()
Call Test1
End Sub


Come hai visto mi da l'errore su ".ActivePrinter = s".

Grazie per l'aiuto.

SiNi


Maurizio Borrelli

unread,
Dec 20, 2007, 3:24:17 PM12/20/07
to
"SiNi" wrote in message
news:upjVaMuQ...@TK2MSFTNGP03.phx.gbl:

[...]


> > per stampare da codice potrai/dovrai
> > scrivere una istruzione del tipo:
> > ActiveWindow.SelectedSheets.PrintOut Copies:=1 _
> > , ActivePrinter:=ThisWorkbook.DefaultPrinterString _
> > , Collate:=True

[...]
> ho provato la macro, però solo la prima volta che ho aperto il file mi


> ha dato la scelta, e tra l'altro quando ho dato stampa, mi ha stampato
> sulla stampante quella di defaut.

> Poi ho provato a riavviare il pc, ma non mi ha chiesto più niente


> all'apertura e continua a stamparmi sulla stampante di default, mai
> sulla PDFCREATOR.
> Mi chiedevo, visto che non sono un genio di vba, ma quello che ho fatto
> io, non si potrebbe modificare inserendo come nome stampante il nome
> PDFCREATOR senza mettere la porta?
> Non dovrebbe funzionare lo stesso?

Ciao SiNi.

Una cosa per volta.

No, che io sappia non si puo' assegnare a ActivePrinter il nome
stampante senza mettere la porta. Ma, sempre che io sappia, si puo',
senza porta, stampare col metodo PrintOut. Il codice da me postato ha
infatti tale scopo, in risposta alla tua precisa richiesta e nelle
installazioni che ho testato, con Excel 2007 e 2000, funziona come mi
aspettavo. Tuttavia non avendo installato PDFCreator non ho potuto
verificare tale driver in particolare.

In effetti dopo la prima volta che si apre il file l'impostazione
prescelta viene memorizzata in una proprieta' della cartella che ho
chiamato "DefaultPrinter", esistente allo scopo di non richiedere ogni
volta la stessa cosa. Per cui e' sufficiente eliminare tale proprieta'
perche' la richiesta venga riproposta.

Forse questa impostazione non corrisponde alle tue reali esigenze che
pero' non mi pare tu abbia dettagliato compiutamente. Vuoi provare a
esporle nuovamente e precisamente?

--
(Facci sapere se e eventualmente come hai risolto. Grazie.)

Ciao :o) Microsoft MVP (Excel)

SiNi

unread,
Dec 21, 2007, 11:00:09 AM12/21/07
to
Ciao Maurizio,

> Ciao SiNi.
>
> Una cosa per volta.
>
> No, che io sappia non si puo' assegnare a ActivePrinter il nome stampante
> senza mettere la porta. Ma, sempre che io sappia, si puo', senza porta,
> stampare col metodo PrintOut. Il codice da me postato ha infatti tale
> scopo, in risposta alla tua precisa richiesta e nelle installazioni che ho
> testato, con Excel 2007 e 2000, funziona come mi aspettavo. Tuttavia non
> avendo installato PDFCreator non ho potuto verificare tale driver in
> particolare.
>
> In effetti dopo la prima volta che si apre il file l'impostazione
> prescelta viene memorizzata in una proprieta' della cartella che ho
> chiamato "DefaultPrinter", esistente allo scopo di non richiedere ogni
> volta la stessa cosa. Per cui e' sufficiente eliminare tale proprieta'
> perche' la richiesta venga riproposta.
>
> Forse questa impostazione non corrisponde alle tue reali esigenze che
> pero' non mi pare tu abbia dettagliato compiutamente. Vuoi provare a
> esporle nuovamente e precisamente?


Tento di spiegarti la cosa.
A me interessa che premendo un commandbutton si stampi il foglio excel o i
vari fogli excel selezionati tramite linguetta.
Per esempio:
Posso stampare solo il fogli1 se premo sul commandbutton del foglio1,
oppure
stampare foglio1, foglio2 e foglio3 sempre dal commandbutton del foglio1 se
seleziono con il mouse i fogli 2 e 3.
Quando stampo (uno o tutti o a scelta di questi fogli), devo stamparli con
la stampante virtuale creata da PDFCREATOR
(http://sourceforge.net/projects/pdfcreator/).

Ecco il tutto.

Spero di essermi spiegato meglio con questi esempi.

Grazie a tutti.

SiNi


Maurizio Borrelli

unread,
Dec 21, 2007, 11:31:41 AM12/21/07
to
"SiNi" wrote in message
news:u#yDQt#QIHA...@TK2MSFTNGP03.phx.gbl:

[...]


> Tento di spiegarti la cosa.
> A me interessa che premendo un commandbutton si stampi il foglio excel o
> i vari fogli excel selezionati tramite linguetta.
> Per esempio:
> Posso stampare solo il fogli1 se premo sul commandbutton del foglio1,
> oppure stampare foglio1, foglio2 e foglio3 sempre dal commandbutton del foglio1
> se seleziono con il mouse i fogli 2 e 3.
> Quando stampo (uno o tutti o a scelta di questi fogli), devo stamparli
> con la stampante virtuale creata da PDFCREATOR
> (http://sourceforge.net/projects/pdfcreator/).
> Ecco il tutto.
> Spero di essermi spiegato meglio con questi esempi.

Ciao SiNi.

Tentantivo miseramente fallito! :( Ritenta. E sai perche'?... Perche'
per fare cio' che descrivi non hai bisogno proprio di programmare nulla
di diverso da quello che gia' hai fatto, a quanto pare con successo,
prima della tua richiesta al newsgroup.

Da cosa e' scaturita, invece, la tua richiesta? Dal fallimento del tuo
lavoro quando la stessa operazione hai provato a farla aprendo quel file
su altri computer con diverse impostazioni di stampante da quella in uso
sul tuo pc. Giusto? Allora e' di questo che devi parlarci!

(1) C'e' un solo file, aperto da piu' computer? (2) Ci sono tante copie
del file, inizialmente identiche, che poi verranno autonomamente aperte
da ciascun compuer? Ecc.

Per esempio il codice postato da me e' fatto per una situazione del tipo
(2), quella che ho immaginato fosse la tua. Per favore... fa' in modo
che noi non si debba immaginare e raccontaci tu, *esattamente*, come
stanno le cose.

Buone Feste e Prospero Anno 2008.

casanmaner

unread,
Dec 21, 2007, 12:36:03 PM12/21/07
to
A proposito di PDFCreator qualcuno ha letto (tradotto) le condizioni d'uso
del programma. Io purtroppo non conosco l'inglese e faccio molta fatica a
comprendere le condizioni.
In particolare vorrei sapere se, in base alle condizioni di uso di
PDFCreator, sia possibile creare un'applicazione (in excel)
commercializzata che utilizzi PDFCreator per alcune fasi di stampa.
Le condizione sarebbe del tipo:
"Carto utente che hai acquistato questa cartella di lavoro excel se vuoi che
alcune stampe di questa applicazone avvengano con la creazione automatica di
un PDF vai sul sito http://sourceforge.net/projects/pdfcreator/, scarica il
programma PDFCreator e installalo."
Vi risulta che sia fattibile in base alle condizioni d'uso di PDFCreator?

Grazie e ciao


SiNi

unread,
Dec 22, 2007, 4:57:53 AM12/22/07
to
Ciao Maurizio.

> (1) C'e' un solo file, aperto da piu' computer? (2) Ci sono tante copie
> del file, inizialmente identiche, che poi verranno autonomamente aperte da
> ciascun compuer? Ecc.
>
> Per esempio il codice postato da me e' fatto per una situazione del tipo
> (2), quella che ho immaginato fosse la tua. Per favore... fa' in modo che
> noi non si debba immaginare e raccontaci tu, *esattamente*, come stanno le
> cose.
>
> Buone Feste e Prospero Anno 2008.


La situazione rientra nel caso 1.
Cioè lo stesso file verrà aperto da computer diversi.
Quindi il file si trova in una cartella condivisa presente in un pc e tutti
i pc "pescheranno" quel file.

Nel frattempo colgo l'occasione per farti (e farvi) i miei più sinceri
auguri di Buon Natale!


SiNi


Maurizio Borrelli

unread,
Dec 22, 2007, 8:04:48 AM12/22/07
to
"SiNi" wrote in message
news:#MZMfHIR...@TK2MSFTNGP05.phx.gbl:

> > (1) C'e' un solo file, aperto da piu' computer?

[...]


> La situazione rientra nel caso 1.
> Cioè lo stesso file verrà aperto da computer diversi.
> Quindi il file si trova in una cartella condivisa presente in un pc e
> tutti i pc "pescheranno" quel file.

Ciao SiNi.

Ok. A me aveva tratto in inganno cio' che scrivevi nel post iniziale:

"Il problema sta nel fatto che questo file devo passarlo ad altri
colleghi"

Quel "passare" non mi aveva fatto pensare a una situazione di rete.
Quindi il file e' in rete, disponbile a tutti quelli che vi hanno
accesso.

Prima ipotesi. Prova a sperimentare cosa succede se invece di:

ActiveWindow.SelectedSheets.PrintOut Copies:=1 _
, ActivePrinter:="PDFCreator su Ne00:" _
, Collate:=True

scrivi:

ActiveWindow.SelectedSheets.PrintOut Copies:=1 _
, ActivePrinter:="PDFCreator" _
, Collate:=True

Io credo dovresti poter stampare. Almeno nelle prove che ho fatto io
stampo. Ripeto... Io NON ho installato PDFCreator e le prove le ho fatte
con la stampante "Microsoft Office Document Image Writer". Usando il
solo nome stampante *senza* l'aggiunta della porta (es.: " su Ne00:").

SiNi

unread,
Dec 27, 2007, 2:30:50 AM12/27/07
to
Ciao Maurizio,

> Prima ipotesi. Prova a sperimentare cosa succede se invece di:
>
> ActiveWindow.SelectedSheets.PrintOut Copies:=1 _
> , ActivePrinter:="PDFCreator su Ne00:" _
> , Collate:=True
>
> scrivi:
>
> ActiveWindow.SelectedSheets.PrintOut Copies:=1 _
> , ActivePrinter:="PDFCreator" _
> , Collate:=True


Ti ringrazio!
Funziona tutto a dovere!!!
Avevo provato anch'iocosi, cioč togliendo "su Ne00:", ma nonaveva
funzionato.
Cmq ora tutto ok!
Grazie ancora e buone feste!

SiNi


Maurizio Borrelli

unread,
Jan 5, 2008, 12:02:23 AM1/5/08
to
"SiNi" wrote in message
news:e$xDqsFSI...@TK2MSFTNGP02.phx.gbl:

[...]


> Ti ringrazio!
> Funziona tutto a dovere!!!

> Avevo provato anch'iocosi, cioè togliendo "su Ne00:", ma nonaveva


> funzionato.
> Cmq ora tutto ok!

Ciao SiNi.

Son contento. Grazie per essere tornato a riferire.

--
Maurizio Borrelli [MVP]
http://www.riolab.org


0 new messages