Открыть CSV-файл в активной рабочей таблице VBA на Ma c
Я пытаюсь переписать свой код Windows VBA, чтобы я мог использовать его на компьютере Mac. Но почему-то невозможно загрузить информацию в активный рабочий лист на Mac.
Где MyFiles - это файл csv, открытый кодом http://www.rondebruin.nl/mac/mac015.html. Я немного сломал код, потому что думал, что он не распознает рабочую книгу. Но я думаю, что проблема заключается в рабочей книге.
Set ws = ActiveWorkbook.Sheets("1. Pledges (ruw)")
MyFiles = MacScript(MyScript)
On Error GoTo 0
If MyFiles <> "" Then
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
With ws.QueryTables.Add(Connection:="TEXT;" & MyScript, Destination:=ws.Range("A1"))
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True
.Refresh
End With
If ws.Range("A2").Value = vbNullString Then
ws.rows("2").EntireRow.Delete
End If
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End If
End Sub
Некоторым образом он всегда падает на.refresh, даже если я использую код робина, я не могу использовать таблицы запросов, которые отлично работают на окнах.
Оригинальный код Windows:
Dim ws As Worksheet, strFile As String
Set ws = ActiveWorkbook.Sheets("1. Pledges (ruw)") 'set to current worksheet name
strFile = Application.GetOpenFilename("Text Files (*.csv),*.csv", , "Please selec text file...")
With ws.QueryTables.Add(Connection:="TEXT;" & strFile, Destination:=ws.Range("A1"))
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.SaveData = True
End With
If ws.Range("A2").Value = vbNullString Then
ws.rows("2").EntireRow.Delete
End If