Pregunta

Una aplicación actualmente en desarrollo tiene los requisitos para usar MS Word para realizar la corrección ortográfica en ciertas áreas de texto dentro de la aplicación.

Actualmente tengo Office 2007 (que son los objetos com de Office 12).

Mi pregunta es, si agrego en los objetos de Office 12, ¿qué sucederá en los cuadros que tienen Office 2003? Esto se refiere tanto a los otros cuadros de desarrollo como a los usuarios finales.

¿Estoy en lo cierto al creer que el resultado final será que las capacidades de hechizo no estarán disponibles para esos usuarios? Y si utilizo un objeto de Office 11, ¿eso significaría que los usuarios no podrán realizar las revisiones ortográficas si tienen instalado Office 07?

¿Fue útil?

Solución

¡Dejamos de intentar usar una dependencia de Word, ya que ambos tienen diferentes versiones instaladas o ninguna instalación de Office! En su lugar, opta por NetSpell .

Otros consejos

Supongo que aquí, pero si es así como no puedes usar el PIA 2007 (Ensamblaje de interoperabilidad primario) con una instalación de 2003, podrías intentar acceder al PIA por reflexión, ya que supongo que las llamadas que deseas no cambie entre los dos, y luego no importará: usará el que esté instalado. Si también está instalando el PIA, puede hacer que el usuario le diga cuáles tienen o que sea un poco más inteligente e intente 2007 y, si falla, pruebe 2003.

Como dije, supongo que aquí valdría la pena intentarlo.

EDITAR: Encontré este enlace sobre Oficina PIA's. Esto se refiere a Excel, pero en realidad cubre Office en general. No envidio la tarea que tienes. Parece que necesitará detectar el PIA (que puede o no estar instalado) y actuar en consecuencia. A mí me parece un trabajo de reflexión.

Las versiones más recientes de Office mantendrán la mayoría, si no toda, la compatibilidad con versiones anteriores de objetos COM. Es decir, si desea programar en Office 2003 y 2007, necesitará usar objetos COM de Office 11 como dependencia, ya que eran los más nuevos disponibles cuando se lanzó 2003. Siempre y cuando verifique que los métodos que necesita existen en ambas versiones de objetos COM, no debería tener problemas siempre que use los objetos COM más antiguos.

Desafortunadamente, aunque he usado esta solución para mi propio trabajo, no la he probado con Spell Check. Al final, asegúrese de probar su código con todas las versiones de Office con las que desea integrarse.

Mi reacción instintiva a esta pregunta es simplemente sugerirle que tome otra ruta. Intente usar un control de corrección ortográfica de terceros. Son relativamente económicos (y puede encontrar algunos controles gratuitos). Al menos de esa manera puede controlar la versión del control incluida con su aplicación y poder confiar en su funcionalidad. Francamente, me sorprende que esta biblioteca ya no esté integrada en Windows. Claro que es complicado con todos los idiomas que admite Windows, pero en estos días es similar a copiar / pegar en términos de expectativas del usuario.

En realidad, puede empaquetar las interoperaciones office11 y office12 necesarias para trabajar en AMBAS versiones. Se necesita un poco de trabajo pero logré hacerlo. Hago una comprobación en el registro para ver a qué interoperabilidad llamar y luego ejecuta la corrección ortográfica con la versión correcta. Incluso va tan lejos como para verificar si tiene instalado Word y genera una alerta de error de que no puede revisar la ortografía sin tener Word. Estamos atados al uso de Word debido al diccionario médico que está vinculado a Office que debemos usar.

Realice una búsqueda en interoperabilidad o envolturas Com y creo que encontrará que puede usar ambas con bastante facilidad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top