0
Excel의 연결 인수 에 사용 된 배열에 문제가 있습니다.Excel 텍스트 파일 연결 TextFileColumnDataTypes
나는 아래 코드에 주석을 달아 문제가있는 행을 볼 수 있습니다. 이것은 내 전체 코드가 사용되는 것은 아니지만 오류는 동일하며 본질적으로 끓여서이 예제에 하드 코드 된 것처럼 약간의 것들이 조금 비싸 보일 수도 있습니다. 어레이의 크기는, 따라서 그것에 대한 동적하고자하는 1 개 이상의 텍스트 파일을 반복 것 같이 다른 코드의 전체 버전에
Sub TestWhyStuffBreaks()
Dim xlApp As Excel.Application, xlWb As Excel.Workbook, xlSht As Excel.Worksheet, i As Integer, arrDT() As Integer
Set xlApp = CreateObject("Excel.Application")
Set xlWb = xlApp.Workbooks.Add
ReDim arrDT(16)
For i = 1 To 16
arrDT(i) = 2
Next i
xlApp.Visible = True
Set xlSht = xlWb.Sheets(1)
With xlSht.QueryTables.Add(Connection:="TEXT;C:\temp\textfile.txt", Destination:=xlSht.Range("$A$1"))
.Name = xlSht.Name
.FieldNames = True
.RowNumbers = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierNone
.TextFileConsecutiveDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = arrDT 'This line errors with message of "Invalid procedure call or argument".
'.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2) 'This line is fine but not how I want to do it, I want to be able to dynamically change the length of the array.
.Refresh BackgroundQuery:=False
End With
End Sub
.
이 경우 Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
과 arrDT
의 차이점은 무엇입니까?
내가 잘못되었을 수 있습니다. 나는 그것을 어떻게 해결했는지 기억하지 못합니다. (이전에 같은 문제가있었습니다) 배열을 변형으로 선언하고 해결할 수 있습니까? 나는 그게 [캐스트] (https://msdn.microsoft.com/en-us/library/tbatye4h.aspx)와 관련이 있다는 것을 확신합니다. – Sgdva
Variant, Long, Double로 시도했습니다. 여전히 나에게 같은 오류 메시지를 준다. 그것은 매우 짜증나! 전환 링크는 후기 바인딩에서만 작동합니까? –
아 하! 나는 그것을 가지고있어, 곧 답변을 게시 할 것입니다! –