Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 02.05.2007
Сообщений: 4

Как запустить макрос с командной строки

05.05.2007, 01:04. Показов 3771. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!

Ребята у меня вот какая проблема. У меня есть макрос, который работает с презентаций. Он вытаскивает свойства презентации, такие как автор, название, дата создания и т.д и записывает их в 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.presentat ion.Presentation")
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.Ol eObjectFactory")
oXMLDOM = oleService.createInstance("Msxml.DOMDocu ment")
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_ele m)
oXMLDOM_Rootelem.appendChild(oXMLDOM_ele m1)
oXMLDOM_Rootelem.appendChild(oXMLDOM_ele m2)
oXMLDOM_Rootelem.appendChild(oXMLDOM_ele m3)
oXMLDOM_Rootelem.appendChild(oXMLDOM_ele m4)
oXMLDOM_Rootelem.appendChild(oXMLDOM_ele m5)
oXMLDOM_Rootelem.appendChild(oXMLDOM_ele m6)


For i=0 To oPage-1
sDuration=oDoc.getDrawPages().getByIndex (i).getPropertyValue("Duration")
sSlideName=oDoc.getDrawPages().getByInde x(i).getName()

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>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.05.2007, 01:04
Ответы с готовыми решениями:

Как запустить макрос из формулы в EXCEL'е?
Как запустить макрос из формулы в EXCEL'е? Ну не верю что можно модули из DLL подключать функцией (из ячейки), а собственные макросы...

Как использовать ключ командной строки в VB приложениях?
В общем, вот и весь вопрос... Запускаю программу, в командной строке указываю параметр запуска... 'C:/MyPath/prog.exe /a' Как...

Как запустить код из командной строки?
Здравствуйте!! У меня такая беда маленькая, не могу запустить файл &quot;Prog.java&quot; с командной строки с помощью компилятора javac .......всё...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2007, 01:04
Помогаю со студенческими работами здесь

Как запустить FASM из командной строки?
Здравствуйте! Не могу запустить компиляцию файла FASM из другой программы. Пытаюсь запустить так: %FASM_PATH%/fasm.exe test.asm test.exe ...

Как запустить файл python из командной строки?
Файл находится в библиотеке python (Lib) с расширением .py. как правильно указать путь через диск С и т.д.. Подскажите пожалуйста)

Как запустить второе окно командной строки
Пишу программу, она работает с двумя потоками. Можно ли запустить второе окно командной строки и туда выводить из второго потока всю...

Как запустить компиляцию файлов из командной строки?
загрузила файлы библиотеки, рекомендуемые в книге Брюса Эккеля и по инструкциям книги пытаюсь выполнить компиляцию по следующей команде ...

как из командной строки запустить программу в режиме совместимости с XP?
поставил семерку, а дрова на звук сущетсвуют только для xp, но дрова установились, звук появился, но микшер (который в трее висит)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru