Foros del Web » Programación para mayores de 30 ;) » .NET »

ayuda traduciendo una fucion VB.NET a VBA

Estas en el tema de ayuda traduciendo una fucion VB.NET a VBA en el foro de .NET en Foros del Web. Hola amigos, estoy haciendo una aplicacion en VBA desde la cual llamo a un ejecutable VB.NET que lee un archivo de texto, cambia los puntos ...
  #1 (permalink)  
Antiguo 07/06/2007, 10:27
 
Fecha de Ingreso: mayo-2007
Mensajes: 7
Antigüedad: 17 años
Puntos: 0
ayuda traduciendo una fucion VB.NET a VBA

Hola amigos, estoy haciendo una aplicacion en VBA desde la cual llamo a un ejecutable VB.NET que lee un archivo de texto, cambia los puntos decimales por

comas y posteriormente importa los campos separados por punto y coma a una tabla de una base de datos access ya existente.
mi problema es que es u npoco problematico llamar al ejecutable ademas que no quiero combinar tantos lenguajes asi que me gustaria saber si es posible y si

podriais ayudarme a traducir el codigo de vb.net a una funcion VBA.
muchas gracias por adelantado.

Imports System.Data.OleDb

Module puntos_por_comas

Sub Main()

Dim sr As New System.IO.StreamReader("..\texto.txt")
Dim origen As String = sr.ReadToEnd
sr.Close()

Dim destino As String = origen.Replace(".", ",")

Dim sw As New System.IO.StreamWriter("..\Destino.txt")
sw.Write(destino)
sw.Close()

Dim cnn As New OleDbConnection( _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=..\;" & _
"Extended Properties='TEXT;HDR=Yes;FMT=Delimited(;)'")

Using cnn
Try
Dim sql As String = _
"SELECT * INTO [Importados] " & _
"IN '..\base.mdb'" & _
"FROM ..\destino#txt"

Dim cnn2 As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=..\base.mdb")
Dim SchemaTable As DataTable
cnn2.Open()

SchemaTable = cnn2.GetOleDbSchemaTable(System.Data.OleDb.OleDbSc hemaGuid.Columns, _
New Object() {Nothing, Nothing, "Importados"})

If SchemaTable.Rows.Count <> 0 Then
'table exists
Dim sql2 As String = "DROP TABLE Importados"
Dim cmd2 As New OleDbCommand(sql2, cnn2)
cmd2.ExecuteNonQuery()
cnn2.Close()
End If

cnn.Open()

Dim cmd As New OleDbCommand(sql, cnn)
Dim regAfect As Int32 = cmd.ExecuteNonQuery

Finally
cnn = Nothing

End Try

End Using

End Sub

End Module
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:34.