Ciao a tutti,
sto usando il codice allegato sotto (trovato in giro sui forum) per importare dati da una cartella excel contenente 115 fogli in una unica tabella Access.
Il codice dovrebbe creare un file "Prova.xlsx" da cui poi posso fare l'import a mano; funziona tutto, l'array contiene i nomi corretti delle schede (provato con il debug.print), finché non arrivo alla riga di importazione (DoCmd): mi risponde "Errore di run-time '3125': Acilia$ non è un nome valido. Verificare che non includa caratteri o punteggiatura non validi e che non sia troppo lungo".
Ora, il nome della cartella è "Acilia" e non "Acilia$", non riesco ad intercettare DOVE viene aggiunta la "$", per questo anche aggiungendo controlli sulla stringa (Replace, etc.) il codice non funziona...
Qualcuno può aiutarmi?
Grazie in anticipo
PdS
Private Sub Comando0_Click()
Dim XlsAPP As Excel.Application
Dim XlsWB As Excel.Workbook
Dim XlsSH As Excel.Worksheet
Dim x As Integer
Dim strNomeFoglio As String
Set XlsAPP = CreateObject("Excel.Application")
Set XlsWB = XlsAPP.Workbooks.Open("C:\Users\Sergio\Documents\Lavori\Merulla\Rev_05\Strade\SITO-Strade-di-Roma_defMODIFICATE.xlsx")
Dim ContaFogli
ContaFogli = (XlsWB.Sheets.Count)
ReDim arrSH(ContaFogli) As String
For x = 1 To ContaFogli
arrSH(x) = XlsWB.Sheets(x).Name
Debug.Print arrSH(x)
Next
XlsWB.Close
Set XlsWB = Nothing
Set XlsAPP = Nothing
For x = 1 To UBound(arrSH)
strNomeFoglio = Replace(arrSH(x), ",", "")
strNomeFoglio = Replace(arrSH(x), "$", "")
Debug.Print strNomeFoglio
DoCmd.TransferSpreadsheet acImport, , strNomeFoglio, "d:\PROVA.xlsx", False, Replace(strNomeFoglio & "!", "$", "")
Next
End Sub