Sziasztok!
Excel 2003-ban szerettem volna írni egy VBA függvényt, ami egy text file-ból kiolvassa a benne található sql utasításokat és a "go" kulcsszavak mentén szétvágja őket és egy tömbbe teszi az önálló sql utasításokat.
Public Function OpenTextFileToString(strFile As String) As String
Dim hFile As Long
Dim OpenTextFileToString2 As String
hFile = FreeFile 'FreeFile: the next file number that is not already in use
Open strFile For Input As #hFile
OpenTextFileToString2 = Input$(LOF(hFile), hFile) 'LOF = Length Of File
Close #hFile
OpenTextFileToString = Split(OpenTextFileToString2, vbCrLf & "go" & vbCrLf)
Debug.Print OpenTextFileToString(0)
End Function
Ez hibát ad nekem (type mismatch error).
Én úgy tudtam, hogy függvény eredménye lehet string array.
Próbálkoztam olyannal is, hogy variant-nak definiálok mindent, és a végén próbálom átkonvertálni string-gé a tömb elemeit:
Public Function OpenTextFileToString(strFile As String) As String
Dim hFile As Long
Dim OpenTextFileToString2 As String
hFile = FreeFile 'FreeFile: the next file number that is not already in use
Open strFile For Input As #hFile
OpenTextFileToString2 = Input$(LOF(hFile), hFile) 'LOF = Length Of File
Close #hFile
Dim OpenTextFileToString3 As Variant
OpenTextFileToString3 = Split(OpenTextFileToString2, vbCrLf & "go" & vbCrLf)
Debug.Print OpenTextFileToString3(0)
Dim i As Integer
Dim OpenTextFileToString4() As String
For i = 0 To UBound(OpenTextFileToString3)
OpenTextFileToString4(i) = CStr(OpenTextFileToString3(i))
Next
OpenTextFileToString = OpenTextFileToString4()
Debug.Print OpenTextFileToString(0)
End Function
Ez már végső kínomban született, de ez sem futott le.
Előre is köszi a segítséget!