Sign in to follow this  
Followers 0
JamesDover

Novell OpenOffice 2.4.1

8 posts in this topic

We are moving from office 2003 to Novell OpenOffice 2.4.1 and trying to decide if we should have them save as office 2003 format or openoffice format. The problem is when you save as office 2003 format it is possible to lose formatting. But saving as openoffice we can't open stuff in Office 2003.

Cheers

P.S. Has anyone started working on any autoit converting programs for openoffice? I would be very interested if they are.

Share this post


Link to post
Share on other sites



We are moving from office 2003 to Novell OpenOffice 2.4.1

May I ask what were your motives to do so? I mean, 1.) why leave Office 2003, 2.) why moving to OO? (asking for arguments...)

and trying to decide if we should have them save as office 2003 format or openoffice format. The problem is when you save as office 2003 format it is possible to lose formatting.

Do you have examples what type of formats are lost? I've worked with OO few times about a year ago and couldn't recognize any format loss when saving in WW2003 format?

But saving as openoffice we can't open stuff in Office 2003.

... and I imagine, there is still no "easy" OOo reader available? I should check OO again, I think.

Regards, Rudi.


Earth is flat, pigs can fly, and Nuclear Power is SAFE!

Share this post


Link to post
Share on other sites

You should use the proper OpenOffice.org and not the Novell version. The normal branch is more stable.

Share this post


Link to post
Share on other sites

You should use the proper OpenOffice.org and not the Novell version. The normal branch is more stable.

AFAIK the Novell version just has some additional features, and not a separate save format.

So was the question: "OOo or Office 2003 format?"

IF I'm right, that there is still no easy to use OOo Reader. So I'd say, this depends very much upon how they use and interchange documents in Jame's company:

If they use their docx only within their company, OOo format will be perferreble.

But IMHO, if you frequently exchange documents with other companies a format that M$ Office can read directly should be choosen: You propably don't want to upset your bussiness partners with a format they can't read easily...

Regards, Rudi.


Earth is flat, pigs can fly, and Nuclear Power is SAFE!

Share this post


Link to post
Share on other sites

For M$ Office, there also exists a plugin to open ODT: http://www.sun.com/software/star/odf_plugin/index.jsp or, you could use an online converter like http://media-convert.com/


*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

Cheers :)

The main reason for switching is the cost of upgrading to Office 2007 is so high for 400+ computers. The conversion problem we have had was the graphics. When converting from excel 2003 to Calc. The bar or line graphs are eather to big or disappear. Excellent point on staying on office for formats to send to other companies. I would agree but the company I work for wants to save money.

Der Hauptgrund für den Wechsel ist die Kosten für ein Upgrade auf Office 2007 ist so hoch, für 400 + Computer. Die Umwandlung Problem, das wir haben, war die Grafik. Bei der Umwandlung von Excel 2003 zu Calc. Die Bar-oder Line-Grafiken sind eather zu groß oder verschwinden. Ausgezeichnete Punkt auf Aufenthalt in Büro für Formate zu senden an andere Unternehmen. Ich stimme aber der Firma, von der ich arbeiten will, für Geld zu sparen.

Edited by JamesDover

Share this post


Link to post
Share on other sites

i found something, maybe it helps (i havent tried it )

#include <Array.au3>

Dim $ServiceManager
Dim $Desktop
Dim $Range
Dim $oCursor, $oStart, $oEnd

;================================================================
;  
; To test from the command line, name this script convert.au3 or
; whatever and compile it.  From a Dos window execute it:
;
; convert c:\mydir\mysheet.xls
;
; where convert is the name you chose with a complete path to the
; spreadsheet which can also be an ODS or SXC file. The sheet is
; is converted to a .table file and put in the same directory as
; the original file.
;
; Demonstrates accessing the cells of a spreadsheet.  

ConvertOOo()    


MsgBox(0,"", "Sheet Converted to a Table", 2)

Exit

;================================================================

Func ConvertOOo()
    Local $args, $oDoc, $cURL, $cURL, $oSave, $x, $y, $temp, $row
#cs    
    If $fn = "" Then
        MsgBox(0, "", "No Filename Specified")
;        Return
    EndIf
    $temp = StringRight($fn, 3)
    If $temp = "SXC" Or $temp = "XLS" Or $temp = "ODS" Then
    Else
        MsgBox(0, "", "Must be an XLS, SXC or ODS file. Exiting")
        Exit; Delete when used in a real program
        Return
    EndIf
    
#ce 
$fn = @ScriptDir & "\" & "1.sxc";


    $ServiceManager  = ObjCreate("com.sun.star.ServiceManager")
    $Desktop  = $ServiceManager.createInstance("com.sun.star.frame.Desktop")
    $cURL = Convert2URL($fn)
    $args = _ArrayCreate(MakePropertyValue("Hidden", -1));, _
                    ;MakePropertyValue("ReadOnly", False), _    ; no need to use this if it is not necessary
                    ;MakePropertyValue("Password", "secret"))
                    
                    
    $oDoc = $Desktop.loadComponentFromURL( $cURL, "_blank", 0, $args)
;    $oDoc = $Desktop.loadComponentFromURL( $cURL, "_blank", 0, 0)
    $oSheet=$oDoc.CurrentController.ActiveSheet

   ; $Range = $Sheet.getCellRangeByPosition($oStart.EndColumn, $oStart.EndRow, $oEnd.EndColumn, $oEnd.EndRow)

$cell = $oSheet.getCellByPosition(1, 23).formula
MsgBox(0,"", $cell)

$cell = $oSheet.getCellByPosition(1, 23).formula
MsgBox(0,"", $oSheet.getCellByPosition(1, 23).formula)


$cell = $oSheet.getCellByPosition(6, 11).formula;
MsgBox(0,"", $cell)

$cell = $oSheet.getCellByPosition(7, 10).formula;
MsgBox(0,"", $cell)

$cell = $oSheet.getCellByPosition(7, 11).formula;
MsgBox(0,"", $cell)


$oSheet.getCellByPosition(7, 11).SetValue(11);

;$cell.setValue(11)
;;s$ret = $cell.getformula();
;rCell->setValue(219);
    ;rCell = rSpSheet->getCellByPosition(0, 1);
;   rCell->setValue(25);

 ;MsgBox(0,"", $ret)
    




#cs
    UsedRange($oSheet)

    $mydata = $Range.getdataarray()
    #ce
    

#cs
$temp = StringLen($fn)
    $fn = StringLeft($fn, $temp  -4) & ".table"
    $outh = FileOpen($fn, 2)
; at this point you would insert code for an html page
; I am only writing the table to be inserted in the page
    FileWriteLine($outh, "<TABLE COLS=" & $oEnd.EndColumn +1 & " BORDER=1>" & @CRLF)
    For $x = 0 To $oEnd.EndRow ; for the 1st row through the last row
        $row = $mydata[$x]
        $temp = "<TR>"
        For $y = 0 To $oEnd.EndColumn ; first column through the last column
            $temp = $temp & "<TD>" & $row[$y] & "</TD>"; $row[$y] is the cell data
        Next
        FileWriteLine($outh, $temp & "</TR>" & @CRLF); complete row, write it
    Next
    FileWriteLine($outh, "</TABLE>" & @CRLF); write tag
; More code for an HTML page
    FileClose($outh)  ; and close the file
    
    #ce
    
;    $oDoc.close(True) ; close soffice -- True works here but not for hidden!
EndFunc ;=== ConvertOOo

Func MakePropertyValue( $cName, $uValue)
    Local $Pstruc
    $Pstruc = $ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
    $Pstruc.Name = $cName
    $Pstruc.Value = ($uValue)
    ; MsgBox(0,"", $Pstruc.Value)
    Return $Pstruc
EndFunc    ;===> MakePropertyValue

Func Convert2URL($fname)
    $fname = StringReplace($fname, ":", "|")
    $fname = StringReplace($fname, " ", "%20")
    $fname = "file:///" & StringReplace($fname, "\", "/")
    Return $fname
EndFunc;=== Convert2URL

Func UsedRange($Sheet)
   $oCursor = $Sheet.createCursor()
   $oCursor.gotoStartOfUsedArea(False)
   $oStart = $oCursor.getRangeAddress()
   $oCursor.gotoEndOfUsedArea(False)
   $oEnd = $oCursor.getRangeAddress()
   $Range = $Sheet.getCellRangeByPosition($oStart.EndColumn, $oStart.EndRow, $oEnd.EndColumn, $oEnd.EndRow)
EndFunc ;=== UsedRange

Share this post


Link to post
Share on other sites

Cheers :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0