• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 743
  • Last Modified:

Does Set fs = Scripting.FileSystemObject work with Vista

I get an error mesage that the object does not exist on a Vista pc when I use:

Set fs = CreateObject("Scripting.FileSystemObject")
If fs.folderexists(rsSpecs!ShortcutPathVista) Then
This works splendidly on XP pcs.
...
0
paulmcneil
Asked:
paulmcneil
  • 4
1 Solution
 
TakedaTCommented:
im running vista 32 and it works just fine for me
0
 
TakedaTCommented:
try this
start-->run-->regsvr32 scrrun.dll
then try your script again
0
 
paulmcneilAuthor Commented:
TakedaT,
Thanks for responding. Would you try this code?
Dim fs As Object
Dim strSource As String
Dim strTarget As String

Set fs = CreateObject("Scripting.FileSystemObject")

If fs.folderExists("C:\users\public") = False Then
  msgbox "C:\users\public exists"
End If
     
If fs.FileExists(SOME PATH AND FILE ON YOUR VISTA PC THAT YOU CAN DELETE) = True Then
  fs.deletefile (SOME PATH AND FILE ON YOUR VISTA PC THAT YOU CAN DELETE)
End If

If fs.FileExists(SOME ShortCut PATH AND FILE ON YOUR VISTA PC THAT YOU CAN DELETE - a .lnk file) = True Then
  fs.deletefile (SOME ShortCut PATH AND FILE ON YOUR VISTA PC THAT YOU CAN DELETE - a .lnk file)
End If

strSource = SOME PATH AND FILE YOU CAN COPY
strTarget = SOME PATH AND FILE YOU CAN COPY TO

fs.CopyFile strSource, strTarget, True
0
 
TakedaTCommented:
The following code worked just fine for me.  I removed the "as object" and "as string" though, as my pc didnt like it.  The if statement at the 5th line has a "false" that Im assuming you meant to be  a "true".  In the case here, the echo didnt happen as because the folder does in fact exist.  It deleted the existing files and copied the copyme file to the copied file.

What errors are you getting?
Dim fs
Dim strSource
Dim strTarget
 
Set fs = CreateObject("Scripting.FileSystemObject")
 
If fs.folderExists("C:\users\public") = False Then
  msgbox "C:\users\public exists"
End If
      
If fs.FileExists("C:\test\test.txt") = True Then
  fs.deletefile ("C:\test\test.txt")
End If
 
If fs.FileExists("C:\test\autoexec.lnk") = True Then
  fs.deletefile ("C:\test\autoexec.lnk")
End If
 
strSource = "c:\test\copyme.txt"
strTarget = "c:\test\copied.txt"
 
fs.CopyFile strSource, strTarget, True

Open in new window

0
 
TakedaTCommented:
I meant in the 7th line, not the 5th line.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now