Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Errata formattazione dei numeri salvando da VBA in formato txt

511 views
Skip to first unread message

Franz Verga

unread,
Oct 28, 2009, 10:24:04 AM10/28/09
to
Ciao a tutti,

ho un problema che non riesco a risolvere. Ho fatto diversi test e
tentativi, ma il risultato è sempre lo stesso:

se salvo un file excel come txt (delimitato da tabulazione) da
programma, il risultato è corretto: i numeri hanno la virgola per i
decimali ed il punto per le migliaia.

Se, invece, utilizzo una macro ho sempre ed invariabilmente il punto
come separatore decimali e la virgola per le migliaia.

Non so proprio come risolvere.

Ecco il codice completo (il salvataggio fa parte di una macro di più
ampio respiro: apre dei file, fa la somma dei valori in colonna E e
copia tale valore nel foglio di riepilogo accanto al nome del file,
salva i vari file come txt).

--
Spero che mi possiate essere d'aiuto.


Vi ringrazio anticipatamente.


Ciao


Franz Verga

Mauro Gamberini

unread,
Oct 28, 2009, 10:36:56 AM10/28/09
to
Ecco il codice completo (il salvataggio fa parte di una macro di pi�

ampio respiro: apre dei file, fa la somma dei valori in colonna E e
copia tale valore nel foglio di riepilogo accanto al nome del file,
salva i vari file come txt).
***********************************************

Ma sei il mio(nostro) Franz?
Se s�, bevi meno birra e posta
il codice!
;-)

--
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/officeit/threads

Franz Verga

unread,
Oct 28, 2009, 10:50:42 AM10/28/09
to
On 28 Ott, 15:36, "Mauro Gamberini"
<maurogscRIMUOV...@RIMUOVEREaliceposta.it> wrote:
> Ecco il codice completo (il salvataggio fa parte di una macro di più

> ampio respiro: apre dei file, fa la somma dei valori in colonna E e
> copia tale valore nel foglio di riepilogo accanto al nome del file,
> salva i vari file come txt).
> ***********************************************
>
> Ma sei il mio(nostro) Franz?

Genau... (vuol dire "esattamente" in lingua germanica...)


> Se sì, bevi meno birra e posta
> il codice!
> ;-)

ero convinto di averlo incollato...

eccolo

Sub SummaryFile()
'
' This macro create a summary file from a directory
' based on the names of files that are in column A
'
Dim SourceFile As Workbook
Dim Summary As Workbook
Dim WbName As String
Dim SumAct As Double
Dim SumBdg As Double
Dim i As Integer
Dim x As String
Dim NumFile As Integer
Dim Direct As String
Dim primofile As String

Application.ScreenUpdating = False


Set Summary = ActiveWorkbook

NumFile = Cells(Rows.Count, 1).End(xlUp).Row

primofile = Application.GetOpenFilename(, , _
"select a file from the folder to be summarized")

Direct = ExtractPathName(primofile)

For i = 1 To NumFile


WbName = Cells(i, 1).Value

x = Direct & "\" & WbName

Workbooks.Open Filename:=x


Set SourceFile = ActiveWorkbook


SumAct = WorksheetFunction.Sum(Range("e:e"))


Summary.Activate

With Cells(i, 2)

.Value = SumAct
.NumberFormat = "#,##0.00"
End With

SourceFile.SaveAs Filename:=Left(SourceFile.Name, Len
(SourceFile.Name) - 3) & "txt", _
FileFormat:=xlText, CreateBackup:=False

SourceFile.Close SaveChanges:=False


Next i


Application.ScreenUpdating = True

End Sub

>
> --
> ---------------------------
> Mauro Gamberinihttp://www.riolab.org/http://www.maurogsc.eu/http://social.microsoft.com/Forums/it-IT/officeit/threads

Bruno Campanini

unread,
Oct 28, 2009, 11:41:28 AM10/28/09
to
"Franz Verga" <fra...@inwind.it> wrote in message
news:f4f15a1b-b72a-4cc3...@l2g2000yqd.googlegroups.com...

> ero convinto di averlo incollato...
>
> eccolo
>
> Sub SummaryFile()
> '
> ' This macro create a summary file from a directory
> ' based on the names of files that are in column A

Allora i file li prende da una directory (unnamed?)
o da un elenco di file in col. A?

[...]
> Direct = ExtractPathName(primofile)
Questa manca!

[...]


> Next i
>
>
>
>
> Application.ScreenUpdating = True

C'� un motivo estetico-esoterico-profilattico per cui
fra una riga di codice e l'altra frapponi financo 4 interlinee?
Stai emulando Fantozzi'

Ciao, ben risentito e... vacci piano con la birra.

Bruno

Franz Verga

unread,
Oct 28, 2009, 12:12:01 PM10/28/09
to
On 28 Ott, 16:41, "Bruno Campanini" <B...@gmail.com> wrote:
> "Franz Verga" <fra6...@inwind.it> wrote in message

>
> news:f4f15a1b-b72a-4cc3...@l2g2000yqd.googlegroups.com...
>
> > ero convinto di averlo incollato...
>
> > eccolo
>
> > Sub SummaryFile()
> > '
> > ' This macro create a summary file from a directory
> > ' based on the names of files that are in column A
>
> Allora i file li prende da una directory (unnamed?)
> o da un elenco di file in col. A?

i nomi dei file sono in colonna A, mentre vado a recuperare la
directory con la funzione (che oltretutto non è farina del mio sacco
ma di J Walkenbach (non sono sicuro sia la grafia giusta...) che
mancava... :-)

>
> [...]> Direct = ExtractPathName(primofile)
>
> Questa manca!

hai ragione...

eccola:


Function ExtractPathName(filespec) As String
' Returns the path from a filespec
Dim x As Variant
x = Split(filespec, Application.PathSeparator)
ReDim Preserve x(0 To UBound(x) - 1)
ExtractPathName = Join(x, Application.PathSeparator) & _
Application.PathSeparator
End Function

>
> [...]> Next i
>
> > Application.ScreenUpdating = True
>

> C'è un motivo estetico-esoterico-profilattico per cui


> fra una riga di codice e l'altra frapponi financo 4 interlinee?
> Stai emulando Fantozzi'

le interlinea le inserisco per una migliore leggibilità (almeno dal
mio punto di vista...).

>
> Ciao, ben risentito e... vacci piano con la birra.

Ciao Bruno, ben ritrovato. Purtroppo ormai da quel punto di vista sono
su una brutta china... ;-)

Franz

Franz Verga

unread,
Oct 28, 2009, 12:23:43 PM10/28/09
to

Dimenticavo,

la versione di Excel è 2003 con Multilingual User Interface Pack

(ovviamente io ho settato la lingua su italiano...)

Ciao

Franz

Mauro Gamberini

unread,
Oct 28, 2009, 12:33:44 PM10/28/09
to
Ciao Bruno, ben ritrovato. Purtroppo ormai da quel punto di vista sono
su una brutta china... ;-)
**********************************************

China e birra? Ma che schifo!
Immagino anche i crauti e i wurstel che ci galleggiano...
E immagino anche cosa riesci a mettere sulla pizza..., poi
pizza, parliamone. E ti vedo con la parrucca bionda
a cantare all' Oktoberfest. E dimmi, comincia a non dispiacerti
neppure la Merkel, di la verit�, un bel donnino, eh?

Lo so che aspetti la risposta, ma questo
� un ng italiano.
Niente crukki qui, dankesch�n.

--
---------------------------
Mauro Gamberini(...che se non lo fa nessuno trova un attimo di tempo pi�
tardi)

r

unread,
Oct 28, 2009, 6:47:01 PM10/28/09
to
"Franz Verga" ha scritto:

> .
>

non dipende dalla versione che utilizzi, ho testato
e il comportamento pazzesco è confermato ...
direi che puoi ovviare scrivendo il file di testo ciclando
il range che desideri riportare ... tutto usedrange mi
sembra di capire.
saluti
r


--
Come e dove incollare il codice:
http://www.rondebruin.nl/code.htm

Il mio ultimo lavoro ...
http://excelvba.altervista.org/blog/index.php/Excel-VBA/UsedRange-eccezioni-e-alternative.html

Franz Verga

unread,
Oct 28, 2009, 7:11:04 PM10/28/09
to


il problema è che mi servono i txt, in quanto devo poi utilizzarli per fare
l'upload in SAP...

--

Ciao

Franz Verga da Berlino

r

unread,
Oct 28, 2009, 7:56:06 PM10/28/09
to
"Franz Verga" ha scritto:

conosci bene SAP? ... se lavori in germania si :-) ... magari ti scrivo ...
ci lavoro molto anch'io ... e si trova poco da leggere :-) comunque il file
di testo puoi scriverlo ...
io userei il FSO ... comunque basta che cerchi nell'NG
eventualmente domani ti scrivo una possibile soluzione.
ciao
r
(robb.menCHIOCCIOLAgmail.com)

Tiziano Marmiroli

unread,
Oct 28, 2009, 10:06:44 PM10/28/09
to
Il Wed, 28 Oct 2009 07:24:04 -0700 (PDT), Franz Verga ha scritto:

>ho un problema che non riesco a risolvere. Ho fatto diversi test e

>tentativi, ma il risultato � sempre lo stesso:


>
>se salvo un file excel come txt (delimitato da tabulazione) da

>programma, il risultato � corretto: i numeri hanno la virgola per i


>decimali ed il punto per le migliaia.
>
>Se, invece, utilizzo una macro ho sempre ed invariabilmente il punto
>come separatore decimali e la virgola per le migliaia.
>
>Non so proprio come risolvere.

Ciao Franz! Ma nelle impostazioni internazionali cosa hai impostato?

Oggetto:Formato CSV
Newsgroups:microsoft.public.it.office.excel
Data:2005-01-15 07:38:29 PST
http://groups.google.com/groups?threadm=D557CAE4-362D-4F3E-BBD9-374F31322B8F%40microsoft.com

Oggetto:conversione file csv
Newsgroups:microsoft.public.it.office.excel
Data:2004-06-09 03:27:55 PST
http://groups.google.com/groups?threadm=19f3e01c44e0c%241ec6b6d0%24a301280a%40phx.gbl
--
Tiziano Marmiroli
Microsoft MVP - Office System
http://www.riolab.org

eliano

unread,
Oct 28, 2009, 11:19:02 PM10/28/09
to

"Franz Verga" ha scritto:

> Ciao a tutti,
>
> ho un problema che non riesco a risolvere. Ho fatto diversi test e
> tentativi, ma il risultato è sempre lo stesso:
>
> se salvo un file excel come txt (delimitato da tabulazione) da
> programma, il risultato è corretto: i numeri hanno la virgola per i
> decimali ed il punto per le migliaia.
>
> Se, invece, utilizzo una macro ho sempre ed invariabilmente il punto
> come separatore decimali e la virgola per le migliaia.
>
> Non so proprio come risolvere.
>
> Ecco il codice completo (il salvataggio fa parte di una macro di più
> ampio respiro: apre dei file, fa la somma dei valori in colonna E e
> copia tale valore nel foglio di riepilogo accanto al nome del file,
> salva i vari file come txt).
>

Ciao Franz, come va sotto la porta di Brandeburgo?:-))
Vedo che hai qualche problema, ma domani Roby ti darà sicuramente una
soluzione efficace; per quanto mi riguarda e vista l'ora, mi limito a
fornirti una delle mie artigianali, ovviamente a livello di test.

Con un valore numerico con due decimali in A2, ed almeno la cella C2
formattata come testo, prova:

Public Sub prova()
Dim stringa As String
Dim valore As String
Dim x As Long
Dim lung As String
lung = Len(Range("A2"))
stringa = Range("A2").Value
For x = lung To 11
stringa = " " & stringa
Next
Range("B2").Value = stringa
valore = Mid(stringa, 1, 3) & " "
valore = valore & Mid(stringa, 4, 3) & " "
valore = valore & Mid(stringa, 7, 3)
valore = valore & Right(stringa, 3)
valore = LTrim(valore)
valore = Replace(valore, ",", ".")
valore = Replace(valore, " ", ",")
Range("c2").Value = valore
End Sub

Ripeto che si tratta solo di un test che spero ti possa essere utile a
livello di idea, comunque domani sicuramente Roby passerà rombando con una
soluzione valida.
Con il massimo delle cordialità,
Eliano

Franz Verga

unread,
Oct 29, 2009, 5:43:53 AM10/29/09
to
On 29 Ott, 03:06, Tiziano Marmiroli <t.marmir...@mvps.org> wrote:
> Il Wed, 28 Oct 2009 07:24:04 -0700 (PDT), Franz Verga ha scritto:
>
> >ho un problema che non riesco a risolvere. Ho fatto diversi test e
> >tentativi, ma il risultato è sempre lo stesso:

>
> >se salvo un file excel come txt (delimitato da tabulazione) da
> >programma, il risultato è corretto: i numeri hanno la virgola per i

> >decimali ed il punto per le migliaia.
>
> >Se, invece, utilizzo una macro ho sempre ed invariabilmente il punto
> >come separatore decimali e la virgola per le migliaia.
>
> >Non so proprio come risolvere.
>
> Ciao Franz! Ma nelle impostazioni internazionali cosa hai impostato?

Ciao Tiziano!

Nelle impostazioni internazionali da Panello di Controllo c'è la
virgola come separatore decimale, il punto per le migliaia ed il punto
e virgola come separatore elenco e nelle opzioni internazionali di
Excel c'è messo di utilizzare i separtori di sistema. Io cerco di fare
il salvataggio come txt delimitato da tabulazione.

>
> Oggetto:Formato CSV
> Newsgroups:microsoft.public.it.office.excel

> Data:2005-01-15 07:38:29 PST  http://groups.google.com/groups?threadm=D557CAE4-362D-4F3E-BBD9-374F3...


>
> Oggetto:conversione file csv
> Newsgroups:microsoft.public.it.office.excel

> Data:2004-06-09 03:27:55 PSThttp://groups.google.com/groups?threadm=19f3e01c44e0c%241ec6b6d0%24a3...

Molto interessante la macro di Chip Pearson che hai linkato.
Probabilmente alla fine utilizzerò quella. Ma ancora non riesco a
capire il bizzarro comportamento di Excel: facendo il salvataggio da
Excel funziona regolarmente, mentre da VBA fa sta cosa stranissima...

--
Ciao


Franz Verga

r

unread,
Oct 29, 2009, 7:07:02 AM10/29/09
to
Ho riscritto la procedura ... alcune cose
non mi piacevano ... provala e fai sapere
da lanciare test

Sub test()
SumFile_Export_txt , , "E"
End Sub

Sub SumFile_Export_txt( _
Optional col_rif As Long = 1, _
Optional prima_riga As Long = 1, _
Optional Col_sum As Variant = "A")

Dim SourceFile As Excel.Workbook
Dim Summary As Excel.Worksheet


Dim WbName As String
Dim SumAct As Double
Dim SumBdg As Double

Dim i As Long
Dim x As String
Dim NumFile As Long
Dim Direct As String
Dim PrimoFile As String

Dim FSO As Object
Dim Rng As Excel.Range

Application.ScreenUpdating = False

Set Rng = [a1]
Set Summary = Rng.Parent
Set FSO = CreateObject("Scripting.FileSystemObject")
NumFile = UltimaRiga(, _
Rng.Offset(0, col_rif - 1).EntireColumn)

If NumFile = 0 Then Exit Sub

PrimoFile = Application.GetOpenFilename(, , _


"select a file from the folder to be summarized")

Direct = Path_of_file(PrimoFile)

If Len(Direct) = 0 Then Exit Sub

For i = prima_riga To NumFile
WbName = Cells(i, 1).Value
x = FSO.BuildPath(Direct, WbName)

If File_Exist(x & "." & Estensione_file(Summary.Parent.FullName)) Then



Workbooks.Open Filename:=x
Set SourceFile = ActiveWorkbook

SumAct = WorksheetFunction.Sum(Cells(1, Col_sum).EntireColumn)

With Summary.Cells(i, 2)


.Value = SumAct
.NumberFormat = "#,##0.00"
End With

Txt_foglio SourceFile.ActiveSheet, x

'SourceFile.SaveAs Filename:=Left(SourceFile.Name, _
'Len(SourceFile.Name) - 3) & "txt", _


' FileFormat:=xlText, CreateBackup:=False

SourceFile.Close SaveChanges:=False

End If


Next i
Application.ScreenUpdating = True

End Sub


Function UltimaRiga(Optional sh As Worksheet, _
Optional Rng As Range) As Long

'By Norman Jones modificata restituisce
'l'ultima riga valorizzata
'restituisce 0 se il foglio è pulito
'passando Sh verrà ignorato Rng
'passando Rng verrà ignorato Sh
'non passando argomenti verrà ricercata
'l'ultima riga valorizzata del foglio
'attivo
'utilizzata come UDF è consigliabile
'passare Rng

If sh Is Nothing Then
If Rng Is Nothing Then
Set Rng = [a1].Parent.UsedRange
End If
Else
Set Rng = sh.UsedRange
End If

On Error Resume Next
UltimaRiga = Rng.Find(What:="*", _
After:=Rng.Cells(1), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function

Function Path_of_file(sFull_Name As String) As String
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(sFull_Name) Then
Path_of_file = FSO.GetParentFolderName(sFull_Name)
End If
End Function

Function File_Exist(sFull_Name As String) As Boolean
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
File_Exist = FSO.FileExists(sFull_Name)
End Function

Function Estensione_file(sFull_Name As String) As String
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Estensione_file = FSO.GetExtensionName(sFull_Name)
End Function

Sub Txt_foglio(sh As Excel.Worksheet, File_Name As String)
Dim Rng As Excel.Range
Dim S As String
Dim FSO As Object
Dim tS As Object
Dim sPath As String
Const ForWriting As Long = 2

Set FSO = CreateObject("Scripting.FileSystemObject")
On Error Resume Next

Set Rng = UsedRange_Value(sh, , True)
S = Txt_text(Rng)
Set tS = FSO.OpenTextFile(File_Name & ".txt" _
, ForWriting, True)
tS.Write S
tS.Close
End Sub

Function Txt_text( _
Rng As Excel.Range, _
Optional D As String = vbTab) As String

Dim R As Long, C As Long
Dim S As String, St As String

For R = 1 To Rng.Rows.Count
St = ""
For C = 1 To Rng.Columns.Count
St = St & D & Rng(R, C).Text
Next C
If Len(Replace(St, D, "")) Then
St = Right(St, Len(St) - 1)
Else
St = ""
End If
S = S & St & VBA.Constants.vbNewLine
Next R

Txt_text = VBA.Left(S, Len(S) - 2)

End Function

Function UsedRange_Value( _
Optional sh As Worksheet, _
Optional Rng As Range, _
Optional WithFormulas As Boolean = False) _
As Excel.Range

'______________________________________________
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
'Di Roberto Mensa nick r
'______________________________________________
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
'Restituisce il minimo range rettangolare
'che comprende tutte le celle valorizzate
'nel foglio o nel range che passiamo come
'argomento

'Restituisce Nothing se nessuna cella è
'valorizzata

'passando Sh verrà ignorato Rng

'non passando argomenti verrà ricercata
'il range nel foglio attivo della cartella
'attiva contenente solo le celle contenenti
'un valore costante

'passando WithFormulas = True verranno
'considerate anche le celle contenenti una
'formula

Dim S As String, tS As String
Dim RE As Object
Dim maxR As Long, minR As Long
Dim maxC As Long, minC As Long
Dim V

'Verifico i primi due argomenti e setto
'il range di ricerca
If sh Is Nothing Then
If Rng Is Nothing Then
Set Rng = [a1].Parent.UsedRange
End If
Set sh = Rng.Parent
Else
Set Rng = sh.UsedRange
End If

On Error Resume Next
'setto il range alle celle contenenti un valore
'costante
Set UsedRange_Value = Rng.SpecialCells( _
xlCellTypeConstants)

'Controllo il parametro opzionale
If WithFormulas Then
'aggiungo le celle contenenti le formule
If TypeName(UsedRange_Value) = "Nothing" Then
Set UsedRange_Value = _
Rng.SpecialCells(xlCellTypeFormulas, 23)
Else
Set UsedRange_Value = _
Union( _
UsedRange_Value, _
Rng.SpecialCells(xlCellTypeFormulas, 23))
End If
End If

On Error GoTo 0
'verifico che il range non sia vuoto
If TypeName(UsedRange_Value) = "Range" Then
'verifico se contiene più aree
If UsedRange_Value.Areas.Count > 1 Then
'recupero le coordinate per settare
'il range rettangolare
'ATTENZIONE!
'Comportamento non documentato di
'Address riferito a Range
'Rng.Address restituisce fino a 257
'caratteri
For Each V In UsedRange_Value
S = S & V. _
Address(True, True, xlR1C1)
Next
Set RE = CreateObject("vbscript.regexp")
RE.Global = True

RE.Pattern = "C\d+|:|,"
tS = RE.Replace(S, "")

RE.Pattern = "\d+"
maxR = RE.Execute(tS)(0)
minR = maxR
For Each V In RE.Execute(tS)
If V < minR Then
minR = V
ElseIf V > maxR Then
maxR = V
End If
Next

RE.Pattern = "R\d+|:|,"
tS = RE.Replace(S, "")

RE.Pattern = "\d+"
maxC = RE.Execute(tS)(0)
minC = maxC
For Each V In RE.Execute(tS)
If V < minC Then
minC = V
ElseIf V > maxC Then
maxC = V
End If
Next
Set UsedRange_Value = sh.Range( _
sh.Cells(minR, minC), _
sh.Cells(maxR, maxC))
End If
End If
End Function

r

unread,
Oct 29, 2009, 7:20:01 AM10/29/09
to
"r" ha scritto:

ovviamente ... la se liga qui sopra diventa

WbName = Cells(i, col_rif).Value

r

unread,
Oct 29, 2009, 7:26:11 AM10/29/09
to
"eliano" ha scritto:

[cut]

> Vedo che hai qualche problema, ma domani Roby ti darà sicuramente una
> soluzione efficace;

[cut]

> comunque domani sicuramente Roby passerà rombando con una
> soluzione valida.

sono lusingato ... ci ho provato ...
rimane il dubbio di essere all'altezza degli elogi :-)
ciao Mitico

Bruno Campanini

unread,
Oct 30, 2009, 8:09:12 AM10/30/09
to
"Franz Verga" <fra...@inwind.it> wrote in message
news:eb13d6dc-cbd9-4bc8...@k17g2000yqb.googlegroups.com...

> Ciao Bruno, ben ritrovato. Purtroppo ormai da quel punto di vista sono
> su una brutta china... ;-)

Prova a usare questa funzione nella tua routine:
=====================================
Public Function NumericString(N As Currency, _
Optional OutputDecimalSeparator As String = ",", _
Optional OutputThousandsSeparator As String = ".", _
Optional NumberOfFiguresToRoundTo As Integer = 2) As String
Dim S As String, decPos As Integer
Dim Sint As String, Sdec As String
Dim i As Integer, L As Integer, SS As String

S = CStr(Round(N, NumberOfFiguresToRoundTo))
decPos = InStr(1, S, ".") + InStr(1, S, ",")

If decPos Then
Sint = Mid(S, 1, decPos - 1)
Sdec = Mid(S, decPos + 1)
Else
Sint = S
Sdec = String(NumberOfFiguresToRoundTo, "0")
End If
If Len(Sdec) < NumberOfFiguresToRoundTo Then
Sdec = Sdec & String(NumberOfFiguresToRoundTo - Len(Sdec), "0")
End If

L = Len(Sint)
If L Mod 3 Then
SS = Left(Sint, L - Int(L / 3) * 3)
For i = 1 To Int(L / 3)
SS = SS & OutputThousandsSeparator & _
Mid(Sint, L - 3 * Int(L / 3) + 1 + 3 * (i - 1), 3)
Next
Else
For i = 1 To Int(L / 3)
SS = SS & OutputThousandsSeparator & Mid(Sint, 3 * i - 2, 3)
Next
SS = Mid(SS, 2)
End If

NumericString = SS & OutputDecimalSeparator & Sdec

End Function
=====================================

Bruno

r

unread,
Oct 30, 2009, 10:32:04 AM10/30/09
to
"Bruno Campanini" ha scritto:

ciao Bruno,
qual'è il pregio di questa function?
non è certo sintetica ... conoscendo i tuoi gusti
credo mi sfugga qualcosa.
saluti
r

p.s.
mi sembra d'aver capito che l'intenzione sia
di trasformare i numeri in testo ... nel caso
non basterebbe:

Sub numero_come_testo()
Dim rng As Excel.Range
For Each rng In ActiveSheet.UsedRange
If VarType(rng) = 5 or 6 Then
rng = rng.Text
End If
Next
End Sub

Bruno Campanini

unread,
Oct 30, 2009, 2:20:28 PM10/30/09
to
"r" <r...@discussions.microsoft.com> wrote in message
news:F4C759AA-69EB-4327...@microsoft.com...

> ciao Bruno,
> qual'è il pregio di questa function?
> non è certo sintetica ... conoscendo i tuoi gusti
> credo mi sfugga qualcosa.
> saluti
> r

Credo ti sfugga che un Currency 1234567.8952
può venir trasformato in stringhe:
1.234.567,90
1,234,567.895
1 234 567.9
etc.

[...]


> If VarType(rng) = 5 or 6 Then

Carina!

eliano

unread,
Oct 30, 2009, 6:01:01 PM10/30/09
to

"Bruno Campanini" ha scritto:

Ciao Bruno,ciao Roby.
Dopo aver affermato ancora una volta la mia ammirazione per i "Signori delle
UDF", e confermando ancora una volta la mia idiosincrasia per quelle
Funzioni, oso chiedere qual'è la differenza sostanziale fra le vostre macro e
la trasformazione del mio test, segnalato ieri a Franz, in una mia UDF sempre
artigianale che avrei avuto l'ardire di fare così:

Function danada(rng As Range) As String


Dim stringa As String
Dim valore As String
Dim x As Long
Dim lung As String

lung = Len(rng)
stringa = rng


For x = lung To 11
stringa = " " & stringa
Next

valore = Mid(stringa, 1, 3) & " "
valore = valore & Mid(stringa, 4, 3) & " "
valore = valore & Mid(stringa, 7, 3)
valore = valore & Right(stringa, 3)
valore = LTrim(valore)
valore = Replace(valore, ",", ".")
valore = Replace(valore, " ", ",")

danada = valore
End Function

Grazie per l'eventuale risposta per la quale anche i vaffa sarebbero ben
accetti.:-))
Cordialmente
Eliano

Bruno Campanini

unread,
Oct 30, 2009, 6:41:00 PM10/30/09
to
"eliano" <eli...@discussions.microsoft.com> wrote in message
news:8B2E417C-DCDD-496A...@microsoft.com...

> Ciao Bruno,ciao Roby.
> Dopo aver affermato ancora una volta la mia ammirazione per i "Signori
> delle
> UDF", e confermando ancora una volta la mia idiosincrasia per quelle
> Funzioni, oso chiedere qual'è la differenza sostanziale fra le vostre
> macro e
> la trasformazione del mio test, segnalato ieri a Franz, in una mia UDF
> sempre
> artigianale che avrei avuto l'ardire di fare così:

> Function danada(rng As Range) As String

[...]

Direi proprio che le differenze sono minime.
Io ci ho messo qualche opzione in più ma per il resto la
sostanza è la stessa.
La tua dà errore sui numeri interi (provala con 12345678),
ma si aggiusta con poco.
La mia dà errore su... dimmelo tu.
Io son bravo a veder gli errori altrui, i miei mi sono
completamente trasparenti.

> Grazie per l'eventuale risposta per la quale anche i vaffa sarebbero ben
> accetti.:-))
> Cordialmente

I vaffa io li riservo ai rompic..., che dipendono comunque
sempre da considerazioni soggettive.
Nella fattispecie contraccambio le cordialità con
mucho gusto.

Bruno

r

unread,
Oct 30, 2009, 7:22:01 PM10/30/09
to
"eliano" ha scritto:

ciao Bruno, ciao Eliano,
inanzitutto vi chiedo (visto che poi mi dilungherò un pochino e sia mai che
vi annoierete e non leggerete tutto) se potete spiegare cosa fanno le vostre
funzioni e perchè/quando si debbono usare ... questo perchè 1) non l'ho
capito bene ... 2) credo che con una regexp si possa risolvere con un paio
di istruzioni e mi piacerebbe provarci ... detto questo ... tornerei al
problema di Franz ...
ripeto c'è qualcosa che mi sfugge ... quindi vi dico cosa ho intuito ...
dalla risposta di Bruno (e riguardando anche la prima di Eliano)
ho capito che il vostro suggerimento (non dite come e dove usare la
function) stava nel rendere testo le celle di tipo numerico ... [Franz (che
aime è sparito forse è tornato in Germany :-) ha parlato inizialmente di sep.
decimali e sep. migliaia ... come se il problema fosse per entrambi ... io
sinceramente non avevo notato, comunque mi sfugge cosa servano i separatori
di migliaia (.) in un file di testo destinato all'upload ] ... comunque ...
tornando allo stratagemma di rendere testo i numeri ... ho pensato ... ottima
idea bravo Bruno e bravo Eliano ... però mi sono anche detto ... una funzione
come quella non è necessaria e ho proposto una sub stringata che
all'occorrenza può (usando rng.text riportare il numero formattato ... e
rng.value un numero non formattato) risolvere il problema ... alla fine
troverete il codice completo di Franz con questo adattamento ... nasce un
problema però ... [e viste le vostre risposte o forse la mia errata
interpretazione ho l'impressione che non avete testato il codice tutto] ...
un problema non trascurabile ... salvando in quel modo i campi numerici
vengono nel file txt delimitati da doppie virgolette come stringhe di testo
... mi puzza che per un upload a SAP non piaccia come non piacerebbe a me ...
[a chi volesse provare il codice sarà sufficiente creare 2 file contenenti
almeno nella colonna E campi numerici con virgola ... volendo potete anche
formattare uno in un modo ed uno in un altro per vedere le differenze ... li
chiamerete uno e due poi in una terza cartella incollate il codice ed in
A1=uno, A2=due ... poi si esegue il codice]

[rimane poi la mia soluzione ... quella di far scrivere il file da codice
... in quel caso il file di testo riporterà i numeri con solo separatore
decimale (anche se sarebbe facile volendo scriverli anche col sep delle
migliaia) corretto ... ovvero la virgola e eviterà la fastidiosa presenze
delle doppie virgolette]

per chi è arrivato sino a qui grazie e ciao
r

Option Explicit

Sub SummaryFile()
'
' This macro create a summary file from a directory
' based on the names of files that are in column A

numero_come_testo SourceFile.ActiveSheet
SourceFile.SaveAs Filename:=Left(SourceFile.Name, Len(SourceFile.Name) -

3) & "txt", _
FileFormat:=xlText, CreateBackup:=False

SourceFile.Close SaveChanges:=False


Next i
Application.ScreenUpdating = True

End Sub

Function ExtractPathName(filespec) As String
' Returns the path from a filespec
Dim x As Variant
x = Split(filespec, Application.PathSeparator)
ReDim Preserve x(0 To UBound(x) - 1)
ExtractPathName = Join(x, Application.PathSeparator) & _
Application.PathSeparator
End Function


Sub numero_come_testo(sh As Worksheet)
Dim rng As Excel.Range
For Each rng In sh.UsedRange
If VarType(rng) = 5 Or 6 Then


rng = rng.Text
End If
Next
End Sub

r

unread,
Oct 30, 2009, 7:44:01 PM10/30/09
to

"Bruno Campanini" ha scritto:

> "r" <r...@discussions.microsoft.com> wrote in message
> news:F4C759AA-69EB-4327...@microsoft.com...
>
> > ciao Bruno,
> > qual'è il pregio di questa function?
> > non è certo sintetica ... conoscendo i tuoi gusti
> > credo mi sfugga qualcosa.
> > saluti
> > r
>
> Credo ti sfugga che un Currency 1234567.8952
> può venir trasformato in stringhe:
> 1.234.567,90
> 1,234,567.895
> 1 234 567.9
> etc.

no mi sfugge il senso della funzione ... l'ho provato ma non so lo scopo ...
dal codice non mi ci metto nemmeno di cercare di capirlo ... troppi Mid, Len
e Int oltr al fatto che con quei nomi di variabili ... mi ci perdo più che a
chiamarle x,y e z
abbi pazienza ... dimmi solo a cosa serve
saluti
r

r

unread,
Oct 30, 2009, 7:52:01 PM10/30/09
to

"Bruno Campanini" ha scritto:

altre differenze ... quella di Bruno restituisce una stringa ... quella di
Eliano accetta anche i carriarmati ... passando cartel1 ->c,artel1 ... e i
numeri li lascia numeri

i miei dubbi crescono ... mi sa che non ho capito proprio nulla

saluti
r

eliano

unread,
Oct 30, 2009, 8:47:01 PM10/30/09
to

"r" ha scritto:

Ciao Roby.
E' vero: non ho testato nè la macrina nè la Udf, comunque ambedue erano
pensate come parte di una macro su una copia del foglio ottenuta con copia
valori onde evitare il problema formule.
Inoltre all'artigiano Eliano non era passata nemmeno per la controcassa del
cervello l'idea di usare un VarType(rng) (non lo conoscevo e non l'ho mai
usato in vita mia) per cui grazie e purtroppo NON a buon rendere.
Se domani trovo la voglia ci riprovo, anche se sono certo (quasi) che Franz
dovrebbe essere già passato da queste parti, sempre che non sia ancora a fare
jogging dalle parti dell'Unter den Linden.
Saluti a tutti
Eliano

eliano

unread,
Oct 30, 2009, 8:51:01 PM10/30/09
to

"Bruno Campanini" ha scritto:

Ciao Bruno.
Vedo che Roby ti ha già relazionato in merito; grazie per la segnalazione e
domani, rogne permettendo, ripovo e testo l'accrocco.
Saluti
Eliano

eliano

unread,
Oct 30, 2009, 9:18:01 PM10/30/09
to

"r" ha scritto:

> > un problema non trascurabile ... salvando in quel modo i campi numerici
> > vengono nel file txt delimitati da doppie virgolette come stringhe di testo


Me ne ero dimenticato:
Franz dice che usa: Testo(delimitato da tabulazioni); la macro restituisce
Testo, ne una virgola in più ne una in meno, se riapri il file con XL. :-))
Eliano

r

unread,
Oct 31, 2009, 11:10:01 AM10/31/09
to

--
Come e dove incollare il codice:
http://www.rondebruin.nl/code.htm


"eliano" ha scritto:

ciao Mitico,
lui non riapre con excel ...
comunque non sono convinto che sia ripassato ... secondo me non lo vediamo
fino alla prossima volta :-)
in verità gli ho anche scritto ... ma nulla nessuna risposta.
saluti da tutta la tribu
r

eliano

unread,
Nov 1, 2009, 6:13:01 PM11/1/09
to

"r" ha scritto:

> "eliano" ha scritto:
>
> >
> > "r" ha scritto:
> >
> > > > un problema non trascurabile ... salvando in quel modo i campi numerici
> > > > vengono nel file txt delimitati da doppie virgolette come stringhe di testo
> >
> >
> > Me ne ero dimenticato:
> > Franz dice che usa: Testo(delimitato da tabulazioni); la macro restituisce
> > Testo, ne una virgola in più ne una in meno, se riapri il file con XL. :-))
> > Eliano
>
> ciao Mitico,
> lui non riapre con excel ...
> comunque non sono convinto che sia ripassato ... secondo me non lo vediamo
> fino alla prossima volta :-)
> in verità gli ho anche scritto ... ma nulla nessuna risposta.
> saluti da tutta la tribu
> r

Ciao Roby.
Che non usasse XL era chiaro :-)) comunque c'è qualcosa che non mi torna e
sicuramente dipenderà dalla mia ignoranza in merito.
Tutte le volte che ho avuto a che fare con pacchetti applicativi (non
conosco SAP), mi sono trovato davanti ad un problema di conversione dei dati;
la conversione veniva attuata o con PGM apposito facente parte del nuovo
pacchetto, o con dati testuali manuali o ottenuti dal vecchio pacchetto
sempre con apposito PGM, o più recentemente, con dati su file .XLS ottenuti
dal vecchio pacchetto nella maniera più disparata, che linguaggi tipo Cobol o
RpgII riuscivano ad interpretare, se non direttamente, attraverso i dati
testuali entrocontenuti.
Ora, qualsiasi prova faccia, riesco sempre ad ottenere un file testo (con
formattazione inglese) e che lo legga con il vecchio Edit (Dos), con WordPad,
con BloccoNote o con Word, rilevo che si tratta sempre di Testo!
Ma evidentemente a quel cornuto di Sap (o chi per lui) la cosa non va a
genio, per cui, visto che Franz sembra sparito dalla circolazione e ritenendo
che abbia risolto il problema, chiudiamo l'argomento.:-D)
Tam-Tam di saluto per la tribù
Eliano

Franz Verga

unread,
Nov 1, 2009, 7:10:31 PM11/1/09
to


Ciao Eliano,

non sono sparito e non ho risolto...
Più che altro ho avuto da lavorare e nel w.e. non sono stato molto davanti
al PC...

Come dicevo a Roberot nell'e-mail, non ho avuto modo di testare le varie
soluzioni proposte. Quando avrò il tempo di farlo (la settimana che comincia
sarà intensa, per cui nulla da fare...) vi farò sapere com'è andata e quale
soluzione avrò adottato.

Comunque, a prescindere da come risolverò il mio problema contingente, resta
sempre il problema di capire perché quel cornuto di Excel, quando salvo un
file come testo non mi da alcun problema e mi uilizza la virgola per i
decimali, mentre se faccio la stessa cosa tramite VBA, mi utilizza il
formato inglese, cioè col punto al posto della virgola... Può essere un bug?

Franz Verga

unread,
Nov 1, 2009, 7:45:02 PM11/1/09
to


Scusa, ma non capisco... Mi pare id capire che devo cambiare questa riga...


--
Spero d'esserti stato d'aiuto.

Ti ringrazio anticipatamente per il riscontro.

eliano

unread,
Nov 2, 2009, 6:36:02 PM11/2/09
to

"Franz Verga" ha scritto:

> Ciao Eliano,
>
> non sono sparito e non ho risolto...
> Più che altro ho avuto da lavorare e nel w.e. non sono stato molto davanti
> al PC...
>
> Come dicevo a Roberot nell'e-mail, non ho avuto modo di testare le varie
> soluzioni proposte. Quando avrò il tempo di farlo (la settimana che comincia
> sarà intensa, per cui nulla da fare...) vi farò sapere com'è andata e quale
> soluzione avrò adottato.
>
> Comunque, a prescindere da come risolverò il mio problema contingente, resta
> sempre il problema di capire perché quel cornuto di Excel, quando salvo un
> file come testo non mi da alcun problema e mi uilizza la virgola per i
> decimali, mentre se faccio la stessa cosa tramite VBA, mi utilizza il
> formato inglese, cioè col punto al posto della virgola... Può essere un bug?
>

Ciao Franz.
Non lo so se è un bug, comunque nei limiti delle mie possibilità ti propongo
un file che usa in maniera autonoma la formattazione "inglese", anche se da
quello che dice Roby non credo che la cosa si risolva in quel modo.
Vedi sul mio disco remoto: http://mio.discoremoto.alice.it/falinieliano/
il file: provaFranz.xls che contiene anche la trasformazione dei valori
numerici con formattazione "inglese" in valori numerici, ottenuta però con:
Value=Text.
Provalo e facci sapere
Eliano

Bruno Campanini

unread,
Nov 3, 2009, 5:03:40 AM11/3/09
to
"eliano" <eli...@discussions.microsoft.com> wrote in message
news:7C8CC3F8-A8BF-45AE...@microsoft.com...

> Ciao Franz.
> Non lo so se è un bug, comunque nei limiti delle mie possibilità ti
> propongo
> un file che usa in maniera autonoma la formattazione "inglese", anche se
> da
> quello che dice Roby non credo che la cosa si risolva in quel modo.
> Vedi sul mio disco remoto: http://mio.discoremoto.alice.it/falinieliano/
> il file: provaFranz.xls che contiene anche la trasformazione dei valori
> numerici con formattazione "inglese" in valori numerici, ottenuta però
> con:
> Value=Text.
> Provalo e facci sapere
> Eliano

Ciao Eliano.
Questa mattina, aspettando una telefonata che deve ancora arrivare,
mi sono riletto tutto il thread giungendo alla conclusione che...
non ho capito niente.

In sostanza Franz cosa cerca?
Che un numero (numero e non testo, fomattato nel suo "locale")
venga esportato come testo nel formato 1.234.567,89?
Mi sembra impossibile: se è numero formattato l'esportazione
sarà sempre 1,234,567.89; se non formattato 1234567.89

Per avere l'esportazione in formato 1.234.567,89 il numero
dovrà prima essere costruito come stringa.
Non lo vuole racchiuso fra virgolette?
Basterà in Workbook.SaveAs ... porre FileFormat:= xlTextPrinter.

È arrivata la telefonata.
Ciao di nuovo
Bruno

Franz Verga

unread,
Nov 3, 2009, 5:54:27 PM11/3/09
to
Bruno Campanini wrote:
> "eliano" <eli...@discussions.microsoft.com> wrote in message
> news:7C8CC3F8-A8BF-45AE...@microsoft.com...
>
>> Ciao Franz.
>> Non lo so se è un bug, comunque nei limiti delle mie possibilità ti
>> propongo
>> un file che usa in maniera autonoma la formattazione "inglese",
>> anche se da
>> quello che dice Roby non credo che la cosa si risolva in quel modo.
>> Vedi sul mio disco remoto:
>> http://mio.discoremoto.alice.it/falinieliano/ il file:
>> provaFranz.xls che contiene anche la trasformazione dei valori
>> numerici con formattazione "inglese" in valori numerici, ottenuta
>> però con: Value=Text.
>> Provalo e facci sapere
>> Eliano
>
> Ciao Eliano.

Ciao Bruno.

> Questa mattina, aspettando una telefonata che deve ancora arrivare,
> mi sono riletto tutto il thread giungendo alla conclusione che...
> non ho capito niente.

LOL

> In sostanza Franz cosa cerca?
> Che un numero (numero e non testo, fomattato nel suo "locale")
> venga esportato come testo nel formato 1.234.567,89?

Non esattamente...

Ho dei file Excel che devo trasformare in file di testo per essere importati
su SAP. Facendo l'operazione manualmente (apro il file, faccio salva con
nome, scelgo il formato testo delimitato da tabulazione, e infine schiaccio
su Salva), gli importi vengono salvati normalmente con la virgola come
separatore decimale. Facendo la stessa cosa tramite VBA, la virgola viene
rimpiazzata dal punto, per cui in fase di importazione, quello viene
considerato come punto delle migliaia, per cui gli importi risultano
moltiplicati per 1000...

> Mi sembra impossibile: se è numero formattato l'esportazione
> sarà sempre 1,234,567.89; se non formattato 1234567.89
>
> Per avere l'esportazione in formato 1.234.567,89 il numero
> dovrà prima essere costruito come stringa.
> Non lo vuole racchiuso fra virgolette?
> Basterà in Workbook.SaveAs ... porre FileFormat:= xlTextPrinter.

Ho provato il suggerimento, ma i vari campi delle colonne risultano
attaccati l'uno all'altro...

> È arrivata la telefonata.

Speriamo sia stata proficua... :-)

> Ciao di nuovo
> Bruno

eliano

unread,
Nov 3, 2009, 9:02:30 PM11/3/09
to
On 3 Nov, 23:54, "Franz Verga" <fra6...@InVento.it> wrote:
> Bruno Campanini wrote:
> > "eliano" <eli...@discussions.microsoft.com> wrote in message
> >news:7C8CC3F8-A8BF-45AE...@microsoft.com...
>
> >> Ciao Franz.
> >> Non lo so se è un bug, comunque nei limiti delle mie possibilità ti
> >> propongo
> >> un file che usa in maniera autonoma la formattazione "inglese",
> >> anche se da
> >> quello che dice Roby non credo che la cosa si risolva in quel modo.
> >> Vedi sul mio disco remoto:
> >>http://mio.discoremoto.alice.it/falinieliano/il file:
> Franz Verga da Berlino- Nascondi testo citato
>
> - Mostra testo citato -

Ciao Franz.
Credo che abbiamo qualche problema nel comprendere la situazione;
comunque, se si trattasse di un problema di formattazione italica/
albionica, prova le due macro che cambiano e ripristinano i separatori
su un foglio di prova, ricordandoti che nella chiusura del file hai
anche la disattivazione del medesimo.
Ovviamente, se modifichi i separatori, ricordati di ripristinarli
visto che tutto l'XL usa quelli settati dalle macro.
Facci sapere e saluti
Eliano

Franz Verga

unread,
Nov 4, 2009, 2:12:04 AM11/4/09
to
eliano wrote:
> On 3 Nov, 23:54, "Franz Verga" <fra6...@InVento.it> wrote:
>> Bruno Campanini wrote:
>>> "eliano" <eli...@discussions.microsoft.com> wrote in message
>>> news:7C8CC3F8-A8BF-45AE...@microsoft.com...
>>
>>>> Ciao Franz.
>>>> Non lo so se � un bug, comunque nei limiti delle mie possibilit� ti

>>>> propongo
>>>> un file che usa in maniera autonoma la formattazione "inglese",
>>>> anche se da
>>>> quello che dice Roby non credo che la cosa si risolva in quel modo.
>>>> Vedi sul mio disco remoto:
>>>> http://mio.discoremoto.alice.it/falinieliano/il file:
>>>> provaFranz.xls che contiene anche la trasformazione dei valori
>>>> numerici con formattazione "inglese" in valori numerici, ottenuta
>>>> per� con: Value=Text.

>>>> Provalo e facci sapere
>>>> Eliano
>>
>>> Ciao Eliano.
>>
>> Ciao Bruno.
>>
>>> Questa mattina, aspettando una telefonata che deve ancora arrivare,
>>> mi sono riletto tutto il thread giungendo alla conclusione che...
>>> non ho capito niente.
>>
>> LOL
>>
>>> In sostanza Franz cosa cerca?
>>> Che un numero (numero e non testo, fomattato nel suo "locale")
>>> venga esportato come testo nel formato 1.234.567,89?
>>
>> Non esattamente...
>>
>> Ho dei file Excel che devo trasformare in file di testo per essere
>> importati su SAP. Facendo l'operazione manualmente (apro il file,
>> faccio salva con nome, scelgo il formato testo delimitato da
>> tabulazione, e infine schiaccio su Salva), gli importi vengono
>> salvati normalmente con la virgola come separatore decimale. Facendo
>> la stessa cosa tramite VBA, la virgola viene rimpiazzata dal punto,
>> per cui in fase di importazione, quello viene considerato come punto
>> delle migliaia, per cui gli importi risultano moltiplicati per
>> 1000...
>>
>>> Mi sembra impossibile: se � numero formattato l'esportazione
>>> sar� sempre 1,234,567.89; se non formattato 1234567.89

>>
>>> Per avere l'esportazione in formato 1.234.567,89 il numero
>>> dovr� prima essere costruito come stringa.

>>> Non lo vuole racchiuso fra virgolette?
>>> Baster� in Workbook.SaveAs ... porre FileFormat:= xlTextPrinter.

>>
>> Ho provato il suggerimento, ma i vari campi delle colonne risultano
>> attaccati l'uno all'altro...
>>
>>> � arrivata la telefonata.

>>
>> Speriamo sia stata proficua... :-)
>>
>>> Ciao di nuovo
>>> Bruno
>>
>> --
>> Ciao
>>
>> Franz Verga da Berlino- Nascondi testo citato
>>
>> - Mostra testo citato -
>
> Ciao Franz.

Ciao Eliano,

> Credo che abbiamo qualche problema nel comprendere la situazione;

vediamo se riesco a spiegarla meglio...

Ho dei file Excel, tutti con la stessa formattazione, che devo salvare in
formato testo delimitato da tabulazione per importarli su SAP.
Se faccio la cosa a manina (apro il file, faccio salva con nome, cambio il
formato a testo delimitato da tabulazione, schiaccio il tasto Salva e
ripondo ok ai messaggi che Excel presenta), funziona perfettamente, ma
ovviamente la cosa � abbastanza tediosa quando ci si trova a doverlo fare
per almeno una ventina di file...
L'idea originale era quella di fare l'apertura e il salvataggio dei file
tramite macro, per cui ho registrato una macro mentre facevo il salva con
nome per un file, l'ho generalizzata per rendere il nome variabile e l'ho
inserita nel mio programmino, molto molto artigianale, che fa anche il
riepilogo di tutti i valori dei vari file. Per�, cos� facendo, succede
appunto l'arcano: gli importi vengono formattati col punto per i decimali,
mentre i campi di testo vengono racchiusi tra doppie virgolette...

> comunque, se si trattasse di un problema di formattazione italica/
> albionica, prova le due macro che cambiano e ripristinano i separatori
> su un foglio di prova, ricordandoti che nella chiusura del file hai
> anche la disattivazione del medesimo.
> Ovviamente, se modifichi i separatori, ricordati di ripristinarli
> visto che tutto l'XL usa quelli settati dalle macro.
> Facci sapere e saluti
> Eliano

avevo gi� provato ad inserire nella mia macro originale il cambio di
separatori, oppure il settaggio su quelli locali, ma VBA se ne impipa
altamente e utilizza sempre il punto per i decimali quando vado a salvare
come txt.

Ciao

Franz

Bruno Campanini

unread,
Nov 4, 2009, 4:45:29 AM11/4/09
to
"Franz Verga" <fra...@InVento.it> wrote in message
news:Or5HD5RX...@TK2MSFTNGP02.phx.gbl...

[...]


> avevo gi� provato ad inserire nella mia macro originale il cambio di
> separatori, oppure il settaggio su quelli locali, ma VBA se ne impipa
> altamente e utilizza sempre il punto per i decimali quando vado a salvare
> come txt.

Questo ce l'hai gi� detto dieci volte e tutti l'abbiamo
inteso / sperimentato.
� un dato assodato: se esporti da NUMBER a TEXT, VBA
formatta a modo suo.
Allora costruisci delle STRINGHE NUMERICHE formattate
come ti conviene ed esporta da TEXT a TEXT.
Non ti sta bene che il testo sia tra virgolette? usa
FileFormat:=xlTextPrinter.
Non ti sta bene che cos� facendo i numeri risultino
attaccati l'un l'altro? allarga le colonne, intercala
colonne blank...

In alternativa rivolgiti ad un buono psichiatra.
Ce ne sar� qualcuno a Berlino...

Ciao
Bruno

Mauro Gamberini

unread,
Nov 4, 2009, 5:25:23 AM11/4/09
to
> Ho dei file Excel, tutti con la stessa formattazione, che devo salvare in
> formato testo delimitato da tabulazione per importarli su SAP.
>
<cut>

I tuoi files da trasformare in testo nella
cartella C:\Cartella.
I files trasformati in .txt andranno in
C:\nuovaCartella.

Modifica le path con le tue.
La cartella novaCartella deve essere presente
(potremmo forzarne la creazione, nel caso).

Non serve una macro da Excel.
E' sufficente un file .vbs da lanciare
(che volendo pu� essere trasformato in macro)

Esempio, questo, da copia/incollare
in un file del Notebook e poi salvato
come tuoNome.vbs:

'dichiaro le variabili
Dim objExcel
Dim objWorkbook
Dim objWorksheet
Dim objFSO
Dim objFolder
Dim objFile
Dim sPath

'path della cartella con i files
'di Excel
sPath = "C:\tuaCartella"
'creo gli oggetti
Set objExcel = CreateObject("Excel.Application")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(sPath)

'non visualizzo Excel e impedisco
'mi vengano visualizzati gli Alerts
With objExcel
.Visible = False
.DisplayAlerts = False
End With

'per ogni file nella cartella
For Each objFile In objFolder.Files

'se sono files di Excel
Select Case LCase(Right(objFile.Name, 4))
Case ".xls", "xlsx", "xlsm"
'li apro e assegno il riferimento
Set objWorkbook = objExcel.Workbooks.Open(objFile.Path)

'Workbook
With objWorkbook
'lo salvo nel nuovo formato
'in c:\nuovaCartella
.SaveAs "C:\nuovaCartella\" & objFile.Name & ".txt", 3, _
, , , , , , _
, , , True
'chiudo il file
.Close
End With
End Select

Next

'ripristino gli Alerts
'(inutile in questo contesto)
'e faccio il Quit
With objExcel
.DisplayAlerts = True
.Quit
End With

'Set a Nothing delle variabili oggetto
Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
Set objWorkbook = Nothing
Set objExcel = Nothing

A questo indirizzo(fra pochi minuti dall'ora
dell'invio della risposta):
http://www.maurogsc.eu/esemping/daexcelatext.zip

trovi un file .zip
che contiene il vbs e una cartella
Cartella con all'interno alcuni files di Excel.
Copiala nel tuo disco C: e crea sempre
nel disco C: la cartella nuovaCartella.

Lancia il vbs e dai un'occhiata ai files
.txt che sono in nuovaCartella.
Ciao e buon lavoro.

--
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/excelit/threads


Mauro Gamberini

unread,
Nov 4, 2009, 6:21:25 AM11/4/09
to
> � un dato assodato: se esporti da NUMBER a TEXT, VBA
> formatta a modo suo.
>

Ultimo parametro di SaveAs:

<guida>

ImpostazioniInternazionali Facoltativo Variant

Se ha valore True, i file verranno salvati nella lingua di Microsoft Excel
(incluse le impostazioni del pannello di controllo). Se ha valore False
(impostazione predefinita), i file verranno salvati nella lingua di Visual
Basic, Applications Edition (VBA) (Visual Basic, Applications Edition (VBA):
Versione in linguaggio macro di Microsoft Visual Basic utilizzata per
programmare applicazioni basate su Windows e inclusa in numerosi programmi
Microsoft.), che in genere � l'inglese (Stati Uniti) a meno che il progetto
VBA da cui viene eseguito Workbooks.Open non sia un vecchio progetto VBA
XL5/95 in una lingua diversa dall'inglese.

</guida>

Pu� risolvere?
Ovviamente il parametro:

FileFormat

deve essere impostato correttamente.

Poi mi fermo qui perch� ho capito poco
di tutto il thread e una possibile soluzione
l'ho postata.
Ciao Bruno, buona giornata.

--
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://www.maurogsc.eu/

http://social.microsoft.com/Forums/it-IT/officeit/threads

Bruno Campanini

unread,
Nov 4, 2009, 10:30:30 AM11/4/09
to
"Mauro Gamberini" <maurogsc...@RIMUOVEREaliceposta.it> wrote in
message news:u13O1DU...@TK2MSFTNGP02.phx.gbl...

>> � un dato assodato: se esporti da NUMBER a TEXT, VBA
>> formatta a modo suo.
>>
>
> Ultimo parametro di SaveAs:
>
> <guida>
>
> ImpostazioniInternazionali Facoltativo Variant
>
> Se ha valore True, i file verranno salvati nella lingua di Microsoft Excel
> (incluse le impostazioni del pannello di controllo). Se ha valore False
> (impostazione predefinita), i file verranno salvati nella lingua di Visual
> Basic, Applications Edition (VBA) (Visual Basic, Applications Edition
> (VBA): Versione in linguaggio macro di Microsoft Visual Basic utilizzata
> per programmare applicazioni basate su Windows e inclusa in numerosi
> programmi Microsoft.), che in genere � l'inglese (Stati Uniti) a meno che
> il progetto VBA da cui viene eseguito Workbooks.Open non sia un vecchio
> progetto VBA XL5/95 in una lingua diversa dall'inglese.
>
> </guida>
>
> Pu� risolvere?
> Ovviamente il parametro:
>
> FileFormat
>
> deve essere impostato correttamente.
>
> Poi mi fermo qui perch� ho capito poco
> di tutto il thread e una possibile soluzione
> l'ho postata.
> Ciao Bruno, buona giornata.

Io del thread ho capito ancora meno.
Spero solo che Franz trovi un buono psichiatra a Berlino
e che fissi un appuntamento anche per me...

Stacco gli occhiali e non ci voglio pensare pi�.

Ciao
Bruno

Mauro Gamberini

unread,
Nov 4, 2009, 10:57:51 AM11/4/09
to
<cut>

Eccolo tradotto in vb per Excel.
Sempre i files .xls in c:\Cartella
e i relativi files .txt in c:\nuovaCartella
(da creare, io immagino che tu sappia
dove prendere i files .xls e dove inserire
i .txt):

Public Sub m()

'dichiaro le variabili
Dim objWorkbook As Workbook
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim sPath As String

'path della cartella con i files
'di Excel

sPath = "C:\Cartella"
'creo gli oggetti


Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(sPath)

'impedisco che mi vengano
'visualizzati gli Alerts
'e il refresh del monitor
With Application
.DisplayAlerts = False
.ScreenUpdating = False
End With

'per ogni file nella cartella
For Each objFile In objFolder.Files

'se sono files di Excel
Select Case LCase(Right(objFile.Name, 4))
Case ".xls", "xlsx", "xlsm"
'li apro e assegno il riferimento

Set objWorkbook = Workbooks.Open(objFile.Path)

'Workbook
With objWorkbook
'lo salvo nel nuovo formato
'in c:\nuovaCartella

.SaveAs FileName:="C:\nuovaCartella\" & _
objFile.Name & ".txt", _
FileFormat:=xlText, _
Local:=True


'chiudo il file
.Close
End With
End Select

Next

'ripristino gli Alerts
'e il refresh del monitor
With Application
.DisplayAlerts = True
End With

'Set a Nothing delle variabili oggetto
Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
Set objWorkbook = Nothing

End Sub

Io nei files .txt non vedo "" nei valori impostati
come numeri in Excel e vedo
i separatori salvati come sono impostati
nel mio pc.
Se(se) utilizzi il vbs, non puoi dichiarare
i parametri tipo: FileName:=NomeFile
ma devi passarli *tutti* e con i valori
delle costanti.

Fai sapere, grazie.

Franz Verga

unread,
Nov 4, 2009, 11:27:09 AM11/4/09
to
On 4 Nov, 12:21, "Mauro Gamberini"
<maurogscRIMUOV...@RIMUOVEREaliceposta.it> wrote:
> > È un dato assodato: se esporti da NUMBER  a TEXT, VBA

> > formatta a modo suo.
>
> Ultimo parametro di SaveAs:
>
> <guida>
>
> ImpostazioniInternazionali Facoltativo Variant
>
> Se ha valore True, i file verranno salvati nella lingua di Microsoft Excel
> (incluse le impostazioni del pannello di controllo). Se ha valore False
> (impostazione predefinita), i file verranno salvati nella lingua di Visual
> Basic, Applications Edition (VBA) (Visual Basic, Applications Edition (VBA):
> Versione in linguaggio macro di Microsoft Visual Basic utilizzata per
> programmare applicazioni basate su Windows e inclusa in numerosi programmi
> Microsoft.), che in genere è l'inglese (Stati Uniti) a meno che il progetto

> VBA da cui viene eseguito Workbooks.Open non sia un vecchio progetto VBA
> XL5/95 in una lingua diversa dall'inglese.
>
> </guida>
>
> Può risolvere?

Questa è esattamente la soluzione che mi serviva....

Grazie Mauro!!!!

--

Ciao

Franz da Berlino (dove oggi è caduta la prima neve dell'inverno)

r

unread,
Nov 4, 2009, 6:25:03 PM11/4/09
to

"Franz Verga" ha scritto:

Ciao Roberto,

>ho testato la tua funzione ed è praticamente perfetta, ma non ho avuto il
>tempo di studiarmela con calma...

sai dove trovarmi ...

[cut]

>Ho provato pure la funzione di Chip Pearson segnalata da Tiziano
>(http://www.cpearson.com/excel/ImpText.aspx).

>Questa fa più o meno la stessa cosa della tua ed è molto più compatta, però
>sostituisce le celle vuote del file Excel con delle coppie di virgolette.
>Non riesco a capire come modificarla per evitare questa cosa.

preferisco spesso scrivere funzioni staccate per riutilizzarle in altro
codice ... la funzione UsedRange migliorata ... è un po' lunga ma ha il
vantaggio di isolare le sole celle della *tabella* escludendo righe vuote a
sinistra e in alto ... volendo per compattare il codice basterebbe ben poco
...

>Ti allego un file d'esempio per darti un'idea della struttura dei dati che
>mi ritrovo a dover uplodare in SAP...

non l'ho ancora ricevuto ... appena lo invii ... vedrò di guardarlo ... e se
ho tempo doamni guardo anche la funzione di Chip Pearson ... adesso mi hai
incuriosito :-)
ciao
r

--
Come e dove incollare il codice:
http://www.rondebruin.nl/code.htm

Le mie case nel web:
http://excelvba.altervista.org/blog/index.php/Table/Excel-VBA/

http://r-mensa.blogspot.com/


Franz Verga

unread,
Nov 4, 2009, 8:07:26 PM11/4/09
to
r wrote:
> "Franz Verga" ha scritto:
>
> Ciao Roberto,
>
>> ho testato la tua funzione ed è praticamente perfetta, ma non ho
>> avuto il tempo di studiarmela con calma...
>
> sai dove trovarmi ...
>
> [cut]
>
>> Ho provato pure la funzione di Chip Pearson segnalata da Tiziano
>> (http://www.cpearson.com/excel/ImpText.aspx).
>
>> Questa fa più o meno la stessa cosa della tua ed è molto più
>> compatta, però sostituisce le celle vuote del file Excel con delle
>> coppie di virgolette. Non riesco a capire come modificarla per
>> evitare questa cosa.
>
> preferisco spesso scrivere funzioni staccate per riutilizzarle in
> altro codice ... la funzione UsedRange migliorata ... è un po' lunga
> ma ha il vantaggio di isolare le sole celle della *tabella*
> escludendo righe vuote a sinistra e in alto ... volendo per
> compattare il codice basterebbe ben poco ...
>
>> Ti allego un file d'esempio per darti un'idea della struttura dei
>> dati che mi ritrovo a dover uplodare in SAP...
>
> non l'ho ancora ricevuto ... appena lo invii ... vedrò di guardarlo

Il file l'ho allegato al post precedente (io uso Windows Mail per leggere i
NG) e lo vedo...


> ... e se ho tempo doamni guardo anche la funzione di Chip Pearson ...
> adesso mi hai incuriosito :-)


Non so se hai letto gli ultimi interventi di Mauro: la soluzione al problema
del SaveAs è di utilizzare l'ultimo parametro Local ed impostarlo a True (di
default è impostato su False). In questo modo il file viene salvato nella
lingua e con le impostazioni internazionali del pannello di controllo,
inclusi quindi i formati numerici...

Colgo l'occasione per ringraziare te e tutti gli altri per gli spunti
forniti, che mi serviranno a costruire un'applicazione più robusta ed
utilizzabile non solo da me, ma anche da miei colleghi molto meno addentro
ai segreti di Excel e del VBA...

--
Ciao

Franz Verga da Berlino (dove oggi è caduta la prima neve, ed il freddo è
stato parecchio pungente...)

eliano

unread,
Nov 4, 2009, 8:11:14 PM11/4/09
to

Ad occhiolo e crocetta, visto che il Chr(34) sono le virgolette ("):

For RowNdx = StartRow To EndRow
WholeLine = ""
For ColNdx = StartCol To EndCol
If Cells(RowNdx, ColNdx).Value = "" Then
CellValue = Chr(34) & Chr(34) '<---- prova a commentare
questa riga
Else
CellValue = Cells(RowNdx, ColNdx).Text
End If
WholeLine = WholeLine & CellValue & Sep
Next ColNdx
WholeLine = Left(WholeLine, Len(WholeLine) - Len(Sep))
Print #FNum, WholeLine
Next RowNdx

e visto che ci sei....ricordati quello che sostengo da tempo in merito
all'utilizzo delle macro.:-))
Massime cordialità
Eliano

eliano

unread,
Nov 4, 2009, 8:27:00 PM11/4/09
to
> stato parecchio pungente...)- Nascondi testo citato

>
> - Mostra testo citato -

Ciao Franz.
Ho risposto velocemente e la risposta l'ho mandata a Roby e, con molta
probabilità l'ho sbagliata.
Il "patatina" sta lavorando sulla scrittura di un file Testo e
probabilmente ha la necessità di riempire tutti i campi, quindi,
invece di commentare l'istruzione, prova a sostituire il Chr(34) con
il carattere blank, cioè Chr(32), oppure con il carattere zero, cioè
Chr(48), sperando che quel cornuto di SAP non si formalizzi.:-))
Per quanto riguarda il "Local" lo avevo provato anch'io ottenendo
sempre valori numerici virgolettati, ma probabilmente commettevo
qualche altro errore da qualche altra parte.
Bene, hai risolto il problema e sono felice per te.
Saluti
Eliano

Franz Verga

unread,
Nov 4, 2009, 8:42:47 PM11/4/09
to
eliano wrote:
> On 5 Nov, 02:07, "Franz Verga" <fra6...@InVento.it> wrote:
>> r wrote:
>>> "Franz Verga" ha scritto:
>>
>>> Ciao Roberto,
>>
>>>> ho testato la tua funzione ed � praticamente perfetta, ma non ho

>>>> avuto il tempo di studiarmela con calma...
>>
>>> sai dove trovarmi ...
>>
>>> [cut]
>>
>>>> Ho provato pure la funzione di Chip Pearson segnalata da Tiziano
>>>> (http://www.cpearson.com/excel/ImpText.aspx).
>>
>>>> Questa fa pi� o meno la stessa cosa della tua ed � molto pi�
>>>> compatta, per� sostituisce le celle vuote del file Excel con delle

>>>> coppie di virgolette. Non riesco a capire come modificarla per
>>>> evitare questa cosa.
>>
>>> preferisco spesso scrivere funzioni staccate per riutilizzarle in
>>> altro codice ... la funzione UsedRange migliorata ... � un po' lunga

>>> ma ha il vantaggio di isolare le sole celle della *tabella*
>>> escludendo righe vuote a sinistra e in alto ... volendo per
>>> compattare il codice basterebbe ben poco ...
>>
>>>> Ti allego un file d'esempio per darti un'idea della struttura dei
>>>> dati che mi ritrovo a dover uplodare in SAP...
>>
>>> non l'ho ancora ricevuto ... appena lo invii ... vedr� di guardarlo

>>
>> Il file l'ho allegato al post precedente (io uso Windows Mail per
>> leggere i NG) e lo vedo...
>>
>>> ... e se ho tempo doamni guardo anche la funzione di Chip Pearson
>>> ... adesso mi hai incuriosito :-)
>>
>> Non so se hai letto gli ultimi interventi di Mauro: la soluzione al
>> problema del SaveAs � di utilizzare l'ultimo parametro Local ed
>> impostarlo a True (di default � impostato su False). In questo modo

>> il file viene salvato nella lingua e con le impostazioni
>> internazionali del pannello di controllo, inclusi quindi i formati
>> numerici...
>>
>> Colgo l'occasione per ringraziare te e tutti gli altri per gli spunti
>> forniti, che mi serviranno a costruire un'applicazione pi� robusta ed

>> utilizzabile non solo da me, ma anche da miei colleghi molto meno
>> addentro ai segreti di Excel e del VBA...
>>
>> --
>> Ciao
>>
>> Franz Verga da Berlino (dove oggi � caduta la prima neve, ed il
>> freddo � stato parecchio pungente...)- Nascondi testo citato

>>
>> - Mostra testo citato -
>
> Ciao Franz.

Ciao Eliano

> Ho risposto velocemente e la risposta l'ho mandata a Roby e, con molta

> probabilit� l'ho sbagliata.

LOL

[cut]

> Per quanto riguarda il "Local" lo avevo provato anch'io ottenendo
> sempre valori numerici virgolettati, ma probabilmente commettevo
> qualche altro errore da qualche altra parte.

probabilmente hai convertito le celle a testo prima di salvare.

La cosa bella del Local, invece, � che non devi convertire nulla, ma solo
impostare il tipo di file (nel mio caso xlText) e mettere Local a True e va
tutto liscio come quando si fa il salva con nome a manina...

> Bene, hai risolto il problema e sono felice per te.

Non hai idea di come mi si semplifica il lavoro: ogni mese almeno una
trentina di file da aprire, estrarre il totale, salvare in txt e quindi
uplodare in SAP... In questo modo la creazione del check file con le somme
dei vari file e dei txt � roba di pochi secondi, mentre prima il tempo era
variabile da mezz'ora ad un'ora, salvo interruzioni...

> Saluti
> Eliano

--
Ciao

Franz Verga da Berlino (che ora se ne va a nanna, perch� domani si
ricomincia...)

eliano

unread,
Nov 4, 2009, 9:10:16 PM11/4/09
to
On 5 Nov, 02:42, "Franz Verga" <fra6...@InVento.it> wrote:
> eliano wrote:
> > On 5 Nov, 02:07, "Franz Verga" <fra6...@InVento.it> wrote:
> >> r wrote:
> >>> "Franz Verga" ha scritto:
>
> >>> Ciao Roberto,
>
> >>>> ho testato la tua funzione ed è praticamente perfetta, ma non ho

> >>>> avuto il tempo di studiarmela con calma...
>
> >>> sai dove trovarmi ...
>
> >>> [cut]
>
> >>>> Ho provato pure la funzione di Chip Pearson segnalata da Tiziano
> >>>> (http://www.cpearson.com/excel/ImpText.aspx).
>
> >>>> Questa fa più o meno la stessa cosa della tua ed è molto più
> >>>> compatta, però sostituisce le celle vuote del file Excel con delle

> >>>> coppie di virgolette. Non riesco a capire come modificarla per
> >>>> evitare questa cosa.
>
> >>> preferisco spesso scrivere funzioni staccate per riutilizzarle in
> >>> altro codice ... la funzione UsedRange migliorata ... è un po' lunga

> >>> ma ha il vantaggio di isolare le sole celle della *tabella*
> >>> escludendo righe vuote a sinistra e in alto ... volendo per
> >>> compattare il codice basterebbe ben poco ...
>
> >>>> Ti allego un file d'esempio per darti un'idea della struttura dei
> >>>> dati che mi ritrovo a dover uplodare in SAP...
>
> >>> non l'ho ancora ricevuto ... appena lo invii ... vedrò di guardarlo

>
> >> Il file l'ho allegato al post precedente (io uso Windows Mail per
> >> leggere i NG) e lo vedo...
>
> >>> ... e se ho tempo doamni guardo anche la funzione di Chip Pearson
> >>> ... adesso mi hai incuriosito :-)
>
> >> Non so se hai letto gli ultimi interventi di Mauro: la soluzione al
> >> problema del SaveAs è di utilizzare l'ultimo parametro Local ed
> >> impostarlo a True (di default è impostato su False). In questo modo

> >> il file viene salvato nella lingua e con le impostazioni
> >> internazionali del pannello di controllo, inclusi quindi i formati
> >> numerici...
>
> >> Colgo l'occasione per ringraziare te e tutti gli altri per gli spunti
> >> forniti, che mi serviranno a costruire un'applicazione più robusta ed

> >> utilizzabile non solo da me, ma anche da miei colleghi molto meno
> >> addentro ai segreti di Excel e del VBA...
>
> >> --
> >> Ciao
>
> >> Franz Verga da Berlino (dove oggi è caduta la prima neve, ed il
> >> freddo è stato parecchio pungente...)- Nascondi testo citato

>
> >> - Mostra testo citato -
>
> > Ciao Franz.
>
> Ciao Eliano
>
> > Ho risposto velocemente e la risposta l'ho mandata a Roby e, con molta
> > probabilità l'ho sbagliata.

>
> LOL
>
> [cut]
>
> > Per quanto riguarda il "Local" lo avevo provato anch'io ottenendo
> > sempre valori numerici virgolettati, ma probabilmente commettevo
> > qualche altro errore da qualche altra parte.
>
> probabilmente hai convertito le celle a testo prima di salvare.
>
> La cosa bella del Local, invece, è che non devi convertire nulla, ma solo

> impostare il tipo di file (nel mio caso xlText) e mettere Local a True e va
> tutto liscio come quando si fa il salva con nome a manina...
>
> > Bene, hai risolto il problema e sono felice per te.
>
> Non hai idea di come mi si semplifica il lavoro: ogni mese almeno una
> trentina di file da aprire, estrarre il totale, salvare in txt e quindi
> uplodare in SAP... In questo modo la creazione del check file con le somme
> dei vari file e dei txt è roba di pochi secondi, mentre prima il tempo era

> variabile da mezz'ora ad un'ora, salvo interruzioni...
>
> > Saluti
> > Eliano
>
> --
> Ciao
>
> Franz Verga da Berlino (che ora se ne va a nanna, perché domani si
> ricomincia...)- Nascondi testo citato

>
> - Mostra testo citato -

Notte Franz, dormi tranquillo.
Eliano.
P.S. Fammi sapere se la sostituzione del carattere non disturba il
malefico Sap, Grazie.

Mauro Gamberini

unread,
Nov 5, 2009, 3:20:28 AM11/5/09
to
<TaoTeChingXVI>
....
Raggiungendo un vuoto estremo
e conservando una rigorosa traquillit�,
mentre i diecilima esseri tutti insieme
si dibattono attivamente,
io contemplo il loro ritorno nel nulla.
....
</TaoTeChingXVI>


> Questa � esattamente la soluzione che mi serviva....
>

Bastava chiedere...
...e leggere la Guida... ;-)

Per il mio Franz(il destino nel nome)
pronto a tutto.

> Grazie Mauro!!!!
>

Grazie a te per il riscontro. 8-)


> Franz da Berlino (dove oggi � caduta la prima neve dell'inverno)
>

Piste da fondo?
Prendo gli sci e arrivo.
Metti in fresco la birra.
La pizza la porto io.

Mauro Gamberini

unread,
Nov 5, 2009, 3:54:48 AM11/5/09
to
<cut>

Per chi ha voglia di dare un'occhiata,
qui il file che ho utilizzato per l'esempio
in Excel:
http://www.maurogsc.eu/esemping/daexcelatext2.zip


--
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://www.maurogsc.eu/

http://social.microsoft.com/Forums/it-IT/officeit/threads

Franz Verga

unread,
Nov 5, 2009, 6:54:45 AM11/5/09
to
On 5 Nov, 09:20, "Mauro Gamberini"

<maurogscRIMUOV...@RIMUOVEREaliceposta.it> wrote:
> <TaoTeChingXVI>
> ....
> Raggiungendo un vuoto estremo
> e conservando una rigorosa traquillità,

> mentre i diecilima esseri tutti insieme
> si dibattono attivamente,
> io contemplo il loro ritorno nel nulla.
> ....
> </TaoTeChingXVI>
>
> > Questa è esattamente la soluzione che mi serviva....
>
> Bastava chiedere...

e io infatti ho chiesto... :-)

> ...e leggere la Guida... ;-)

Qui hai ragione... Io mi ero fidato del registratore di macro, che nel
SaveAs usa solo i parametri Filename, FileFormat e CreateBackup...

>
> Per il mio Franz(il destino nel nome)
> pronto a tutto.

ROTFL

> > Grazie Mauro!!!!
>
> Grazie a te per il riscontro. 8-)

LOL

> > Franz da Berlino (dove oggi è caduta la prima neve dell'inverno)


>
> Piste da fondo?
> Prendo gli sci e arrivo.

Niente più neve... Non è arrivata fino a sera

> Metti in fresco la birra.

Quella c'è sempre... ;-)

E cmq, basta metterla fuori dalla finestra, sul davanzale, ed in poco
tempo è fredda al punto giusto... ;-)


> La pizza la porto io.

No, che arriva fredda... Qui ci sono ottime pizzerie italiane vere...
Perché molte pizzerie che si spacciano per italiane poi in realtà sono
gestite da turchi...

--
Ciao

Franz da Berlino (dove stamattina c'era il sole ed ora è di nuovo
tutto grigio, cè vento e questa pioggerellina del piffero...)

Mauro Gamberini

unread,
Nov 5, 2009, 8:26:36 AM11/5/09
to
> Perch� molte pizzerie che si spacciano per italiane poi in realt� sono
> gestite da turchi...

Mamma mia....

0 new messages