From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.0 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id A6C82BC6B for ; Wed, 7 Nov 2007 18:16:39 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAGyBMUfRVYTzmGdsb2JhbACOfQIBAQcCBhMY X-IronPort-AV: E=Sophos;i="4.21,385,1188770400"; d="scan'208";a="19040621" Received: from an-out-0708.google.com ([209.85.132.243]) by mail4-smtp-sop.national.inria.fr with ESMTP; 07 Nov 2007 18:16:39 +0100 Received: by an-out-0708.google.com with SMTP id c24so358485ana for ; Wed, 07 Nov 2007 09:16:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding; bh=lOOKgpuIOBOJ8jSDVHewnKM+DzjAbAMJQE/jxYDT4xE=; b=YVNnTXKlLb1XWRgtfhPVJhse1J2D5z6EYNFSlO0N6Z0LI/8cg5spEMhL/OApreXQp5y0CkhCu2n6WM7poicDIvEB7iQmF3+Dmbwis5i2BYCkR4nowh6s6J1vd4udmmpvwbAb+ZJnUxRiq1c22KPmrExKqALPe6SN1P3kPF/1fSs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding; b=QLWhaIUt+T1IgTkcbaHD01hZgSO1HTEL9LsTzogfoGgm12zqR7J9VAYP5zJGV544EN5iss7e6RLhOKUn3vSl4B3Zv6/svMjOspGSuuWborWkmsY45SZe9G80WQzypQAOoshNaix3qJ/+W+9eRtzWO/5kHFEn/zDeLSQmEJyb3to= Received: by 10.100.106.1 with SMTP id e1mr11155976anc.1194455793401; Wed, 07 Nov 2007 09:16:33 -0800 (PST) Received: from ?192.168.0.7? ( [70.248.134.232]) by mx.google.com with ESMTPS id n29sm13405511elf.2007.11.07.09.16.31 (version=SSLv3 cipher=RC4-MD5); Wed, 07 Nov 2007 09:16:32 -0800 (PST) Message-ID: <4731F2E4.7070100@gmail.com> Date: Wed, 07 Nov 2007 11:16:20 -0600 From: Edgar Friendly User-Agent: Thunderbird 2.0.0.6 (X11/20070728) MIME-Version: 1.0 To: Jon Harrop Cc: caml-list Subject: Re: [Caml-list] Re: OT: Commercial Support and Programming Languages References: <200711041201.10255.jon@ffconsultancy.com> <200711071607.51274.jon@ffconsultancy.com> <4731E96B.7060007@gmail.com> <200711071641.25034.jon@ffconsultancy.com> In-Reply-To: <200711071641.25034.jon@ffconsultancy.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; outputting:01 ocaml:01 overwrite:01 worksheet:01 bindings:01 bindings:01 camlidl:01 edgar:98 wrote:01 wrote:01 uno:98 uno:98 caml-list:01 macros:01 binding:02 Jon Harrop wrote: > On Wednesday 07 November 2007 16:35, you wrote: >> Depending on the complexity of your results, you *might* succeed at >> outputting a CSV file and having OO.org import that. It probably won't >> look like a final product, but might serve as a base for some OO macros >> to clean up. > > Can an OCaml program command OpenOffice to overwrite a current worksheet with > the contents of a CSV file? I'm doing that by hand at the moment... > OO.org has UNO, which is available through Java, OO Basic, MS OLE and the CLI. There's supposedly Python bindings too. To do what you want, I expect you'll need some bindings to UNO, which don't exist ATM, but CamlIDL might get you to OLE easy enough (never used it, tho), or some of the new caml-java might get you through the java route. A weak binding might not take that much work to write. E.