PDA

View Full Version : [VB 2010 Express] Aprire multipli txt in Excel


delp
30-01-2011, 16:49
Buonasera a tutti.
premetto che sono un principiante del Visul basic. Sto cercando di creare un'applicazione che mi consenta di inserire più files di testo .txt all'interno di una cartella Excel (un file per ogni foglio) dove ho già impostato una tabella. I dati contenuti nei files verranno poi inseriti nella tabella attraverso una macro che cercherò di scrivere in un secondo momento. Ora ho un problema da risolvere relativo (penso) alla finestra di dialogo apri. Leggendo nei vari forum e nei vari manuali sono riuscito a realizzare una form con un "button1" e una OpenFileDialog. Ora, pur aver avendo abilitato il Multiselect nella finestra di dialogo, se seleziono più files di testo e clicco su OK, viene preso in considerazione soltanto il primo file (all'interno della cartella ce ne possono essere anche 20). Inoltre: per aprire tutti i files contenuti nella cartella di mio interesse(ad esempio 5 files), ho impostato un ciclo "For Each.....Next"; ma l'applicazione mi apre per 5 cinque volte lo stesso file (xxxxxxxx-1) all'interno di Excel. Sono un po' di giorni che sono fermo e non riesco ad andare avanti.

Alcune note: sto utilizzando Visual Basic 10 Express e i files hanno, in generale, questo nome: xxxxxxx-1, xxxxxxx-2, xxxxxxx-3 etc.

Vi prego inoltre di darmi eventuali suggerimenti su come articolare il codice (ad es. uso di StreamReader anzichè .Workbooks.Open).

Per essere il più chiaro possibile, allego il codice da me scritto:



Imports Microsoft.Office.Interop

Imports Microsoft.Office.Core

Imports System.Net

Imports System.IO

Imports System.Collections.ObjectModel

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 S() As String = OpenFileDialog1.FileNames

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

objXls.Visible = True

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

End Sub

End Class



GRAZIE INFINITE!!!