Как использовать параметр fieldinfo в тексте для кода столбца с использованием синей призмы - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь использовать код из текста в столбцы, используя этап кода с синей призмой, мне удалось сделать это хорошо, но мои результаты представлены в xlGeneralFormat, но я хочу, чтобы они были в текстовом формате

Dim wb, ws As Object
Dim excel, sheet, range As Object



Try


wb = GetWorkbook(Handle, Workbook)
ws = GetWorksheet(Handle, Workbook, Worksheet)

wb.Activate()
ws.Activate()
excel = ws.Application
sheet = excel.ActiveSheet
range = sheet.Range(Reference)
range.Select()

excel.selection.TextToColumns (DataType:=1,ConsecutiveDelimiter:=True,Other:=True,OtherChar:="_",fieldinfo:= "Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 2), Array(4, 2), Array(5, 2))")

Success = True

Catch e As Exception
    Success = False
    Message = e.Message
Finally
    wb = Nothing
    ws = Nothing
    excel = Nothing
    sheet = Nothing
    range = Nothing
End Try

но это не работает!

NB. Код хорошо работает без fieldinfo:= "Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 2), Array(4, 2), Array(5, 2))"

, но он находится в xlGeneralFormat

Кто-нибудь может помочь в этом случае?

1 Ответ

0 голосов
/ 20 апреля 2020

Может быть, вы могли бы изменить формат столбца сразу после этого? Например:

sheet.Columns("A:B").NumberFormat = "@"

, где вы заменяете фразу «A: B» столбцами, которые хотите отформатировать. Или вы можете сделать это с диапазоном:

range.NumberFormat = "@"

Примечание: "@" - это код для текстового формата.

...