2010-03-08 18 views
7

Tengo un montón de archivos .doc en una carpeta que necesito convertir a .docx.Automatización: ¿cómo automatizar la transformación de .doc a .docx?

Para convertir manualmente el .doc a .docx es bastante simple:

  1. .doc abierto en Word 2007
  2. Haga clic en Guardar como ...
  3. Guardar como .docx

Sin embargo, hacer esto para cientos de archivos definitivamente no es divertido. = p

¿Cómo automatizarías esto?

Respuesta

4

automatizar Word.

Si está utilizando .NET, añadir Microsoft.Office.Interop.Word (asegúrese de que es la versión 12 - equivalente a Word 2007 para que pueda lograr lo anterior) conjunto de referencia a su proyecto y usarlo es automatizar aplicación palabra para hacer exactamente lo que quieres hacer arriba. El pseudocódigo

  • crear el objeto Aplicación
  • Utilice el objeto de aplicación para abrir un documento (al suministrarle el nombre del archivo)
  • Uso del objeto de aplicación para realizar GuardarComo suministrando a que el formato y los resultados nombre del archivo
  • cerrar el documento actual
  • bucle a través de la anterior hasta que termine con todos los documentos
  • código
  • limpieza para liberar la Palabra u objetos Doc

Puede encontrar muchos ejemplos en google, solo busque Word Automation en C# o algo por el estilo.

+0

guardarlo como el nuevo formato de archivo no convierte el archivo a ese formato. Cuando lo haces de la manera en que detallas y abres el nuevo archivo, algunas veces se abrirá en modo compatibilidad ya que solo cambiaste la extensión. Debe llamar al método Convert() en el objeto del documento para convertirlo realmente al formato de archivo más nuevo. – codemonkeyliketab

7

La manera más fácil es usar la línea de comando Office File Converter. Simplemente ejecute

ofc 

y sucede la magia.

+0

+1 Genial, me olvidé por completo de esto. Será mucho más simple. –

14

No es necesario automatizar Word, que es bastante lento y frágil debido a mensajes emergentes, o usar el Convertidor de archivos de Office de Microsoft (ofc.exe), que tiene una interfaz de usuario innecesariamente complicada.

La forma más simple y rápida sería instalar Office 2007 o descargar e instalar el paquete de compatibilidad de Microsoft (si no lo ha hecho). A continuación, puede convertir de .doc a .docx fácilmente utilizando el siguiente comando:

"C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme <input file> <output file> 

donde < archivo de entrada> y el archivo de salida <> deben ser nombres de ruta completo.

El comando se puede aplicar fácilmente a varios documentos utilizando for:

for %F in (*.doc) do "C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme "%F" "%Fx" 
+0

El más simple con diferencia. Gracias. –

+0

Simple y funciona a la perfección. – Gerard

+0

Gracias, esto es perfecto. – vatsug

Cuestiones relacionadas