Question on Scripting in Visual Basic

  • #1

Main Question or Discussion Point

I've been trying to figure this out for the past couple of days but I'm at a complete lost on it. I know I'm missing something or mayby it just can't be done but how can I loop over a set of files as seen in part of the script below instead of changing the file name manually?

I have a couple hundred files that I want to analyze but I don't want to have to change the time and month in the file name manually by editing the script after each run. I though something along the lines of what I have below would work but apperently it's not. Please note that I'm relatively new at Visual Basic so any imput would be appreciated.

Dim File As String
Dim File1 As String
Dim File2 As String
Dim File3 As String
Dim File4 As String

Dim Mth As Integer
Dim Tim As Integer

For Mth = 03 To 10 Step 1
For Tim = 17 To 22 Step 1
File = SurferApp.Path + "\Summer Project\data\2003"
File1 = File + "\diff\diff_2003_Mth_Tim"
File2 = File + "\Images\diff_2003_Mth_Tim"
File3 = File + "\Surfer Files\diff_2003_Mth_Tim"
File4 = File + "\Grid Files\diff_2003_Mth_Tim"

...................

Next Tim
Next Mth


I should also note that the script works fine when I execute it one day at a time ... it does exactly what i want it to do ... it's only looping over all the files automatically that won't work.
 
Last edited:

Answers and Replies

  • #2
162
0
perhaps its too late here for my to think clearly, but what exactly are you trying to do, you say analyze, but analyze for what?
 
  • #3
Alkatran
Science Advisor
Homework Helper
944
0
Why don't you use the dir() function?

IE:

Dim temp as string
temp = dir("C:\*")
while temp <> ""
'do stuff to file (filepath = "C:\" & temp)
temp = dir() 'get next file matching last call
wend
 
  • #4
591
0
Using the string "\diff\diff_2003_Mth_Tim" will not automatically substitute the values of Mth and Tim; it'll just give you a string that literally contains "\diff\diff_2003_Mth_Tim".

Instead, use something like "\diff\diff_2003_" & Mth & "_" & Tim, which will produce strings like "\diff\diff_2003_3_17".
 

Related Threads for: Question on Scripting in Visual Basic

  • Last Post
Replies
0
Views
4K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
3
Views
2K
Replies
4
Views
10K
Replies
3
Views
5K
Replies
2
Views
5K
  • Last Post
Replies
1
Views
3K
  • Last Post
Replies
2
Views
2K
Top