Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
ciao Lorenzo,
Ciao Sandro, buongiorno...
buongiorno a te :-)
[...]
FUNZIONAAAAAAAAAAAAAAA Fantastico :)
[...]
avverto un piccolissimo cenno di soddisfazione ed entusiasmo ;-), bene :-DD.
[...]
Allora perfetto ora funziona, scusa se no nero stato preciso fin dall'inizio...
[...]
nessuna ragione di scusarsi la prima bozza della routine non prevedeva molte cose....ma alla fine ci siamo arrivati...
[...]
Un ultima domanda...se volessi far si di scegliere una qualsiasi cartella, anziché utilizzare un percorso fisso, come dovremmo cambiare il codice?
[...]
si corretta osservazione.
inserisci la funzione, folderPicker che si appoggia al fileDialog e rende un un path selezionato con il classico prompt di Windows.
Ti incollo anche la funzione renameXLS2, ho apportato qualche modifica, non rilevantissima...ma comunque te la mostro ugualmente :
Private Function folderPicker() As String
Dim fDialog As Object
Set fDialog = Application.FileDialog(4)
With fDialog
.Title = "Seleziona una cartella:"
.InitialFileName = "C:"
.AllowMultiSelect = False
folderPicker = vbNullString
If .Show Then
folderPicker = .SelectedItems(1) & ""
End If
End With
End Function
Sub renameXLS2()
On Error GoTo errorHandler
'Const strPathTxtFileToSearch As String = "F:\desktop\provaXLS\testo\*.txt"
'Const strPathTxtFile As String = "F:\desktop\provaXLS\testo"
Dim strPathTxtFile As String
strPathTxtFile = folderPicker()
If Len(strPathTxtFile) = 0 Then
VBA.MsgBox prompt:="Nessuna cartella selezionata!", _
Buttons:=vbInformation, _
Title:="Avviso"
Exit Sub
End If
Dim strPathTxtFileToSearch As String
Dim strFile As String
Dim strfullPathFile As String
Dim strStringFileName As String
Dim strNewFileName As String
Dim lngLengthName As Long
Dim lngCountFile As Long
Dim lngCountFileM As Long
Dim strMessage As String
strPathTxtFileToSearch = strPathTxtFile & "*.txt"
strFile = Dir(strPathTxtFileToSearch, 0)
Do While Len(strFile) > 0
lngCountFile = lngCountFile + 1
strfullPathFile = strPathTxtFile & strFile
If (GetAttr(strfullPathFile) And vbDirectory) = 0 Then
If strFile <> "." And strFile <> ".." Then
Open strfullPathFile For Input As #1
lngLengthName = 0
strNewFileName = vbNullString
Do
Input #1, strStringFileName
If InStr(1, strStringFileName, "From") Then
strNewFileName = splitFileName(strStringFileName) & ".txt"
lngLengthName = Len(strNewFileName)
lngCountFileM = lngCountFileM + 1
End If
Loop Until EOF(1) Or lngLengthName > 0
Close #1
If lngLengthName > 0 Then
Name strPathTxtFile & strFile As strPathTxtFile & strNewFileName
End If
End If
End If
strFile = Dir()
Loop
strMessage = "Ho Finito."
If lngCountFileM > 0 Then
strMessage = "Ho finito. Ho individuato " & lngCountFile & " files di testo " & vbNewLine & _
"Ne ho rinominati " & lngCountFileM & "." & vbNewLine & _
"ciao!"
End If
ext_errorHandler:
VBA.MsgBox prompt:=strMessage, _
Buttons:=vbInformation, _
Title:="Avviso"
Exit Sub
errorHandler:
With Err
MsgBox "ERR#" & .Number _
& vbNewLine & .Description _
, vbOKOnly Or vbCritical
End With
Resume ext_errorHandler
End Sub
Volendo essere maggiormente fantasiosi si potrebbe implementarla ulteriormente ed addirittura provare l'ebbrezza della gestione via API di Windows, ma restiamo sul semplice....
[...]
In merito alla tua risposta ti ringrazio...Io sono bravo con Excel, ma poi deficio in VBA...conosco la programmazione ad oggetti, uso swift ma e' molto piu' semplice di VBA, in quanto in VBA da quello che vedo e' la vecchia programmazione ad oggetti (vecchia per modo di dire, ma molti piu' caretteri chiave)..
Almeno e' quello che noto io, poi potrei sbagliarmi...
[...]
io Excel lo conosco poco e male, e.....tra l'altro....sei un Apple developer...? e cosa ci fai qui...? via..! Scherzo ovviamente!Non conosco nulla di Swift, ma per certo la logica della programmazione ad oggetti aiuta molto.
Devo dirti che VBA non è propriamente object oriented, ma se hai altre basi credo che non ti sarà difficile familiarizzare con VBA.
[...]
Access lo trovo interessante ma oltre allo struttura e al fine..non lo conosco...per adesso visto che Excel e' pane quotidiano per me, mi piacerebbe approfondire VBA...vediamo cosa ne esce fuori..
[...]
sono un appassionato di databases relazionali e quelli piatti non mi piacciono anche se trovo la capacità di calcolo di Excel straordinaria. Excel per me è un appoggio fondamentale per estrarre dati dal database.
[...]
Scusa la domanda personale, tu come hai iniziato ad usare VBA?
Grazie Mille
Lorenzo
[...]
quasi tutto quelli che utilizzano Access provengono da Excel e la logica dell'uno e dell'altro sono moooolto diverse.
Passi ad Access quando i dati da gestire sono molti relazionati tra loro e cominci a fare fatica ad elaborali con Excel e poi da li piano piano capisci come procedere passo, passo... proprio passo passo...! e se poi ti appassioni è fatta!
[...]
Grazie Mille
Lorenzo
[...]
ti saluto!
Ciao, Sandro.