从 Silverlight 应用程序调用 OneNote GetHierarchy()

发布于 2024-11-03 18:31:46 字数 863 浏览 5 评论 0 原文

我有一个浏览器外的 Silverlight 4、增强的信任应用程序。我想使用 OneNote 2010 对象模型通过 AutomationFactory 与 OneNote 进行通信,但我无法获取 GetHierarchy() 应用程序的方法才能工作。我知道 OneNote 中有数据,因为我可以从 .NET 应用程序调用该方法并从中获取数据。 GetHierarchy() 方法返回 null。有什么建议吗?

class OneNoteAutomation
{
    dynamic oneNote;

    enum HierarchyScope
    {
        hsSelf = 0,
        hsChildren = 1,
        hsNotebooks = 2,
        hsSections = 3,
        hsPages = 4
    }

    public void GetHierarchy()
    {
        if (AutomationFactory.IsAvailable)
        {
            this.oneNote = AutomationFactory.CreateObject("OneNote.Application");

            var result = this.oneNote.GetHierarchy(
                string.Empty, 
                (int)HierarchyScope.hsNotebooks, 1);            
        }
    }
}

I have a Silverlight 4 out-of-browser, elevated trust application. I would like to use the OneNote 2010 object model to communicate with OneNote using the AutomationFactory and I'm not able to get the GetHierarchy() method of the Application to work. I know I have data in OneNote, because I can call the method from a .NET application and get data back from it. The GetHierarchy() method returns null. Any suggestions?

class OneNoteAutomation
{
    dynamic oneNote;

    enum HierarchyScope
    {
        hsSelf = 0,
        hsChildren = 1,
        hsNotebooks = 2,
        hsSections = 3,
        hsPages = 4
    }

    public void GetHierarchy()
    {
        if (AutomationFactory.IsAvailable)
        {
            this.oneNote = AutomationFactory.CreateObject("OneNote.Application");

            var result = this.oneNote.GetHierarchy(
                string.Empty, 
                (int)HierarchyScope.hsNotebooks, 1);            
        }
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

聽兲甴掵 2024-11-10 18:31:46

这是一个已知错误,无法在 AutomationFactory 中使用具有“out”的方法进行调用 - 请参阅 SL4 - AutomationFactory - 带有“out”参数的调用方法引发异常:“无法将调用的参数转换为...”

顺便说一句,我不确定您想用 1< 做什么/code> 在您的 GetHierarchy 调用中 - 这是指向将用所选 HierarchyScope 枚举的 XML 填充的字符串的指针。它应该是一个字符串 out 变量,而不是一个整数 - 但无论如何,由于错误,它仍然无法在 SL4 中工作。

This is a known bug that calls with methods that have 'out' cannot be used in AutomationFactory - please see SL4 - AutomationFactory - Call method with 'out' parameters raise exception: 'Could not convert an argument for the call to...'

BTW, I'm not sure what you are trying to do with the 1 in your GetHierarchy call - that is the pointer to the string that will be filled with the XML of the chosen HierarchyScope enum. It should be a string out variable, instead of an integer - but regardless, it still won't work in SL4 due to the bug.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文