Visual Basic - Macro Parametros Entrada

Life is soft - evento anual de software empresarial
 
Vista:

Macro Parametros Entrada

Publicado por lluis (2 intervenciones) el 28/05/2009 13:34:24
Buenos días,

estoy con una aplicación llamada Microstation que tiene la opción de programar macros en vba, y lo que quiero ahora, es poderle pasar parametros de entrada. Para llamar a la función en cuestión sería así:
vba run "Nombre Macro" "Parametro1","Parametro2"

El problema esta en que desde el código no se cómo coger los parámetros de entrada o que función utilizar para ello. Alguien tiene alguna idea?

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Macro Parametros Entrada

Publicado por Pedro Najib (19 intervenciones) el 29/05/2009 20:56:45
Pues seria = que en visual

Ejemplo de la instrucción Function
En este ejemplo se utiliza la instrucción Function para declarar el nombre, los argumentos y el código que forman el cuerpo de un procedimiento Function. El último ejemplo utiliza argumentos Optional inicializados.

' La siguiente función definida por el usuario devuelve
' la raíz cuadrada del argumento que se le pasa.
Function CalculaRaizCuadrada(ArgNumerico As Double) As Double
If ArgNumerico < 0 Then ' Se evalúa el argumento.
Exit Function ' Salida hacia el procedimiento.
Else
CalculaRaizCuadrada = Sqr(ArgNumerico) ' Devuelve la raíz cuadrada
End If
End Function

El uso de la palabra clave ParamArray permite que una función acepte un número variable de argumentos. En la siguiente definición, PrimerArg se transfiere por valor.

Function CalcSum(ByVal PrimerArg As Integer, ParamArray OtrosArgs())
Dim ValorDevuelto
' Si se invoca la función como:
ValorDevuelto = CalcSum(4, 3 ,2 ,1)
' Las variables locales obtienen los valores siguientes: PrimerArg = 4,
' OtrosArgs(1) = 3, OtrosArgs(2) = 2, y así sucesivamente, suponiendo que el límite inferior
' predeterminado para matrices es igual a 1

Los argumentos Optional pueden tener valores predeterminados y tipos distintos de Variant.

' Si los argumentos de una función se definen como:
Function MiFunc(MiCad As String, Optional MiArg1 As _ Integer = 5, Optional MiArg2 = "Pepa")
Dim RetVal
' La función se puede invocar de las formas siguientes:
RetVal = MiFunc("Hola", 2, "Mundo") ' Se proporcionan los 3 argumentos.
RetVal = MiFunc("Prueba", , 5) ' Se omite el segundo argumento.
' Los argumentos uno y tres utilizan argumentos con nombre.
RetVal = MiFunc(MiCad:="Hola ", MiArg1:=7)

------------- o --------------------

Ejemplo de la instrucción Sub
En este ejemplo se utiliza la instrucción Sub para declarar el nombre, los argumentos y el código que forman el cuerpo del procedimiento Sub.

' Definición del procedimiento Sub.
' Procedimiento Sub con dos argumentos.
Sub SubAreaPC(Largo, Ancho)
Dim Area As Double ' Declara la variable local.
If Largo = 0 Or Ancho = 0 Then
' Si cualquier argumento = 0.
Exit Sub ' Sale inmediatamente de Sub.
End If
Area = Largo * Ancho ' Calcula el área del rectángulo.
Debug.Print Area ' Imprime el área en la ventana de depuración.
End Sub


Servido

Estamos en contac...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro Parametros Entrada

Publicado por lluis (2 intervenciones) el 30/05/2009 11:05:20
Hola Pedro,

gracias por la respuesta. Pero no me refería a las variables de entrada/salida de las funciones o procedimientos. Me refería a las que venían del propio programa. He encontrado la solución con la función KEYINARGUMENTS, que te devuelve el string de entrada.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar