Как я могу переключаться между листами Excel в VBScript - PullRequest
0 голосов
/ 09 июня 2019

enter image description here

Я пытаюсь создать VBScript, который будет извлекать данные из одной вкладки в Excel, и эти данные заменят определенную строку, доступную в другой вкладке листа Excel.

  1. Я создал Excel, содержащий две таблицы: «Данные» и «Запрос».
  2. Во вкладке Query есть один столбец «Queryine», и позиция столбца B или 2, которая содержит эту строку ниже.

    Select account from table1 where columname=<<field>>
    
  3. На вкладке данных доступна переменная «поле», содержащая значение 10.

  4. <<field>> необходимо заменить на это значение 10. Поэтому приведенный выше запрос должен отображаться так:

    Select account from table1 where columname=10
    

Я создал этот VBScript:

Set objexcel = CreateObject("excel.application")
objexcel.Visible = True
Set wb = objexcel.Workbooks.Open("C:\Users\admin\Desktop\Datasheet.xlsx")
Set ws = wb.Worksheets("Query")

Row = ws.UsedRange.Rows.Count

For i = 2 To Row
    finalvalue = ws.Cells(i, 2).Value

    splitvalues = Split(finalvalue, " ")
    For j = 0 To UBound(splitvalues)
        correctvalue = splitvalues(j)

        If InStr(correctvalue, ">>") > 0 Then
            variablename = Trim(Replace(Replace(correctvalue, "<<", " "), ">>", " "))
            Set ws = wb.Worksheets("Data")
            Col = ws.UsedRange.Columns.Count
            Row2 = ws.UsedRange.Rows.Count
            For k = 2 To Row2
                If variablename = ws.Cells(k, 1).Value Then
                    For P = 2 To Col
                        temp2 = ws.Cells(k, P).Value
                        Latestvalue = Trim(Replace(variablename, temp2))

                        Set fsoObject = CreateObject("Scripting.FileSystemObject")
                        filepath = "C:\Users\admin\Desktop"
                        Set MyFile =fsoObject.CreateTextFile("C:\Users\admin\Desktop\Query.p", 1, True)
                        MyFile.Write Latestvalue
                        MyFile.Close
                    Next
                End If
            Next
            Set MyFile = Nothing
            Set fsoObject = Nothing
        End If
    Next
Next
wb.Close
objexcel.Quit
Set objexcel = Nothing

При попытке запустить файл VBS я получаю сообщение об ошибке:

"Неожиданное следующее"

Также я не уверен, что могу перейти на вкладку «Данные» на вкладке «Запрос».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...