Bruno ABRATANSKI | 15 Apr 17:42
Picon

Fenêtre de séparateur d'enreg

Je ne m'en sors pas avec xray et uno:paste car je ne peux pas l'integrer dans mon code.
Quelqu'un pourrait me dire si un parametre permet d'éviter la fenetre de séparateur svp..
 
merci
 

Bruno ABRATANSKI

Bernard Marcelly | 15 Apr 20:32
Picon
Favicon

Re: Fenêtre de séparateur d'enreg

Message de Bruno ABRATANSKI  date 2008-04-15 17:46 :
> 
> Je ne m'en sors pas avec xray et uno:paste car je ne peux pas l'integrer 
> dans mon code.
> Quelqu'un pourrait me dire si un parametre permet d'éviter la fenetre de 
> séparateur svp..
>  

Bonjour,
Je ne pense pas que ce soit possible.
Uno:Paste ne fait que l'équivalent de Editer > Coller.

> Je viens de passer en Oo 2.4 et surprise quand je fais un coller à l'aide des instructions ci-dessous, j'ai
une fenetre de séparateur qui s'affiche alors qu'en Oo 2.3 ce n'était pas le cas

Je viens de vérifier que la réaction d'OpenOffice à la copie d'un texte 
en CSV est identique en 2.3.1 et en 2.4.0 : le panneau d'importation 
s'affiche.

Par contre en 1.1.5 le texte du fichier CSV est copié, sans 
interprétation, en cellules successives, une cellule par ligne de texte.

Si ton problème est de faire comme en 1.1.5, il faudrait récupérer le 
texte de chaque ligne et le stocker dans une cellule.
  maCellule.String = la ligne

    Bernard
Francois Gatto | 16 Apr 08:53

Re: Fenêtre de séparateur d'enreg

Bonjour,

Peut-être pourrais-tu ne pas procéder à un copier/coller,
mais lire directement ton csv et l'intégrer dans la feuille.

Voici une idée de traitement

sub load_csv
	call csv2sheet( thisComponent.Sheets( 0 ), 
"/home/francois/Documents/csvTAB.csv" )
end sub

sub csv2sheet( oSheet as object, csvfile as string )
	dim fileNumber as integer
	dim ligne as long
	dim colonne as long
	dim aLine as variant
	dim decomposition as variant
	
	fileNumber = Freefile()
	open csvfile for input as fileNumber
	ligne = 0
	
	while not eof( #fileNumber )
		line input #fileNumber, aLine
		
		'chr( 9 ) ==> code ascii tabulation
		decomposition = split( aLine, chr( 9 ) )
		for colonne = 0 to ubound( decomposition )
			if isNumeric( decomposition( colonne ) ) then
				oSheet.getCellByPosition( colonne, ligne ).value = decomposition( 
colonne )
			else
				oSheet.getCellByPosition( colonne, ligne ).string = decomposition( 
colonne )
			end if
		next colonne
		ligne =  ligne + 1
	wend
	
	close #fileNumber
end sub

Bonne chance.

Francois Gatto

Bruno ABRATANSKI a écrit :
> Je ne m'en sors pas avec xray et uno:paste car je ne peux pas l'integrer 
> dans mon code.
> Quelqu'un pourrait me dire si un parametre permet d'éviter la fenetre de 
> séparateur svp..
>  
> merci
>  
> 
> *Bruno ABRATANSKI**
> 
> *
> 
bruno abratanski | 16 Apr 10:46
Picon

Re: Fenêtre de séparateur d'enreg

Je m'en suis sorti autrement.

J'affecte mon texte dans une tableau et je le transfère dans une palge de
cellule sélectionnée auparavant avec :

:oPlageCellules>>DataArray = lTablo

Gmane