Проблема экспорта данных листа Excel в формат синтаксиса SPSS (.sps) с использованием Excel VBA - PullRequest
0 голосов
/ 19 ноября 2018

В настоящее время я работаю над макросом Excel, в котором выходной лист необходимо экспортировать в формат * .sps (синтаксис SPSS).

Вот точный код, который я использую, который работает 80% времени:

Sub Print_CM_to_sps()
Dim FSO As Object
  Set FSO = CreateObject("Scripting.FileSystemObject")

  If FSO.FileExists(ThisWorkbook.Path & "\All_CM_Edits.sps") Then
    Set LogData = FSO.OpenTextFile(ThisWorkbook.Path & "\All_CM_Edits.sps", 2, True)
    LogData.Close
    Set LogDatas = FSO.OpenTextFile(ThisWorkbook.Path & "\All_CM_Edits.sps", 8, True)
    For i = 2 To lstRow
        LogDatas.WriteLine ThisWorkbook.Sheets("Data").Range("A" & i).value
    Next i
  Else
    Set NewFile = FSO.CreateTextFile(ThisWorkbook.Path & "\All_CM_Edits.sps", 8, True)
    For i = 2 To lstRow
        NewFile.WriteLine ThisWorkbook.Sheets("Data").Range("A" & i).value
    Next i
  End If
End Sub

Как уже упоминалось, этот подход должен быть в порядке, но я запутался, почему 20% времени мой созданный файл * .sps не читается SPSS. При возникновении такой аномалии файл * .sps можно правильно просматривать с помощью любых других инструментов редактирования (например, notepad / npp / sublime / UE / и т. Д.), Но при открытии в IBM SPSS Statistics он читается только как одна строка китайских символов.

Чтобы привести пример, это строки, которые содержатся в моем файле * .sps, которые на самом деле являются очень простыми командными строками:

Переименовать переменные (AU3a01 = AU3a_1). Переименовать переменные (AU3a02 = AU3a_2). Переименовать переменные (AU3a03 = AU3a_3). Переименовать переменные (AU3a04 = AU3a_4). Переименовать переменные (AU3a05 = AU3a_5). Переименовать переменные (AU3a06 = AU3a_6). Переменная маркировка AU3a_1 «Бренд А». Переменные метки AU3a_2 "Марка Б". Переменная маркировка AU3a_3 «Бренд C». Переменные метки AU3a_4 "Марка Д". Переменная маркировка AU3a_5 «Бренд Е». Переменные метки AU3a_6 "Бренд F". Значения / AU3a_1 до AU3a_6 1 «1 - Ужасно» 2 "2" 3 "3" 4 "4" 5 "5" 6 "6" 7 "7" 8 "8" 9 "9" 10 "10 - Отлично". Выполнить.

Вот скриншот ошибки, о которой я упоминал:

Отображение ошибки SPSS

Надеюсь услышать от кого-нибудь, кто может мне помочь.

Большое спасибо!

1 Ответ

0 голосов
/ 19 ноября 2018

k, спасибо за быстрый ответ.

Сделал более глубокий анализ и пришел с решением, которое включает включение ссылок на библиотеки в качестве прикрепленного изображения. Для этого перейдите в Инструменты >> Ссылки в окне редактирования модуля.

enter image description here

Как ни странно, я искал решения уже 3 недели и, к счастью, только сегодня нашел это решение. :)

...