本文介绍了"Hello World"使用OpenOffice 3示例代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用在WinXP MSVC 2008.NET上编写一个简单的"Hello World"窗口. OpenOffice 3.0 API和SDK.

I am trying to program a simple "Hello World" window on WinXP MSVC 2008.NET using OpenOffice 3.0 API and SDK.

这篇文章对初学者来说很重要... http: //api.openoffice.org/docs/DevelopersGuide/OfficeDev/OfficeDev.xhtml#1_1_OpenOffice.org_Application_Environment

The article is big for beginners... http://api.openoffice.org/docs/DevelopersGuide/OfficeDev/OfficeDev.xhtml#1_1_OpenOffice.org_Application_Environment

"Hello World"的代码是什么样的?

What would the code for "Hello World" look like?

推荐答案

设置您的解决方案: http://blog.nkadesign.com/2008/net-working-with-openoffice-3/

然后是简单的示例:( http://opendocument4all.com/content/view/68/47/)

Then simple example: (http://opendocument4all.com/content/view/68/47/)

using  System;
// Add all needed CLI namespaces to the current class.
using unoidl.com.sun.star.lang;
using unoidl.com.sun.star.uno;
using unoidl.com.sun.star.bridge;
using unoidl.com.sun.star.frame;

namespace OOTutorial
{
    class OpenOfficeApp
    {
        //Define a file name. Change this to an existing path!
        private static string FileName = @"F:\odtfiles   est.odt";

        [STAThread]
        static void Main( string [] args)
        {
            //Call the bootstrap method to get a new ComponentContext
            //object. If OpenOffice isn't already started this will
            //start it and then return the ComponentContext.
            unoidl.com.sun.star.uno.XComponentContext localContext =
                uno.util.Bootstrap.bootstrap();

            //Get a new service manager of the MultiServiceFactory type
            //we need this to get a desktop object and create new CLI
            //objects.
            unoidl.com.sun.star.lang.XMultiServiceFactory multiServiceFactory =
                (unoidl.com.sun.star.lang.XMultiServiceFactory)
                localContext.getServiceManager();

            //Create a new Desktop instance using our service manager
            //Notice: We cast our desktop object to XComponent loader
            //so that we could load or create new documents.
            XComponentLoader componentLoader =
                (XComponentLoader)
                multiServiceFactory.createInstance(  "com.sun.star.frame.Desktop" );

            //Create a new blank writer document using our component
            //loader object.
            XComponent xComponent = componentLoader.loadComponentFromURL(
                "private:factory/swriter",    //a blank writer document
                "_blank", 0,       //into a blank frame use no searchflag
                //use no additional arguments.
                new unoidl.com.sun.star.beans.PropertyValue[0]);

            //Cast our component to a the XText interface

            //and write some simple text into document.
            ((unoidl.com.sun.star.text.XTextDocument)xComponent).
                getText().setString("Hello I'm the first text!");

            //After we insert our text, we cast our component to XStorable
            //to save it onto the harddisk
            ((XStorable)xComponent).storeToURL(
                //Convert the file path into a OpenOffice path
                PathConverter(FileName),
                //no additional arguments
                new unoidl.com.sun.star.beans.PropertyValue[0]);

            Console.WriteLine("Your first OpenOffice document is saved!");
            Console.ReadLine();
        }

        ///
        /// Convert into OO file format
        ///
        private static string PathConverter( string file)
        {
            try
            {
                file = file.Replace(@"\", "/");
                return "file:///"+file;
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
    }
}

这篇关于"Hello World"使用OpenOffice 3示例代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-11 20:51