Настройка System.Drawing.Color через .NET COM Interop - PullRequest
0 голосов
/ 29 мая 2010

Я пытаюсь использовать библиотеку Aspose.Words через COM Interop. Есть одна критическая проблема: я не могу установить цвет. Предполагается, что он работает, присваивая DocumentBuilder.Font.Color, но когда я пытаюсь это сделать, я получаю ошибку OLE 0x80131509. Моя проблема очень похожа на эту .

Обновление:

Пример кода:

from win32com.client import Dispatch
Doc = Dispatch("Aspose.Words.Document")
Builder = Dispatch("Aspose.Words.DocumentBuilder")
Builder.Document = Doc
print Builder.Font.Size
print Builder.Font.Color

Результат:

12.0
Traceback (most recent call last):
  File "aaa.py", line 6, in <module>
    print Builder.Font.Color
  File "D:\Python26\lib\site-packages\win32com\client\dynamic.py", line 501, in __getattr__
    ret = self._oleobj_.Invoke(retEntry.dispid,0,invoke_type,1)
pywintypes.com_error: (-2146233079, 'OLE error 0x80131509', None, None)

Использование чего-то вроде Font.Color = 0xff0000 завершается неудачно с тем же сообщением об ошибке

Пока этот код работает нормально:

using Aspose.Words;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Document doc = new Document();
            DocumentBuilder builder = new DocumentBuilder(doc);
            builder.Font.Color = System.Drawing.Color.Blue;
            builder.Write("aaa");
            doc.Save("c:\\1.doc");
        }
    }
}

Так что похоже на проблему COM-взаимодействия.

1 Ответ

0 голосов
/ 31 мая 2010

Пожалуйста, проверьте ответ, приведенный здесь: http://www.aspose.com/community/forums/thread/240901/create-a-pivot-table-from-multiple-data-ranges.aspx Я думаю, этот подход должен помочь вам решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...