Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Import sheet non piu funzionante....problema open.

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Import sheet non piu funzionante....problema open.

Postdi deniel69 » 10/02/15 05:26

Buona giornata a tutti ........

Problema di oggi.......
Con il codice sottostante ho sempre selezionato da una form una cartella di excel e caricato i nomi dei suoi fogli per poi successivamente selezionare quello da caricare ,dalla list box........ tutto ok sino ad oggi e non capisco come mai.....

Come posso individuare il problema ,e come risolverlo?

Codice errore "errore di run time...... la tabella esterna non è nel formato previsto............"


Codice: Seleziona tutto
Private Sub btnBrowse1_Click()
Dim FName1 As Variant
FName1 = Application.GetOpenFilename("Excel Files (*.xlsx),*.xlsx") ', Excel Files (*.xls),*.xls")
If FName1 = False Then
Exit Sub
End If
Me.tbxWorkbook1.Text = FName1
ListSheets1 CStr(FName1)

End Sub

Private Sub ListSheets1(WBName1 As String)
Dim CN As Object 'ADODB.Connection '<=======
Dim RS As Object ' ADODB.Recordset
Dim TableName1 As String

Set CN = CreateObject("ADODB.Connection")

With CN
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & WBName1 & ";" & _
"Extended Properties=""Excel 8.0;"""
.Open                     '<<<<<<<======= Debug in questo punto !!!!!!!!!!
Set RS = .OpenSchema(20) 'adSchemaTables
End With

Me.lbxSheets1.Clear
Do While Not RS.EOF
TableName1 = RS.Fields("table_name").Value
If Right$(TableName1, 1) = "$" Then
Me.lbxSheets1.AddItem Left(TableName1, Len(TableName1) - 1)
End If
RS.MoveNext
Loop
RS.Close
CN.Close
End Sub



Grazie a chi sarà utile...........
Avatar utente
deniel69
Utente Senior
 
Post: 113
Iscritto il: 17/04/12 22:43

Sponsor
 

Re: Import sheet non piu funzionante....problema open.

Postdi Flash30005 » 10/02/15 08:25

Hai forse cambiato/aggiornato la versione di Excel? (a proposito quale usi?)

potresti inviare il file senza che ricostruiamo la tua situazione?

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Import sheet non piu funzionante....problema open.

Postdi Anthony47 » 10/02/15 14:14

Leggi il messaggio di Flash, sopra....
Ma il problema ce l' hai con un file specifico o con qualsiasi file?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Import sheet non piu funzionante....problema open.

Postdi deniel69 » 10/02/15 17:36

Grazie per l'attenzione a entrambi.......

Uso excel 2007 ma presto passero a 2010......

http://www.filedropper.com/importafogli

Ho caricato la cartella excel con il codice e la form.......

Grazie ancora per l'aiuto.....
Avatar utente
deniel69
Utente Senior
 
Post: 113
Iscritto il: 17/04/12 22:43

Re: Import sheet non piu funzionante....problema open.

Postdi Flash30005 » 10/02/15 18:07

A me dà errore Isam installabile

Ricordo che anni fa una versione di Excel precedente quando dava questo errore intervenivo nel registro di Windows aggiungendo righe codice di un altro Pc funzionante.

Non ho avuto più problemi di questo tipo e adesso scopro che siamo tornati indietro???

studierò come fare

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Import sheet non piu funzionante....problema open.

Postdi Flash30005 » 10/02/15 18:14

Il problema è l'estensione del file perché con .xls la macro funziona pertanto, penso, si debba cambiare la libreria per l'acquisizione

a dopo

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Import sheet non piu funzionante....problema open.

Postdi ricky53 » 10/02/15 21:56

Ciao,
prima leggi l'intervento di Flash ...

Per aprire file Excel delle versioni successive alla 2003 occorre modificare la tua istruzione
Codice: Seleziona tutto
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & WBName1 & ";" & _
"Extended Properties=""Excel 8.0;"""

con la seguente
Codice: Seleziona tutto
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & WBName1 & ";" & _
"Extended Properties=""Excel 12.0;"""

La stessa modifica va fatta anche dove viene aperto il secondo file, ossia dove si utilizza "WBName2"


Prova e ...
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Import sheet non piu funzionante....problema open.

Postdi Anthony47 » 10/02/15 23:16

La struttura del file varia a seconda del formato file (con macro /senza; old /xml style); dovresti fare quindi una versione con la compilazione condizionata dalla versione di excel e con operazioni diversificate se il file e' xlsx/xlsm...
Pero' se il file alla fine lo apri, e vedo che lo apri, non ha senso tutta quella complicazione.
Prova a usare questa versione di Private Sub ListSheets1:
Codice: Seleziona tutto
Private Sub ListSheets1(WBName1 As String)
Dim tWB, WSh, myShList As String
'
Set tWB = Workbooks.Open(WBName1)
myWB = ActiveWorkbook.Name
For Each WSh In tWB.Worksheets
    myShList = myShList & WSh.Name & "/"
Next
Workbooks(myWB).Close savechanges:=False      '*** Vedi testo
'
Me.lbxSheets1.Clear
Me.lbxSheets1.List = Split(myShList, "/", , vbTextCompare)
'
End Sub

La Private Sub ListSheets2 la modifichi analogamente.

Nota***: la chiusura del file l' ho inserita cosi' le macro che vengono dopo non devono essere modificate; pero' vedi se non e' il caso di lasciare il file aperto e non aprirlo nelle fasi successive.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Import sheet non piu funzionante....problema open.

Postdi deniel69 » 11/02/15 18:13

Grazie a entrambi ,con i vostri suggerimenti e le vostre modifiche ho messo apposto il codice
che ora funziona perfettamente.... legge i file *.xlsx e solo quelli ma a me va bene cosi.

Magari se ne avrò necessita in futuro modificherò il codice ,ma per ciò a cui mi serve va più che bene..

Ho solo aggiunto la definizione della stringa myWB che mancava ,per il resto tutto ok !

Allego link al file funzionante ....per i posteri e per pubblica utilità......

http://www.filedropper.com/importafogli_1

Grazie ancora ad entrambi, siete i migliori !!!! Buona serata !
Avatar utente
deniel69
Utente Senior
 
Post: 113
Iscritto il: 17/04/12 22:43


Torna a Applicazioni Office Windows


Topic correlati a "Import sheet non piu funzionante....problema open.":

Problema Windows 10
Autore: asso1998
Forum: Software Windows
Risposte: 1

Chi c’è in linea

Visitano il forum: albval e 24 ospiti