yahoo-pier_andreit ha scritto:
Fabio Fiorentini wrote:
allora, da firefox accedo direttamente al sito che mi interessa con
questo comando:
https://192.168.193.10/cgi-bin/Ottico.exe?fase=riepi&submit=apri+scheda&matricola=02907&password=fresca&anno=2007&mese=08&cognome=
ma se lo faccio da ooo calc, sia come all files che come csv, mi dice
the above file name is invalid
ci ho provato con excel e sia con apri che con dati importa me lo apre
correttamente, (con aprio me lo apre in html con dati importa anche come
testo)
consigli???
quello stesso indirizzo riesco ad aprirlo anche da ooo con un altro pc,
non e' che ooo o windows si segnano che quell'indirizzo non sono
riusciti ad aprirlo una volta (magari per errore ho rifiutato il
certificato o altra stronzata) dove potrei guardare??
prova a svuotare cache e cookie di firefox
ma non vedo come possa influire su calc.
grazie ci provero' (fra un po' di giorni pero' perche' ora non ho
accesso ne al pc ne al file)
invece volevo cominciare a provare ad importare dati da un semplice file
di testo, cosi' da eliminare errori vari dovuti ad altre cause, ho
scritto una macro secondo le vostre preziose istruzioni,
Sub ooo
GlobalScope.BasicLibraries.LoadLibrary("Tools")
DIM array$(20)
'accesso al documento dove devo leggere i dati--
Dim Doclett$ as string
Doclett$ = "file:///home/pla/ooo-dati.txt"
'accesso al documento dove devo inserire i dati---
Dim oDocins as object
oDocins = ThisComponent
'--------------------
'accesso alla tabella dove devo inserire i dati--
Dim oSheetins as object
oSheetins = oDocins.Sheets.GetByName("importato")
'------------------
'accesso alla cella dove devo scrivere i dati
Dim oCellins as object
oCellins = oSheetins.GetCellRangeByName("$A$2")
'-----------------------
oCellins.string = LoadDataFromFile(Doclett$, array$(0))
End Sub
la macro funziona (nel senso che non mi da errore) ma nella cella A2
della tabella importato mi da come risultato "True" e non il valore di
una delle righe come volevo.
consigli??? insulti??? tutto gradito :-)))
ho provato anche con oCellins.string = LoadDataFromFile(Doclett$,
array()) ma niente
e anche con oCellins.value, e mi da come risultato -1
e anche con oCellins.formula, e mi da come risultato 1
ho messo anche
OPTION EXPLICIT all'inizio ma nulla cambia
la formattazione della cella e' standard e ho provato anche con testo
il file /home/pla/ooo-dati.txt e' un semplice documento di testo con 4
righe cosi'
riga1
riga2
riga3
riga4
Con LoadDataFromFile, non sono mai riuscito ad accedere all'array dei dati,
ma con questa funzione che ho copiato da AndrewMacro.pdf,
ho iniziato a progettare quello che mi serve.
(con while sRiga sto cercando dove sono i ';' per poi assegnare il
corretto valore al dato)
ciao
Beppe
sub InsertFile
dim oUcb as object
dim oFile as object
DIM oInputStream as object
dim sNomeFile as STRING
dim sRiga as STRING
Dim oSheet as Object
dim oDate
dim oTime
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
oInputStream = createUnoService("com.sun.star.io.TextInputStream")
sNomeFile = ConvertToUrl("file:////home/prove.csv")
oFile = oUcb.OpenFileReadWrite(sNomeFile)
oInputStream.SetInputStream(oFile.GetInputStream())
sRiga = oInputStream.readLine()
oSheet = ThisComponent.CurrentController.getActiveSheet
while sRiga > ""
sRiga = oInputStream.readLine()
for i = 1 to Len(sRiga)
if (Mid(sRiga, i, 1) = ";") then
msgbox i
endif
next i
ctrl_fine (sRiga)
wend
end sub
rem val alla fine del foglia sulla colonna A all'ultima riga + 1
rem e scrive il valore
sub ctrl_fine ( ByVal sTesto as STRING )
Dim oSheet
Dim oCell
Dim nEndCol As Integer
Dim nEndRow As Integer
oSheet = ThisComponent.Sheets.getByIndex( 0 )
rem see functions below
nEndCol = getLastUsedColumn(oSheet)
nEndRow = getLastUsedRow(oSheet)
REM Then do as you please, e.g.
oCell = oSheet.GetCellByPosition( 0, nEndRow + 1 )
rem x valore data oCell.Value = DateValue(sTesto)
rem x valore testo
oCell.String = sTesto
ThisComponent.CurrentController.Select(oCell)
end sub
rem ultima riga usata nel foglio
Function getLastUsedRow(oSheet) as Integer
Dim oCell
Dim oCursor
Dim oAddress
oCell = oSheet.GetCellbyPosition( 0, 0 )
oCursor = oSheet.createCursorByRange(oCell)
oCursor.GotoEndOfUsedArea(True)
oAddress = oCursor.RangeAddress
GetLastUsedRow = oAddress.EndRow
End Function
rem ultima colonna usata nel foglio
Function getLastUsedColumn(oSheet as Object) as Integer
Dim oCell As Object
Dim oCursor As Object
Dim aAddress As Variant
oCell = oSheet.GetCellbyPosition( 0, 0 )
oCursor = oSheet.createCursorByRange(oCell)
oCursor.GotoEndOfUsedArea(True)
aAddress = oCursor.RangeAddress
GetLastUsedColumn = aAddress.EndColumn
End Function
Non si presenta tanto bene, ma al momento fa quello che mi serve,
cioe' scrive nell'ultima cella del foglio attivo,
--
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]