powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Обработка документа Word через OLE в CRL процедуре
11 сообщений из 11, страница 1 из 1
Обработка документа Word через OLE в CRL процедуре
    #38705322
Программист 3 поколения
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть класс для простой обработки документа Word, работоспособность проверил создав проект WinForms.

При попытке выполните теже действия в CRL процедуре получаю ошибку: "Адресат вызова создал исключение.", на код:
Код: c#
1.
ActiveDocument = oleWord.GetType().InvokeMember("ActiveDocument", BindingFlags.GetProperty, null, oleWord, null);



Код класса:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
class Word
    {
        private object oleWord = null;
        private object Documents, WorkBook, ActiveDocument, Tables, Table, Cell, Range;

        public Word()
        {
            oleWord = Activator.CreateInstance(Type.GetTypeFromProgID("Word.Application"));
        }

        public void Open(string TemplateFileName)
        {
            Documents = oleWord.GetType().InvokeMember("Documents", BindingFlags.GetProperty, null, oleWord, null);
            WorkBook = Documents.GetType().InvokeMember("Open", BindingFlags.InvokeMethod, null, Documents, new object[] { TemplateFileName, true });
        }

        public void TableSelect(int TableNum)
        {
            ActiveDocument = oleWord.GetType().InvokeMember("ActiveDocument", BindingFlags.GetProperty, null, oleWord, null);
        }
...



В чём может быть проблема?
...
Рейтинг: 0 / 0
Обработка документа Word через OLE в CRL процедуре
    #38705747
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 3 поколения,

что такое CRL?
...
Рейтинг: 0 / 0
Обработка документа Word через OLE в CRL процедуре
    #38705766
Программист 3 поколения
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pationчто такое CRL?
CLR.
...
Рейтинг: 0 / 0
Обработка документа Word через OLE в CRL процедуре
    #38705771
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 3 поколения,

и где эта CLR процедура запускается?

Неужто под MSSQL?
...
Рейтинг: 0 / 0
Обработка документа Word через OLE в CRL процедуре
    #38705801
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мрак...
...
Рейтинг: 0 / 0
Обработка документа Word через OLE в CRL процедуре
    #38705827
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 3 поколения, "божественный коллектор" уже готов собрать вас...
...
Рейтинг: 0 / 0
Обработка документа Word через OLE в CRL процедуре
    #38705850
Программист 3 поколения
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилПрограммист 3 поколения,

и где эта CLR процедура запускается?

Неужто под MSSQL?
Да, они для этого и созданы.
...
Рейтинг: 0 / 0
Обработка документа Word через OLE в CRL процедуре
    #38705851
Программист 3 поколения
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buserПрограммист 3 поколения, "божественный коллектор" уже готов собрать вас...
Что за бред, вы о чём?
...
Рейтинг: 0 / 0
Обработка документа Word через OLE в CRL процедуре
    #38705924
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 3 поколенияЧто за бред, вы о чём?
Это шутка... Прошу прощения, но ваша реакция говорит... о том, что Вы явно "не читатель"...
Приведите код полностью... включая create assembly
P.S.: старайтесь, по возможности, так не делать... ибо, как было замечено - Мрак.
...
Рейтинг: 0 / 0
Обработка документа Word через OLE в CRL процедуре
    #38705949
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 3 поколенияИзопропилПрограммист 3 поколения,

и где эта CLR процедура запускается?

Неужто под MSSQL?
Да, они для этого и созданы.
огорчу, но это не так.
...
Рейтинг: 0 / 0
Обработка документа Word через OLE в CRL процедуре
    #38705965
Программист 3 поколения
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buser,

Ясно...
Код CLR
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    [Microsoft.SqlServer.Server.SqlProcedure]
    public static void proc1(SqlString filename_tempalte, SqlString filename_invoice, SqlString data, out SqlInt32 result, out SqlString msg)
    {
        try
        {
            Word W = new Word();
            W.Open(filename_tempalte.ToString());

            W.TableSelect(1);//Выбираем нужную таблицу

            result = 0;
        }
        catch (Exception Err)
        {
            result = -1;
            msg = "Ошибка: " + Err.Message;
        }
    }



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
IF  EXISTS (SELECT * FROM sys.assemblies asms WHERE asms.name = N'SQL_CRL') DROP ASSEMBLY SQL_CRL
GO
CREATE ASSEMBLY SQL_CRL FROM 'c:\windows\system32\SQL_CRL.dll' WITH PERMISSION_SET = UNSAFE
GO

CREATE PROCEDURE [dbo].[proc1](@filename_tempalte [nvarchar](4000), @filename_invoice [nvarchar](4000),
@data [nvarchar](4000), @result int out, @msg [nvarchar](4000) out)
AS 
EXTERNAL NAME SQL_CRL.[SQLU].[proc1]
GO
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Обработка документа Word через OLE в CRL процедуре
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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