[email protected] ha scritto:
Rieccomi a chiede :-)
ho giracchiato l'archivio delle mail, la guida e leggiucchiato in giro per forum, quello che ho capito è che direttamente in calc non è possibile inserie un pulsante oppure una cella che agisca come tale - Vorrei fare in modo che alterando il contenuto di una cella oppure cliccandoci dentro oppure cliccando sul pulsante (tre operazioni equivalenti) venga aperto un altro file contenente un singolo foglio di calc da stampare. In pratica compilo il mio foglio ed alla fine, in basso, se mi serve un allegato clicco il pulsante e stampo pure quello, senza andare ad aprirmelo a parte.

Spero di essere stato chiaro...
grazie in anticipo per l'aiuto
Angelo
per inserire un pulsate iniziare con:
Visualizza->Barre_degli_strumenti->Controlli_per_formulario
seleziona dalla barra visualizzata il secondo pulsante da sinistra,
dovrebbe essere ModaBozzaOnOff (simbolo Squadra+Matita)
quando si seleziona su On i controlli diventano attivi:

usa il pulsante e disegnalo sul tuo foglio di calc dove ti pare.
Scegli dal menu contestuale del pulsante Campo_controllo
e si visualizzano tutte le caratteristiche del tuo pulsante
ad esempio nella proprieta' didascalia cambia il nome visualizzato del pulsante.

Nelle proprieta' del Campo_controllo scegli Eventi
imposta la macro che ti serve in relazione all'evento che vuoi,
ad esempio tasto_del_mouse_rilasciato.

Ho provato con questa, la prima parte della macro e' per controllare se il file esiste, attenzione la macro viene eseguita tutte le volte che premi il pulsante anche
se la precedente non e' terminata:

per creare la macro:
Strumenti->Macro->Organizza_macro->OpenOffice.org_Basic
decidi se inserirla nel file stesso o se renderla disponibile in OOo.

sub ApriStampa
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim lunghezza as integer
dim nome_file_completo, parametro as string

rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Name"
args1(0).Value = "d:\modelli\ooo\file_da_stampare.ods"
args1(1).Name = "Filter"
args1(1).Value = "Text (encoded)"

nome_file_completo = "soffice.exe -p d:\modelli\ooo\file_da_stampare.ods"

rem il valore 15 sono il numero di caratteri prima del nome file
lunghezza = Len(args1(0).value) - 15
parametro = Right(args1(0).value, lunghezza)
file_completo = ConvertToUrl(nome_file_completo)
If FileExists(args1(0).value) Then
rem MsgBox serve solo se ci sono dei problemi
rem x vedere le variabili che imposti e poi lo commenti con rem
  MsgBox (nome_file_completo + Chr(13) + parametro)
  shell(nome_file_completo,6,parametro,FALSE)
else
MsgBox ("Crea prima il file da stampare" + Chr(13) + nome_file_completo + Chr(13) + parametro)
End If

end sub



--
le nuvole non hanno regole,
perchè non hanno mai rinunciato
alla libertà di sognare.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Rispondere a