Office - Problemas con script Excel2016

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 2 puestos en Office (en relación al último mes)
Gráfica de Office

Problemas con script Excel2016

Publicado por Aitor (2 intervenciones) el 09/04/2018 15:55:40
Buenos dias,

Me he encontrado un problema con un script, el cual espero que me podais ayudar a entender cual es su causa.

El tema es que en un servidor antiguo, con Excel 2010, cree un script para realizar la conversion entre xls y xlsx. El codigo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Add-Type -AssemblyName Microsoft.Office.Interop.Excel
$xlFixedFormat = [Microsoft.Office.Interop.Excel.XlFileFormat]::xlOpenXMLWorkbook
write-host $xlFixedFormat
$excel = New-Object -ComObject excel.application
$excel.visible = $true
$folderpath = "C:\Users\Public\Documents\Stock In Central"
$filetype ="*xls"
Get-ChildItem -Path $folderpath -Include $filetype -recurse |
ForEach-Object `
{
	$path = ($_.fullname).substring(0, ($_.FullName).lastindexOf("."))
 
	"Converting $path"
	$workbook = $excel.workbooks.open($_.fullname)
 
	$path += ".xlsx"
	$workbook.saveas($path, $xlFixedFormat)
	$workbook.close()
 
 
}
$excel.Quit()
$excel = $null
[gc]::collect()
[gc]::WaitForPendingFinalizers()
$excel.Close

En el servidor antiguo me funcionaba perfectamente. PEro al realziar una migracion a un nuevo servidor,el cual tiene excel 2016, me da el siguiente error:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Error en la invocación del método porque [System.__ComObject] no contiene ningún método llamado 'saveas'.
En línea: 17 Carácter: 2
+     $workbook.saveas($path, $xlFixedFormat)
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (saveas:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Error en la invocación del método porque [System.__ComObject] no contiene ningún método llamado 'close'.
En línea: 18 Carácter: 2
+     $workbook.close()
+     ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Excepción al llamar a "Quit" con los argumentos "0": "Excepción de HRESULT: 0x800AC472"
En línea: 22 Carácter: 1
+ $excel.Quit()
+ ~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : COMException


A que se puede deber este error? Peude ser que sea derivado a que el office no esta activado? Alguna funcion que ya no exista en al nueva version?

Cualquier pista sera bienvenida,

Muchas gracias!
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
Imágen de perfil de Antoni Masana
Val: 20
Ha mantenido su posición en Office (en relación al último mes)
Gráfica de Office

Problemas con script Excel2016

Publicado por Antoni Masana (7 intervenciones) el 10/04/2018 08:43:07
Este script ¿Que es? porque de Office no es, que utiliza Visual Basic.

Quizas estas en el foro equivocado.

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
sin imagen de perfil
Val: 3
Ha disminuido su posición en 2 puestos en Office (en relación al último mes)
Gráfica de Office

Problemas con script Excel2016

Publicado por Aitor (2 intervenciones) el 10/04/2018 08:47:56
Efectivamente, es un scrip de Viasual Studio, pero utilizando el core y las funcionalidades de Office, por eso que lo he puesto en este apartado....
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

Problemas con script Excel2016

Publicado por Pablo (1 intervención) el 28/05/2021 22:39:08
lograste resolver el problema?
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

Problemas con script Excel2016

Publicado por Cristian (1 intervención) el 30/05/2021 00:52:20
no entiendo mucho.. pero este ultimo no te reconoce a (saveas) como metodo.. (Guardar como)...
por aqui esta tu respuesta..https://www.rondebruin.nl/win/s5/win001.htm
tiene que ver las macros.. XLS(M)...
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