Сделать документ пустым\чистым, поместить на него вывод

Автор Ципихович Эндрю, 2 января 2024, 16:21

0 Пользователи и 1 гость просматривают эту тему.

Ципихович Эндрю

здравствуйте, подскажите новичку в либре, как:
1 сделать документ пустым\чистым
2 поместить на него вывод
спасибо

bigor

Новичку, если интересно, полезнее Питоньяка почитать.
Код с учетом 1 и 2
sub filesort
Dim arr, arr1
Dim i As Long, sDir, fn As String
Dim sFileName
Dim Dummy()
Dim Url As String
Dim Doc As Object
sDir="/home/bigor/Test1/"
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
sfilename=files(sDir)
redim arr(1,ubound(sfilename))
for i= 0 to ubound(sfilename)
arr(0,i)=int(split(getname(sfilename(i)),".")(0))
arr(1,i)=convertfromurl(sfilename(i))
Next
fn=""
arr1=sortcolumns(arr,0)
for i=0 to ubound(sfilename)
fn= fn & arr1(1,i) &chr(13)
next

Url = "private:factory/swriter"
Doc = StarDesktop.loadComponentFromURL(Url, "_blank", 0, Dummy())
Doc.Text.string=fn
end sub
Поддержать наш форум можно здесь

Ципихович Эндрю



Ципихович Эндрю

спасибо на днях посмотрю))
честно говоря зная основы вордовского вба на либре не так просто вкурить
так я так и не понял, зачем эти телодвижения - открыть новый документ, я ведь и так нахожусь в документе, как выложенное:
Dim Url As String
' устанавливает переменную Url на значение "private:factory/swriter", это значение представляет URL-адрес для открытия нового документа Writer
Url = "private:factory/swriter"
' метод loadComponentFromURL() объекта StarDesktop, чтобы открыть новый документ Writer
' метод loadComponentFromURL() принимает четыре параметра:
' Url: URL-адрес для открытия документа
' WindowMode: режим открытия документа, егоозможные значения:
' _blank: документ открывается в новом окне.
' _modal: документ открывается в модальном окне.
' _modeless: документ открывается в немодальном окне.
' Arguments: аргументы, которые будут переданы документу при открытии, что означает, что документ будет открыт без аргументов
' Parent: родительский объект, в который будет вставлен документ, равен Dummy(), что означает, что документ не будет вставлен в какой-либо родительский объект
Dim Doc As Object
Dim Dummy()
Doc = StarDesktop.loadComponentFromURL(Url, "_blank", 0, Dummy())
' значение свойства string объекта Text документа Doc на значение переменной ххх, свойство string представляет текст документа
Doc.Text.string=sFiles_print
сделать в активном документе - сделать его пустым\чистым, поместить в него нужное


bigor

Цитата: Ципихович Эндрю от  2 января 2024, 17:46я ведь и так нахожусь в документе
с чего бы это? Может в каких то постах и было, что макрос из документа запускался, но сегодня про это точно ничего не было. Но если документ есть, и макрос запускается из него, то как записали текст, так можем и удалить
Doc.Text.string=""
Doc.Text.string=sFiles_print
Поддержать наш форум можно здесь

Ципихович Эндрю

я думаю, что в вордовсих вбашных кодах вы также разбираетесь
три макроса, решают, то что в сабже
размещены по степени краткости=лучшести
Sub Макрос1()
   ActiveDocument.Range = "вывод"
End Sub
Sub Макрос2()
    ActiveDocument.Range = ""
    ActiveDocument.Range = "вывод"
End Sub
Sub Макрос3()
    Selection.WholeStory
    Selection.Delete Unit:=wdCharacter, Count:=1
    ActiveDocument.Range = "вывод"
End Sub
можно их перевести в либру? спасибо

bigor

Поддержать наш форум можно здесь

Ципихович Эндрю