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]

Rispondere a