Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Здравствуйте. Не работает макрос на портале ver 2017 sr7, локально на сервере или рабочем ПК работает.
В диспетчере задач видно как открылся процесс Excel (на сервере установлен 2016 x64)
в лог записалась строчка о Старт дата время и все, процесс Excel в диспетчере висит и ничего не происходит.
Как понять, чего не хватает?
sub Export
dim fso, MyFile, strFile, strText
set obj = ActiveDocument.GetSheetObject("CH05")
set vMonths = ActiveDocument.Fields("Квартал").GetPossibleValues
vPath = ActiveDocument.Variables("vReport").GetContent.String
' Создание каталога, при его отсутствии
Set fileSystemObject = CreateObject("Scripting.FileSystemObject")
If Not fileSystemObject.FolderExists(vPath) Then
fileSystemObject.CreateFolder(vPath)
End If
' Запись в лог, старта
strFile=vPath & "\log_macro.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(strFile) Then
Set MyFile = fso.OpenTextFile (strFile, 8, True)
Else
Set MyFile = fso.CreateTextFile(strFile)
MyFile.WriteLine("""мой_файл""")
End If
strText= "Старт " & """" & Now() & ""
MyFile.WriteLine(strText)
set objExcel = CreateObject("Excel.Application")
objExcel.Visible = false
objExcel.DisplayAlerts = false
set objWrkBk = objExcel.Workbooks.Add
i = objWrkBk.Worksheets.Count
Do Until i = 1
objWrkBk.Worksheets(i).Delete
i = i - 1
Loop
For i = 0 to vMonths.Count -1
objWrkBk.Sheets.Add(, objWrkBk.Sheets(objWrkBk.Sheets.Count)).Name = vMonths(i).Text
ActiveDocument.Fields("Квартал").Select vMonths(i).Text
Set ASheet = objExcel.Sheets(vMonths(i).Text)
ASheet.Range("A1").Select
obj.CopyTableToClipboard true
ASheet.Paste
strText= "кв " & vMonths(i).Text & " " & """" & Now() & ""
MyFile.WriteLine(strText)
Next
For i = 0 to vMonths.Count -2
ActiveDocument.Fields("Квартал").ToggleSelect vMonths(i).Text
Next
objWrkBk.Sheets(1).Delete
ASheet.SaveAs vPath & "\мой_файл.xlsx"
objWrkBk.Close
objExcel.Quit
strText= "Окончание " & """" & Now() & ""
MyFile.WriteLine(strText)
MyFile.Close
end sub
Эти 2 строчки не помогают. Модель 208Мб
Когда столбцов немного, скажем 5, 3,6 мил. успешно выгружаются,
когда рабочий вариант 32 столбца, не выгружаются.
Память уходит в насыщение где то на 13,5 Гб.( 40Гб. свободно), после чего процессорное не расходуется, сутки висело и не с места.
Не у всех пользователей есть ресурсы ПК выгружать локально, поэтому самый правильный вариант для large, использовать
ServerSideExportEx, но вот засада Qlik похоже забросил её, она выгружает в формате 2003 офиса, т.е. несжатый по 65 тыс. строк на лист. Может исправят в ноябрьском релизе 2018 г., нужно уточнить.
P.s. Порылся по просторам community нашел несколько запросов подобной тематики с нерешенным статусом.