[VB 2010 Express] Txt e Excel

di il
5 risposte

[VB 2010 Express] Txt e Excel

Salve a tutti,
sto realizzando un piccolo programmino che potrebbe rendermi più facile la vita al lavoro.. Ho bisogno di importare dei file txt (uno per ogni foglio) in una cartella di Excel predefinita, dove all'interno ho già elaborato una tabella. Il form prevede un button1 e una finestra di dialogo Apri (con il Multiselect su True). Ho impostato un ciclo For...Each, ma invece di aprire tutti i file della cartella (es. 3 files), apre il primo per tre volte. Per fare chiarezza, posto il codice che ho scritto. Dove sbaglio??
Grazie Infinite!!

Imports Microsoft.Office.Interop
Imports System.IO
Imports Microsoft.Office.Interop.Excel

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim File As String
Dim objXls As Microsoft.Office.Interop.Excel.Application
Dim objWbk As Microsoft.Office.Interop.Excel.Workbook
Dim objsht As Microsoft.Office.Interop.Excel.Worksheet
objXls = New Microsoft.Office.Interop.Excel.Application
'Apro excel
objXls.Visible = True
'Apro finestra di dialogo Apri File
If OpenFileDialog1.ShowDialog = System.Windows.Forms.DialogResult.OK Then

End If

For Each File In OpenFileDialog1.FileNames
File = OpenFileDialog1.FileName

With (objXls)

.DisplayAlerts = False
.Workbooks.OpenText(Filename:=OpenFileDialog1.FileName, _
Origin:=XlPlatform.xlWindows, _
StartRow:=1, _
DataType:=Excel.XlTextParsingType.xlDelimited, _
TextQualifier:=Excel.XlTextQualifier.xlTextQualifierDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=True, _
Semicolon:=False, _
Comma:=False, _
Space:=False, _
Other:=False)
End With

Next File
End Sub

5 Risposte

  • Re: [VB 2010 Express] Txt e Excel

    Ciao questa istruzione è sicuramente sbagliata: File = OpenFileDialog1.FileName
    se metti l'applicazione in debug e ti ci fermi sopra vedrai che OpenFileDialog1.FileName conterrà sempre lo stesso valore.
    Col ciclo For Each stai già creando un oggetto File uguale all'elemento corrente di OpenFileDialog1.FileNames
  • Re: [VB 2010 Express] Txt e Excel

    Grazie Toki per il tuo aiuto.
    In effetti ho cancellato la riga e ora, mettondolo in debug, vedo tutti i valori considerati. Ma il risultato purtroppo non cambia: il programma continua ad aprire più volte il primo file. Hai qualche altro consiglio??
    P.S. Come avrai notato, sono un principiante. Grazie di nuovo per il tuo aiuto!!
  • Re: [VB 2010 Express] Txt e Excel

    Ciao a guardare il codice (la prossima volta inseriscilo dentro il blocco "Code" cosi risulta + leggibile )
    ho notato l'istruzione Workbooks.OpenText(Filename:=OpenFileDialog1.FileName che ha di fondo lo stesso errore di prima.
    Anche in questo caso devi usare l'oggetto File precedentemente creato e non OpenFileDialog1.FileName.
  • Re: [VB 2010 Express] Txt e Excel

    Grazie Toki.
    Come mi hai suggerito ho sostituito l'oggetto File a OpenFileDialog1.Filename e ora mi apre tutti i files selezionati.
    Cercherò di trovare un modo per poterli aprire all'interno di una cartella Excel già esistente, visto che ora mi apre una cartella per ogni file.
    Ad ogni modo grazie di nuovo, senza i tuoi suggerimenti non sarei mai riuscito.
  • Re: [VB 2010 Express] Txt e Excel

    Di niente, a presto
Devi accedere o registrarti per scrivere nel forum
5 risposte