J'ai une fonction vbscript avec crée et ouvre un fichier texte. Je souhaite renvoyer le handle de fichier de la fonction au corps principal du code. Malheureusement, je reçois un objet ne supporte pas cette propriété ou erreur de méthode. En fin de compte, je vais définir le code où j'aurai un script de débogage qui aura des fonctions pour ouvrir, écrire, lire et fermer des fichiers. Ensuite, je peux importer ce script dans un autre fichier vbscript et l'utiliser à des fins de débogage. Mais, d'abord, je dois obtenir le code ci-dessous pour fonctionner.Renvoyer le handle de fichier à partir de la fonction dans vbscript
Merci d'avance.
Voici le code:
Function OpenFileWrite(sDirectory, sFile)
Dim objFSO 'As FileSystemObject
Dim objTextFile 'As Object
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Check that the strDirectory folder exists
If objFSO.FolderExists(sDirectory) Then
Set objFolder = objFSO.GetFolder(sDirectory)
Else
Set objFolder = objFSO.CreateFolder(sDirectory)
WScript.Echo "Just created " & sDirectory
End If
If objFSO.FileExists(sDirectory & "\" & sFile) Then
Set objFile = objFSO.GetFile(sDirectory & "\" & sFile)
Else
Set objFile = objFSO.CreateTextFile(sDirectory & "\" & sFile)
Wscript.Echo "Just created " & sDirectory & "\" & sFile
End If
Set objTextFile = objFSO.OpenTextFile(sDirectory & "\" & sFile, ForWriting, True)
OpenFileWrite = objTextFile
End Function
sDirectory = "\"
sFile = "debug.txt"
Set ObjFile = OpenFileWrite(sDirectory, sFile)
Merci. Ce qui est bizarre est de faire une simple recherche sur Google pour savoir comment retourner une valeur à partir d'une fonction ne mentionne pas que vous devez appliquer le mot-clé Set. Je ne comprends pas pourquoi d'autres exemples n'utilisent pas le mot-clé Set lors du renvoi d'une valeur à partir d'une fonction. – user717236