que han sido exitosamente capaz de ejecutar mi propio código .Net siguiendo los pasos publicados aquí Execute .NET 3.0 code from Office 2003El uso de bibliotecas estándar .Net con VBA
¿Hay una manera de utilizar las bibliotecas estándar de .NET sin tener que escribir una envoltura ? De esta forma, podemos evitar tener que registrar e instalar una DLL personalizada en el GAC en la máquina del cliente.
He encontrado tlb archivos en las carpetas C: \ Windows \ Microsof.NET \ Framework y he podido agregar una referencia a mscorlib.dll. Mirando la documentación para RijndaelManaged, esta clase parece ser COM visible.
Puedo crear una instancia, pero tan pronto como trato de trabajar con ella, obtengo errores (por ejemplo, "Tipo no coincidente").
Sub Macro1()
Dim aesImplementation As New RijndaelManaged
Set key = aesImplementation.GenerateKey()
Set iv = aesImplementation.GenerateIV()
End Sub
Estoy dispuesto a aceptar cualquier truco que tengas que ofrecer!
no tengo una respuesta re: usando. NET sin envoltorio, pero si eres nuevo en VBA, necesitas saber que declarar algo como 'nuevo' no crea nada en ese momento como lo hace en .NET. No tengo claro si tu error se plantea en la instanciación o en el 'Conjunto'. (Supongo que ha declarado su variable 'clave' como el tipo correcto, etc.) Vea http://stackoverflow.com/questions/2478097/vba-difference-in-two-ways-of-declaring-a -new-object-trying-to-understand-why/2480559 # 2480559 – jtolle
Eso es una locura ¿Por qué tener una sintaxis tan nueva como válida si no crea una instancia de un nuevo objeto? Sin embargo, parece crear una instancia en este caso, recordaré al menos que "Como nuevo" no es la mejor práctica. La razón por la que no he declarado explícitamente el objeto clave es porque obtengo el error "No puedo asignar a la matriz" si lo hago. Aparentemente, este error ocurre cuando intentas asignar a una matriz de un tipo diferente. –
¿No es mucho trabajo ahorrar solo un poco de trabajo? Quiero decir, si su usuario le permite ejecutar una macro, ¿por qué no ejecutar una aplicación .NET real? La interoperabilidad de Office en .NET parece bastante buena, ¡así que puedes manipular documentos igual o mejor! –