Foros del Web » Programación para mayores de 30 ;) » .NET »

Excepcion al asignar una formula de un addin para excel

Estas en el tema de Excepcion al asignar una formula de un addin para excel en el foro de .NET en Foros del Web. He hecho un automation addin para excel con una funcion para contar las celdas de un determinado color y funciona bien cuando la aplico manualmente, ...
  #1 (permalink)  
Antiguo 02/02/2010, 15:31
 
Fecha de Ingreso: agosto-2004
Mensajes: 62
Antigüedad: 20 años, 2 meses
Puntos: 2
Pregunta Excepcion al asignar una formula de un addin para excel

He hecho un automation addin para excel con una funcion para contar las celdas de un determinado color y funciona bien cuando la aplico manualmente, pero cuando la asigna desde codigo vb.net.
Provoca la siguiente excepcion:

Cita:
El código de usuario no controló System.Runtime.InteropServices.COMException
ErrorCode=-2146827284
Message="Excepción de HRESULT: 0x800A03EC"
Source=""
StackTrace:
Server stack trace: Exception rethrown at [0]: en System.Runtime.Remoting.Proxies.RealProxy.HandleRe turnMessage(IMessage reqMsg, IMessage retMsg) en System.Runtime.Remoting.Proxies.RealProxy.PrivateI nvoke(MessageData& msgData, Int32 type) en Microsoft.Office.Interop.Excel.Range.set_FormulaR1 C1Local(Object ) en ExcelWorkbook1.Hoja1.ObtenerNominas(DateTime fechaIni, DateTime fechaEnd) en C:\Users\Kelbethor\Documents\Visual Studio 2008\Projects\Nominas\Nominas\Hoja1.vb:línea 105 en ExcelWorkbook1.cintaNominas.btnGetNom_Click(Object sender, RibbonControlEventArgs e) en C:\Users\Kelbethor\Documents\Visual Studio 2008\Projects\Nominas\Nominas\cintaNominas.vb:líne a 13 en Microsoft.Office.Tools.Ribbon.RibbonPropertyStorag e.ControlActionRaise(IRibbonControl control) en Microsoft.Office.Tools.Ribbon.RibbonPropertyStorag e.ButtonClickCallback(RibbonComponent component, Object[] args) en Microsoft.Office.Tools.Ribbon.RibbonManager.Invoke (RibbonComponentCallback callback, Object[] args) en Microsoft.Office.Tools.Ribbon.RibbonMethodInfo.Inv oke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) en Microsoft.Office.Tools.Ribbon.RibbonManager.System .Reflection.IReflect.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters)
InnerException:
¿No se pueden asignar mediante programación fórmulas definidas por el usuario? ¿¿COMO???


Tengo otras funciones en el mismo complemento que sí funcionan... Son menos complejas... en argumentos y en ejecución. Me queda averiguar si el problema viene por lo primero o por lo segundo... En cualquier caso en las funciones se accede a las mismas propiedades con lo que... a saber... No depende del nombre la funcion... No depende del formato de la cadena (A1 o R1C1) ... Opciones... Número de parámetros (o tipos) ... o... Demora en el tiempo de ejecución (me extraña)

Última edición por Kelbethor; 02/02/2010 a las 16:27 Razón: Nuevos hallazgos....
  #2 (permalink)  
Antiguo 02/02/2010, 17:00
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Excepcion al asignar una formula de un addin para excel

Usando vb.net puedes hacer cualquier cosa dentro de un documento de Excel creado en memoria o abierto.
El problema no pasa por allí. Pasa por cuestiones de código.
¿Por qué no pones el código que estás usando, así vemos dónde está el problema? Especialmente la que corresponde al método que contiene la línea 105 de Hoja1.vb
Y además sería buena idea que nos dijeses qué versión de Office estás intentando usar y cuál de VS estás usando para programar (no todo es compatible con todo).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 03/02/2010, 07:59
 
Fecha de Ingreso: agosto-2004
Mensajes: 62
Antigüedad: 20 años, 2 meses
Puntos: 2
Respuesta: Excepcion al asignar una formula de un addin para excel

La version es VS2008 y Office2007: Es un proyecto de libro de excel 2007 de visual studio que recoge información de un servicio web php y me tiene que hacer una ficha con un resumen.

El código:
Código:
Dim rJornadas As Tools.NamedRange = Me.Controls.AddNamedRange(Me.Range("A1", "A1"), "jornadas")
        rJornadas.RefersToR1C1 = String.Format("=R1C{0}:R{1}C{0}", maxCols + 6, trabajadores.Count + 2)
        For Each ce As Excel.Range In rJornadas.Cells
            ce.FormulaR1C1 = String.Format("=ContarColor(R{0}C{1}:R{0}C{2};35)", ce.Row, 3, maxCols)
            'ce.Formula = "=ContarColor(A1:C1;35)" <-- Probé esto y falla tambien
            'Sin embargo, con otras fórmulas del mismo ensamblado funciona: ejemplos: 
            'ce.FormulaR1C1= "=ColorSi(R1C1;35)" o ce.FormulaR1C1= "=ColorDe(R1C1)"
            ce.BorderAround(Excel.XlLineStyle.xlContinuous, Excel.XlBorderWeight.xlThin, Excel.XlColorIndex.xlColorIndexAutomatic)
        Next
Despues de probar más cosas no se me ocurre ya nada...
  #4 (permalink)  
Antiguo 03/02/2010, 09:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Excepcion al asignar una formula de un addin para excel

¿Estás usando el PIA para 2007, o estás usando algún otro?
http://msdn.microsoft.com/en-us/library/dd819156.aspx
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 03/02/2010 a las 09:58
  #5 (permalink)  
Antiguo 03/02/2010, 10:01
 
Fecha de Ingreso: agosto-2004
Mensajes: 62
Antigüedad: 20 años, 2 meses
Puntos: 2
Respuesta: Excepcion al asignar una formula de un addin para excel

"Pues ni idea... Imagino que el que venga de casa con las instalaciones de cualquiera de los dos... pero por si acaso lo descargo e instalo..."

Si, ese era, la version 12.... (Al crear el proyecto ya te agrega las referencias el diseñador)

Última edición por Kelbethor; 03/02/2010 a las 10:08
  #6 (permalink)  
Antiguo 03/02/2010, 10:56
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Excepcion al asignar una formula de un addin para excel

Origenes probables de Excepción de HRESULT: 0x800A03EC:
- Problemas con la regionalización: Si el valor seleccionado en la configuración regional del usuario final no coincide con el idioma instalado para Microsoft Office Excel. (Globalización y localización de las soluciones de Office.).
- Problemas con el Servidor IIS (Seguridad de aplicaciones Web ASP.NET)
- Problemas al acceder al rango especificado (verificar que el rango y la instancia de Excel sean correctos y existan).
- COnflicto de permisos de seguridad en Excel(http://blog.crowe.co.nz/archive/2006/03/02/589.aspx)
y sigue la lista
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 04/02/2010, 02:12
 
Fecha de Ingreso: agosto-2004
Mensajes: 62
Antigüedad: 20 años, 2 meses
Puntos: 2
Respuesta: Excepcion al asignar una formula de un addin para excel

¡¡¡¡¡¡¡¡¡¡¡BUAAAAAAAAAAAAAAAAAHHHHH!!!!!!!!!!!!!!! !
Que disparate... Al final me dí cuenta de que los problemas los tenía sólo en formulas de funciones con varios argumentos...
Un par de pruebas despues.....

Aunque en la barra de fórmulas de excel se usa ';' para separar los argumentos al asignar la fórmula en vb hay que usar ','....

Pa matarme...
(En mi defensa diré que no fue un descuido, si no ignoracia )

Muchas gracias de todas formas por ayudar a este borrico.
  #8 (permalink)  
Antiguo 04/02/2010, 06:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
De acuerdo Respuesta: Excepcion al asignar una formula de un addin para excel

Buena info. No se me había ocurrido fijarme en ese detalle; de tan acostumbrado al VB.Net, no pensé que podías tener un enredo con el C#...
Gracias por el dato. Es para tener en cuenta y leer bien las cosas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: excel, excepcion, formulas, interop
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:04.