Problema: ho tot mila documenti word da convertire in pdf
necessario: office 2k7 con il plugin "save as pdf" installato.
Approccio con js (si potrebbe tentare anche con vba)
Mettere tutti i files da convertire in una directory.
creare un file SaveAsPdf.js
con dentro il seguente
---------- cut ----------------------
var fso = new ActiveXObject("Scripting.FileSystemObject");
var docPath = WScript.Arguments(0);
docPath = fso.GetAbsolutePathName(docPath);
var pdfPath = docPath.replace(/\.doc[^.]*$/, ".pdf");
var objWord = null;
try
{
WScript.Echo("Saving '" + docPath + "' as '" + pdfPath + "'...");
objWord = new ActiveXObject("Word.Application");
objWord.Visible = false;
var objDoc = objWord.Documents.Open(docPath);
var wdFormatPdf = 17;
objDoc.SaveAs(pdfPath, wdFormatPdf);
objDoc.Close();
WScript.Echo("Done.");
}
finally
{
if (objWord != null)
{
objWord.Quit();
}
}
---------- cut ----------------------
creare un file lancio.bat
con dentro il seguente
---------- cut ----------------------
@echo off
cls
echo %%~dp0 is (curpath) "%~dp0"
echo elenco files trovati nella dir:
echo .
for /r . %%f in (*.doc, *.docx) do (
@echo Processo "%%~dpnxf"
cscript.exe //nologo SaveAsPDF.js "%%~dpnxf"
)
---------- cut ----------------------
avviare il file lancio.bat ed attendere il temine del processo.