Macrosustitución tipo fox en visual basic

Mi nombre es Jorge llevo mucho tiempo programado en DOS (lineal) y ahora quiero emigrar a la programación visual, el proceso es bastante duro, pero ahí vamos.
Mi pregunta es la siguiente:
¿Cómo puedo hacer que visual basic me genere un archivo con el contenido de la variable y no con el nombre de ésta?.
Ej.
Tengo un recorset que me va generando un consecutivo, tomo el último y le sumo 1
Dim actual as string
dim nuevoconsecutivo as variant
Dim dbRecursos As Database
Dim rsRespaldo As Recordset
Set dbRecursos = OpenDatabase("e:\aplica\recursos\recursos.mdb")
Set rsRespaldo = dbRecursos.OpenRecordset("respaldo")
reRespaldo.movelast
actual=right(rsRespaldo!consecutivo,6)
(Donde consecutivo es iguala "BOD000001")
nuevoconsecutivo = "BOD" + Right(Str(1000001 + Val(actual)), 6)
Ahora quiero generar un archivo en el disco con este nuevo consecutivo, utilizando la función shell.
Shell("c:\archivo de programas\powearchiver\powerarch -a -c4 -s nuevoconsecutivo c:\mis documentos\*.*", 1)
Actualmente me generaría un zip con el nombre de nuevoconsecutivo.zip, y lo que quiero es BOD000002.zip.
Te agradecía si me pudieras ayudar con esto.
1

1 Respuesta

8.380 pts. Fundador de Todoexpertos.com
En Visual Basic puedes concatenar cadenas de caracteres usando el operando "&". También puedes juntar cadenas de caracteres y variables, ya que Visual Basic se encarga de hacer la conversión a texto de forma automática.
Ejemplos:
Dim strCadena1 as String
strCadena1 = "Hola " & "mundo"
o bien
Dim strCadena1 as String
Dim iBond as Integer
strCadena1 = "Hola "
iBond = 007
strCadena1 = strCadena1 & iBond
' En strCadena1 se guardaría: "Hola 007".
En tu caso la solución sería modificar la instrucción Shell:
Shell("c:\archivo de programas\powearchiver\powerarch -a -c4 -s " & nuevoconsecutivo & " c:\mis documentos\*.*", 1)
Y creo que ya funcionaría.
Lo que hace es sustituir la variable "nuevoconsecutivo" por su valor "BOD000002".
Hola kinggudu, cordial saludo.
De antemano disculpa por finalizar la pregunta con anterioridad por motivo ajenos a mi voluntad.
Ejecute el programa con la instrucción que Ud. me recomendó, pero no me funciono. Me sale un error que no encuentra el archivo. Si tienes otra sugerencia te agradecería que me la envíes.
Gracias por tu colaboración.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas