michaelekins
michaelekins

Reputation: 579

New window not in focus with VBScript

I've a simple piece of code which asks a user to navigate to a .csv file and it will count the number of columns (part of a much bigger project) and while it works perfectly, I'm having a really annoying issue... When the window opens prompting the user to navigate to the file, it isn't in focus and sits behind the window previously in focus. Can anyone point out whats gone wrong?

I'm using Windows 7 64-bit running with IE 9 Version 9.0.8112.16421

'Get location of .csv file

'set the type of dialog box you want to use: 1 = Open 2 = SaveAs 3 = File Picker 4 = Folder Picker
Const msoFileDialogOpen = 1

Set fso = CreateObject("Scripting.FileSystemObject")
Set objWord = CreateObject("Word.Application")
Set WshShell = CreateObject("WScript.Shell")
'Launch at default path
strInitialPath = WshShell.ExpandEnvironmentStrings("C:\")
objWord.ChangeFileOpenDirectory(strInitialPath)

With objWord.FileDialog(msoFileDialogOpen)
   .Title = "Select the file to process"
   .AllowMultiSelect = False
   .Filters.Clear
    .Filters.Add "CSVFiles", "*.csv"
   .Filters.Add "All Files", "*.*"               
   If .Show = -1 Then 
      For Each File in .SelectedItems 
        Set objFile = fso.GetFile(File) 
      Next 
   End If
End With
'Close Word
objWord.Quit

'Counts columns in csv file if delimiter is comma

Dim oFso, oReg, sData, lCount
Const ForReading = 1
Set oReg = New RegExp
Set oFso = CreateObject("Scripting.FileSystemObject")
sData = oFso.OpenTextFile(objFile.Path, ForReading).ReadLine
With oReg
.Global = True
'Check Pattern (delimiter, has qualifier?)
'.Pattern = ","
'.Pattern = "|"
'.Pattern = "^"
.Pattern = ""","""
'.Pattern = """|"""
'.Pattern = """^"""
lCount = .Execute(sData).Count + 1
End With
WScript.Echo lCount
Set oFso = Nothing
Set oReg = Nothing

Thanks guys!

Upvotes: 1

Views: 5302

Answers (1)

Panayot Karabakalov
Panayot Karabakalov

Reputation: 3179

Did you try with AppActivate?

CreateObject("WScript.Shell").AppActivate "Your window title here..."

Upvotes: 2

Related Questions