PDA

View Full Version : [VBA] Stampa file ma senza stampare pulsante


ajalro
31-03-2008, 12:55
Mi spiego meglio...

ho un foglio in cui ho creato un pulsante e vorrei fare in modo che quando viene lanciata la stampa del foglio venga stampato tutto ma non il pulsante; quindi il pulsante è visibile a video, ma non quando il foglio viene stampato, è possibile?

Grazie...

ps: non è un pulsante che lancia la stampa

MarcoGG
31-03-2008, 13:38
C'è un'opzione apposta :
puoi rendere NON-Stampabile un CommandButton cliccandoci di destro / Formato Controllo / Proprietà / Stampa Oggetto... ;)

ajalro
31-03-2008, 13:43
purtroppo ho tralasciato una info che mi sono accorto fondamentale... sto lavorando in un foglio word...

e facendo come hai detto tu, in formato controllo del commandbutton non c'è menzione della stampa... mi ci sto impazzendo...

altre idee?

MarcoGG
31-03-2008, 14:11
Cazzarola, c'hai ragione ! :eek:
Questa è una novità anche per me... Proverò ad escogitare qualcosa... :wtf:

ajalro
31-03-2008, 14:21
Sì, grazie... non sono un esperto e le mie cartucce le ho già provate tutte, fammi sapere please...

nel frattempo, hai idee su quest'altra cosa?
http://www.hwupgrade.it/forum/showthread.php?t=1712891

thanks..

MarcoGG
01-04-2008, 10:00
Allora quella che ti propongo è forse anche la mia ultima cartuccia... ( non uso MAI Word come "motore" di un progetto VBA, perchè offre forse il peggior supporto VBA di tutto il pacchetto Office... ).
In Excel-VBA ho trovato almeno 3 modi diversi per non stampare i pulsanti...

Come fare : ti fai 2 pulsantini ( tipo 16x16 ), magari bianchi, da mettere in un angolo del tuo documento. Non credo sia la fine del mondo se vengono stampati... Sennò, falli ancora + piccoli...

Nome pulsantino1 : cmdMostra
Nome pulsantino2 : cmdNascondi

Ora, dato che in Word non puoi referenziare via Vba un oggetto OLEObject ( almeno io non ci sono riuscito... ) dovremo lavorare di Shapes... Perciò :

- click di destro sui 2 pulsantini / Formato Controllo / Web / Testo Alternativo :

Testo Alternativo pulsantino1 : MOSTRA
Testo Alternativo pulsantino2 : NASCONDI

Codici dei pulsanti :

Private Sub cmdMostra_Click()

Dim pulsante As Shape
For Each pulsante In ThisDocument.Shapes
'Restringo la ricerca ai soli pulsanti...
If Left(pulsante.Name, 7) = "Control" Then
If pulsante.AlternativeText <> "NASCONDI" And pulsante.AlternativeText <> "MOSTRA" Then
'pulsante.Visible = msoTrue
pulsante.Width = 200
pulsante.Height = 100
End If
End If
Next

End Sub

Dimensioni in Rosso da sostituire con le dimensioni originarie desiderate...

Private Sub cmdNascondi_Click()

Dim pulsante As Shape
For Each pulsante In ThisDocument.Shapes
'Restringo la ricerca ai soli pulsanti...
If Left(pulsante.Name, 7) = "Control" Then
If pulsante.AlternativeText <> "NASCONDI" And pulsante.AlternativeText <> "MOSTRA" Then
'pulsante.Visible = msoFalse
pulsante.Height = 0
pulsante.Width = 0
End If
End If
Next

End Sub

Le parti commentate in verde, sarebbe bello se funzionassero correttamente ( in Word hanno un funzionamento inaspettato e scorretto - in Excel funzionano perfettamente )... Prova...