PREGUNTAS CONTESTADAS - Visual Basic

 Hay un total de 3030 Preguntas.<<  >> 

    Pregunta:  51940 - EVITAR VENTANAS DE ADVERTENCIA AL IMPORTAR ARCHIVO A EXCEL
Autor:  adolfo arreag
Mi pregunta es si alguien conoce alguna linea de codigo de VBA par el siguiente caso:

Estoy realizando unas macros para excel donde estoy abriendo y copiando contenido de archivos con extension PNR, ya realice la delimitacion del archivo, copiar la info, cerrarle y etc etc de manera excelente, el unico detalle es que me estan saliendo las ventanas de advertencia que manda excel para poder abrir cada uno de los archivos.

¿que linea de codigo pongo para evitar salgan esas molestas ventanas que me pausan la ejecucion de mi macro?

gracias de antemano
  Respuesta:  eider mauricio aristizabal erazo
Lo que conozco es para deshabilitar las alertas

Application.DisplayAlerts = False
'.......
'Codigo que genera alertas
'.......
Application.DisplayAlerts = True

Salu2!.

    Pregunta:  51994 - READ STATE PAPER OUT
Autor:  Carlos Narvaez
Hola gracias por la ayuda q me puedan dar...
no se si alguien sabe como leer el estado del papel de una impresora
que emite tickets (EPSON TM88III)
Lo que quiero hacer es que me avise cuando el papel esta por acabarse.
Eso sucede cuando el paper out de la printer esta en rojo
Como podria leer ese estado en visual basic 6.0..
  Respuesta:  Jorge Morales
Saludos, lo mas seguro es que yo te pueda ayudar pero me gustaria saber si tu miniprinter se conecta por puerto paralelo si es asi mandame un correo para avisarme y te echo la mano. Saludos.

    Pregunta:  52001 - INSUFICIENTE MEMORIA DE PILA
Autor:  victor oliva
Utilizo el acces para usar este lenguaje pero es lo mismo.
Tengo varias preguntitas:
1: Estoy haciendo un juego de blackjack (sin graficos ni nada, solo con quadros te texto, etc. utilizando subs. Quando se lleva un cierto tiempo jugando, acaba saliendo un mensaje diciendome "insuficiente memoria de pila". Alguien sabe si existe alguna manera de cerrar todas las subs abiertas?

2: Tambien estoy haciendo un codificador de textos (o encriptador), lo tengo hecho en lenguaje Quick Basic (*.BAS), pero no se como hacerlo en visual basic. Necesito que me lea un texto que se introduzca palabra por palabra, y despues, en cada palabra, letra por letra; alguien sabe como hacerlo?

Muchísimas gracias
  Respuesta:  Eider Mauricio Aristizabal Erazo
En el caso 1. utiliza el depurador para analizar las llamadas a las funciones y si es posible, escribe pinta en un papel el flujo de las llamadas... es muy posible que estes utilizando funciones recursivas que nunca estan terminando o es muy posible que llames un sub y que ese llame a otro sin que el primero haya terminado y asi sucesivamente.. entonces el problema es que la memoria asignada para tu programa se llena. Lo que debes hacer es revisar tu codigo y reestructurarlo. Planear la arquitectura de tu programa.
Suerte

    Pregunta:  52010 - CAMBIAR COLOR A UNA FILA DE UN GRIDEX
Autor:  Álvaro Camacho Lugo
Hola muy buenas, tengo un gridex que me muestra todos los clientes que tengo en mi base. En esta tabla de cliente tengo un campo que me indica si el cliente lo es o no lo es, es decir, si ese campo(estado) tiene un 1 como valor es activo y si tiene un 0 es inactivo. Entonces lo que quiero hacer es que cuando me muestre en el gridex a todos los clientes que tengo en la tabla, a aquellos que tienen en el campo de "estado" un 1 se me ponga el texto de esa fila en azul y a los que no tienen un 1 me lo deje en negro tal como viene por defecto. Este es el codigo que tengo, a ver si me lo pueden revisar y decirme que es lo que tengo mal, ya que o me lo muestra todo en negro o en azul. (Cuando me lo muestra todo el gridex en azul es porque da la casualidad de que el ultimo registro del gridex cumple con la condicion que le indico, es decir, que el cliente es activo y entonces me pone todo el gridex en azul, no me respeta las filas.

"rsdatos" es el recordset que he hecho de la tabla "clientes" para mostrar en el gridex
la sentencia select que he hecho es: " select * from clientes"

While Not rsdatos.EOF
i = i + 1
If (rsdatos("estado") = 1) Then
GridEX1.Row = i
GridEX1.ForeColor = vbBlue
Else
GridEX1.Row = i
GridEX1.ForeColor = vbBlack
End If
rsdatos.MoveNext
Wend

Por favor a ver si me pueden decir que es lo que he hecho mal porque no me sale lo que estoy intentando hacer. Muchas gracias de antemano. Saludos.
  Respuesta:  David Enriquez
Tengo una funcion que te puede ayudar... mas o menos te platico como esta mi grid:

Tiene 1 columna
Grupo_Trabajo
Contabilidad
Nominas
Compras

llamo a la funcion
x=PintaFilas(Grid1)

Function pintafilas(ByVal Objeto As Object) As String
Dim IdGporEnc As String
On Error Resume Next
With Objeto
For Fila = 1 To .Rows - 1
.Col = 0
.Row = Fila
IdGporEnc = .Text
For icol = 0 To .Cols - 1
ColorSel = BuscaColor(IdGporEnc) 'La funcion me busca que color corresponde al grupo de trabajo encontrado
.Col = icol
.CellBackColor = ColorSel
Next icol
Next Fila
End With

Err.Clear()
' Comprueba el error, después muestra un mensaje.
If Err.Number <> 0 Then
Msj = "Error # " & Str(Err.Number) & " fue generado por " _
& Err.Source & Chr(13) & Err.Description
MsgBox(Msj, , "Error", Err.HelpFile, Err.HelpContext)
End If

'Ejemplo
'Grupo de Trabajo: Color
'Contabilidad Rojo
'Nominas Amarillo
'Compras Azul
'***Nota: si no mal recuerdo el color lo guardo en este formato: &H8000000F&
End Function

Espero te sirva

    Pregunta:  52020 - IMPRIMIR UN ARCHIVO .PDF DIRECTO A LA BANDEJA 3 EN VB
Autor:  Sr_Novato Novato
Que tal amigos, espero me puedan contestar mi pregunta ya que en verdad que me urge.

Necesito mandar a imprimir un documento .pdf a la impresora predeterminada, pero necesito que lo imprima utilizando forzosamente la bandeja 3 de la impresora. Por hay en internet baje algunos programitas pero no me resuelven mi problema, la aplicacion esta en visual basic 6.0.

utilizo la siguiente funcio, manda a imprimir pero no le importa de que bandeja lo imprima
res = ShellExecute(Me.hwnd, "print", "C:\prueba.pdf", "", "", 0)

Espero me puedan ayudar, de ante mano mil gracias
  Respuesta:  LUIS LAU
HOLA , LO QUE PUEDES HACER ES IDENTIFICAR LA IMPRESORA POR SU NOMBRECON LA QUE QUIERES IMPRIMIR SEGUN EL TIPO DE DOCUMENTO A IMPRIMIR:
EJEMPLO TENEMOS 3 IMPRESORAS CON NOMBRES "F","B","G"(PRINTER.DEVICENAME)


Dim P As Printer
Dim nom_impresora As String
Dim POS As Integer

x = Printer.Port 'GUARDAMOS EL PREDETERMINADO
For Each P In Printers 'BUCLE DE TODAS LAS IMPRESORAS
POS = InStr(1, UCase(P.DeviceName), "(", 1)
If POS > 0 Then
nom_impresora = Trim(Mid(UCase(P.DeviceName), 1, POS - 1))
Else
nom_impresora = Trim(UCase(P.DeviceName))
End If
'si el doc. es "01" y la impresora es F tonces asignamos la impresora
'y salimos de bucle, hacemos los mismo en los demas casos
If CODI_DOCUMENTO = "01" Then
If nom_impresora = "F" Then
Set Printer = P
Exit For
End If
End If
If CODI_DOCUMENTO = "03" Then
If nom_impresora = "B" Then
Set Printer = P
Exit For
End If
End If
If CODI_DOCUMENTO = "09" Then
If nom_impresora = "G" Then
Set Printer = P
Exit For
End If
End If
Next P
'lineas a imprimir

printer.EndDoc

'luego dejamos la impresora con la q estaba como predeterminada
'la cual esta guardada en la variable x


For Each P In Printers
If P.Port = x Then
Set Printer = P
Exit For
End If
Next P

'espero t ayude, me escribes

    Pregunta:  52071 - COMO CORTAR EL PAPEL CON UNA IMPRESORA CON VB
Autor:  Jorge Basiluk
Hola gente, mi problema es que tengo un impresora de ticket (mt2460) con la cual imprimo el ticket, pero no puedo cortar el papel y tengo entendido que la impresoria si lo puede hacer. Si alguien lo sabe hacer con vb. Gracias...
  Respuesta:  Bruno Martinez Flores
Amigo, lo que tienes que hacer es buscar los caracteres de control de tu impresora y enviar esto desde visual basic.

Por ejemplo:

Printer.FontSize = 10
Printer.FontName = "Control"
Printer.Print "P"
'Esto varia en funcion de cual es el caracter de control de tu impresora
'para cortar el papel.
Printer.EndDoc

Saludos,

Bruno Martinez
Systems Enginner
LIMA - PERU

    Pregunta:  52080 - ACCESO A CARPETAS PROTEGIDAS DEL SISTEMA
Autor:  Khlor
¿Como puedo acceder mediante código visual basic a una carpeta del sistema que está protegida con una contraseña?
Si accedo por el explorador de Windows me pide usuario y contraseña. Se la pongo y entonces ya puedo acceder desde el programa. ¿Puedo hacer que mi programa envie el usuario y la contraseña para poder acceder directamente?
Tengo una red con un servidor Windows 2000 Server, con un dominio y la carpeta a la que quiero acceder está en un ordenador con Windows XP que no está unido al dominio y que no debe estarlo.
Gracias
  Respuesta:  Saul Garay
Yo lo haria capturando la posicion del cursor, y desde el codigo detenerlo y enviar el texto tanto de usuario como de password, hay codigos en esta pagina que te muestran la posicion exacta del cursor, buscalos en los codigos fuentes.

Saludos

    Pregunta:  52129 - LINEA DEMASIADO LARGA
Autor:  Víctor Oliva
Uso acces para programar en visual basic.

Quiero hacer, solo por aprender, un programa que tu le pones un numero y este te devuelve el nº del decimal del numero pi que has dicho

ejemplo:
numero pi = 3,141592....
entrada: 5
salida: 9
pero el problema es que quiero que llegue a 2.500.000 de decimales, entonces yo lo que hago es poner:

Dim intermedario As Double
intermedario = Left("[numero pi]", Me!qt_entrada.Value)
Me!qt_salida = Right(intermedario, 1)

, donde [numero pi] es la cadena de 2.500.000 caracteres del numero pi.

Pero no me deja diciendome "linea demasiado larga"
Alguien sabe alguna forma de que no me ocurra esto?

Muchas gracias,
Víctor Oliva
  Respuesta:  Bismarck Pineda
El largo mas grande que puede tener un string es 1024, por eso te da ese mensaje.
saludos

    Pregunta:  52151 - CRYSTAL REPORT POR INTERNET
Autor:  Juan Fco X
Ojala alguien me pueda ayudar me super urge
Tengo Un Sistema hecho en Visual Basic 6, la base de datos en SqlServer 7 y los reportes Hechos en Crystal report 8.5 cel detalle es que acabamos de implementar una VPN pero los reportes me marcan el siguiente error "Server Hast Not Yet Been Opened" el servidor al que se conecta tiene windows 2000 server y todas las estaciones de trabajo tienen Xp

Set CrApp = CreateObject("CrystalRuntime.Application")
CrApp.SetMatchLogOnInfo True
CrApp.LogOnServer "PDSSQL.DLL", pTablasServ, pBD, pUsua, pPassw

pTablasServ,=nombre del servidor le pongo una Ip 192.168.1.10
pBD= nombre de la base de datos
pUsua= Usuario
pPassw=Password (Tiene Pasword el sql server)
  Respuesta:  Milko Cañote
Cambiar
CrApp.SetMatchLogOnInfo True
Por
CrApp.SetMatchLogOnInfo False

    Pregunta:  52190 - CAMBIAR VALOR DEL CAMPO EN DATAGRID
Autor:  Christian
Antes de empezar: muchas gracias a quien me pueda ayudar

Necesito ayuda para cambiar los datos q se cargan desde una columna en mi base de datos. El campo es de tipo \"boolen\" y cuando carga al datagrid quiero q en vez de el valor 1 salga la palabra Gravado y si el valor es cero q aparezca Exento.
  Respuesta:  Evelio Alvarez
¡Facil, no te compliques!, con una condicion y una variable tipo string, evaluas si el campo boolean es 1 tu asignas Gravado a la variable, de lo contrario, Excento
  Respuesta:  eider mauricio aristizabal erazo
te doy una idea, es haciendo un cambio en la consulta que retorna la informacion con la que llenas tu grilla:

cambiando el estado directamente en el query con case when

select nombre_impuesto, case when(estado = 1) then 'Grabado' else 'Excento' end from impuestos

(ese query funciona en MS SQLServer)

:)

|<  <<  275 276 277 278 279 280 281 282 283 284 285  >>  >|