Estoy recibiendo el siguiente error cuando ejecuto mi programa:

Secuencia De Comandos: C: Mi Carpeta\Macro De Seguimiento.vbs

Línea: 70

Char: 1

Error: Permiso denegado

Código: 800A0046

Fuente: Microsoft VBScript en tiempo de ejecución error

Aquí está el código.

' Set constants for reading, writing, and appending files
Const ForReading = 1, ForWriting = 2, ForAppending = 8
' Sets up the object variables.
Dim objExcel, objFSO, objTextFile, objCSVFile
' Sets up the string variables.
Dim strTextFile, strHeadLine, strTextLine, strCSVFile
' Sets up the all the string variables for the program.
Dim Desktop, todaysDate, usageDate, myDay, myMonth, myYear
'This creates the required Objects
Set objExcel = CreateObject("Excel.application")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
Desktop = WshShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\" & "Desktop"
' Set date for date stamp in file name and sheet name
todaysDate = Date()
myMonth = Month(todaysDate)
If Len(myMonth)=1 Then myMonth="0" & myMonth
myDay = Day(todaysDate)
If Len(myDay)=1 Then myDay="0" & myDay
myYear = Right(Year(todaysDate), 2)
usageDate = myMonth & myDay & myYear
' Set up the origin and destination files
strTextFile = (Desktop & "\MacroTracker.txt")
strCSVFile = "C: My Folder\TrackingTesting" & usageDate & ".csv"
strHeadLine = "Macro Name,User ID,Ran At,Contracted Rate,BHVN,Set Number,Provider TIN,Billed Charge,Service Code"
Set objTextFile = objFSO.OpenTextFile(strTextFile)
' Read the entire origin file
Do Until objTextFile.AtEndOfStream
strTextLine = objTextFile.ReadLine
Loop
If (objFSO.FileExists(strCSVFile)) Then
' Create object for appending current TXT file to CSV file
Set objCSVFile = objFSO.OpenTextFile(strCSVFile, ForAppending, True)
' Write an append line of data to the CSV file
objCSVFile.WriteLine strTextLine
Else
' Create CSV file to write to with today's date
Set objCSVFile = objFSO.CreateTextFile(strCSVFile, True)
' Create object for appending current TXT file to CSV file
Set objCSVFile = objFSO.OpenTextFile(strCSVFile, ForAppending, True)
' Write initial header for the CSV file
objCSVFile.WriteLine strHeadLine
' Write an append line of data to the CSV file
objCSVFile.WriteLine strTextLine
End If
' Wait for file to be written to
Wscript.Sleep 600
' Delete origin file to prevent user tampering
objFSO.DeleteFile(strTextFile)

Línea 70 es la última línea donde estoy borrando el archivo de texto. De acuerdo a cada sitio de ayuda que he visto, este es EXACTAMENTE como debe ser escrito. He comprobado los permisos de los archivos…tengo control total, por lo que debe ser capaz de eliminar. Es sólo pretende ser un archivo temporal, no es algo que almacena la información durante largos períodos de tiempo.

He comprobado Microsoft y todos los otros sitios de ayuda para el código de error y no he encontrado ninguna solución que me puedan ayudar. Tengo la esperanza de que alguien puede haber topado con un caso similar y encontró una solución.

InformationsquelleAutor Lou | 2013-07-19

1 Comentario

  1. 4

    Su archivo está abierto. Se debe agregar esta:

    objTextFile.Close

    algún lugar antes de intentar eliminarlo. Me gustaría ponerlo a la derecha después de que haya terminado de usar el archivo.

    • PERFECTO!! Yo ni siquiera pensar en cerrarlo, pero tiene sentido si lo he abierto para ser capaz de leerlo. Gracias por la ayuda. 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here