Necesito ayuda para programar la lectura de un código de barras y separarlo en diferentes variables

Hola
Tengo dos consultas:
1º tengo una cadena de caracteres que sera ingresada por un lector de códigos de barras PS2 y que debo separar en varias variables, la cadena es:
PMO-4012020205183088884444
Necesito separarla en 4 variables
var1= PMO-4012
var2= 0202051830
var3= 8888
var4= 4444
¿Me puedes ayudar con eso?
Y la otra duda, es que estoy generando los informes en excel, pero necesito que sea compatible con varias versiones y no solo con la que estoy utilizando en mi pc. Se que hay que instalar una refrrencia, pero no se donde obtenerla...
Gracias por tu ayuda

1 Respuesta

Respuesta
1
La primera pregunta:
Dim VariableLeida As String
Dim var1 As String
Dim var2 As String
Dim var3 As String
Dim var4 As String
VariableLeida = "PMO-4012020205183088884444"
var1 = Mid(VariableLeida, 1, 8)
Var2 = Mid(VariableLeida, 10, 9) 'Ojo que en este se te escapa el 0 que hay entre en medio 4012<0>2020
var3 = Mid(VariableLeida, 19, 4)
var4 = Mid(VariableLeida, 23, 4)
La segunda pregunta. Puedes hacer enlace tardío en lugar de enlace Previo. Echale un vistazo a la documentación de createobject y verás ejemplos de como hacerlo.
Lo intentare, gracias
Ejemplo de enlace tardío (en tiempo de ejecución)
' Declare una variable de objeto para contener la referencia de
' objeto. Dim As Object provoca un enlace en tiempo de ejecución. (EN ESTE CASO NO REQUIERES AÑADIR LA REFERENCIA DEL EXCEL)
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Hoja")
Este código inicia la aplicación creando el objeto (en este caso, una hoja de cálculo de Microsoft Excel). Una vez creado un
Objeto, haga referencia a él en el código mediante la variable de objeto que definió. En el siguiente ejemplo tiene acceso a
laspropiedades y losmétodos del nuevo objeto mediante la variable de objeto, ExcelSheet, y otros objetos de Microsoft Excel,
Incluyendo el objeto Application y la colección Cells.
' Hace visible Excel mediante el objeto Application
ExcelSheet.Application.Visible = True
' Coloca algún texto en la primera celda de la hoja
ExcelSheet.Cells(1, 1).Value = "Esto es la columna A, fila 1"
' Guarda la hoja en el directorio C:\test.doc
ExcelSheet.SaveAs "C:\TEST.XLS"
' Cierra Excel con el método Quit en el objeto Application
ExcelSheet.Application.Quit
' Libera la variable de objeto.
Set ExcelSheet = Nothing
Al declarar una variable de objeto con la cláusula As Object se crea una variable que puede contener una referencia a
Cualquier tipo de objeto. Sin embargo, el acceso al objeto mediante esta variable es un enlace en tiempo de ejecución, es
Decir, el enlace se produce cuando se ejecuta el programa.
Ejemplo de enlace temprano (en tiempo de diseño)
Para crear una variable de objeto que produzca un enlace en tiempo de diseño (es decir, que el enlace se produzca cuando se
Compile el programa), declare la variable de objeto con un determinado Id. De clase. Por ejemplo, puede declarar y crear las
Siguientes referencias de Microsoft Excel:
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
La referencia mediante una variable de enlace en tiempo de diseño puede proporcionar mejor rendimiento, pero sólo puede
Contener una referencia a la clase especificada en la declaración.
'El inconveniente del enlace tardío es que no tienes la ayuda de código cuando lo escribes (que aparezcan los métodos y eso),
Así que lo mejor es usar enlace temprano mientras diseñas y luego quitar los as Excel. Aplication, etc y cambiarlos por Object
Una vez que has terminado con el desarrollo y antes de generar el .exe

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas