• Viernes 29 de Marzo de 2024, 08:47

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - shakka

Páginas: 1 ... 30 31 [32]
776
VBA / Re: Exportar Un Archivo De Texto A Excel
« en: Jueves 7 de Abril de 2005, 18:35 »
/* si se puede */
para eso necesitas abrir un archivo con la intruccion open y guardar los registro en arreglo tipo cadena con la instruccion input

ej:
 Open ("C:\TEXTO.TXT") For Input As #1

y luego cerrar el archivo con Close #1  <-numero de archivo

donde cada registro se encuentre en una linea diferente ademas sus campos deben de estar esparados por comas y entre comillas.
ej:

"1-campo1","1-campo2"
"2-campo1","2-campo2"
...

esto para que puedas obtener las tiras de registro mediante un ciclo y verificando cuando llegues al fin de archivo con EOF(NUMERO_DE_ARCHIVO)
    Do While Not EOF(1)
...
    Loop

luego para ingresar los datos en la hoja con otro ciclo, le agregas la informacion
a cada celda por registro:

    With ActiveSheet
      .Cells(fila+1, 1).Value = sCampo1(fila)
      .Cells(fila+1, 2).Value = sCampo2(fila)
      .Cells(fila+1, 3).Value = sCampo3(fila)
    End With

777
VBA / Re: Aplicacioncita
« en: Jueves 7 de Abril de 2005, 00:49 »
///////////////////////////////////////////////////////////////////////////////////////////////
1)
Primero que nada estas evaluando 2 textbox que existen Len(TxtMes.Text) = 0 Or Len(TxtAño.Text) = 0...

deberia ser ...
->son combobox ...Len(CmbMes.Text) = 0 Or Len(TxtAño.Text) = 0...

si no entendi mal quieres insertar registros en la hoja de modo que todos se ubiquen en la misma fila(registro) pero en diferente columna(campos) a excepcion de valor que iria igual que todos(en dif. columna pero tambien en dif. fila)
entonces cambia :

With ActiveCell
        .Value = TxtNombre & "         " & TxtNit
        .Offset(0, 1).Value = TxtDir
        .Offset(0, 2).Value = TxtTel
        .Offset(0, 3).Value = TxtCodSaler
        .Offset(0, 4).Value = TxtDia & "   " & TxtMes & "   " & TxtAño
        .Offset(0, 5).Value = LstConcept
        .Offset(0, 6).Value = TxtValor
    End With
End If
ActiveCell.Offset(1, 0).Activate

por esto:
(bueno yo las trabajo asi, no se porque un campo del mismo registro iria en otra fila pero bueno si lo ocupas asi esto lo hace)
    Worksheets("Hoja2").Activate
    Worksheets("Hoja2").Rows(2).Select
    Selection.EntireRow.Insert
    Selection.EntireRow.Insert
   
    With ActiveSheet
         'cells(fila,columns) lo puse a insertar en la 2 fila por si quieres
         'agregarle un encabezado en la primera fila
         'sino solo cambia cells(2,columna) por cells(1,...)
         'y       .Cells(3, 7) = TxtValor por   .Cells(2, 7) = TxtValor
      .Cells(2, 1) = TxtNombre & "         " & TxtNit
      .Cells(2, 2) = TxtDir
      .Cells(2, 3) = TxtTel
      .Cells(2, 4) = TxtCodSaler
      .Cells(2, 5) = TxtDia & "   " & TxtMes & "   " & TxtAño
      .Cells(2, 6) = LstConcept
      .Cells(3, 7) = TxtValor
    End With

/* como observacion coloca al inicio del codigo
    Option Explicit, eso te ahorrara muchos problemas por ejemplo con
    el tratamiento de las variables.
*/


///////////////////////////////////////////////////////////////////////////////////////////////
2)
/* primero determina que vas a eliminar */
utiliza la propiedad cboBox.RemoveItem indice

si necesitas algo mas avisa

778
VBA / Re: Iniciar Aplicacion
« en: Miércoles 6 de Abril de 2005, 23:29 »
/* si todavia lo necesitas prueba con esto */
 ;)

Option Explicit
  Dim oWord As Object
 
'boton de comando
Private Sub cmdAbrirDWord_Click()
  Set oWord = CreateObject("word.application")
  oWord.Visible = True
  oWord.Documents.Open ("C:\AYUDA.DOC")
End Sub

'al cerrar el form
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  oWord.Documents("AYUDA.DOC").Close
  Set oWord = Nothing
End Sub

Páginas: 1 ... 30 31 [32]