in parole povere, una piccola gestione del numero fattura.. ossia, se
la salvo e la stampo mi memorizza il numero e ogni volta che la carico
mi lascia quel numero.. viceversa, se trova il campo vuoto (perche' la
apro per la prima volta) mi incrementa il contatore..
Ho scritto qualcosa che sembra funzionare, lo metto alla fine della mail.
C'è da lavorare sulla posizione in cui viene inserito il TextFrame
quando non esiste nel documento. Nel caso già esista, invece, non ci
dovrebbero essere problemi.
la ciliegina sarebbe che mi proponesse come nome del file
"fattura_nr.contatore"..
Questo non l'ho fatto perchè non son sicuro di come si possa fare...
Ciao!
Emanuele.
'----- Codice ----
Const sGlobalFrameName = "progressivo"
Const sFileName = "file:///c:/prova.txt"
Sub evento_open()
Dim Doc As Object
Dim TextTables As Object
Dim Cursor As Object
Dim Frame As Object
if getFrameNumber = -1 then
Doc = thisComponent
Cursor = Doc.Text.createTextCursor()
Frame = Doc.createInstance("com.sun.star.text.TextFrame")
Doc.Text.insertTextContent(Cursor, Frame, False)
Frame.name = sGlobalFrameName
end if
update()
End Sub
Sub update()
Dim oFrame() as Object
Dim i as integer
Dim n as integer
Dim a as long
Dim iFrameNumber as integer
Dim oFrameCursor as object
Dim oEnum as object
Dim oTextElement as object
n = FreeFile()
Open sFileName For Input As #n
Input #n, a
Close #n
iFrameNumber = getFrameNumber()
if iFrameNumber = -1 then
msgbox "Il frame non esiste, quindi non verrà aggiornato!"
exit sub
end if
oFrame() = ThisComponent.getTextFrames()
oEnum = oFrame(iFrameNumber).Text.createEnumeration
oTextElement = oEnum.nextElement
if oTextElement.String = "" then
oTextElement.String = a
n = FreeFile()
Open sFileName For Output As #n
Write #n, a + 1
Close #n
end if
End Sub
Function getFrameNumber () as integer
Dim oFrame() as object
Dim i as integer
oFrame() = ThisComponent.getTextFrames()
on error goto esciErrore
i = 0
do until oFrame(i).name = sGlobalFrameName
i = i + 1
loop
getFrameNumber = i
Exit Function
esciErrore:
getFrameNumber = -1
End Function
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]