Je voudrai creer un .exe qui prendrai en premier argument un fichier WORD
EX => MONPOINTEXE.exe mon_document.doc
Ce .exe enregistrerai automatiquement le fichier word en fichier HTML dans le meme repertoire.
###########################################
Mon idée est de d'enregistrer une macro sous WORD, recuperer le code source et le compiler sous VB pour creer un .exe
Vu que je ne connais pas du tout VB ! il me manque quelques petites connaissances .. J'espere que vous aller pouvoir m'aider !
=> Comment faire pour que le fichier ene sortie ai le meme nom que le fichier en entrée ? (hormis l'extension ..)
Je vous remercie de m'avoir lu & si vous avez QQue chose de plus simple pour moi, je suis ULTRA-PRENEUR !!
' Creates the output directories to the same depth as the inputFile specified
' param inBaseDir The base directory for input files
' param inputFile The file being processed
' param outBaseDir The base directory for output files
Function CreateOutputDirectories(inBaseDir, inputFile, outBaseDir)
Dim relativePath
relativePath = Mid(inputFile, Len(inBaseDir)+1)
' ensure the path doesn't end with a \
If Left(relativePath, 1) = "" Then
relativePath = Right(relativePath, Len(relativePath) - 1)
End If
' ensure the input basedir doesn't end with a \
If Right(inBaseDir, 1) = "" Then
baseDir = Left(inBaseDir, Len(inBaseDir) - 1)
End If
' ensure the output basedir doesn't end with a \
If Right(outBaseDir, 1) = "" Then
outBaseDir = Left(outBaseDir, Len(outBaseDir) - 1)
End If
Dim index, folder, paths, Files
paths = Split(relativePath, "")
folder = outBaseDir
Set Files = WScript.CreateObject("Scripting.FileSystemObject")
For index = LBound(paths) to UBound(paths) -1
folder = folder & "" & paths(index)
If Not Files.FolderExists(folder) Then
Files.CreateFolder(folder)
End If
Next
CreateOutputDirectories = folder
End Function
Function ExportAsHTML(inputFile, outputFile)
Dim obj, HTMLFormat, wdDoNotSaveChanges
Set obj = WScript.CreateObject("Word.Application")
HTMLFormat = 8
wdDoNotSaveChanges = 0
' Main chunk of code
Dim basedir, FileSys, inputFile, outputDir, outputFile
On Error Resume Next
' work out the directory structure for the input file
Set FileSys = WScript.CreateObject("Scripting.FileSystemObject")
' Fully Qualified File name
inputFile=FileSys.GetAbsolutePathName(WScript.Arguments(0))
' Directory to place results in
outputDir=FileSys.GetAbsolutePathName(WScript.Arguments(1))
' base directory for the input file
basedir = FileSys.GetAbsolutePathName(WScript.Arguments(2))
' check if output file exists and is newer than input file
' if it is, skip output
If FileSys.Exists(outputFile) Then
Dim fileOutput, fileInput
Set fileOutput = FileSys.GetFile(outputFile)
Set fileInput = FileSys.GetFile(inputFile)
If fileOutput.DateLastModified < fileInput.DateLastModified Then
ExportAsHTML inputFile, outputFile
End If
Else
ExportAsHTML inputFile, outputFile
End If
###########################################
pour l'utiliser:
- Creer le fichier .vbs en inserant ce code.
- Executer le VBS avec pour premier argument "le nom du fichier .doc", deuxieme argument "le repertoire de sortie du fichier" et comme troisieme argument "le repertoire du fichier d'entrée.
Ce qui donne par exemple:
word2html.vbs test.doc d:\repertoiredesortie d:\repertoiredentrée