Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

15 Сентябрь 2019, 19:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Экспорт текста из Calc  (Прочитано 2246 раз)
0 Пользователей и 1 Гость смотрят эту тему.
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #30668: 24 Апрель 2015, 21:53 »

Должно сработать (если при описании задачи ничего не упустил)
Код:
Sub allSheetsToFile
Dim FilePath as String
Dim oSheets As Variant
Dim oSheet As Variant
Dim oCursor As Variant
Dim oDataArray As Variant
Dim FileChannel as Integer
Dim oFile as Object
Dim oOutputStream as Object
Dim oStreamString as Object
Dim oUcb as Object
Dim sCRLF as String

Dim i&, j&, k&
sCRLF = CHR(13) & CHR(10)
FilePath = ThisComponent.getURL()
Mid (FilePath, Len(FilePath)-2 , 3, "txt") ' Выходной файл: тот же путь, то же имя, только расширение .txt
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
oOutputStream = createUnoService("com.sun.star.io.TextOutputStream")
If oUcb.Exists(FilePath) Then
oUcb.Kill(FilePath)
End If
oFile = oUcb.OpenFileReadWrite(FilePath)
oOutputStream.SetOutputStream(oFile.GetOutputStream)

oSheets = ThisComponent.getSheets()
For k = 0 To oSheets.getCount()-1
oSheet = oSheets.getByIndex(k)
oCursor = oSheet.createCursor()
oCursor.gotoEndOfUsedArea(True)
oDataArray = oCursor.getDataArray()
For j = LBound(oDataArray(0)) To UBound(oDataArray(0))
For i = LBound(oDataArray) To UBound(oDataArray)
oOutputStream.WriteString(CStr(oDataArray(i)(j)) & sCRLF)
Next i
oOutputStream.WriteString(sCRLF) ' В образце между колонками пустая строка была
Next j
Next k
oOutputStream.CloseOutput()
End Sub
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!