Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Запуск макроса с командной строки

27K
05 мая 2007 года
manya
2 / / 30.04.2007
Привет всем!

Ребята у меня вот какая проблема. У меня есть макрос, который работает с презентаций. Он вытаскивает свойства презентации, такие как автор, название, дата создания и т.д и записывает их в xml файл.
Он работает, но только внутри презентации.(Сервис-Макросы-Выполнить)
Я попыталась переделать его. Однако он запускается с командой строки не выдает ошибки и, но ничего не делает.
Поскажите в чем ошиблась!!!!!!

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Module1" script:language="StarBasic">REM ***** BASIC *****

Sub Main
PresInfo(cFile)
End Sub


Sub PresInfo(cFile)

cURL = ConvertToURL( cFile )
oDoc = StarDesktop.loadComponentFromURL( cURL, &quot;_blank&quot;, 0, Array(_
MakePropertyValue( &quot;Hidden&quot;, True ),_
) )


oPresentation = CreateUnoService("com.sun.star.presentation.Presen tation")
oPresentation = oDoc.getPresentation()
oPage = oDoc.getDrawPages().getCount()
cLang = oDoc.CharLocale.Language
CD = oDoc.DocumentInfo.CreationDate
oDes=oDoc.DocumentInfo.Description


cAuthor = oDoc.DocumentInfo.Author
sTitle = oDoc.DocumentInfo.Title
oleService = createUnoService("com.sun.star.bridge.OleObjectFac tory")
oXMLDOM = oleService.createInstance("Msxml.DOMDocument")
oXMLDOM_Rootelem = oXMLDOM.createElement("PresentationInfo")
oXMLDOM.appendChild(oXMLDOM_Rootelem)



oXMLDOM_elem = oXMLDOM.createElement("Author")
'oXMLDOM_elem.setAttribute("author_name",cAuthor)
oXMLDOM_elem.Text = cAuthor

oXMLDOM_elem1 = oXMLDOM.createElement("Title")
oXMLDOM_elem1.Text = sTitle

oXMLDOM_elem2 = oXMLDOM.createElement("Description")
oXMLDOM_elem2.Text = oDes

oXMLDOM_elem3 = oXMLDOM.createElement("PublicationDate")
oXMLDOM_elem3.Text = CD.Day & " " & CD.Month & " " & CD.Year

oXMLDOM_elem4 = oXMLDOM.createElement("Lang")
oXMLDOM_elem4.Text = cLang

oXMLDOM_elem5 = oXMLDOM.createElement("PageCount")
oXMLDOM_elem5.Text = oPage

oXMLDOM_elem6 = oXMLDOM.createElement("SlidesInfo")

oXMLDOM_Rootelem.appendChild(oXMLDOM_elem)
oXMLDOM_Rootelem.appendChild(oXMLDOM_elem1)
oXMLDOM_Rootelem.appendChild(oXMLDOM_elem2)
oXMLDOM_Rootelem.appendChild(oXMLDOM_elem3)
oXMLDOM_Rootelem.appendChild(oXMLDOM_elem4)
oXMLDOM_Rootelem.appendChild(oXMLDOM_elem5)
oXMLDOM_Rootelem.appendChild(oXMLDOM_elem6)


For i=0 To oPage-1
sDuration=oDoc.getDrawPages().getByIndex(i).getPro pertyValue("Duration")
sSlideName=oDoc.getDrawPages().getByIndex(i).getNa me()

oXMLDOM_elem7 = oXMLDOM.createElement("Slide")

oXMLDOM_elem8 = oXMLDOM.createElement("Number")
oXMLDOM_elem8.Text=i

oXMLDOM_elem9 = oXMLDOM.createElement("Name")
oXMLDOM_elem9.Text = sSlideName(i)

oXMLDOM_elem10 = oXMLDOM.createElement("Duration")
oXMLDOM_elem10.Text = sDuration(i)
a="img" & i
oXMLDOM_elem11 = oXMLDOM.createElement("ImageURL")
oXMLDOM_elem11.Text = a & ".jpg"

oXMLDOM_elem12 = oXMLDOM.createElement("ImageMimeType")
oXMLDOM_elem12.Text = "image/jpeg"
b="audio" & i
oXMLDOM_elem13 = oXMLDOM.createElement("AudioURL")
oXMLDOM_elem13.Text = b & ".mp3"

oXMLDOM_elem14 = oXMLDOM.createElement("AudioMimeType")
oXMLDOM_elem14.Text = "audio/mp3"

oXMLDOM_elem6.appendChild(oXMLDOM_elem7)
oXMLDOM_elem7.appendChild(oXMLDOM_elem8) ' print oXMLDOM_Rootelem.hasChildNodes() 'true
oXMLDOM_elem7.appendChild(oXMLDOM_elem9)
oXMLDOM_elem7.appendChild(oXMLDOM_elem10)
oXMLDOM_elem7.appendChild(oXMLDOM_elem11)
oXMLDOM_elem7.appendChild(oXMLDOM_elem12)
oXMLDOM_elem7.appendChild(oXMLDOM_elem13)
oXMLDOM_elem7.appendChild(oXMLDOM_elem14)

oXMLDOM.save("D:\Temp\new.xml")
Next

oDoc.close( True )
End Sub

Function MakePropertyValue( Optional cName As String, Optional uValue ) As com.sun.star.beans.PropertyValue
oPropertyValue = createUnoStruct( "com.sun.star.beans.PropertyValue" )
If Not IsMissing( cName ) Then
oPropertyValue.Name = cName
EndIf
If Not IsMissing( uValue ) Then
oPropertyValue.Value = uValue
EndIf
MakePropertyValue() = oPropertyValue
End Function

</script:module>
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог