Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / вызов профессионалам / 12 сообщений из 12, страница 1 из 1
12.04.2007, 12:59
    #34455822
serghey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов профессионалам
Есть желание организовать возможность открывать документ в OpenOffice, редактировать его и сохранять в БД, но все это делать нужно из C# - программы, более того сохранять нужно по опции сохранить в меню программы OpenOffice.
Т.е. открыли из C#-проги документ в OpenOffice, отредактировали в редакторе, нажимаем сохранить в меню и сохраняем в БД.
До сих пор организовал открытие документа под управление проги:

using unoidl.com.sun.star.beans;
using unoidl.com.sun.star.lang;
using unoidl.com.sun.star.uno;
using unoidl.com.sun.star.bridge;
using unoidl.com.sun.star.frame;
using unoidl.com.sun.star.document;

private void bt_add_Click(object sender, EventArgs e)
{

XComponentContext xlocalContext =
uno.util.Bootstrap.bootstrap();

XMultiServiceFactory xRemoteFactory =
(XMultiServiceFactory)
xlocalContext.getServiceManager();

XComponentLoader aLoader =
(XComponentLoader)xRemoteFactory.createInstance(
"com.sun.star.frame.Desktop");

XComponent xComponent = initDocument(aLoader, "private:factory/swriter", "_blank");
XFrame xframe = ((XDesktop)aLoader).getCurrentFrame();
xframe.addFrameActionListener(new MyFrameActionListener());
initDocument(((XComponentLoader)xframe),
PathConverter(FileName),
"_self");

}



static XComponent initDocument(
XComponentLoader aLoader, string file, string target
)
{
XComponent xComponent = aLoader.loadComponentFromURL(
file, target, 0,
new PropertyValue[0]);

return xComponent;
}



private static string PathConverter(string file)
{
try
{
file = file.Replace(@"\", "/");

return "file:///"+file;
}
catch (System.Exception ex)
{
throw ex;
}
}

есть класс:

using System;
using System.Collections.Generic;
using System.Text;
using unoidl.com.sun.star.document;
using unoidl.com.sun.star.frame;
using System.Windows.Forms;

namespace document
{
class MyFrameActionListener : XFrameActionListener
{

public void frameAction(FrameActionEvent Action)
{
if (Action.Action == FrameAction.FRAME_UI_ACTIVATED)
MessageBox.Show("FrameEvent FRAME_UI_ACTIVATED");
else if (Action.Action == FrameAction.FRAME_ACTIVATED)
MessageBox.Show("FrameEvent FRAME_ACTIVATED");
else if (Action.Action == FrameAction.CONTEXT_CHANGED)
MessageBox.Show("FrameEvent CONTEXT_CHANGED");
//If these occours, the file is complete loaded
else if (Action.Action == FrameAction.COMPONENT_ATTACHED)
MessageBox.Show("FrameEvent COMPONENT_ATTACHED");
else if (Action.Action == FrameAction.COMPONENT_REATTACHED)
MessageBox.Show("FrameEvent COMPONENT_DEATTACHED");
else if (Action.Action == FrameAction.FRAME_DEACTIVATING)
MessageBox.Show("FrameEvent FRAME_DEACTIVATING");
else if (Action.Action == FrameAction.COMPONENT_DETACHING)
MessageBox.Show("FrameEvent COMPONENT_DETACHING");

}

public void disposing(unoidl.com.sun.star.lang.EventObject Source)
{
MessageBox.Show("выход из OpenOffice");
}
}
}

для полного счастья подрубил все CLI сборки из C:\Program Files\OpenOffice.org 2.1\program\assembly, догадаться не трудно, что по адресу C:\Program Files\OpenOffice.org 2.1\program лежит OpenOffice

помогите добрым советом.
...
Рейтинг: 0 / 0
12.04.2007, 13:54
    #34456036
Думающий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов профессионалам
Последнее время с удивительной частотой все делают "вызов профессионалам", раньше делали ники с женскими именами , чтобы получить быстро ответ, теперь вот этот способ НЛП. Удивительно. ИМХО.
...
Рейтинг: 0 / 0
12.04.2007, 13:58
    #34456052
Va1entin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов профессионалам
По теме (названию поста). - это уже не первый раз.

Смотри
Правила форума
РЕКОМЕНДАЦИИ
...
Рейтинг: 0 / 0
12.04.2007, 14:56
    #34456293
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов профессионалам
Что Вы кросспостингом занимаетесь и мечетесь из одного топика в другой и из одного форума в другой ? Неужели нельзя все решить в одном месте?
Что Вам конкретно неясно/непонятно:
1. Как Вашу хотелку организовать вообще?
2. Как сохранить документ в БД?
3. Как отследить момент сохранения документа?
Вы можете четко, ясно и однозначно сформулировать, хотя бы для себя, что Вы конкретно не можете реализовать?

P.S. Когда определитесь, особенно с п.1., п.2. ищите сдесь (BLOB, картинка etc.); п.3. - сдесь / сдесь
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
13.04.2007, 07:53
    #34457964
serghey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов профессионалам
о правилах хорошего тона на форуме надо подумать вам господа
...
Рейтинг: 0 / 0
13.04.2007, 07:58
    #34457966
serghey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов профессионалам
Ex_Soft долго старался, когда отвечал на вопрос? Молодец
...
Рейтинг: 0 / 0
13.04.2007, 08:03
    #34457968
serghey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов профессионалам
а за п.3 P.S.благодарю
...
Рейтинг: 0 / 0
13.04.2007, 10:51
    #34458438
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов профессионалам
sergheyо правилах хорошего тона на форуме надо подумать вам господа
Тебе все правильно сказали, не огрызайся
...
Рейтинг: 0 / 0
13.04.2007, 11:32
    #34458617
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов профессионалам
serghey , а Вы, часом, не отсюда ?
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
13.04.2007, 13:20
    #34459077
Думающий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов профессионалам
Согласен полностью)
...
Рейтинг: 0 / 0
16.04.2007, 06:57
    #34462238
serghey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов профессионалам
вам делать нечего, хорош поливать грязью
...
Рейтинг: 0 / 0
16.04.2007, 11:22
    #34462827
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов профессионалам
Модератор: serghey, вам первое предупреждение - не давайте топикам бессмысленные названия.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / вызов профессионалам / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]