Как получить значение из каждого диапазона из множества на Excel VBA - PullRequest
0 голосов
/ 29 марта 2019

У меня есть таблица в Excel, и я хочу сгенерировать содержимое таблицы в моем собственном формате.

это мой список таблиц

это мой код:

Dim field As String
Dim table As String
Dim t As Integer
Dim f As Integer
Dim lastrow As Integer
Dim myFile As String
Dim xStr As String
Dim lastcode As String
Dim TableID As Integer
Dim i As Integer


myFile = "D:\table.txt"

With Sheets("Sheet1")
    Open myFile For Output As #1
    For i = 1 To .ListObjects.Count
    table = "{" & Chr(10) & _
    """type"":""Table""," & Chr(10) & _
    """details"": {" & Chr(10) & _
    """name"": """ & .Range("C2") & """," & Chr(10) & _
    """sort"": ""manual""," & Chr(10) & _
    """attributes"": ["
    Print #1, table

    lastrow = Range("A" & Rows.Count).End(xlUp).Row

    For f = 2 To lastrow
        field = "{" & Chr(10) & _
        """names"": [" & Chr(10) & """" & .Range("B" & f) & """" & Chr(10) & _
        "]," & Chr(10) & _
        """id"": " & f - 1 & "" & Chr(10) & _
        "}"

        If f = lastrow Then
            field = field
        Else
            field = field & ","
        End If

        Print #1, field
    Next f

        lastcode = "]," & Chr(10) & _
        """uniqueGroups"": []," & Chr(10) & _
        """id"": " & i & Chr(10) & _
        "}" & Chr(10) & _
        "}"

        Print #1, lastcode
    Next i
        Close #1
End With

Мои ожидания Я получил такой формат, но не могу получитьдиапазон для каждого значения из каждой таблицы в цикле

{
      "type": "Table",
      "details": {
        "name": "customer",
        "sort": "manual",
        "attributes": [
          {
            "names": [
              "id"
            ],
            "id": 1
          },
          {
            "names": [
              "name"
            ],
            "id": 2
          }
        ],
        "uniqueGroups": [],
        "id": 1
      }
    },
    {
      "type": "Table",
      "details": {
        "name": "address",
        "sort": "manual",
        "attributes": [
          {
            "names": [
              "id"
            ],
            "id": 1
          },
          {
            "names": [
              "customer_id"
            ],
            "id": 2
          }
        ],
        "uniqueGroups": [],
        "id": 1
      }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...