[Risolto] Macro apre Form Dati
-
- Messaggi: 19
- Iscritto il: giovedì 25 agosto 2016, 12:14
[Risolto] Macro apre Form Dati
Buongiorno,
Avrei bisogno del vostro preziosissimo Aiuto per scrivere una macro che non riesco a realizzare con il registratore:
In un foglio Calc c'è la possibiltà di aprire una Form dal menu Dati per gestire I dati esistenti in una tabella all'interno dello stesso foglio.
Ho provato, nella mia totale ignoranza ...di registrare una macro che comandasse l'apertura della macro da un semplice pulsante, ma senza riuscirci.
Pensate che sia possibile?, in Excel avevo trovato qualcosa di simile, però vorrei lavoare co OO per mille motivi.
Vi ringrazio in anticipo del vostro preziosissimo aiuto
A presto
Avrei bisogno del vostro preziosissimo Aiuto per scrivere una macro che non riesco a realizzare con il registratore:
In un foglio Calc c'è la possibiltà di aprire una Form dal menu Dati per gestire I dati esistenti in una tabella all'interno dello stesso foglio.
Ho provato, nella mia totale ignoranza ...di registrare una macro che comandasse l'apertura della macro da un semplice pulsante, ma senza riuscirci.
Pensate che sia possibile?, in Excel avevo trovato qualcosa di simile, però vorrei lavoare co OO per mille motivi.
Vi ringrazio in anticipo del vostro preziosissimo aiuto
A presto
Ultima modifica di charlie il venerdì 18 novembre 2016, 17:05, modificato 6 volte in totale.
Motivazione: Inserito Risolto e spunta verde
Motivazione: Inserito Risolto e spunta verde
Andrea
OpenOffice 4.1.0
W7
OpenOffice 4.1.0
W7
Re: Macro apre Form Dati
Con il registratore di macro non andrai lontano, esiste un'estensione che dovrebbe andare bene a quello che ti serve
http://extensions.openoffice.org/en/project/dataform
Se utilizzi Libreoffice è già presente andando du Dati - Formulario
Ciao
http://extensions.openoffice.org/en/project/dataform
Se utilizzi Libreoffice è già presente andando du Dati - Formulario
Ciao
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
-
- Messaggi: 19
- Iscritto il: giovedì 25 agosto 2016, 12:14
Re: Macro apre Form Dati
Ciao,
Prima di tutto grazie per l'interessamento e per la rapida risposta.
però mi sono spiegato male.
Io utilizzo già quella Form attivabile con l'estensione che mi ahai inviato, voglio solo automatizzarne l'apertura con un commando dedicato, in quanto l'utente che utilizzerà l'applicazione non deve avere accesso alla barra degli strumenti.
Prima di tutto grazie per l'interessamento e per la rapida risposta.
però mi sono spiegato male.
Io utilizzo già quella Form attivabile con l'estensione che mi ahai inviato, voglio solo automatizzarne l'apertura con un commando dedicato, in quanto l'utente che utilizzerà l'applicazione non deve avere accesso alla barra degli strumenti.
Andrea
OpenOffice 4.1.0
W7
OpenOffice 4.1.0
W7
[Risolto] Macro apre Form Dati
Buongiorno a tutti e scusatemi per l'intromissione ma anch'io ero interessato a risolvere il problema posto da Andrea.
All'inizio pensavo che il problema fosse nella libreria dell'estensione poiché lanciando il "Form" da "Esegui Macro", quest'ultima veniva eseguita correttamente mentre associandola ad un pulsante restituiva come errore "oFoglio = oRange.getSpreadSheet".
Allora ho provato a trasportare tutta la libreria da "Macro di OpenOffice.org" al mio foglio, di cui allego file per eventuali test "Lavorare con i dialoghi", però non ho ottenuto alcun risultato; forse agendo sull'errore sopraccitato si riesca a raggiungere il nostro scopo.
E' possibile avere un vostro intervento ?
grazie
All'inizio pensavo che il problema fosse nella libreria dell'estensione poiché lanciando il "Form" da "Esegui Macro", quest'ultima veniva eseguita correttamente mentre associandola ad un pulsante restituiva come errore "oFoglio = oRange.getSpreadSheet".
Allora ho provato a trasportare tutta la libreria da "Macro di OpenOffice.org" al mio foglio, di cui allego file per eventuali test "Lavorare con i dialoghi", però non ho ottenuto alcun risultato; forse agendo sull'errore sopraccitato si riesca a raggiungere il nostro scopo.
E' possibile avere un vostro intervento ?
grazie
- Allegati
-
- Lavorare con i dialoghi.ods
- (27.45 KiB) Scaricato 278 volte
Ultima modifica di sanraff il venerdì 18 novembre 2016, 14:13, modificato 2 volte in totale.
OpenOffice 3.3 SU WINDOWS 7
Re: Macro apre Form Dati
è la prima volta che mi capita una domanda del genere, quindi ne faccio una io a voi: quale vantaggio c'è a lavorare in questo modo ? mi sembra più semplice inserire i dati nel foglio.
comunque basta modificare la macro così
comunque basta modificare la macro così
Codice: Seleziona tutto
Sub coboDataForm()
' Visualizza un modulo dati simile a quello di Excel.
Dim lungFrm, posY, posX as Single
Dim i as Integer
Dim oCtrl, aWidth, maxLblWidth
Dim oCur
initStrLocale ' inizializza la lingua
oRange = thisComponent.getCurrentSelection
oFoglio = oRange.getSpreadSheet
If oRange.Rows.Count = 1 And oRange.Columns.Count = 1 Then
' single cell, expand to current region
oCur = oFoglio.createCursorByRange(oRange)
oCur.collapseToCurrentRegion
oRange = oFoglio.getCellRangeByName(oCur.absoluteName)
End If
If oRange.Rows.Count = 1 Then 'And oRange.Columns.Count = 1 Then
' dati insufficienti per modulo dati, termina
msgbox strLocale(MSGNODATA), 16
Exit Sub
End If
nCols = oRange.getColumns.Count
nRows = oRange.getRows.Count
' ridimensiona array criteri
ReDim arrCriteri(1 to nCols)
' creazione dialog
lungFrm = CTRLS_MARGIN + nCols * (TXT_HEIGHT + CTRLS_MARGIN)
If lungFrm < MIN_HEIGHT_FRM Then lungFrm = MIN_HEIGHT_FRM
' dialog height is already known, set it in the model
oDlg = DlgTool_CreateNewDialog(0, 0, btnWidth, lungFrm, oFoglio.Name)
'*************************************************
'* Campi di controllo variabili relativi al range
posY = CTRLS_MARGIN
posX = 7 ' left margin (pixel)
For i = 1 to nCols
DlgTool_Label(oDlg, 3, posY+2, 71, TXT_HEIGHT, "lblCampo" & i, oRange.getCellByPosition(i-1, 0).getString & ":")
oCtrl = oDlg.getControl("lblCampo" & i)
aWidth = oCtrl.getPreferredSize.Width
oCtrl.setPosSize(posX, 0, aWidth, 0, com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH)
If aWidth > maxLblWidth Then maxLblWidth = aWidth
posY = posY + TXT_HEIGHT + CTRLS_MARGIN
Next
'**************************
'* calcolo larghezza form *
'**************************
Dim newWidth , widthScreen as Integer
newWidth = getMaxTextLen() * FONTSIZE
widthScreen = getScreenWidth() / 3
If newWidth < MINTEXTLEN Then
newWidth = MINTEXTLEN
End If
If newWidth > widthScreen Then
newWidth = widthScreen
End If
'---------------------------
posY = CTRLS_MARGIN
posX = posX + maxLblWidth + 10 ' += widest label + 10 pixel
For i = 1 to nCols
'DlgTool_Text(oDlg, 75, posY, 83, TXT_HEIGHT, "txtCampo" & i, "", "txtCampo")
DlgTool_Text(oDlg, 0,posY,83, TXT_HEIGHT, "txtCampo" & i, "", "txtCampo")
' --
' sposta casella in base alla larghezza della label più larga
oCtrl = oDlg.getControl("txtCampo" & i)
'oCtrl.setPosSize(posX, 0,130, 0, com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH)
'per cambiare la dimensione della casella di testo modificare il valore del terzo parametro
oCtrl.setPosSize(posX, 0, newWidth , 0, com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH)
' --
posY = posY + TXT_HEIGHT + CTRLS_MARGIN
Next
'*************************************************
'* Campi di controllo fissi
'posX = posX + 130 + 10 ' += textbox width + 10 pixel
posX = posX + newWidth + 10 ' += textbox width + 10 pixel
' barra di scorrimento verticale
'DlgTool_Scrollbar(oDlg, -55, CTRLS_MARGIN, 8, lungFrm - (CTRLS_MARGIN * 2), "scrlBarra", com.sun.star.awt.ScrollBarOrientation.VERTICAL)
DlgTool_Scrollbar(oDlg, 0, CTRLS_MARGIN, 8, lungFrm - (CTRLS_MARGIN * 2), "scrlBarra", com.sun.star.awt.ScrollBarOrientation.VERTICAL)
oCtrl = oDlg.getControl("scrlBarra")
oCtrl.Maximum = nRows - 1
oCtrl.setPosSize(posX, 0, 17, 0, com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH)
posX = posX + 17 + 10 ' += scrollbar width + 10 pixel
' label in alto a destra
DlgTool_Label(oDlg, -5, 5, btnWidth, 14, "lblConta", "")
oCtrl = oDlg.getControl("lblConta")
oCtrl.Alignment = com.sun.star.awt.TextAlign.CENTER
oCtrl.setPosSize(posX, 0, btnWidth + 40, 0, com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH)
' pulsante "Nuovo"
DlgTool_Button(oDlg, -5, 17, btnWidth, 14, "btnNuovo", strLocale(CMDNEW))
oCtrl = oDlg.getControl("btnNuovo")
oCtrl.setPosSize(posX, 0, btnWidth + 40, 0, com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH)
' pulsante "Elimina"
DlgTool_Button(oDlg, -5, 35, btnWidth, 14, "btnElimina", strLocale(CMDDELETE))
oCtrl = oDlg.getControl("btnElimina")
oCtrl.setPosSize(posX, 0, btnWidth + 40, 0, com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH)
' pulsante "Ripristina"
DlgTool_Button(oDlg, -5, 54, btnWidth, 14, "btnRipristina", strLocale(CMDRESTORE))
oCtrl = oDlg.getControl("btnRipristina")
oCtrl.Enable = False ' disabilitato
oCtrl.setPosSize(posX, 0, btnWidth + 40, 0, com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH)
' pulsante "Trova prec."
DlgTool_Button(oDlg, -5, 75, btnWidth, 14, "btnPrec", strLocale(CMDFINDPREV))
oCtrl = oDlg.getControl("btnPrec")
oCtrl.setPosSize(posX, 0, btnWidth + 40, 0, com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH)
' pulsante "Trova succ."
DlgTool_Button(oDlg, -5, 93, btnWidth, 14, "btnSucc", strLocale(CMDFINDNEXT))
oCtrl = oDlg.getControl("btnSucc")
oCtrl.setPosSize(posX, 0, btnWidth + 40, 0, com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH)
' pulsante "Criteri"
DlgTool_Button(oDlg, -5, 110, btnWidth, 14, "btnCriteri", strLocale(CMDCRITERIA))
oCtrl = oDlg.getControl("btnCriteri")
oCtrl.setPosSize(posX, 0, btnWidth + 40, 0, com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH)
' pulsante "Chiudi"
DlgTool_Button(oDlg, -5, 133, btnWidth, 14, "btnChiudi", strLocale(CMDCLOSE))
oCtrl = oDlg.getControl("btnChiudi")
oCtrl.setPosSize(posX, 0, btnWidth + 40, 0, com.sun.star.awt.PosSize.X + com.sun.star.awt.PosSize.WIDTH)
'*************************************************
oDlg.setPosSize(0, 0, posX + btnWidth + 50, 0, com.sun.star.awt.PosSize.WIDTH)
scorriRecord(1) ' visualizza campi del primo record
modalita = MODULO ' modalità predefinita all'avvio
inizioEsecuzione = True
DlgTool_Execute(oDlg) ' visualizza il dialog
End Sub
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
-
- Messaggi: 19
- Iscritto il: giovedì 25 agosto 2016, 12:14
[Risolto]Re: Macro apre Form Dati
Bungiorno Patel,
grazie per il tuo interessamento, proverò ad adattare la macro al mio foglio , onestamente pensavo fosse molto più semplice.
Per rispondere alla tua domanda invece bisogna sempre valutare caso per caso. E' vero che per un utente mediamente esperto di un foglio di calcolo è più semplice lavorare sul foglio, se invece parliamo di utenti che non sanno nemmeno cos'è è sicuramente più semplice lavorare su maschere o form con comandi e funzioni automatizzate, da qui la mia richiesta.
Ringrazio ancora tutti coloro che si mettono a disposizione per le tantissime richieste inviate a questo utilissimo Forum.
Buona giornata
grazie per il tuo interessamento, proverò ad adattare la macro al mio foglio , onestamente pensavo fosse molto più semplice.
Per rispondere alla tua domanda invece bisogna sempre valutare caso per caso. E' vero che per un utente mediamente esperto di un foglio di calcolo è più semplice lavorare sul foglio, se invece parliamo di utenti che non sanno nemmeno cos'è è sicuramente più semplice lavorare su maschere o form con comandi e funzioni automatizzate, da qui la mia richiesta.
Ringrazio ancora tutti coloro che si mettono a disposizione per le tantissime richieste inviate a questo utilissimo Forum.
Buona giornata
Andrea
OpenOffice 4.1.0
W7
OpenOffice 4.1.0
W7
Re: Macro apre Form Dati
non c'è bisogno di adattare la macro, basta impostare la tabella sul foglio, poi selezionare una cella della tabella e cliccare sul pulsante
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
-
- Messaggi: 19
- Iscritto il: giovedì 25 agosto 2016, 12:14
Re: [Risolto]Macro apre Form Dati
ok...meglio ancora, grazie
ho chiarito i tuoi dubbi in merito alla mia richiesta?
ho chiarito i tuoi dubbi in merito alla mia richiesta?
Andrea
OpenOffice 4.1.0
W7
OpenOffice 4.1.0
W7
Re: [Risolto]Macro apre Form Dati
certamente, uso il foglio elettronico dai tempi del Simphony e non mi rendo conto delle difficoltà che possono avere i principianti
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
-
- Messaggi: 19
- Iscritto il: giovedì 25 agosto 2016, 12:14
Re: [Risolto]Macro apre Form Dati
Buonasera Andrea, buonasera patel, non so se Andrea ha provato a testare la tua macro, io l'ho fatto e quando provo a lanciarla tramite il pulsante associato, mi restituisce solo la barra del titolo con scritto a sinistra il nome del foglio "sheet1" e a destra la "X" di chiusura.
Per quanto riguarda la tua domanda:
Al di là di quanto già esposto da Andrea, a mio avviso la Microsoft ha capito che il foglio adottato in assoluto da tutti gli utenti, dopo quello della video scrittura è proprio quello di calcolo, infatti non a caso con questo riescono a realizzare anche dei veri e propri database.
Quasi sicuramente, da tutte le richieste che hanno avuto, lo hanno implementato con l'uso del "DataForm", una maschera molto utile per l'immissione e la gestione dei dati.
Secondo il mio modesto parere la comunità di Apache, dovrebbe prendere spunto da queste soluzioni anzi bisognerebbe che incominciasse a lavorare anche sulla sincronizzazione dei fogli di lavoro e a dirla tutta potrebbe iniziare a pensare di lanciare un altro tipo di prodotto costituito da una fusione tra "Calc" e "Base" come lo era una volta per chi de lo ricorda l'applicativo "Works".
Cmq ritornando alla macro proposta, a me non funziona è possibile capire perché, grazie
Per quanto riguarda la tua domanda:
patel ha scritto:è la prima volta che mi capita una domanda del genere, quindi ne faccio una io a voi: quale vantaggio c'è a lavorare in questo modo ? mi sembra più semplice inserire i dati nel foglio.
Al di là di quanto già esposto da Andrea, a mio avviso la Microsoft ha capito che il foglio adottato in assoluto da tutti gli utenti, dopo quello della video scrittura è proprio quello di calcolo, infatti non a caso con questo riescono a realizzare anche dei veri e propri database.
Quasi sicuramente, da tutte le richieste che hanno avuto, lo hanno implementato con l'uso del "DataForm", una maschera molto utile per l'immissione e la gestione dei dati.
Secondo il mio modesto parere la comunità di Apache, dovrebbe prendere spunto da queste soluzioni anzi bisognerebbe che incominciasse a lavorare anche sulla sincronizzazione dei fogli di lavoro e a dirla tutta potrebbe iniziare a pensare di lanciare un altro tipo di prodotto costituito da una fusione tra "Calc" e "Base" come lo era una volta per chi de lo ricorda l'applicativo "Works".
Cmq ritornando alla macro proposta, a me non funziona è possibile capire perché, grazie
OpenOffice 3.3 SU WINDOWS 7
Re: [Risolto]Macro apre Form Dati
Mi ero dimenticato di allegare il file per far fare test, grazie
- Allegati
-
- Lavorare con i dialoghi ver2.ods
- (12.42 KiB) Scaricato 216 volte
OpenOffice 3.3 SU WINDOWS 7
-
- Messaggi: 19
- Iscritto il: giovedì 25 agosto 2016, 12:14
Re: [Risolto]Macro apre Form Dati
ciao a tutti,
Si effettivamente ho provato nuovamente la macro con lo stesso risultato di sanraff, la cosa strana è che quando l'ho provata ieri funzionava, tant'è vero che ho provato ad aggiungere dei campi alla tabella per provare ad adattarla alle mie esigenze.
Si effettivamente ho provato nuovamente la macro con lo stesso risultato di sanraff, la cosa strana è che quando l'ho provata ieri funzionava, tant'è vero che ho provato ad aggiungere dei campi alla tabella per provare ad adattarla alle mie esigenze.
Andrea
OpenOffice 4.1.0
W7
OpenOffice 4.1.0
W7
Re: [Risolto]Macro apre Form Dati
non funziona perché nel nuovo file manca qualcosa, provate questo
- Allegati
-
- dialoghiDaTabella.ods
- (27.64 KiB) Scaricato 201 volte
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
-
- Messaggi: 19
- Iscritto il: giovedì 25 agosto 2016, 12:14
Re: [Risolto]Macro apre Form Dati
Buongiorno ragazzi, anch'io confermo che con il nuovo file la macro funziona, solo che facendo test mi sono accorto che c'è un problema non di poco conto.
Mi spiego e credo di poter parlare anche a nome di Andrea, sempre se ho interpretato bene le sue intenzioni.
Lo scopo di questo "dialogo" era di poter bloccare tutte le celle con pwd per evitare qualsiasi manomissione in fase di visualizzazione e di dare a pochi l'uso del "Dataform" per poter immettere e gestire i dati.
Dai test che ho fatto mi sono accorto che bloccando le celle, cmq non si riesce a fare niente, i dati non vengono né inseriti e né gestiti.
E' possibile avere ancora un vostro aiuto?, in allegato lascio file per fare test, grazie
Piccolo suggerimento: forse sarebbe opportuno per il momento riportare il titolo nella forma normale togliendo il "Risolto" e di rimetterlo quando sarà opportuno.
Mi spiego e credo di poter parlare anche a nome di Andrea, sempre se ho interpretato bene le sue intenzioni.
Lo scopo di questo "dialogo" era di poter bloccare tutte le celle con pwd per evitare qualsiasi manomissione in fase di visualizzazione e di dare a pochi l'uso del "Dataform" per poter immettere e gestire i dati.
Dai test che ho fatto mi sono accorto che bloccando le celle, cmq non si riesce a fare niente, i dati non vengono né inseriti e né gestiti.
E' possibile avere ancora un vostro aiuto?, in allegato lascio file per fare test, grazie
Piccolo suggerimento: forse sarebbe opportuno per il momento riportare il titolo nella forma normale togliendo il "Risolto" e di rimetterlo quando sarà opportuno.
- Allegati
-
- Lavorare con i dialoghi patel.ods
- (29.79 KiB) Scaricato 180 volte
OpenOffice 3.3 SU WINDOWS 7
Re: [Risolto]Macro apre Form Dati
anche questo allegato non funziona
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: [Risolto]Macro apre Form Dati
Il "Risolto" è stato messo da chi ha creato il post e che ha ritenuto risolta la sua problematica, solo successivamente dopo il tuo intervento è stata messa in evidenza la questione dei dati protetti da pw.sanraff ha scritto: Lo scopo di questo "dialogo" era di poter bloccare tutte le celle con pwd per evitare qualsiasi manomissione in fase di visualizzazione e di dare a pochi l'uso del "Dataform" per poter immettere e gestire i dati.
Piccolo suggerimento: forse sarebbe opportuno per il momento riportare il titolo nella forma normale togliendo il "Risolto" e di rimetterlo quando sarà opportuno.
Prova il file in allegato
- Allegati
-
- dialoghiDaTabella_conpassword.ods
- (27.97 KiB) Scaricato 179 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
-
- Messaggi: 19
- Iscritto il: giovedì 25 agosto 2016, 12:14
Re: [Risolto]Macro apre Form Dati
si....non me ne ero accorto che ci sfosse un problema con il blocco password....
se ritenete opportuno tolgo il "RISOLTO"
se ritenete opportuno tolgo il "RISOLTO"
Andrea
OpenOffice 4.1.0
W7
OpenOffice 4.1.0
W7
Re: [Risolto] Macro apre Form Dati
Buongiorno Gaetanopr, grazie per il tuo intervento, però ci tenevo a precisare una cosa da non prendere come una polemica ma come un'osservazione costruttiva, poiché sono una persona che tende sempre a rispettare le regole.
Io nella discussione di questo post sono entrato molto prima di quanto tu dici, si può dire quasi da subito, ( vedi la cronologia ) ed in riferimento alle soluzioni proposte da patel, avendo fatto io i test, mi sono accorto che c'era qualcosa che non andava e mi sembrava corretto segnalarle, come mi sembrava corretto far capire ad Andrea che il "Risolto" va messo solo se effettivamente la soluzione è stata testata e risulta essere funzionante, anche perché mettendomi nei panni di un visitatore, sarebbe opportuno fargli trovare la risoluzione della discussione e non un post ancora in una fase non conclusiva con un "Risolto" portato in evidenza nella barra del titolo; infatti venendo anche al tuo lavoro, facendo test, mi sono accorto che c'è ancora qualcosa che non va, mi spiego.
Fatto premessa sul funzionamento della macro, se io clicco sul pulsante, il dialogo si apre e toglie momentaneamente la pwd per l'immissione e la gestione dei dati, però ho notato che se invece di cliccare sul pulsante "Chiudi", per sbaglio si clicca sulla "X" posta nella barra del titolo, le celle restano sprotette da pwd a rischio di manomissione.
Io ho letto la macro da te postata ed ho visto dove hai posizionato la riga per togliere la pwd però non ho capito coma avviene il suo reinserimento.
E' possibile chiedere gentilmente ancora un vostro intervento?, grazie
Io nella discussione di questo post sono entrato molto prima di quanto tu dici, si può dire quasi da subito, ( vedi la cronologia ) ed in riferimento alle soluzioni proposte da patel, avendo fatto io i test, mi sono accorto che c'era qualcosa che non andava e mi sembrava corretto segnalarle, come mi sembrava corretto far capire ad Andrea che il "Risolto" va messo solo se effettivamente la soluzione è stata testata e risulta essere funzionante, anche perché mettendomi nei panni di un visitatore, sarebbe opportuno fargli trovare la risoluzione della discussione e non un post ancora in una fase non conclusiva con un "Risolto" portato in evidenza nella barra del titolo; infatti venendo anche al tuo lavoro, facendo test, mi sono accorto che c'è ancora qualcosa che non va, mi spiego.
Fatto premessa sul funzionamento della macro, se io clicco sul pulsante, il dialogo si apre e toglie momentaneamente la pwd per l'immissione e la gestione dei dati, però ho notato che se invece di cliccare sul pulsante "Chiudi", per sbaglio si clicca sulla "X" posta nella barra del titolo, le celle restano sprotette da pwd a rischio di manomissione.
Io ho letto la macro da te postata ed ho visto dove hai posizionato la riga per togliere la pwd però non ho capito coma avviene il suo reinserimento.
E' possibile chiedere gentilmente ancora un vostro intervento?, grazie
OpenOffice 3.3 SU WINDOWS 7
Re: [Risolto] Macro apre Form Dati
Ciao sanraff, non importa in che fase sei entrato nella discussione, la questione è semplice Andrea ha richiesto un modo per attivare il Form Dati che non sia quello di andare nel Menu - Dati - Form, in quanto la barra degli strumenti è disabilitata.
Le soluzioni proposte hanno portato ad avviare il Form Dati tramite un pulsante, quindi Andrea ha ritenuto risolta la sua problematica.
L'uso di una finestra di dialogo(io ne uso tante nei miei file) non è esclusivamente fatto per evitare manomissioni nei dati, ma anche per facilitare l'immissione dei dati, per aver un'interfaccia più gradevole rispetto al normale foglio di calcolo.
Comunque le tue osservazioni sono pure giuste specialmente se l'uso della finestra di dialogo viene usata su di un foglio protetto.
Le soluzioni proposte hanno portato ad avviare il Form Dati tramite un pulsante, quindi Andrea ha ritenuto risolta la sua problematica.
L'uso di una finestra di dialogo(io ne uso tante nei miei file) non è esclusivamente fatto per evitare manomissioni nei dati, ma anche per facilitare l'immissione dei dati, per aver un'interfaccia più gradevole rispetto al normale foglio di calcolo.
Comunque le tue osservazioni sono pure giuste specialmente se l'uso della finestra di dialogo viene usata su di un foglio protetto.
Il problema non nasce solo cliccando sulla X che questa la si può disabilitare come ho fatto nel file che riallego, ma nasce anche dalla chiusura della finestra di dialogo tramite il tasto Esc.sanraff ha scritto:....... però ho notato che se invece di cliccare sul pulsante "Chiudi", per sbaglio si clicca sulla "X" posta nella barra del titolo, le celle restano sprotette da pwd a rischio di manomissione....
- Allegati
-
- dialoghiDaTabella_conpassword.ods
- (28.84 KiB) Scaricato 142 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Macro apre Form Dati
Ciao Gaetanopr, in riferimento alla tua oservazione sul tasto "Esc", effettivamente non ci avevo pensato, però in base alla tua esperienza è possibile intervenire in qualche modo?, magari adottando qualche escamotage, hai qualche suggerimento da proporre?.
Concordo con il fatto che le maschere al di là del lato estetico, sono molto utili per l'inserimento e la gestione dei dati, però non sapendo gestire la corretta compilazione delle macro, ho sempre evitato di cimentarmi nell'uso dei "Dialog", però avendo visto questa del "DataForm", mi è sembrato utile approfondire qalche concetto.
Nella tua spiegazione ho letto che tu ne fai molto uso e mi chiedevo, sempre se è possibile e sempre se non ti scoccia, metterne a disposizione qualcuna, magari un pò più semplice oppure più intuitiva che faccia più o meno le stesse cose di questa, in modo da prenderla come spunto didattico.
Spero di non aver osato troppo nella richiesta, un saluto e Grazie di tutto.
Concordo con il fatto che le maschere al di là del lato estetico, sono molto utili per l'inserimento e la gestione dei dati, però non sapendo gestire la corretta compilazione delle macro, ho sempre evitato di cimentarmi nell'uso dei "Dialog", però avendo visto questa del "DataForm", mi è sembrato utile approfondire qalche concetto.
Nella tua spiegazione ho letto che tu ne fai molto uso e mi chiedevo, sempre se è possibile e sempre se non ti scoccia, metterne a disposizione qualcuna, magari un pò più semplice oppure più intuitiva che faccia più o meno le stesse cose di questa, in modo da prenderla come spunto didattico.
Spero di non aver osato troppo nella richiesta, un saluto e Grazie di tutto.
OpenOffice 3.3 SU WINDOWS 7
Re: Macro apre Form Dati
un esempio lo trovi nell'allegato
- Allegati
-
- DialogoEsempio.ods
- (16.55 KiB) Scaricato 182 volte
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Macro apre Form Dati
Buonasera patel, innanzitutto grazie per la dritta che mi hai dato in riferimento all'ultimo post, infatti ho cercato di mettermi subito a lavoro anche se sapevo di battere il capo in qualcosa
Infatti il primo ostacolo l'ho incontrato proprio leggendo la guida in Basic nella sessione "Fogli Elettronici -> Righe e Colonne", poiché in base agli esempi da te forniti, volevo capire come trasferire una parola scritta in un "Campo Testo" su una determinata cella, ( anche perché il mio obbiettivo sarebbe quello di imparare a realizzare dei form come quello proposto nel "DataForm" ).
All'inizio pensavo che entrando nella "Proprietà dell'oggetto", da "dlgF_Finestra1 -> Proprietà " potevo fare una sorta di collegamento tra l'etichetta e la cella, poi avendo visto che non si poteva, ho dato un'occhiata alla guida in Basic, per fare un pò di pratica, infatti ho ricopiato il seguente esempio:
Sub Main
Dim Doc As Object
Dim Sheet As Object
Dim Row As Object
Dim Col As Object
Dim I As Integer
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
For I = 0 To 4
Row = Sheet.Rows(I)
Row.OptimalHeight = True
Next I
Col = Sheet.Columns(1)
Col.IsVisible = False
End sub
e già qui il sistema mi ha restituito due errori uno sulla riga "Doc = StarDesktop.CurrentComponent" poiché non riconosce lo"StarDesktop" e l'altro sulla riga "Sheet = Doc.Sheets(0)" dove mi dice "Variabile dell'oggetto non impostata.
Ho tentato di capire qualcosa sulla spiegazione fornita sul perché lo "StarDesktop" da dei problemi, però non so come rimediare, come pure non so come risolvere la seconda segnalazione in quanto trattandosi di una macro d'esempio, pensavo che funzionasse da subito.
Quindi mi chiedevo se era possibile avere un ulteriore aiuto al fine di mettermi nella condizione di potermi esercitare con queste macro d'esempio e se non chiedo troppo, di spiegarmi come si fa a trasferire un testo da un maschera guida ad una determinata cella, cioè creando una tabella con "Cognome, Nome e data" , come si fa a trasportare i dati nelle celle d'appartenenza riconoscendo le righe vuote da quelle già occupate.
grazie
Infatti il primo ostacolo l'ho incontrato proprio leggendo la guida in Basic nella sessione "Fogli Elettronici -> Righe e Colonne", poiché in base agli esempi da te forniti, volevo capire come trasferire una parola scritta in un "Campo Testo" su una determinata cella, ( anche perché il mio obbiettivo sarebbe quello di imparare a realizzare dei form come quello proposto nel "DataForm" ).
All'inizio pensavo che entrando nella "Proprietà dell'oggetto", da "dlgF_Finestra1 -> Proprietà " potevo fare una sorta di collegamento tra l'etichetta e la cella, poi avendo visto che non si poteva, ho dato un'occhiata alla guida in Basic, per fare un pò di pratica, infatti ho ricopiato il seguente esempio:
Sub Main
Dim Doc As Object
Dim Sheet As Object
Dim Row As Object
Dim Col As Object
Dim I As Integer
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
For I = 0 To 4
Row = Sheet.Rows(I)
Row.OptimalHeight = True
Next I
Col = Sheet.Columns(1)
Col.IsVisible = False
End sub
e già qui il sistema mi ha restituito due errori uno sulla riga "Doc = StarDesktop.CurrentComponent" poiché non riconosce lo"StarDesktop" e l'altro sulla riga "Sheet = Doc.Sheets(0)" dove mi dice "Variabile dell'oggetto non impostata.
Ho tentato di capire qualcosa sulla spiegazione fornita sul perché lo "StarDesktop" da dei problemi, però non so come rimediare, come pure non so come risolvere la seconda segnalazione in quanto trattandosi di una macro d'esempio, pensavo che funzionasse da subito.
Quindi mi chiedevo se era possibile avere un ulteriore aiuto al fine di mettermi nella condizione di potermi esercitare con queste macro d'esempio e se non chiedo troppo, di spiegarmi come si fa a trasferire un testo da un maschera guida ad una determinata cella, cioè creando una tabella con "Cognome, Nome e data" , come si fa a trasportare i dati nelle celle d'appartenenza riconoscendo le righe vuote da quelle già occupate.
grazie
OpenOffice 3.3 SU WINDOWS 7
Re: Macro apre Form Dati
Codice: Seleziona tutto
Sub Main
Doc = ThistComponent
Sheet = Doc.Sheets(0)
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Macro apre Form Dati
Buongiorno patel, in questo fine settimana, ho provato a seguire il tuo consiglio, collegandomi anche al sito da te proposto.
Sinceramente non avendo fatto studi specifici sui linguaggi di programmazione, mi resta molto difficile ottemperare per questa soluzione, poiché mi sono reso conto che si tratta di un livello molto alto; questo però non significa gettare la spugna, ma essendo consapevole dei mie limiti, per imparare mi sembra più opportuno chiedere al forum e crescere con piccoli passi.
Infatti ritornando alle maschere d'inserimento, quello che chiedevo era di insegnarmi a realizzare un dialogo dove all'interno ho un campo testo, un campo per l'immissione di date, un campo per l'immissione di numeri ed un campo alfanumerico, dove una volta inserito i dati, tramite un tasto "inserisci", li avrebbe trascritti all'interno delle celle preposte con la possibilità di incrementare la riga per l'immissione di nuovi dati.
Chiaramente non sapendolo fare, sono andato a riguardarmi il file che ho allegato, dove sono riuscito a capire rispetto all'originale "DataForm", come poter modificare la grandezza del form, la posizione della scrollbar e la posizione dei singoli pulsanti, adattando questi ultimi a piacer mio; mentre non ho capito come è possibile fare la stessa cosa con le etichette ed il rispettivo campo testo associato, cioè li volevo configurare su due o tre colonne in modo da avere una distribuzione più corretta, anziché vederli impostati su un'unica colonna.
Sarebbe possibile avere un aiuto in merito, con la consapevolezza di lasciare inalterate le funzioni del "DataForm" ?, se fosse possibile intervenire in questo modo, avendo constatato che si tratta di un dialog molto completo, potrebbe esser utili anche ad altri del forum
Spero di esser stato chiaro, un grazie in anticipo
.patel ha scritto:è meglio che tu impari il linguaggio, una buona guida con esempi funzionanti è questa http://www.pitonyak.org/oo.php
Sinceramente non avendo fatto studi specifici sui linguaggi di programmazione, mi resta molto difficile ottemperare per questa soluzione, poiché mi sono reso conto che si tratta di un livello molto alto; questo però non significa gettare la spugna, ma essendo consapevole dei mie limiti, per imparare mi sembra più opportuno chiedere al forum e crescere con piccoli passi.
Infatti ritornando alle maschere d'inserimento, quello che chiedevo era di insegnarmi a realizzare un dialogo dove all'interno ho un campo testo, un campo per l'immissione di date, un campo per l'immissione di numeri ed un campo alfanumerico, dove una volta inserito i dati, tramite un tasto "inserisci", li avrebbe trascritti all'interno delle celle preposte con la possibilità di incrementare la riga per l'immissione di nuovi dati.
Chiaramente non sapendolo fare, sono andato a riguardarmi il file che ho allegato, dove sono riuscito a capire rispetto all'originale "DataForm", come poter modificare la grandezza del form, la posizione della scrollbar e la posizione dei singoli pulsanti, adattando questi ultimi a piacer mio; mentre non ho capito come è possibile fare la stessa cosa con le etichette ed il rispettivo campo testo associato, cioè li volevo configurare su due o tre colonne in modo da avere una distribuzione più corretta, anziché vederli impostati su un'unica colonna.
Sarebbe possibile avere un aiuto in merito, con la consapevolezza di lasciare inalterate le funzioni del "DataForm" ?, se fosse possibile intervenire in questo modo, avendo constatato che si tratta di un dialog molto completo, potrebbe esser utili anche ad altri del forum
Spero di esser stato chiaro, un grazie in anticipo
- Allegati
-
- dialoghiDaTabella_conpassword Ver2.ods
- (29.03 KiB) Scaricato 166 volte
OpenOffice 3.3 SU WINDOWS 7
Re: Macro apre Form Dati
Normalmente, vedi esempio che ho allegato in precedenza, si costruisce la finestra di dialogo a nostro piacere e poi si crea il codice per gestirla, nel dataform invece la finestra di dialogo viene creata da codice e per poter adattarsi a qualsiasi tabella viene impostata su una unica colonna.
Intervenire su queso codice è senz'altro possibile, ma molto più difficile (parlo per me) che fare nel modo consueto.
Intervenire su queso codice è senz'altro possibile, ma molto più difficile (parlo per me) che fare nel modo consueto.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Macro apre Form Dati
Ciao patel, il tuo suggerimento io l'ho preso molto in considerazione, solo che purtroppo non avendo nessuna competenza nel saper costruire correttamente una macro, ( esempio: capire come richiamare un servizio, differenza tra oggetto, metodo, variabili e quant'altro ), mi sono subito arenato e per questo avevo chiesto aiuto al forum per insegnarmi
Nel frattempo però ho tentato di studiarmi anche la macro del "DataForm", poiché la considero molto completa, solo sono riuscito a raggiungere una parte del mio scopo.
Tirando le conclusioni, In allegato riporto due file
1) dialoghiDaTabella_conpassword Ver2 dove mi son fermato in questo punto
Spero di esser stato chiaro ed un grazie in anticipo a chi mi darà una mano
Dopodiché avrei cercato di adattarlo alle mie esigenze prendendo spunto da un codice già scritto per implementare l'inserimento di nuovi campi e quant'altro.sanraff ha scritto:a realizzare un dialogo dove all'interno ho un campo testo, un campo per l'immissione di date, un campo per l'immissione di numeri ed un campo alfanumerico, dove una volta inserito i dati, tramite un tasto "inserisci", li avrebbe trascritti all'interno delle celle preposte con la possibilità di incrementare la riga per l'immissione di nuovi dati.
Nel frattempo però ho tentato di studiarmi anche la macro del "DataForm", poiché la considero molto completa, solo sono riuscito a raggiungere una parte del mio scopo.
Tirando le conclusioni, In allegato riporto due file
1) dialoghiDaTabella_conpassword Ver2 dove mi son fermato in questo punto
2) Creare maschere di dialoghi, dove mi sono fermato in questo puntosanraff ha scritto:sono riuscito a capire rispetto all'originale "DataForm", come poter modificare la grandezza del form, la posizione della scrollbar e la posizione dei singoli pulsanti, adattando questi ultimi a piacer mio; mentre non ho capito come è possibile fare la stessa cosa con le etichette ed il rispettivo campo testo associato, cioè li volevo configurare su due o tre colonne in modo da avere una distribuzione più corretta, anziché vederli impostati su un'unica colonna.
Entrambe le soluzioni concorrerebbero a mio avviso ad un buon insegnamento didattico.sanraff ha scritto:quello che chiedevo era di insegnarmi a realizzare un dialogo dove all'interno ho un campo testo, un campo per l'immissione di date, un campo per l'immissione di numeri ed un campo alfanumerico, dove una volta inserito i dati, tramite un tasto "inserisci", li avrebbe trascritti all'interno delle celle preposte con la possibilità di incrementare la riga per l'immissione di nuovi dati.
Spero di esser stato chiaro ed un grazie in anticipo a chi mi darà una mano
- Allegati
-
- dialoghiDaTabella_conpassword Ver2.ods
- (29.03 KiB) Scaricato 151 volte
-
- Creare maschere di dialoghi.ods
- (11.97 KiB) Scaricato 157 volte
OpenOffice 3.3 SU WINDOWS 7
Re: Macro apre Form Dati
la seconda strada è quella giusta, hai creato la maschera, ora si tratta soltanto di gestirla, a questo proposito ti allego un esempio simile funzionante
- Allegati
-
- DialogoOK.ods
- (14.64 KiB) Scaricato 179 volte
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Macro apre Form Dati
Ok, fatto test, però per inserire un testo??
Ho fatto prova, credo di aver impostato correttamente il campo per ricevere testo però mi restituisce zero, inoltre ho notato che dopo l'inserimento i campi del "dialog" restano con le scritte inserite, invece io pensavo che si cancellassero in automatico è possibile capire come si fa??,
Riallego file con modifica, grazie
Ho fatto prova, credo di aver impostato correttamente il campo per ricevere testo però mi restituisce zero, inoltre ho notato che dopo l'inserimento i campi del "dialog" restano con le scritte inserite, invece io pensavo che si cancellassero in automatico è possibile capire come si fa??,
Riallego file con modifica, grazie
- Allegati
-
- DialogoOKver2.ods
- (14.59 KiB) Scaricato 181 volte
OpenOffice 3.3 SU WINDOWS 7