Вкладка VBS Script не пуста - PullRequest
       3

Вкладка VBS Script не пуста

0 голосов
/ 25 сентября 2010

Ранее я создал скрипт для извлечения определенных строк из текстового файла с разделителями со вкладками, первой строки с каждой из следующих строк в свой собственный файл .txt.(таким образом, эти файлы .txt представляют собой только 2 строки текста)

Затем он будет перемещать каждый файл .txt по тому тексту, который он нашел в данной вкладке, в данном случае это было (1) (3) (вторая строка- четвертая вкладка)

вот код для первой части ...

Call TwoDimensionArrayTest

Sub TwoDimensionArrayTest

Dim fso
 Dim oFile
 Dim arrline
 Dim arrItem
 Dim i
 Dim arrMain()
 Dim sFileLocation, strResults

 Const forReading = 1

strFolder = "\\nas001\Production\RxCut\In Design Implementation\build\" '"
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each objFile In objFSO.GetFolder(strFolder).Files
 If Right(LCase(objFile.Name), 4) = LCase(".txt") Then

 ''# The file contains on each line:
 ''# Text1 (tab) Text2 (tab) Text3 (tab) Text4
 ''# Text5 (tab) Text6 (tab) Text7 (tab) Text8
 ''# etc etc

Set fso = CreateObject("Scripting.FileSystemObject")
  sFileLocation = objFile.Name

  Set oFile = fso.OpenTextFile(objFile.Name, forReading, False)

 Do While oFile.AtEndOfStream <> True
  strResults = oFile.ReadAll
 Loop

 ''# Close the file
 oFile.Close

''# Release the object from memory
 Set oFile = Nothing

''# Return the contents of the file if not Empty
 If Trim(strResults) <> "" Then

  ''# Create an Array of the Text File
  arrline = Split(strResults, vbNewLine)
 End If

 For i = 0 To UBound(arrline)
  If arrline(i) = "" Then
   ''# checks for a blank line at the end of stream
   Exit For
  End If 

  ReDim Preserve arrMain(i)

   arrMain(i) = Split(arrline(i), vbTab)

 Next

      fso.MoveFile sFileLocation, arrMain(1)(3) & ".txt"
 End If 
 Next
End Sub ''# TwoDimensionArrayTest

Теперь переходим к следующей части ...

хорошо, у меня естьтекстовый файл с разделителями табуляции и в этом файле мы указали в первой строке 5-ю вкладку кобрендинга, 6-ю вкладку трибренда и 7-й универсальный.

во второй строке у нас есть путь к каталогу, который может быть кобрендовым, трибрендовым или универсальным.

Что я хочу сделать, это переместить определенный файл, который мы можем вызвать"group.txt" в любой из этих каталогов с совместным брендом, с тремя брендами или с общими, в зависимости от того, какое поле НЕ НЕДЕЙСТВИТЕЛЬНО.

Как я могу это сделать?Было бы неплохо просто включить это в последний скрипт к концу, где указано:

  fso.MoveFile sFileLocation, arrMain(1)(3) & ".txt"

, конечно, отсюда будет зависеть то, что я упомянул выше относительно поля NOT NULL.

Любая помощь очень ценится, Джо

1 Ответ

0 голосов
/ 27 сентября 2010

мое предположение примерно такое в конце (возможно):

Если не isNull (Rs ("arrMain (1) (4)")), то

Set sDirectory = "/ co-brand "

End If

Если не isNull (Rs (" arrMain (1) (5) ")), то

Set sDirectory =" / tri-brand "

End If

Если не isNull (Rs (" arrMain (1) (6) ")), то

Set sDirectory =" / generic "

End If

  fso.MoveFile sFileLocation, sDirectory, arrMain(1)(3) & ".txt" 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...