tdf#135580: remove Euro converter wizard

It was removed from the menu in
commit d6774abbd3
Author: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Date:   Thu Dec 17 19:27:09 2020 +0100

    tdf#135580 remove Euro Conversion wizard from menu

and in the ESC meeting from 2020-Dec-17, it was agreed
to drop the code for 7.2 but it never happened.
https://lists.freedesktop.org/archives/libreoffice/2020-December/086488.html

Change-Id: Id49fe6e056767e3a19525a26195c545763f4492d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187074
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
This commit is contained in:
Xisco Fauli
2025-06-26 22:55:44 +02:00
parent 794946c9a7
commit 22d1fb90b2
24 changed files with 0 additions and 2785 deletions

View File

@ -994,7 +994,6 @@ $(eval $(call gb_Helper_register_packages_for_install,ooo,\
wizards_basicshare \
wizards_basicsrvaccess2base \
wizards_basicsrvdepot \
wizards_basicsrveuro \
wizards_basicsrvgimmicks \
wizards_basicsrvimport \
wizards_basicsrvform \

View File

@ -68,7 +68,6 @@ $(eval $(call gb_CppunitTest_use_packages,desktop_lib, \
wizards_basicshare \
wizards_basicsrvaccess2base \
wizards_basicsrvdepot \
wizards_basicsrveuro \
wizards_basicsrvform \
wizards_basicsrvgimmicks \
wizards_basicsrvimport \

View File

@ -10,9 +10,6 @@
$(eval $(call gb_Package_Package,extras_tplwizbitmap,$(SRCDIR)/extras/source/templates/wizard/bitmap))
$(eval $(call gb_Package_add_files,extras_tplwizbitmap,$(LIBO_SHARE_FOLDER)/template/wizard/bitmap,\
euro_1.png \
euro_2.png \
euro_3.png \
ftpconnected.gif \
ftpconnecting.gif \
ftperror.gif \

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

View File

@ -239,14 +239,6 @@
<value>1</value>
</prop>
</node>
<node oor:name=".uno:EuroConverter" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Euro Converter</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int">
<value>1</value>
</prop>
</node>
<node oor:name=".uno:InsertExternalDataSource" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">E~xternal Links...</value>

View File

@ -24,7 +24,6 @@ $(eval $(call gb_Module_add_targets,wizards,\
CustomTarget_wizards \
Package_access2base \
Package_depot \
Package_euro \
Package_form \
Package_gimmicks \
Package_import \

View File

@ -1,37 +0,0 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This file incorporates work covered by the following license notice:
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed
# with this work for additional information regarding copyright
# ownership. The ASF licenses this file to you under the Apache
# License, Version 2.0 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
#
$(eval $(call gb_Package_Package,wizards_basicsrveuro,$(SRCDIR)/wizards/source/euro))
$(eval $(call gb_Package_add_files,wizards_basicsrveuro,$(LIBO_SHARE_FOLDER)/basic/Euro,\
AutoPilotRun.xba \
Common.xba \
ConvertRun.xba \
dialog.xlb \
DlgConvert.xdl \
DlgPassword.xdl \
Hard.xba \
Init.xba \
Protect.xba \
script.xlb \
Soft.xba \
Writer.xba \
))
# vim: set noet sw=4 ts=4:

View File

@ -6,7 +6,6 @@
<library:library library:name="Tools" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/Tools/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
<library:library library:name="Gimmicks" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/Gimmicks/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
<library:library library:name="ImportWizard" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/ImportWizard/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
<library:library library:name="Euro" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/Euro/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
<library:library library:name="Depot" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/Depot/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
<library:library library:name="ScriptBindingLibrary" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/ScriptBindingLibrary/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
<library:library library:name="Access2Base" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/Access2Base/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>

View File

@ -6,7 +6,6 @@
<library:library library:name="Tools" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/Tools/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
<library:library library:name="Gimmicks" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/Gimmicks/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
<library:library library:name="ImportWizard" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/ImportWizard/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
<library:library library:name="Euro" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/Euro/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
<library:library library:name="Depot" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/Depot/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
<library:library library:name="ScriptBindingLibrary" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/ScriptBindingLibrary/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
<library:library library:name="Access2Base" xlink:href="$(INST)/@LIBO_SHARE_FOLDER@/basic/Access2Base/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>

View File

@ -1,415 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="AutoPilotRun" script:language="StarBasic">Option Explicit
Public SourceDir as String
Public TargetDir as String
Public TargetStemDir as String
Public SourceFile as String
Public TargetFile as String
Public Source as String
Public SubstFile as String
Public SubstDir as String
Public NoArgs()
Public TypeList(6) as String
Public GoOn as Boolean
Public DoUnprotect as Integer
Public Password as String
Public DocIndex as Integer
Public oPathSettings as Object
Public oUcb as Object
Public TotDocCount as Integer
Public sTotDocCount as String
Public OpenProperties(1) as New com.sun.star.beans.PropertyValue
Sub StartAutoPilot()
Dim i As Integer
Dim oFactoryKey as Object
BasicLibraries.LoadLibrary(&quot;Tools&quot;)
BasicLibraries.LoadLibrary(&quot;ImportWizard&quot;)
If InitResources(&quot;Euro Converter&quot;) Then
oUcb = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
oLocale = GetStarOfficeLocale()
InitializeConverter(oLocale, 2)
ToggleGoOnButton()
oFactoryKey = GetRegistryKeyContent(&quot;org.openoffice.Setup/Office/Factories&quot;)
DialogModel.chkTextDocuments.Enabled = oFactoryKey.hasbyName(&quot;com.sun.star.text.TextDocument&quot;)
DialogModel.cmdGoOn.DefaultButton = True
DialogModel.lstCurrencies.TabIndex = 12
DialogConvert.GetControl(&quot;optWholeDir&quot;).SetFocus()
DialogConvert.Execute()
DialogConvert.Dispose()
End If
End Sub
Sub ConvertDocuments()
Dim FilesList()
Dim bDisposable as Boolean
If Source &lt;&gt; &quot;&quot; And TargetDir &lt;&gt; &quot;&quot; Then
If DialogModel.optSingleFile.State = 1 Then
SourceFile = Source
TotDocCount = 1
Else
SourceDir = Source
TargetStemDir = TargetDir
TypeList(0) = &quot;calc8&quot;
TypeList(1) = &quot;calc_StarOffice_XML_Calc&quot;
If DialogModel.chkTextDocuments.State = 1 Then
ReDim Preserve TypeList(5) as String
TypeList(2) = &quot;writer8&quot;
TypeList(3) = &quot;writerglobal8&quot;
TypeList(4) = &quot;writer_StarOffice_XML_Writer&quot;
TypeList(5) = &quot;writer_globaldocument_StarOffice_XML_Writer_GlobalDocument&quot;
End If
FilesList() = ReadDirectories(SourceDir, bRecursive, True, False, TypeList())
TotDocCount = Ubound(FilesList(),1) + 1
End If
InitializeProgressPage(DialogModel)
&apos; ChangeToNextProgressStep()
sTotDocCount = CStr(TotDocCount)
OpenProperties(0).Name = &quot;Hidden&quot;
OpenProperties(0).Value = True
OpenProperties(1).Name = &quot;AsTemplate&quot;
OpenProperties(1).Value = False
For DocIndex = 0 To TotDocCount - 1
If InitializeDocument(FilesList(), bDisposable) Then
If StoreDocument() Then
ConvertDocument()
oDocument.Store
End If
If bDisposable Then
oDocument.Dispose()
End If
End If
Next DocIndex
DialogModel.cmdBack.Enabled = True
DialogModel.cmdGoOn.Enabled = True
DialogModel.cmdGoOn.Label = sReady
DialogModel.cmdCancel.Label = sEnd
End If
End Sub
Function InitializeDocument(FilesList(), bDisposable as Boolean) as Boolean
&apos; The Autopilot is started from step No. 2
Dim sViewPath as String
Dim bIsReadOnly as Boolean
Dim sExtension as String
On Local Error Goto NEXTFILE
If Not bCancelTask Then
If DialogModel.optWholeDir.State = 1 Then
SourceFile = FilesList(DocIndex,0)
TargetFile = ReplaceString(SourceFile,TargetStemDir,SourceDir)
TargetDir = DirectorynameoutofPath(TargetFile, &quot;/&quot;)
Else
SourceFile = Source
TargetFile = TargetDir &amp; &quot;/&quot; &amp; FileNameoutofPath(SourceFile, &quot;/&quot;)
End If
If CreateFolder(TargetDir) Then
sExtension = GetFileNameExtension(SourceFile, &quot;/&quot;)
oDocument = OpenDocument(SourceFile, OpenProperties(), bDisposable)
If (oDocument.IsReadOnly) AND (UCase(SourceFile) = UCase(TargetFile)) Then
bIsReadOnly = True
Msgbox(sMsgDOCISREADONLY, 16, GetProductName())
Else
bIsReadOnly = False
RetrieveDocumentObjects()
sViewPath = CutPathView(SourceFile, 60)
DialogModel.lblCurDocument.Label = Str(DocIndex+1) &amp; &quot;/&quot; &amp; sTotDocCount &amp; &quot; (&quot; &amp; sViewPath &amp; &quot;)&quot;
End If
InitializeDocument() = Not bIsReadOnly
Else
InitializeDocument() = False
End If
Else
InitializeDocument() = False
End If
NEXTFILE:
If Err &lt;&gt; 0 Then
InitializeDocument() = False
Resume LETSGO
LETSGO:
End If
End Function
Sub ChangeToNextProgressStep()
DialogModel.lblCurProgress.FontWeight = com.sun.star.awt.FontWeight.NORMAL
DialogConvert.GetControl(&quot;lblCurProgress&quot;).Visible = True
End Sub
Function StoreDocument() as Boolean
Dim sCurFileExists as String
Dim iOverWrite as Integer
If (TargetFile &lt;&gt; &quot;&quot;) And (Not bCancelTask) Then
On Local Error Goto NOSAVING
If oUcb.Exists(TargetFile) Then
sCurFileExists = ReplaceString(sMsgFileExists, ConvertFromUrl(TargetFile), &quot;&lt;1&gt;&quot;)
sCurFileExists = ReplaceString(sCurFileExists, chr(13), &quot;&lt;CR&gt;&quot;)
iOverWrite = Msgbox (sCurFileExists, 32 + 3, sMsgDLGTITLE)
Select Case iOverWrite
Case 1 &apos; OK
Case 2 &apos; Abort
bCancelTask = True
StoreDocument() = False
Exit Function
Case 7 &apos; No
StoreDocument() = False
Exit Function
End Select
End If
If TargetFile &lt;&gt; SourceFile Then
oDocument.StoreAsUrl(TargetFile,NoArgs)
Else
oDocument.Store
End If
StoreDocument() = True
NOSAVING:
If Err &lt;&gt; 0 Then
StoreDocument() = False
Resume CLERROR
End If
CLERROR:
End If
End Function
Sub SwapExtent()
DialogModel.chkRecursive.Enabled = DialogModel.optWholeDir.State = 1
If DialogModel.optWholeDir.State = 1 Then
DialogModel.lblSource.Label = sSOURCEDIR
If Not IsNull(SubstFile) Then
SubstFile = DialogModel.txtSource.Text
DialogModel.txtSource.Text = SubstDir
End If
Else
DialogModel.LblSource.Label = sSOURCEFILE
If Not IsNull(SubstDir) Then
SubstDir = DialogModel.txtSource.Text
DialogModel.txtSource.Text = SubstFile
End If
End If
ToggleGoOnButton()
End Sub
Function InitializeThirdStep() as Boolean
Dim TextBoxText as String
Source = AssignFileName(DialogModel.txtSource.Text, DialogModel.lblSource.Label, True)
If CheckTextBoxPath(DialogModel.txtTarget, True, True, sMsgDLGTITLE, True) Then
TargetDir = AssignFileName(DialogModel.txtTarget.Text, DialogModel.lblTarget.Label, False)
Else
TargetDir = &quot;&quot;
End If
If Source &lt;&gt; &quot;&quot; And TargetDir &lt;&gt; &quot;&quot; Then
bRecursive = DialogModel.chkRecursive.State = 1
bDoUnprotect = DialogModel.chkProtect.State = 1
DialogModel.lblRetrieval.FontWeight = com.sun.star.awt.FontWeight.BOLD
DialogModel.lblRetrieval.Label = sPrgsRETRIEVAL
DialogModel.lblCurProgress.Label = sPrgsCONVERTING
If DialogModel.optWholeDir.State = 1 Then
TextBoxText = sSOURCEDIR &amp; &quot; &quot; &amp; ConvertFromUrl(Source) &amp; chr(13)
If DialogModel.chkRecursive.State = 1 Then
TextBoxText = TextBoxText &amp; DeleteStr(sInclusiveSubDir,&quot;~&quot;) &amp; chr(13)
End If
Else
TextBoxText = sSOURCEFILE &amp; &quot; &quot; &amp; ConvertFromUrl(Source) &amp; chr(13)
End If
TextBoxText = TextBoxText &amp; sTARGETDIR &amp; &quot; &quot; &amp; ConvertFromUrl(TargetDir) &amp; chr(13)
If DialogModel.chkProtect.State = 1 Then
TextBoxText = TextboxText &amp; sPrgsUNPROTECT
End If
DialogModel.txtConfig.Text = TextBoxText
ToggleProgressStep()
DialogModel.cmdGoOn.Enabled = False
InitializeThirdStep() = True
Else
InitializeThirdStep() = False
End If
End Function
Sub ToggleProgressStep(Optional aEvent as Object)
Dim bMakeVisible as Boolean
Dim LocStep as Integer
&apos; If the Sub is call by the &apos;cmdBack&apos; Button then set the &apos;bMakeVisible&apos; variable accordingly
bMakeVisible = IsMissing(aEvent)
If bMakeVisible Then
DialogModel.Step = 3
Else
DialogModel.Step = 2
End If
DialogConvert.GetControl(&quot;lblCurrencies&quot;).Visible = Not bMakeVisible
DialogConvert.GetControl(&quot;lstCurrencies&quot;).Visible = Not bMakeVisible
DialogConvert.GetControl(&quot;cmdBack&quot;).Visible = bMakeVisible
DialogConvert.GetControl(&quot;cmdGoOn&quot;).Visible = bMakeVisible
DialogModel.imgPreview.ImageUrl = BitmapDir &amp; &quot;euro_&quot; &amp; DialogModel.Step &amp; &quot;.png&quot;
End Sub
Sub EnableStep2DialogControls(OnValue as Boolean)
With DialogModel
.hlnExtent.Enabled = OnValue
.optWholeDir.Enabled = OnValue
.optSingleFile.Enabled = OnValue
.chkProtect.Enabled = OnValue
.cmdCallSourceDialog.Enabled = OnValue
.cmdCallTargetDialog.Enabled = OnValue
.lblSource.Enabled = OnValue
.lblTarget.Enabled = OnValue
.txtSource.Enabled = OnValue
.txtTarget.Enabled = OnValue
.imgPreview.Enabled = OnValue
.lstCurrencies.Enabled = OnValue
.lblCurrencies.Enabled = OnValue
If OnValue Then
ToggleGoOnButton()
.chkRecursive.Enabled = .optWholeDir.State = 1
Else
.cmdGoOn.Enabled = False
.chkRecursive.Enabled = False
End If
End With
End Sub
Sub InitializeProgressPage()
DialogConvert.GetControl(&quot;lblRetrieval&quot;).Visible = False
DialogConvert.GetControl(&quot;lblCurProgress&quot;).Visible = False
DialogModel.lblRetrieval.FontWeight = com.sun.star.awt.FontWeight.NORMAL
DialogModel.lblCurProgress.FontWeight = com.sun.star.awt.FontWeight.BOLD
DialogConvert.GetControl(&quot;lblRetrieval&quot;).Visible = True
DialogConvert.GetControl(&quot;lblCurProgress&quot;).Visible = True
End Sub
Function AssignFileName(sPath as String, ByVal HeaderString, bCheckFileType as Boolean) as String
Dim bIsValid as Boolean
Dim sLocMimeType as String
Dim sNoDirMessage as String
HeaderString = DeleteStr(HeaderString, &quot;:&quot;)
sPath = ConvertToUrl(Trim(sPath))
bIsValid = oUcb.Exists(sPath)
If bIsValid Then
If DialogModel.optSingleFile.State = 1 Then
If bCheckFileType Then
sLocMimeType = GetRealFileContent(sPath)
If DialogModel.chkTextDocuments.State = 1 Then
If (Instr(1, sLocMimeType, &quot;text&quot;) = 0) And (Instr(1, sLocMimeType, &quot;calc&quot;) = 0) Then
Msgbox(sMsgFileInvalid, 48, sMsgDLGTITLE)
bIsValid = False
End If
Else
If (Instr(1, sLocMimeType, &quot;spreadsheet&quot;) = 0) And (Instr(1, sLocMimeType, &quot;calc&quot;)) = 0 Then
Msgbox(sMsgFileInvalid, 48, sMsgDLGTITLE)
bIsValid = False
End If
End If
End If
Else
If Not oUcb.IsFolder(sPath) Then
sNoDirMessage = ReplaceString(sMsgNODIRECTORY,sPath,&quot;&lt;1&gt;&quot;)
Msgbox(sNoDirMessage,48, sMsgDLGTITLE)
bIsValid = False
Else
sPath = RTrimStr(sPath,&quot;/&quot;)
sPath = sPath &amp; &quot;/&quot;
End If
End if
Else
Msgbox(HeaderString &amp; &quot; &apos;&quot; &amp; ConvertFromUrl(sPath) &amp; &quot;&apos; &quot; &amp; sMsgNOTTHERE,48, sMsgDLGTITLE)
End If
If bIsValid Then
AssignFileName() = sPath
Else
AssignFilename() = &quot;&quot;
End If
End Function
Sub ToggleGoOnButton()
Dim bDoEnable as Boolean
Dim sLocMimeType as String
Dim sPath as String
bDoEnable = Ubound(DialogModel.lstCurrencies.SelectedItems()) &gt; -1
If bDoEnable Then
&apos; Check if Source is set correctly
sPath = ConvertToUrl(Trim(DialogModel.txtSource.Text))
bDoEnable = oUcb.Exists(sPath)
End If
DialogModel.cmdGoOn.Enabled = bDoEnable
End Sub
Sub CallFolderPicker()
GetFolderName(DialogModel.txtTarget)
ToggleGoOnButton()
End Sub
Sub CallFilePicker()
If DialogModel.optSingleFile.State = 1 Then
Dim oMasterKey as Object
Dim oTypes() as Object
Dim oUIKey() as Object
oMasterKey = GetRegistryKeyContent(&quot;org.openoffice.TypeDetection.Types&quot;)
oTypes() = oMasterKey.Types
oUIKey = GetRegistryKeyContent(&quot;org.openoffice.Office.UI/FilterClassification/LocalFilters&quot;)
If DialogModel.chkTextDocuments.State = 1 Then
Dim FilterNames(7,1) as String
FilterNames(4,0) = oTypes.GetByName(&quot;writer_StarOffice_XML_Writer&quot;).UIName
FilterNames(4,1) = &quot;*.sxw&quot;
FilterNames(5,0) = oTypes.GetByName(&quot;writer_StarOffice_XML_Writer_Template&quot;).UIName
FilterNames(5,1) = &quot;*.stw&quot;
FilterNames(6,0) = oTypes.GetByName(&quot;writer8&quot;).UIName
FilterNames(6,1) = &quot;*.odt&quot;
FilterNames(7,0) = oTypes.GetByName(&quot;writer8_template&quot;).UIName
FilterNames(7,1) = &quot;*.ott&quot;
Else
ReDim FilterNames(3,1) as String
End If
FilterNames(0,0) = oTypes.GetByName(&quot;calc8&quot;).UIName
Filternames(0,1) = &quot;*.ods&quot;
FilterNames(1,0) = oTypes.GetByName(&quot;calc8_template&quot;).UIName
Filternames(1,1) = &quot;*.ots&quot;
FilterNames(2,0) = oTypes.GetByName(&quot;calc_StarOffice_XML_Calc&quot;).UIName
Filternames(2,1) = &quot;*.sxc&quot;
FilterNames(3,0) = oTypes.GetByName(&quot;calc_StarOffice_XML_Calc_Template&quot;).UIName
Filternames(3,1) = &quot;*.stc&quot;
GetFileName(DialogModel.txtSource, Filternames())
Else
GetFolderName(DialogModel.txtSource)
End If
ToggleGoOnButton()
End Sub
Sub PreviousStep()
DialogModel.Step = 2
DialogModel.cmdGoOn.Label = sGOON
DialogModel.cmdCancel.Label = sCANCEL
End Sub
</script:module>

View File

@ -1,289 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Common" script:language="StarBasic"> REM ***** BASIC *****
Public DialogModel as Object
Public DialogConvert as Object
Public DialogPassword as Object
Public PasswordModel as Object
Sub RetrieveDocumentObjects()
CurMimeType = Tools.GetDocumentType(oDocument)
If Instr(1, CurMimeType, &quot;calc&quot;) &lt;&gt; 0 Then
oSheets = oDocument.Sheets
oSheet = oDocument.Sheets.GetbyIndex(0)
oAddressRanges = oDocument.createInstance(&quot;com.sun.star.sheet.SheetCellRanges&quot;)
End If
&apos; Retrieve the indices for the cellformatations
oFormats = oDocument.NumberFormats
End Sub
Sub CancelTask()
&apos; If Not DocDisposed Then
&apos; ReprotectSheets()
&apos; End If
If DialogModel.Step = 3 And (Not bCancelTask) Then
If Msgbox(sMsgCancelConversion, 36, sMsgCancelTitle) = 6 Then
bCancelTask = True
DialogConvert.EndExecute
Else
bCancelTask = False
End If
Else
DialogConvert.EndExecute()
End If
End Sub
Function ConvertDocument()
GoOn = True
&apos; DocDisposed = True
InitializeProgressbar()
If Instr(1, CurMimeType, &quot;calc&quot;) &lt;&gt; 0 Then
bDocHasProtectedSheets = CheckSheetProtection(oSheets)
If bDocHasProtectedSheets Then
bDocHasProtectedSheets = UnprotectSheetsWithPassword(oSheets, bDoUnProtect)
End If
If Not bDocHasProtectedSheets Then
If Not bRangeListDefined Then
TotCellCount = 0
CreateRangeEnumeration(True)
Else
IncreaseStatusvalue(SBRelGet/3)
End If
RangeIndex = Ubound(RangeList())
If RangeIndex &gt; -1 Then
ConvertThehardWay(RangeList(), True, False)
MakeStyleEnumeration(True)
oDocument.calculateAll()
End If
ReprotectSheets()
bRangeListDefined = False
End If
Else
DialogModel.ProgressBar.ProgressValue = 10 &apos; oStatusline.SetValue(10)
ConvertTextFields()
DialogModel.ProgressBar.ProgressValue = 80 &apos; oStatusline.SetValue(80)
ConvertWriterTables()
End If
EndStatusLine()
On Local Error Goto 0
End Function
Sub SwitchNumberFormat(oObject as Object, oFormats as object)
Dim nFormatLanguage as Integer
Dim nFormatDecimals as Integer
Dim nFormatLeading as Integer
Dim bFormatLeading as Integer
Dim bFormatNegRed as Integer
Dim bFormatThousands as Integer
Dim i as Integer
Dim aNewStr as String
Dim iNumberFormat as Long
Dim AddToList as Boolean
Dim sOldCurrSymbol as String
On Local Error Resume Next
iNumberFormat = oObject.NumberFormat
On Local Error GoTo NOKEY
aFormat() = oFormats.getByKey(iNumberFormat)
On Local Error GoTo 0
sOldCurrSymbol = aFormat.CurrencySymbol
If sOldCurrSymbol = CurrValue(CurrIndex,5) Then
aSimpleStr = &quot;0 [$EUR]&quot;
Else
aSimpleStr = &quot;0 [$&quot; &amp; sEuroSign &amp; aFormat.CurrencyExtension &amp; &quot;]&quot;
End If
nSimpleKey = Numberformat(oFormats, aSimpleStr, oLocale)
&apos; set new Currency format with according settings
nFormatDecimals = 2
nFormatLeading = aFormat.LeadingZeros
bFormatNegRed = aFormat.NegativeRed
bFormatThousands = aFormat.ThousandsSeparator
aNewStr = oFormats.generateFormat( nSimpleKey, aFormat.Locale, bFormatThousands, bFormatNegRed, nFormatDecimals, nFormatLeading)
oObject.NumberFormat = Numberformat(oFormats, aNewStr, aFormat.Locale)
NOKEY:
If Err &lt;&gt; 0 Then
Resume CLERROR
End If
CLERROR:
End Sub
Function Numberformat( oFormats as Object, aFormatStr as String, oLocale as Object)
Dim nRetkey
Dim l as String
Dim c as String
nRetKey = oFormats.queryKey( aFormatStr, oLocale, True )
If nRetKey = -1 Then
l = oLocale.Language
c = oLocale.Country
nRetKey = oFormats.addNew( aFormatStr, oLocale )
If nRetKey = -1 Then nRetKey = 0
End If
Numberformat = nRetKey
End Function
Function CheckFormatType( FormatObject as object)
Dim i as Integer
Dim LocCurrIndex as Integer
Dim nFormatFormatString as String
Dim FormatLangID as Integer
Dim sFormatCurrExt as String
Dim oFormatofObject() as Object
&apos; Retrieve the Format of the Object
On Local Error GoTo NOKEY
oFormatofObject = oFormats.getByKey(FormatObject.NumberFormat)
On Local Error GoTo 0
If NOT INT(oFormatofObject.Type) AND com.sun.star.util.NumberFormat.CURRENCY Then
CheckFormatType = False
Exit Function
End If
If FieldInArray(CurrSymbolList(),2,oFormatofObject.CurrencySymbol) Then
&apos; If the Currencysymbol of the object is the one needed, then check the Currency extension
sFormatCurrExt = oFormatofObject.CurrencyExtension
If FieldInList(CurExtension(),2,sFormatCurrExt) Then
&apos; The Currency - extension also fits
CheckFormatType = True
Else
&apos; The Currency - symbol is Euro-conforming (like &apos;DEM&apos;), so there is no Currency-Extension
CheckFormatType = oFormatofObject.CurrencySymbol = CurrsymbolList(2)
End If
Else
&apos; The Currency Symbol of the object is not the desired one
If oFormatofObject.CurrencySymbol = &quot;&quot; Then
&apos; Format is &quot;automatic&quot;
CheckFormatType = CheckLocale(oFormatofObject.Locale)
Else
CheckFormatType = False
End If
End If
NOKEY:
If Err &lt;&gt; 0 Then
CheckFormatType = False
Resume CLERROR
End If
CLERROR:
End Function
Sub StartConversion()
GoOn = True
Select Case DialogModel.Step
Case 1
If DialogModel.chkComplete.State = 1 Then
ConvertWholeDocument()
Else
ConvertRangesorStylesofDocument()
End If
Case 2
bCancelTask = False
If InitializeThirdStep() Then
ConvertDocuments()
bCancelTask = True
End If
Case 3
DialogConvert.EndExecute()
End Select
End Sub
Sub IncreaseStatusValue(AddStatusValue as Integer)
StatusValue = Int(StatusValue + AddStatusValue)
If DialogModel.Step = 3 Then
DialogModel.ProgressBar.ProgressValue = StatusValue
Else
oStatusline.SetValue(StatusValue)
End If
End Sub
Sub SelectCurrency()
Dim AddtoList as Boolean
Dim NullList()
Dim OldCurrIndex as Integer
bRangeListDefined = False
OldCurrIndex = CurrIndex
CurrIndex = DialogModel.lstCurrencies.SelectedItems(0)
If OldCurrIndex &lt;&gt; CurrIndex Then
InitializeCurrencyValues(CurrIndex)
CurExtension(0) = LangIDValue(CurrIndex,0,2)
CurExtension(1) = LangIDValue(CurrIndex,1,2)
CurExtension(2) = LangIDValue(CurrIndex,2,2)
If DialogModel.Step = 1 Then
EnableStep1DialogControls(False,False, False)
If DialogModel.optCellTemplates.State = 1 Then
EnableStep1DialogControls(False, False, False)
CreateStyleEnumeration()
ElseIf ((DialogModel.optSheetRanges.State = 1) OR (DialogModel.optDocRanges.State = 1)) AND (DialogModel.Step = 1) Then
CreateRangeEnumeration(False)
If Ubound(RangeList()) = -1 Then
DialogModel.lstSelection.StringItemList() = NullList()
End If
ElseIf DialogModel.optSelRange.State= 1 Then
&apos;Preselected Range
End If
EnableStep1DialogControls(True, True, True)
ElseIf DialogModel.Step = 2 Then
EnableStep2DialogControls(True)
End If
End If
End Sub
Sub FillUpCurrencyListbox()
Dim i as Integer
Dim MaxIndex as Integer
MaxIndex = Ubound(CurrValue(),1)
Dim LocList(MaxIndex) as String
For i = 0 To MaxIndex
LocList(i) = CurrValue(i,0)
Next i
DialogModel.lstCurrencies.StringItemList() = LocList()
If CurrIndex &gt; -1 Then
SelectListboxItem(DialogModel.lstCurrencies, CurrIndex)
End If
End Sub
Sub InitializeProgressbar()
CurCellCount = 0
If Not IsNull(oStatusLine) Then
oStatusline.Start(sStsPROGRESS, 100)
Else
DialogModel.ProgressBar.ProgressValue = 0
End If
StatusValue = 0
End Sub
Sub EndStatusLine()
If Not IsNull(oStatusLine) Then
oStatusline.End
Else
DialogModel.ProgressBar.ProgressValue = 100
End If
End Sub
</script:module>

View File

@ -1,334 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ConvertRun" script:language="StarBasic">Option Explicit
Public oPreSelRange as Object
Sub Main()
BasicLibraries.LoadLibrary(&quot;Tools&quot;)
If InitResources(&quot;Euro Converter&quot;) Then
bDoUnProtect = False
bPreSelected = True
oDocument = ThisComponent
RetrieveDocumentObjects() &apos; Statusline, SheetsCollection etc.
InitializeConverter(oDocument.CharLocale, 1)
GetPreSelectedRange()
If GoOn Then
DialogModel.lstCurrencies.TabIndex = 2
DialogConvert.GetControl(&quot;chkComplete&quot;).SetFocus()
DialogConvert.Execute
End If
DialogConvert.Dispose
End If
End Sub
Sub SelectListItem()
Dim Listbox as Object
Dim oListSheet as Object
Dim CurStyleName as String
Dim oCursheet as Object
Dim oTempRanges as Object
Dim sCurSheetName as String
Dim RangeName as String
Dim oSheetRanges as Object
Dim ListIndex as Integer
Dim a as Integer
Dim i as Integer
Dim n as Integer
Dim m as Integer
Dim MaxIndex as Integer
Listbox = DialogModel.lstSelection
If Ubound(Listbox.SelectedItems()) &gt; -1 Then
EnableStep1DialogControls(False, False, False)
oSelRanges = oDocument.createInstance(&quot;com.sun.star.sheet.SheetCellRanges&quot;)
&apos; Is the sheet the basis, then the sheetobject has to be created
If DialogModel.optDocRanges.State = 1 Then
&apos; Document is the basis for the conversion
ListIndex = Listbox.SelectedItems(0)
oCurSheet = RetrieveSheetoutofRangeName(Listbox.StringItemList(ListIndex))
oDocument.CurrentController.SetActiveSheet(oCurSheet)
Else
oCurSheet = oDocument.CurrentController.ActiveSheet
End If
sCurSheetName = oCurSheet.Name
If DialogModel.optCellTemplates.State = 1 Then
Dim CurIndex as Integer
For i = 0 To Ubound(Listbox.SelectedItems())
CurIndex = Listbox.SelectedItems(i)
CurStylename = Listbox.StringItemList(CurIndex)
oSheetRanges = oCursheet.CellFormatRanges.createEnumeration
While oSheetRanges.hasMoreElements
oRange = oSheetRanges.NextElement
If oRange.getPropertyState(&quot;NumberFormat&quot;) = 1 Then
If oRange.CellStyle = CurStyleName Then
oSelRanges.InsertbyName(&quot;&quot;,oRange)
End If
End If
Wend
Next i
Else
&apos; Hard Formatation is selected
a = -1
For n = 0 To Ubound(Listbox.SelectedItems())
m = Listbox.SelectedItems(n)
RangeName = Listbox.StringItemList(m)
oListSheet = RetrieveSheetoutofRangeName(RangeName)
a = a + 1
MaxIndex = Ubound(SelRangeList())
If a &gt; MaxIndex Then
Redim Preserve SelRangeList(MaxIndex + SBRANGEUBOUND)
End If
SelRangeList(a) = RangeName
If oListSheet.Name = sCurSheetName Then
oRange = RetrieveRangeoutofRangeName(RangeName)
oSelRanges.InsertbyName(&quot;&quot;,oRange)
End If
Next n
End If
If a &gt; -1 Then
ReDim Preserve SelRangeList(a)
Else
ReDim SelRangeList()
End If
oDocument.CurrentController.Select(oSelRanges)
EnableStep1DialogControls(True, True, True)
End If
End Sub
&apos; Procedure that is called by an event
Sub RetrieveEnableValue()
Dim EnableValue as Boolean
EnableValue = Not DialogModel.lstSelection.Enabled
EnableStep1DialogControls(True, EnableValue, True)
End Sub
Sub EnableStep1DialogControls(bCurrEnabled as Boolean, bFrameEnabled as Boolean, bButtonsEnabled as Boolean)
Dim bCurrIsSelected as Boolean
Dim bObjectIsSelected as Boolean
Dim bConvertWholeDoc as Boolean
Dim bDoEnableFrame as Boolean
bConvertWholeDoc = DialogModel.chkComplete.State = 1
bDoEnableFrame = bFrameEnabled And (NOT bConvertWholeDoc)
&apos; Controls around the Selection Listbox
With DialogModel
.lblCurrencies.Enabled = bCurrEnabled
.lstCurrencies.Enabled = bCurrEnabled
.lstSelection.Enabled = bDoEnableFrame
.lblSelection.Enabled = bDoEnableFrame
.hlnSelection.Enabled = bDoEnableFrame
.optCellTemplates.Enabled = bDoEnableFrame
.optSheetRanges.Enabled = bDoEnableFrame
.optDocRanges.Enabled = bDoEnableFrame
.optSelRange.Enabled = bDoEnableFrame
End With
&apos; The CheckBox has the Value &apos;1&apos; when the Controls in the Frame are disabled
If bButtonsEnabled Then
bCurrIsSelected = Ubound(DialogModel.lstCurrencies.SelectedItems()) &lt;&gt; -1
&apos; Enable GoOnButton only when Currency is selected
DialogModel.cmdGoOn.Enabled = bCurrIsSelected
DialogModel.chkComplete.Enabled = bCurrIsSelected
If bDoEnableFrame AND DialogModel.cmdGoOn.Enabled Then
&apos; If FrameControls are enabled, check if Listbox is Empty
bObjectIsSelected = Ubound(DialogModel.lstSelection.SelectedItems()) &lt;&gt; -1
DialogModel.cmdGoOn.Enabled = bObjectIsSelected
End If
Else
DialogModel.cmdGoOn.Enabled = False
DialogModel.chkComplete.Enabled = False
End If
End Sub
Sub ConvertRangesOrStylesOfDocument()
Dim i as Integer
Dim ItemName as String
Dim SelList() as String
Dim oSheetRanges as Object
bDocHasProtectedSheets = CheckSheetProtection(oSheets)
If bDocHasProtectedSheets Then
bDocHasProtectedSheets = UnprotectSheetsWithPassWord(oSheets, bDoUnProtect)
DialogModel.cmdGoOn.Enabled = False
End If
If Not bDocHasProtectedSheets Then
EnableStep1DialogControls(False, False, False)
InitializeProgressBar()
If DialogModel.optSelRange.State = 1 Then
SelectListItem()
End If
SelList() = DialogConvert.GetControl(&quot;lstSelection&quot;).SelectedItems()
If DialogModel.optCellTemplates.State = 1 Then
&apos; Option &apos;Soft&apos; Formatation is selected
AssignRangestoStyle(DialogModel.lstSelection.StringItemList(), SelList())
ConverttheSoftWay(SelList(), True)
ElseIf DialogModel.optSelRange.State = 1 Then
oSheetRanges = oPreSelRange.CellFormatRanges.createEnumeration
While oSheetRanges.hasMoreElements
oRange = oSheetRanges.NextElement
If CheckFormatType(oRange) Then
ConvertCellCurrencies(oRange)
SwitchNumberFormat(oRange, oFormats, sEuroSign)
End If
Wend
Else
ConverttheHardWay(SelList(), False, True)
End If
oStatusline.End
EnableStep1DialogControls(True, False, True)
DialogModel.cmdGoOn.Enabled = True
oDocument.CurrentController.Select(oSelRanges)
End If
End Sub
Sub ConvertWholeDocument()
Dim s as Integer
DialogModel.cmdGoOn.Enabled = False
DialogModel.chkComplete.Enabled = False
GoOn = ConvertDocument()
EmptyListbox(DialogModel.lstSelection())
EnableStep1DialogControls(True, True, True)
End Sub
&apos; Everything previously selected will be deselected
Sub EmptySelection()
Dim RangeName as String
Dim i as Integer
Dim MaxIndex as Integer
Dim EmptySelRangeList() as String
If Not IsNull(oSelRanges) Then
If oSelRanges.HasElements Then
EmptySelRangeList() = ArrayOutofString(oSelRanges.RangeAddressesasString, &quot;;&quot;, MaxIndex)
For i = 0 To MaxIndex
oSelRanges.RemovebyName(EmptySelRangeList(i))
Next i
End If
oDocument.CurrentController.Select(oSelRanges)
Else
oSelRanges = oDocument.createInstance(&quot;com.sun.star.sheet.SheetCellRanges&quot;)
End If
End Sub
Function AddSelectedRangeToSelRangesEnum() as Object
Dim oLocRange as Object
osheet = oDocument.CurrentController.GetActiveSheet
oSelRanges = oDocument.createInstance(&quot;com.sun.star.sheet.SheetCellRanges&quot;)
&apos; Check if a Currency-Range has been selected
oLocRange = oDocument.CurrentController.Selection
bPreSelected = oLocRange.SupportsService(&quot;com.sun.star.sheet.SheetCellRange&quot;)
If bPreSelected Then
oSelRanges.InsertbyName(&quot;&quot;,oLocRange)
AddSelectedRangeToSelRangesEnum() = oLocRange
End If
End Function
Sub GetPreSelectedRange()
Dim i as Integer
Dim OldCurrSymbolList(2) as String
Dim OldCurrIndex as Integer
Dim OldCurExtension(2) as String
oPreSelRange = AddSelectedRangeToSelRangesEnum()
DialogModel.chkComplete.State = Abs(Not(bPreSelected))
If bPreSelected Then
DialogModel.optSelRange.State = 1
AddRangeToListbox(oPreSelRange)
Else
DialogModel.optCellTemplates.State = 1
CreateStyleEnumeration()
End If
EnableStep1DialogControls(True, bPreSelected, True)
DialogModel.optSelRange.Enabled = bPreSelected
End Sub
Sub AddRangeToListbox(oLocRange as Object)
EmptyListBox(DialogModel.lstSelection)
PreName = RetrieveRangeNamefromAddress(oLocRange)
AddSingleItemToListbox(DialogModel.lstSelection, Prename)&apos;, 0)
SelectListboxItem(DialogModel.lstCurrencies, CurrIndex)
TotCellCount = CountRangeCells(oLocRange)
End Sub
Sub CheckRangeSelection(Optional oEvent)
EmptySelection()
AddRangeToListbox(oPreSelRange)
oPreSelRange = AddSelectedRangeToSelRangesEnum()
End Sub
&apos; Checks if a Field (LocField) is already defined in an Array
&apos; Returns &apos;True&apos; or &apos;False&apos;
Function FieldInList(LocList(), MaxIndex as integer, ByVal LocField ) As Boolean
Dim i as integer
LocField = UCase(LocField)
For i = Lbound(LocList()) to MaxIndex
If UCase(LocList(i)) = LocField then
FieldInList = True
Exit Function
End if
Next
FieldInList = False
End Function
Function CheckLocale(oLocale) as Boolean
Dim i as Integer
Dim LocCountry as String
Dim LocLanguage as String
LocCountry = oLocale.Country
LocLanguage = oLocale.Language
For i = 0 To 1
If LocLanguage = LangIDValue(CurrIndex,i,0) AND LocCountry = LangIDValue(CurrIndex,i,1) Then
CheckLocale = True
Exit Function
End If
Next i
CheckLocale = False
End Function
Sub SetOptionValuestoNull()
With DialogModel
.optCellTemplates.State = 0
.optSheetRanges.State = 0
.optDocRanges.State = 0
.optSelRange.State = 0
End With
End Sub
Sub SetStatusLineText(sStsREPROTECT as String)
If Not IsNull(oStatusLine) Then
oStatusline.SetText(sStsREPROTECT)
End If
End Sub
</script:module>

View File

@ -1,94 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="DialogConvert" dlg:left="96" dlg:top="28" dlg:width="270" dlg:height="210" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_DIALOG" dlg:closeable="true" dlg:moveable="true">
<dlg:bulletinboard>
<dlg:text dlg:id="lblCurrencies" dlg:tab-index="1" dlg:left="170" dlg:top="39" dlg:width="92" dlg:height="8" dlg:value="lblCurrencies"/>
<dlg:checkbox dlg:id="chkComplete" dlg:tab-index="0" dlg:left="12" dlg:top="43" dlg:width="129" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CHECKBOX1" dlg:value="chkComplete" dlg:checked="true">
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Euro.ConvertRun.RetrieveEnableValue?language=Basic&amp;location=application" script:language="Script"/>
</dlg:checkbox>
<dlg:menulist dlg:id="lstCurrencies" dlg:tab-index="2" dlg:left="170" dlg:top="51" dlg:width="93" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_COMBOBOX1" dlg:spin="true" dlg:linecount="12">
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Euro.Common.SelectCurrency?language=Basic&amp;location=application" script:language="Script"/>
</dlg:menulist>
<dlg:radiogroup>
<dlg:radio dlg:id="optCellTemplates" dlg:tab-index="3" dlg:left="12" dlg:top="96" dlg:width="129" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_OPTIONBUTTON1" dlg:value="optCellTemplates">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Soft.CreateStyleEnumeration?language=Basic&amp;location=application" script:language="Script"/>
</dlg:radio>
<dlg:radio dlg:id="optSheetRanges" dlg:tab-index="4" dlg:left="12" dlg:top="110" dlg:width="130" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_OPTIONBUTTON2" dlg:value="optSheetRanges">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Hard.CreateRangeList?language=Basic&amp;location=application" script:language="Script"/>
</dlg:radio>
<dlg:radio dlg:id="optDocRanges" dlg:tab-index="5" dlg:left="12" dlg:top="124" dlg:width="130" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_OPTIONBUTTON3" dlg:value="optDocRanges">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Hard.CreateRangeList?language=Basic&amp;location=application" script:language="Script"/>
</dlg:radio>
<dlg:radio dlg:id="optSelRange" dlg:tab-index="6" dlg:left="12" dlg:top="138" dlg:width="130" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_OPTIONBUTTON4" dlg:value="optSelRange">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.ConvertRun.CheckRangeSelection?language=Basic&amp;location=application" script:language="Script"/>
</dlg:radio>
</dlg:radiogroup>
<dlg:text dlg:id="lblSelection" dlg:tab-index="7" dlg:left="170" dlg:top="84" dlg:width="73" dlg:height="8" dlg:page="1" dlg:value="lblSelection"/>
<dlg:menulist dlg:id="lstSelection" dlg:tab-index="8" dlg:left="170" dlg:top="96" dlg:width="90" dlg:height="52" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_LISTBOX1" dlg:multiselection="true">
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Euro.ConvertRun.SelectListItem?language=Basic&amp;location=application" script:language="Script"/>
</dlg:menulist>
<dlg:radiogroup>
<dlg:radio dlg:id="optSingleFile" dlg:tab-index="9" dlg:left="12" dlg:top="51" dlg:width="146" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_OBFILE" dlg:value="optSingleFile">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.AutoPilotRun.SwapExtent?language=Basic&amp;location=application" script:language="Script"/>
</dlg:radio>
<dlg:radio dlg:id="optWholeDir" dlg:tab-index="10" dlg:left="12" dlg:top="65" dlg:width="146" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_OBDIR" dlg:value="optWholeDir" dlg:checked="true">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.AutoPilotRun.SwapExtent?language=Basic&amp;location=application" script:language="Script"/>
</dlg:radio>
</dlg:radiogroup>
<dlg:textfield dlg:id="txtConfig" dlg:tab-index="11" dlg:left="6" dlg:top="50" dlg:width="258" dlg:height="55" dlg:page="3" dlg:vscroll="true" dlg:multiline="true" dlg:readonly="true"/>
<dlg:textfield dlg:id="txtSource" dlg:tab-index="12" dlg:left="80" dlg:top="82" dlg:width="165" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_TBSOURCE">
<script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Euro.AutoPilotRun.ToggleGoOnButton?language=Basic&amp;location=application" script:language="Script"/>
</dlg:textfield>
<dlg:button dlg:id="cmdCallSourceDialog" dlg:tab-index="13" dlg:left="249" dlg:top="81" dlg:width="15" dlg:height="14" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CBSOURCEOPEN" dlg:value="...">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.AutoPilotRun.CallFilePicker?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:checkbox dlg:id="chkRecursive" dlg:tab-index="14" dlg:left="12" dlg:top="98" dlg:width="252" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CHECKRECURSIVE" dlg:value="chkRecursive" dlg:checked="false"/>
<dlg:checkbox dlg:id="chkTextDocuments" dlg:tab-index="15" dlg:left="12" dlg:top="112" dlg:width="251" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CHKTEXTDOCUMENTS" dlg:value="chkTextDocuments" dlg:checked="false"/>
<dlg:checkbox dlg:id="chkProtect" dlg:tab-index="16" dlg:left="12" dlg:top="126" dlg:width="251" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CHKPROTECT" dlg:value="chkProtect" dlg:checked="false"/>
<dlg:textfield dlg:id="txtTarget" dlg:tab-index="17" dlg:left="80" dlg:top="143" dlg:width="165" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_TBTARGET"/>
<dlg:button dlg:id="cmdCallTargetDialog" dlg:tab-index="18" dlg:left="249" dlg:top="142" dlg:width="15" dlg:height="14" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CBTARGETOPEN" dlg:value="...">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.AutoPilotRun.CallFolderPicker?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:progressmeter dlg:id="ProgressBar" dlg:tab-index="19" dlg:left="85" dlg:top="152" dlg:width="179" dlg:height="10" dlg:page="3"/>
<dlg:text dlg:id="lblHint" dlg:tab-index="20" dlg:left="6" dlg:top="166" dlg:width="258" dlg:height="20" dlg:value="lblHint" dlg:multiline="true"/>
<dlg:text dlg:id="lblTarget" dlg:tab-index="21" dlg:left="6" dlg:top="145" dlg:width="73" dlg:height="8" dlg:page="2" dlg:value="lblTarget"/>
<dlg:text dlg:id="lblSource" dlg:tab-index="22" dlg:left="6" dlg:top="84" dlg:width="73" dlg:height="8" dlg:page="2" dlg:value="lblSource"/>
<dlg:text dlg:id="lblCurProgress" dlg:tab-index="23" dlg:left="16" dlg:top="130" dlg:width="208" dlg:height="8" dlg:page="3"/>
<dlg:text dlg:id="lblRetrieval" dlg:tab-index="24" dlg:left="9" dlg:top="119" dlg:width="216" dlg:height="8" dlg:page="3" dlg:value="lblRetrieval"/>
<dlg:text dlg:id="lblConfig" dlg:tab-index="25" dlg:left="6" dlg:top="39" dlg:width="94" dlg:height="8" dlg:page="3" dlg:value="lblConfig"/>
<dlg:text dlg:id="lblCurDocument" dlg:tab-index="26" dlg:left="16" dlg:top="141" dlg:width="208" dlg:height="8" dlg:page="3"/>
<dlg:img dlg:id="imgPreview" dlg:tab-index="27" dlg:left="6" dlg:top="6" dlg:width="258" dlg:height="26"/>
<dlg:fixedline dlg:id="hlnSelection" dlg:tab-index="28" dlg:left="7" dlg:top="72" dlg:width="258" dlg:height="8" dlg:page="1" dlg:value="hlnSelection"/>
<dlg:fixedline dlg:id="hlnExtent" dlg:tab-index="29" dlg:left="6" dlg:top="39" dlg:width="156" dlg:height="8" dlg:page="2" dlg:value="hlnExtent"/>
<dlg:fixedline dlg:id="hlnProgress" dlg:tab-index="30" dlg:left="6" dlg:top="108" dlg:width="258" dlg:height="8" dlg:page="3" dlg:value="hlnProgress"/>
<dlg:fixedline dlg:id="FixedLine1" dlg:tab-index="31" dlg:left="6" dlg:top="152" dlg:width="258" dlg:height="9" dlg:page="1"/>
<dlg:text dlg:id="lblProgress" dlg:tab-index="32" dlg:left="6" dlg:top="153" dlg:width="79" dlg:height="8" dlg:page="3" dlg:value="lblProgress"/>
<dlg:button dlg:id="cmdCancel" dlg:tab-index="33" dlg:left="6" dlg:top="190" dlg:width="53" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CBCANCEL" dlg:value="cmdCancel">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Common.CancelTask?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:button dlg:id="cmdHelp" dlg:tab-index="34" dlg:left="63" dlg:top="190" dlg:width="53" dlg:height="14" dlg:value="cmdHelp" dlg:button-type="help"/>
<dlg:button dlg:id="cmdBack" dlg:tab-index="35" dlg:left="155" dlg:top="190" dlg:width="53" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CBBACK" dlg:value="cmdBack">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.AutoPilotRun.PreviousStep?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:button dlg:id="cmdGoOn" dlg:tab-index="36" dlg:left="211" dlg:top="190" dlg:width="53" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CBGOON" dlg:value="cmdGoOn">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Common.StartConversion?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
</dlg:bulletinboard>
</dlg:window>

View File

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="DlgPassword" dlg:left="77" dlg:top="93" dlg:width="310" dlg:height="65" dlg:closeable="true" dlg:moveable="true" dlg:title="DlgPassword">
<dlg:bulletinboard>
<dlg:button dlg:id="cmdGoOn" dlg:tab-index="0" dlg:left="251" dlg:top="6" dlg:width="53" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGPASSWORD_CMDGOON" dlg:value="cmdGoOn">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Protect.ReadPassword?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:button dlg:id="cmdCancel" dlg:tab-index="1" dlg:left="251" dlg:top="24" dlg:width="53" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGPASSWORD_CMDCANCEL" dlg:value="cmdCancel">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Protect.RejectPassword?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:button dlg:id="cmdHelp" dlg:tab-index="2" dlg:left="251" dlg:top="45" dlg:width="53" dlg:height="14" dlg:tag="34692" dlg:value="cmdHelp" dlg:button-type="help"/>
<dlg:textfield dlg:id="txtPassword" dlg:tab-index="3" dlg:left="11" dlg:top="18" dlg:width="232" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGPASSWORD_TXTPASSWORD" dlg:echochar="*"/>
<dlg:fixedline dlg:id="hlnPassword" dlg:tab-index="4" dlg:left="6" dlg:top="6" dlg:width="238" dlg:height="8" dlg:value="hlnPassword"/>
</dlg:bulletinboard>
</dlg:window>

View File

@ -1,246 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Hard" script:language="StarBasic">REM ***** BASIC *****
Option Explicit
Sub CreateRangeList()
Dim MaxIndex as Integer
MaxIndex = -1
EnableStep1DialogControls(False, False, False)
EmptySelection()
DialogModel.lblSelection.Label = sCURRRANGES
EmptyListbox(DialogModel.lstSelection)
oDocument.CurrentController.Select(oSelRanges)
If (DialogModel.optSheetRanges.State = 1) AND (DialogModel.chkComplete.State &lt;&gt; 1) Then
&apos; Conversion on a sheet?
SetStatusLineText(sStsRELRANGES)
osheet = oDocument.CurrentController.GetActiveSheet
oRanges = osheet.CellFormatRanges.createEnumeration()
MaxIndex = AddSheetRanges(oRanges, MaxIndex, oSheet, False)
If MaxIndex &gt; -1 Then
ReDim Preserve RangeList(MaxIndex)
End If
Else
CreateRangeEnumeration(False)
bRangeListDefined = True
End If
EnableStep1DialogControls(True, True, True)
SetStatusLineText(&quot;&quot;)
End Sub
Sub CreateRangeEnumeration(bAutopilot as Boolean)
Dim i as Integer
Dim MaxIndex as integer
Dim sStatustext as String
MaxIndex = -1
If Not bRangeListDefined Then
&apos; Cellranges are not yet defined
oSheets = oDocument.Sheets
For i = 0 To oSheets.Count-1
oSheet = oSheets.GetbyIndex(i)
If bAutopilot Then
IncreaseStatusValue(SBRELGET/osheets.Count)
Else
sStatustext = ReplaceString(sStsRELSHEETRANGES,Str(i+1),&quot;%1Number%1&quot;)
sStatustext = ReplaceString(sStatusText,oSheets.Count,&quot;%2TotPageCount%2&quot;)
SetStatusLineText(sStatusText)
End If
oRanges = osheet.CellFormatRanges.createEnumeration
MaxIndex = AddSheetRanges(oRanges, MaxIndex, oSheet, bAutopilot)
Next i
Else
If Not bAutoPilot Then
SetStatusLineText(sStsRELRANGES)
&apos; cellranges already defined
For i = 0 To Ubound(RangeList())
If RangeList(i) &lt;&gt; &quot;&quot; Then
AddSingleItemToListBox(DialogModel.lstSelection, RangeList(i))
End If
Next
End If
End If
If MaxIndex &gt; -1 Then
ReDim Preserve RangeList(MaxIndex)
Else
ReDim RangeList()
End If
Rangeindex = MaxIndex
End Sub
Function AddSheetRanges(oRanges as Object, r as Integer, oSheet as Object, bAutopilot)
Dim RangeName as String
Dim AddtoList as Boolean
Dim iCurStep as Integer
Dim MaxIndex as Integer
iCurStep = DialogModel.Step
While oRanges.hasMoreElements
oRange = oRanges.NextElement
AddToList = CheckFormatType(oRange)
If AddToList Then
RangeName = RetrieveRangeNamefromAddress(oRange)
TotCellCount = TotCellCount + CountRangeCells(oRange)
If Not bAutoPilot Then
AddSingleItemToListbox(DialogModel.lstSelection, RangeName)
End If
&apos; The Ranges are only passed to an Array when the whole Document is the basis
&apos; Redimension the RangeList Array if necessary
MaxIndex = Ubound(RangeList())
r = r + 1
If r &gt; MaxIndex Then
MaxIndex = MaxIndex + SBRANGEUBOUND
ReDim Preserve RangeList(MaxIndex)
End If
RangeList(r) = RangeName
End If
Wend
AddSheetRanges = r
End Function
&apos; adds a section to the collection
Sub SelectRange()
Dim i as Integer
Dim RangeName as String
Dim SelItem as String
Dim CurRange as String
Dim SheetRangeName as String
Dim DescriptionList() as String
Dim MaxRangeIndex as Integer
Dim StatusValue as Integer
StatusValue = 0
MaxRangeIndex = Ubound(SelRangeList())
CurSheetName = oSheet.Name
For i = 0 To MaxRangeIndex
SelItem = SelRangeList(i)
&apos; Is the Range already included in the collection?
oRange = RetrieveRangeoutOfRangename(SelItem)
TotCellCount = TotCellCount + CountRangeCells(oRange)
DescriptionList() = ArrayOutofString(SelItem,&quot;.&quot;,1)
SheetRangeName = DeleteStr(DescriptionList(0),&quot;&apos;&quot;)
If SheetRangeName = CurSheetName Then
oSelRanges.InsertbyName(&quot;&quot;,oRange)
End If
IncreaseStatusValue(SBRELGET/MaxRangeIndex)
Next i
End Sub
Sub ConvertThehardWay(ListboxList(), SwitchFormat as Boolean, bRemove as Boolean)
Dim i as Integer
Dim AddCells as Long
Dim OldStatusValue as Single
Dim RangeName as String
Dim LastIndex as Integer
Dim oSelListbox as Object
oSelListbox = DialogConvert.GetControl(&quot;lstSelection&quot;)
Lastindex = Ubound(ListboxList())
If TotCellCount &gt; 0 Then
OldStatusValue = StatusValue
&apos; hard format
For i = 0 To LastIndex
RangeName = ListboxList(i)
oRange = RetrieveRangeoutofRangeName(RangeName)
ConvertCellCurrencies(oRange)
If bRemove Then
If oSelRanges.HasbyName(RangeName) Then
oSelRanges.RemovebyName(RangeName)
oDocument.CurrentController.Select(oSelRanges)
End If
End If
If SwitchFormat Then
If oRange.getPropertyState(&quot;NumberFormat&quot;) &lt;&gt; 1 Then
&apos; Range is hard formatted
SwitchNumberFormat(oRange, oFormats, sEuroSign)
End If
Else
SwitchNumberFormat(oRange, oFormats, sEuroSign)
End If
AddCells = CountRangeCells(oRange)
CurCellCount = AddCells
IncreaseStatusValue((CurCellCount/TotCellCount)*(100-OldStatusValue))
If bRemove Then
RemoveListBoxItemByName(oSelListbox.Model,Rangename)
End If
Next
End If
End Sub
Sub ConvertCellCurrencies(oRange as Object)
Dim oValues as Object
Dim oCells as Object
Dim oCell as Object
oValues = oRange.queryContentCells(com.sun.star.sheet.CellFlags.VALUE)
If (oValues.Count &gt; 0) Then
oCells = oValues.Cells.createEnumeration
While oCells.hasMoreElements
oCell = oCells.nextElement
ModifyObjectValuewithCurrFactor(oCell)
Wend
End If
End Sub
Sub ModifyObjectValuewithCurrFactor(oDocObject as Object)
Dim oDocObjectValue as double
oDocObjectValue = oDocObject.Value
oDocObject.Value = Round(oDocObjectValue/CurrFactor, 2)
End Sub
Function CheckIfRangeisCurrency(FormatObject as Object)
Dim oFormatofObject() as Object
&apos; Retrieve the Format of the Object
On Local Error GoTo NOKEY
oFormatofObject() = oFormats.getByKey(FormatObject.NumberFormat)
On Local Error GoTo 0
CheckIfRangeIsCurrency = INT(oFormatofObject.Type) AND com.sun.star.util.NumberFormat.CURRENCY
Exit Function
NOKEY:
CheckIfRangeisCurrency = False
Resume CLERROR
CLERROR:
End Function
Function CountColumnsForRow(IndexArray() as String, Row as Integer)
Dim i as Integer
Dim NoNulls as Boolean
For i = 1 To Ubound(IndexArray,2)
If IndexArray(Row,i)= &quot;&quot; Then
NoNulls = False
Exit For
End If
Next
CountColumnsForRow = i
End Function
Function CountRangeCells(oRange as Object) As Long
Dim oRangeAddress as Object
Dim LocCellCount as Long
oRangeAddress = oRange.RangeAddress
LocCellCount = (oRangeAddress.EndColumn - oRangeAddress.StartColumn + 1) * (oRangeAddress.EndRow - oRangeAddress.StartRow + 1)
CountRangeCells = LocCellCount
End Function</script:module>

View File

@ -1,683 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Init" script:language="StarBasic">Option Explicit
REM ***** BASIC *****
Public Const SBRANGEUBOUND = 20
Public StyleRangeAssignmentList(SBRANGEUBOUND)as String
Public SelRangeList(SBRANGEUBOUND) as String
Public RangeList(SBRANGEUBOUND) as String
Public UnprotectList() as String
Public FilterNames(2,1) as String
Public bDoUnProtect as Boolean
Public bCancelTask as Boolean
Public sREADY as String
Public sPROTECT as String
Public sCONTINUE as String
Public sSELTEMPL as String
Public sSELCELL as String
Public sCURRRANGES as String
Public sTEMPLATES as String
Public sSOURCEFILE as String
Public sSOURCEDIR as String
Public sTARGETDIR as String
Public sStsPROGRESS as String
Public sStsCELLPROGRSS as String
Public sStsRELRANGES as String
Public sStsRELSHEETRANGES as String
Public sStsREPROTECT as String
Public sMsgSELDIR as String
Public sMsgSELFILE as String
Public sMsgTARGETDIR as String
Public sMsgNOTTHERE as String
Public sMsgDLGTITLE as String
Public sMsgUNPROTECT as String
Public sMsgPWPROTECT as String
Public sMsgWRONGPW as String
Public sMsgSHEETPROTECTED as String
Public sMsgWARNING as String
Public sMsgSHEETSNOPROTECT as String
Public sMsgSHEETNOPROTECT as String
Public sMsgCHOOSECURRENCY as String
Public sMsgPASSWORD as String
Public sMsgOK as String
Public sMsgCANCEL as String
Public sMsgFileInvalid as String
Public sMsgNODIRECTORY as String
Public sMsgDOCISREADONLY as String
Public sMsgFileExists as String
Public sMsgCancelConversion as String
Public sMsgCancelTitle as String
Public sCurrPORTUGUESE as String
Public sCurrDUTCH as String
Public sCurrFRENCH as String
Public sCurrSPANISH as String
Public sCurrITALIAN as String
Public sCurrGERMAN as String
Public sCurrBELGIAN as String
Public sCurrIRISH as String
Public sCurrLUXEMBOURG as String
Public sCurrAUSTRIAN as String
Public sCurrFINNISH as String
Public sCurrGREEK as String
Public sCurrSLOVENIAN as String
Public sCurrCYPRIOT as String
Public sCurrMALTESE as String
Public sCurrSLOVAK as String
Public sCurrESTONIAN as String
Public sCurrLATVIAN as String
Public sCurrLITHUANIAN as String
Public sCurrCROATIAN as String
Public sPrgsRETRIEVAL as String
Public sPrgsCONVERTING as String
Public sPrgsUNPROTECT as String
Public sInclusiveSubDir as String
Public Const SBCOUNTRYCOUNT = 19
Public CurMimeType as String
Public CurCellCount as Long
Public oSheets as Object
Public oStyles as Object
Public oStyle as Object
Public oFormats as Object
Public aSimpleStr as String
Public nSimpleKey as Long
Public aFormat() as Variant
Public oRanges as Object
Public oRange as Object
Public nLanguage as integer
Public nFormatLanguage as integer
Public aCellFormat as Variant
Public oDocument as Object
Public StartCol, StartRow, EndCol, EndRow as String
Public oSheet as Object
Public IntStartCol, IntStartRow, IntEndCol, IntEndRow as integer
Public oSelRanges as Object
Public nFormatType as Integer
Public sFormatCurrency as String
Public sFormatLanguage as String
Public CurSheetName as String
Public oStatusLine as Object
Public Const SBRELGET = 50
Public StatusValue as Single
Public TotCellCount as Long
Public StyleIndex as Integer
Public RangeIndex as Integer
Public CurrIndex as Integer
Public ActLangNumber(1) as Integer
Public CurExtension(2) as String
Public Currfactor as Double
Public CurrSymbolList(2) as String
Public CurrLanguage as String
Public CurrValue(18,5)
Public LangIDValue(18,2,2) as String
Public PreName as String
Public Separator as String
Public BitmapDir as String
Public TypeIndex as Integer, CSIndex as Integer, LangIndex as Integer, FSIndex as Integer
Public oLocale as New com.sun.star.lang.Locale
Public sEuroSign as String
Public oPointer as Object
Public sDocType as String
Public bPreSelected as Boolean
Public bRecursive as Boolean
Public bCancelProtection as Boolean
Public CurrRoundMode as Boolean
Public bRangeListDefined as Boolean
Public bDocHasProtectedSheets as Boolean
Public sGOON as String
Public sHELP as String
Public sCANCEL as String
Dim sEnd as String
Sub InitializeResources()
Dim LocWorkPath as String
With DialogModel
&apos; Strings that are also needed by the Password Dialog
sGoOn = GetResText(&quot;STEP_ZERO_3&quot;)
sHelp = GetResText(&quot;STEP_ZERO_1&quot;)
sCANCEL = GetResText(&quot;MESSAGES_18&quot;)
sEnd = GetResText(&quot;STEP_ZERO_0&quot;)
sPROTECT = GetResText(&quot;STEP_ZERO_5&quot;)
sCONTINUE = GetResText(&quot;STEP_ZERO_7&quot;)
sSELTEMPL = GetResText(&quot;STEP_CONVERTER_6&quot;)
sSELCELL = GetResText(&quot;STEP_CONVERTER_7&quot;)
sCURRRANGES = GetResText(&quot;STEP_CONVERTER_8&quot;)
sTEMPLATES = GetResText(&quot;STEP_CONVERTER_9&quot;)
sStsPROGRESS = GetResText(&quot;STATUSLINE_0&quot;)
sStsCELLPROGRSS = GetResText(&quot;STATUSLINE_1&quot;)
sStsRELSHEETRANGES = GetResText(&quot;STATUSLINE_2&quot;)
sStsRELRANGES = GetResText(&quot;STATUSLINE_3&quot;)
sStsREPROTECT = GetResText(&quot;STATUSLINE_4&quot;)
sREADY = GetResText(&quot;MESSAGES_0&quot;)
sMsgSELDIR = GetResText(&quot;MESSAGES_1&quot;)
sMsgSELFILE = GetResText(&quot;MESSAGES_2&quot;)
sMsgTARGETDIR = GetResText(&quot;MESSAGES_3&quot;)
sMsgNOTTHERE = GetResText(&quot;MESSAGES_4&quot;)
sMsgDLGTITLE = GetResText(&quot;MESSAGES_5&quot;)
sMsgUNPROTECT = GetResText(&quot;MESSAGES_6&quot;)
sMsgPWPROTECT = GetResText(&quot;MESSAGES_7&quot;)
sMsgWRONGPW = GetResText(&quot;MESSAGES_8&quot;)
sMsgSHEETPROTECTED = GetResText(&quot;MESSAGES_9&quot;)
sMsgWARNING = GetResText(&quot;MESSAGES_10&quot;)
sMsgSHEETSNOPROTECT = GetResText(&quot;MESSAGES_11&quot;)
sMsgSHEETNOPROTECT = GetResText(&quot;MESSAGES_12&quot;)
sMsgCHOOSECURRENCY = GetResText(&quot;MESSAGES_15&quot;)
sMsgPASSWORD = GetResText(&quot;MESSAGES_16&quot;)
sMsgOK = GetResText(&quot;MESSAGES_17&quot;)
sMsgCANCEL = GetResText(&quot;MESSAGES_18&quot;)
sMsgFILEINVALID = GetResText(&quot;MESSAGES_19&quot;)
sMsgFILEINVALID = ReplaceString(sMsgFILEINVALID,&quot;%PRODUCTNAME&quot;, GetProductname())
SMsgNODIRECTORY = GetResText(&quot;MESSAGES_20&quot;)
sMsgDOCISREADONLY = GetResText(&quot;MESSAGES_21&quot;)
sMsgFileExists = GetResText(&quot;MESSAGES_22&quot;)
sMsgCancelConversion = GetResText(&quot;MESSAGES_23&quot;)
sMsgCancelTitle = GetResText(&quot;MESSAGES_24&quot;)
sCurrPORTUGUESE = GetResText(&quot;CURRENCIES_0&quot;)
sCurrDUTCH = GetResText(&quot;CURRENCIES_1&quot;)
sCurrFRENCH = GetResText(&quot;CURRENCIES_2&quot;)
sCurrSPANISH = GetResText(&quot;CURRENCIES_3&quot;)
sCurrITALIAN = GetResText(&quot;CURRENCIES_4&quot;)
sCurrGERMAN = GetResText(&quot;CURRENCIES_5&quot;)
sCurrBELGIAN = GetResText(&quot;CURRENCIES_6&quot;)
sCurrIRISH = GetResText(&quot;CURRENCIES_7&quot;)
sCurrLUXEMBOURG = GetResText(&quot;CURRENCIES_8&quot;)
sCurrAUSTRIAN = GetResText(&quot;CURRENCIES_9&quot;)
sCurrFINNISH = GetResText(&quot;CURRENCIES_10&quot;)
sCurrGREEK = GetResText(&quot;CURRENCIES_11&quot;)
sCurrSLOVENIAN = GetResText(&quot;CURRENCIES_12&quot;)
sCurrCYPRIOT = GetResText(&quot;CURRENCIES_13&quot;)
sCurrMALTESE = GetResText(&quot;CURRENCIES_14&quot;)
sCurrSLOVAK = GetResText(&quot;CURRENCIES_15&quot;)
sCurrESTONIAN = GetResText(&quot;CURRENCIES_16&quot;)
sCurrLATVIAN = GetResText(&quot;CURRENCIES_17&quot;)
sCurrLITHUANIAN = GetResText(&quot;CURRENCIES_18&quot;)
sCurrCROATIAN = GetResText(&quot;CURRENCIES_19&quot;)
.cmdCancel.Label = sCANCEL
.cmdHelp.Label = sHELP
.cmdBack.Label = GetResText(&quot;STEP_ZERO_2&quot;)
.cmdGoOn.Label = sGOON
.lblHint.Label = GetResText(&quot;STEP_ZERO_4&quot;)
.lblCurrencies.Label = GetResText(&quot;STEP_ZERO_6&quot;)
.cmdBack.Enabled = False
If .Step = 1 Then
.chkComplete.Label = GetResText(&quot;STEP_CONVERTER_0&quot;)
.hlnSelection.Label = GetResText(&quot;STEP_CONVERTER_1&quot;)
.optCellTemplates.Label = GetResText(&quot;STEP_CONVERTER_2&quot;)
.optSheetRanges.Label = GetResText(&quot;STEP_CONVERTER_3&quot;)
.optDocRanges.Label = GetResText(&quot;STEP_CONVERTER_4&quot;)
.optSelRange.Label = GetResText(&quot;STEP_CONVERTER_5&quot;)
sCURRRANGES = GetResText(&quot;STEP_CONVERTER_8&quot;)
.lblSelection.Label = sCURRRANGES
Else
.lblProgress.Label = sStsPROGRESS
.hlnExtent.Label = GetResText(&quot;STEP_AUTOPILOT_0&quot;)
.optSingleFile.Label = GetResText(&quot;STEP_AUTOPILOT_1&quot;)
.optWholeDir.Label = GetResText(&quot;STEP_AUTOPILOT_2&quot;)
.chkProtect.Label = GetResText(&quot;STEP_AUTOPILOT_7&quot;)
.chkTextDocuments.Label = GetResText(&quot;STEP_AUTOPILOT_10&quot;)
sSOURCEFILE = GetResText(&quot;STEP_AUTOPILOT_3&quot;)
sSOURCEDIR = GetResText(&quot;STEP_AUTOPILOT_4&quot;)
.lblSource.Label = sSOURCEDIR
sInclusiveSubDir = GetResText(&quot;STEP_AUTOPILOT_5&quot;)
.chkRecursive.Label = sInclusiveSubDir
sTARGETDIR = GetResText(&quot;STEP_AUTOPILOT_6&quot;)
.lblTarget.Label = STARGETDIR
LocWorkPath = GetPathSettings(&quot;Work&quot;)
If Not oUcb.Exists(LocWorkPath) Then
ShowNoOfficePathError()
Stop
End If
.txtSource.Text = ConvertfromUrl(LocWorkPath)
SubstDir = .txtSource.Text
.txtTarget.Text = .txtSource.Text
.hlnProgress.Label = GetResText(&quot;STEP_LASTPAGE_0&quot;)
.lblConfig.Label = GetResText(&quot;STEP_LASTPAGE_3&quot;)
sPrgsRETRIEVAL = GetResText(&quot;STEP_LASTPAGE_1&quot;)
sPrgsCONVERTING = GetResText(&quot;STEP_LASTPAGE_2&quot;)
sPrgsUNPROTECT = GetResText(&quot;STEP_LASTPAGE_4&quot;)
End If
End With
End Sub
Sub InitializeLanguages()
sEuroSign = chr(8364)
&apos; CURRENCIES_PORTUGUESE
LangIDValue(0,0,0) = &quot;pt&quot;
LangIDValue(0,0,1) = &quot;&quot;
LangIDValue(0,0,2) = &quot;-816&quot;
&apos; CURRENCIES_DUTCH
LangIDValue(1,0,0) = &quot;nl&quot;
LangIDValue(1,0,1) = &quot;&quot;
LangIDValue(1,0,2) = &quot;-413&quot;
&apos; CURRENCIES_FRENCH
LangIDValue(2,0,0) = &quot;fr&quot;
LangIDValue(2,0,1) = &quot;&quot;
LangIDValue(2,0,2) = &quot;-40C&quot;
&apos; CURRENCIES_SPANISH
LangIDValue(3,0,0) = &quot;es&quot;
LangIDValue(3,0,1) = &quot;&quot;
LangIDValue(3,0,2) = &quot;-40A&quot;
&apos;Spanish modern
LangIDValue(3,1,0) = &quot;es&quot;
LangIDValue(3,1,1) = &quot;&quot;
LangIDValue(3,1,2) = &quot;-C0A&quot;
&apos;Spanish katalanic
LangIDValue(3,2,0) = &quot;es&quot;
LangIDValue(3,2,1) = &quot;&quot;
LangIDValue(3,2,2) = &quot;-403&quot;
&apos; CURRENCIES_ITALIAN
LangIDValue(4,0,0) = &quot;it&quot;
LangIDValue(4,0,1) = &quot;&quot;
LangIDValue(4,0,2) = &quot;-410&quot;
&apos; CURRENCIES_GERMAN
LangIDValue(5,0,0) = &quot;de&quot;
LangIDValue(5,0,1) = &quot;DE&quot;
LangIDValue(5,0,2) = &quot;-407&quot;
&apos; CURRENCIES_BELGIAN
LangIDValue(6,0,0) = &quot;fr&quot;
LangIDValue(6,0,1) = &quot;BE&quot;
LangIDValue(6,0,2) = &quot;-80C&quot;
LangIDValue(6,1,0) = &quot;nl&quot;
LangIDValue(6,1,1) = &quot;BE&quot;
LangIDValue(6,1,2) = &quot;-813&quot;
&apos; CURRENCIES_IRISH
LangIDValue(7,0,0) = &quot;en&quot;
LangIDValue(7,0,1) = &quot;IE&quot;
LangIDValue(7,0,2) = &quot;-1809&quot;
LangIDValue(7,1,0) = &quot;ga&quot;
LangIDValue(7,1,1) = &quot;IE&quot;
LangIDValue(7,1,2) = &quot;-83C&quot;
&apos; CURRENCIES_LUXEMBOURG
LangIDValue(8,0,0) = &quot;fr&quot;
LangIDValue(8,0,1) = &quot;LU&quot;
LangIDValue(8,0,2) = &quot;-140C&quot;
LangIDValue(8,1,0) = &quot;de&quot;
LangIDValue(8,1,1) = &quot;LU&quot;
LangIDValue(8,1,2) = &quot;-1007&quot;
&apos; CURRENCIES_AUSTRIAN
LangIDValue(9,0,0) = &quot;de&quot;
LangIDValue(9,0,1) = &quot;AT&quot;
LangIDValue(9,0,2) = &quot;-C07&quot;
&apos; CURRENCIES_FINNISH
LangIDValue(10,0,0) = &quot;fi&quot;
LangIDValue(10,0,1) = &quot;FI&quot;
LangIDValue(10,0,2) = &quot;-40B&quot;
LangIDValue(10,1,0) = &quot;sv&quot;
LangIDValue(10,1,1) = &quot;FI&quot;
LangIDValue(10,1,2) = &quot;-81D&quot;
&apos; CURRENCIES_GREEK
LangIDValue(11,0,0) = &quot;el&quot;
LangIDValue(11,0,1) = &quot;GR&quot;
LangIDValue(11,0,2) = &quot;-408&quot;
&apos; CURRENCIES_SLOVENIAN
LangIDValue(12,0,0) = &quot;sl&quot;
LangIDValue(12,0,1) = &quot;SI&quot;
LangIDValue(12,0,2) = &quot;-424&quot;
&apos; CURRENCIES_CYPRIOT
LangIDValue(13,0,0) = &quot;el&quot;
LangIDValue(13,0,1) = &quot;CY&quot;
LangIDValue(13,0,2) = &quot;-408&quot;
&apos; CURRENCIES_MALTESE
LangIDValue(14,0,0) = &quot;mt&quot;
LangIDValue(14,0,1) = &quot;MT&quot;
LangIDValue(14,0,2) = &quot;-43A&quot;
&apos; CURRENCIES_SLOVAK
LangIDValue(15,0,0) = &quot;sk&quot;
LangIDValue(15,0,1) = &quot;SK&quot;
LangIDValue(15,0,2) = &quot;-41B&quot;
&apos; CURRENCIES_ESTONIAN
LangIDValue(16,0,0) = &quot;et&quot;
LangIDValue(16,0,1) = &quot;ET&quot;
LangIDValue(16,0,2) = &quot;-425&quot;
&apos; CURRENCIES_LATVIAN
LangIDValue(17,0,0) = &quot;lv&quot;
LangIDValue(17,0,1) = &quot;LV&quot;
LangIDValue(17,0,2) = &quot;-426&quot;
&apos; and Latgalian
LangIDValue(17,1,0) = &quot;ltg&quot;
LangIDValue(17,1,1) = &quot;LV&quot;
LangIDValue(17,1,2) = &quot;-64B&quot;
&apos; CURRENCIES_LITHUANIAN
LangIDValue(18,0,0) = &quot;lt&quot;
LangIDValue(18,0,1) = &quot;LT&quot;
LangIDValue(18,0,2) = &quot;-427&quot;
&apos; CURRENCIES_CROATIAN
LangIDValue(19,0,0) = &quot;hr&quot;
LangIDValue(19,0,1) = &quot;HR&quot;
LangIDValue(19,0,2) = &quot;-41A&quot;
End Sub
Sub InitializeCurrencies()
Dim i as Integer
GoOn = True
CurrValue(0,0) = sCurrPORTUGUESE
&apos; real conversion rate
CurrValue(0,1) = 200.482
&apos; rounded conversion rate
CurrValue(0,2) = 200
CurrValue(0,3) = &quot;Esc.&quot;
CurrValue(0,4) = &quot;Esc.&quot;
CurrValue(0,5) = &quot;PTE&quot;
CurrValue(1,0) = sCurrDUTCH
&apos; real conversion rate
CurrValue(1,1) = 2.20371
&apos; rounded conversion rate
CurrValue(1,2) = 2
CurrValue(1,3) = &quot;F&quot;
CurrValue(1,4) = &quot;fl&quot;
CurrValue(1,5) = &quot;NLG&quot;
CurrValue(2,0) = sCurrFRENCH
&apos; real conversion rate
CurrValue(2,1) = 6.55957
&apos; rounded conversion rate
CurrValue(2,2) = 7
CurrValue(2,3) = &quot;F&quot;
CurrValue(2,4) = &quot;F&quot;
CurrValue(2,5) = &quot;FRF&quot;
CurrValue(3,0) = sCurrSPANISH
&apos; real conversion rate
CurrValue(3,1) = 166.386
&apos; rounded conversion rate
CurrValue(3,2) = 170
CurrValue(3,3) = &quot;Pts&quot;
CurrValue(3,4) = &quot;Pts&quot;
CurrValue(3,5) = &quot;ESP&quot;
CurrValue(4,0) = sCurrITALIAN
&apos; real conversion rate
CurrValue(4,1) = 1936.27
&apos; rounded conversion rate
CurrValue(4,2) = 2000
CurrValue(4,3) = &quot;L.&quot;
CurrValue(4,4) = &quot;L.&quot;
CurrValue(4,5) = &quot;ITL&quot;
CurrValue(5,0) = sCurrGERMAN
&apos; real conversion rate
CurrValue(5,1) = 1.95583
&apos; rounded conversion rate
CurrValue(5,2) = 2
CurrValue(5,3) = &quot;DM&quot;
CurrValue(5,4) = &quot;DM&quot;
CurrValue(5,5) = &quot;DEM&quot;
CurrValue(6,0) = sCurrBELGIAN
&apos; real conversion rate
CurrValue(6,1) = 40.3399
&apos; rounded conversion rate
CurrValue(6,2) = 40
CurrValue(6,3) = &quot;FB&quot;
CurrValue(6,4) = &quot;BF&quot;
CurrValue(6,5) = &quot;BEF&quot;
CurrValue(7,0) = sCurrIRISH
&apos; real conversion rate
CurrValue(7,1) = 0.787564
&apos; rounded conversion rate
CurrValue(7,2) = 0.8
CurrValue(7,3) = &quot;IR£&quot;
CurrValue(7,4) = &quot;£&quot;
CurrValue(7,5) = &quot;IEP&quot;
CurrValue(8,0) = sCurrLUXEMBOURG
&apos; real conversion rate
CurrValue(8,1) = 40.3399
&apos; rounded conversion rate
CurrValue(8,2) = 40
CurrValue(8,3) = &quot;F&quot;
CurrValue(8,4) = &quot;F&quot;
CurrValue(8,5) = &quot;LUF&quot;
CurrValue(9,0) = sCurrAUSTRIAN
&apos; real conversion rate
CurrValue(9,1) = 13.7603
&apos; rounded conversion rate
CurrValue(9,2) = 15
CurrValue(9,3) = &quot;öS&quot;
CurrValue(9,4) = &quot;S&quot;
CurrValue(9,5) = &quot;ATS&quot;
CurrValue(10,0) = sCurrFINNISH
&apos; real conversion rate
CurrValue(10,1) = 5.94573
&apos; rounded conversion rate
CurrValue(10,2) = 6
CurrValue(10,3) = &quot;mk&quot;
CurrValue(10,4) = &quot;mk&quot;
CurrValue(10,5) = &quot;FIM&quot;
CurrValue(11,0) = sCurrGREEK
&apos; real conversion rate
CurrValue(11,1) = 340.750
&apos; rounded conversion rate
CurrValue(11,2) = 400
CurrValue(11,3) = chr(916) &amp; chr(961) &amp; chr(967)
CurrValue(11,4) = chr(916) &amp; chr(961) &amp; chr(967)
CurrValue(11,5) = &quot;GRD&quot;
CurrValue(12,0) = sCurrSLOVENIAN
&apos; real conversion rate
CurrValue(12,1) = 239.64
&apos; rounded conversion rate
CurrValue(12,2) = 240
CurrValue(12,3) = &quot;SIT&quot;
CurrValue(12,4) = &quot;SIT&quot;
CurrValue(12,5) = &quot;SIT&quot;
CurrValue(13,0) = sCurrCYPRIOT
&apos; real conversion rate
CurrValue(13,1) = 0.585274
&apos; rounded conversion rate
CurrValue(13,2) = 0.6
CurrValue(13,3) = &quot;£C&quot;
CurrValue(13,4) = &quot;£&quot;
CurrValue(13,5) = &quot;CYP&quot;
CurrValue(14,0) = sCurrMALTESE
&apos; real conversion rate
CurrValue(14,1) = 0.429300
&apos; rounded conversion rate
CurrValue(14,2) = 0.4
CurrValue(14,3) = chr(8356)
CurrValue(14,4) = &quot;Lm&quot;
CurrValue(14,5) = &quot;MTL&quot;
CurrValue(15,0) = sCurrSLOVAK
&apos; real conversion rate
CurrValue(15,1) = 30.1260
&apos; rounded conversion rate
CurrValue(15,2) = 30
CurrValue(15,3) = &quot;Sk&quot;
CurrValue(15,4) = &quot;Sk&quot;
CurrValue(15,5) = &quot;SKK&quot;
CurrValue(16,0) = sCurrESTONIAN
&apos; real conversion rate
CurrValue(16,1) = 15.6466
&apos; rounded conversion rate
CurrValue(16,2) = 16
CurrValue(16,3) = &quot;kr&quot;
CurrValue(16,4) = &quot;kr&quot;
CurrValue(16,5) = &quot;EEK&quot;
CurrValue(17,0) = sCurrLATVIAN
&apos; real conversion rate
CurrValue(17,1) = 0.702804
&apos; rounded conversion rate
CurrValue(17,2) = 0.7
CurrValue(17,3) = &quot;Ls&quot;
CurrValue(17,4) = &quot;Ls&quot;
CurrValue(17,5) = &quot;LVL&quot;
CurrValue(18,0) = sCurrLITHUANIAN
&apos; real conversion rate
CurrValue(18,1) = 3.45280
&apos; rounded conversion rate
CurrValue(18,2) = 3.5
CurrValue(18,3) = &quot;Lt&quot;
CurrValue(18,4) = &quot;Lt&quot;
CurrValue(18,5) = &quot;LTL&quot;
CurrValue(19,0) = sCurrCROATIAN
&apos; real conversion rate
CurrValue(19,1) = 7.53450
&apos; rounded conversion rate
CurrValue(19,2) = 7.5
CurrValue(19,3) = &quot;kn&quot;
CurrValue(19,4) = &quot;kn&quot;
CurrValue(19,5) = &quot;HRK&quot;
i = -1
CurrSymbolList(0) = &quot;&quot;
CurrSymbolList(1) = &quot;&quot;
InitializeCurrencyValues(CurrIndex)
End Sub
Sub InitializeControls()
If CurrIndex = -1 Then
If DialogModel.Step = 1 Then
EnableStep1DialogControls(True, False, False)
ElseIf DialogModel.Step = 2 Then
EnableStep2DialogControls(True)
End If
End If
End Sub
Sub InitializeConverter(oLocale, iDialogPage as Integer)
Dim Isthere as Boolean
bCancelProtection = False
bRangeListDefined = False
PWIndex = -1
If iDialogPage = 1 Then
ToggleWindow(False)
sDocType = Tools.GetDocumentType(ThisComponent)
If sDocType = &quot;sCalc&quot; Then
bDocHasProtectedSheets = CheckSheetProtection(oSheets)
End If
oStatusline = ThisComponent.GetCurrentController.GetFrame.CreateStatusIndicator()
End If
DialogConvert = LoadDialog(&quot;Euro&quot;, &quot;DlgConvert&quot;)
DialogModel = DialogConvert.Model
DialogPassword = LoadDialog(&quot;Euro&quot;, &quot;DlgPassword&quot;)
PasswordModel = DialogPassword.Model
DialogModel.Step = iDialogPage
InitializeResources()
InitializeLanguages()
InitializeLocales(oLocale)
InitializeCurrencies()
InitializeControls()
BitmapDir = GetOfficeSubPath(&quot;Template&quot;, &quot;../wizard/bitmap&quot;)
If BitmapDir = &quot;&quot; Then
Stop
End If
FillUpCurrencyListbox()
DialogModel.imgPreview.ImageUrl = BitmapDir &amp; &quot;euro_&quot; &amp; DialogModel.Step &amp; &quot;.png&quot;
DialogConvert.Title = sMsgDLGTITLE
DialogModel.cmdGoOn.DefaultButton = True
If iDialogPage = 1 Then
ToggleWindow(True)
End If
End Sub
Sub InitializeCurrencyValues(CurrIndex)
If CurrIndex &lt;&gt; -1 Then
CurrLanguage = CurrValue(CurrIndex,0)
CurrFactor = CurrValue(CurrIndex,1)
CurrSymbolList(0) = CurrValue(CurrIndex,3)
CurrSymbolList(1) = CurrValue(CurrIndex,4)
CurrSymbolList(2) = CurrValue(CurrIndex,5)
End If
End Sub
Function InitializeLocales(oLocale) as Boolean
Dim i as Integer, n as Integer, m as Integer
Dim sLanguage as String, sCountry as String
Dim bTakeThisLocale as Boolean
sLanguage = oLocale.Language
sCountry = oLocale.Country
For n = 0 To SBCOUNTRYCOUNT - 1
For m = 0 TO 1
If DialogModel.Step = 2 Then
bTakeThisLocale = LangIDValue(n,m,0) = sLanguage
Else
bTakeThisLocale = LangIDValue(n,m,0) = sLanguage
End If
If bTakeThisLocale Then
CurrIndex = n
For i = 0 To 2
CurExtension(i) = LangIDValue(CurrIndex,i,2)
Next i
InitializeLocales = True
Exit Function
End If
Next m
Next n
CurrIndex = -1
InitializeLocales = False
End Function
</script:module>

View File

@ -1,192 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Protect" script:language="StarBasic">REM ***** BASIC *****
Option Explicit
Public PWIndex as Integer
Function UnprotectSheetsWithPassWord(oSheets as Object, bDoUnProtect as Boolean)
Dim i as Integer
Dim MaxIndex as Integer
Dim iMsgResult as Integer
PWIndex = -1
If bDocHasProtectedSheets Then
If Not bDoUnprotect Then
&apos; At First query if sheets shall generally be unprotected
iMsgResult = Msgbox(sMsgUNPROTECT,36,sMsgDLGTITLE)
bDoUnProtect = iMsgResult = 6
End If
If bDoUnProtect Then
MaxIndex = oSheets.Count-1
For i = 0 To MaxIndex
bDocHasProtectedSheets = Not UnprotectSheet(oSheets(i))
If bDocHasProtectedSheets Then
ReprotectSheets()
Exit For
End If
Next i
If PWIndex = -1 Then
ReDim UnProtectList() as String
Else
ReDim Preserve UnProtectList(PWIndex) as String
End If
Else
Msgbox (sMsgSHEETSNOPROTECT, 64, sMsgDLGTITLE)
End If
End If
UnProtectSheetsWithPassword = bDocHasProtectedSheets
End Function
Function UnprotectSheet(oListSheet as Object)
Dim ListSheetName as String
Dim sStatustext as String
Dim i as Integer
Dim bOneSheetIsUnprotected as Boolean
i = -1
ListSheetName = oListSheet.Name
If oListSheet.IsProtected Then
oListSheet.Unprotect(&quot;&quot;)
If oListSheet.IsProtected Then
&apos; Sheet is protected by a Password
bOneSheetIsUnProtected = UnprotectSheetWithDialog(oListSheet, ListSheetName)
UnProtectSheet() = bOneSheetIsUnProtected
Else
&apos; The Sheet could be unprotected without a password
AddSheettoUnprotectionlist(ListSheetName,&quot;&quot;)
UnprotectSheet() = True
End If
Else
UnprotectSheet() = True
End If
End Function
Function UnprotectSheetWithDialog(oListSheet as Object, ListSheetName as String) as Boolean
Dim PWIsCorrect as Boolean
Dim QueryText as String
oDocument.CurrentController.SetActiveSheet(oListSheet)
QueryText = ReplaceString(sMsgPWPROTECT,&quot;&apos;&quot; &amp; ListSheetName &amp; &quot;&apos;&quot;, &quot;%1TableName%1&quot;)
&apos;&quot;Please insert the password to unprotect the sheet &apos;&quot; &amp; ListSheetName&apos;&quot;
Do
ExecutePasswordDialog(QueryText)
If bCancelProtection Then
bCancelProtection = False
Msgbox (sMsgSHEETSNOPROTECT, 64, sMsgDLGTITLE)
UnprotectSheetWithDialog() = False
exit Function
End If
oListSheet.Unprotect(Password)
If oListSheet.IsProtected Then
PWIsCorrect = False
Msgbox (sMsgWRONGPW, 64, sMsgDLGTITLE)
Else
&apos; Sheet could be unprotected
AddSheettoUnprotectionlist(ListSheetName,Password)
PWIsCorrect = True
End If
Loop Until PWIsCorrect
UnprotectSheetWithDialog() = True
End Function
Sub ExecutePasswordDialog(QueryText as String)
With PasswordModel
.Title = QueryText
.hlnPassword.Label = sMsgPASSWORD
.cmdCancel.Label = sMsgCANCEL
.cmdHelp.Label = sHELP
.cmdGoOn.Label = sMsgOK
.cmdGoOn.DefaultButton = True
End With
DialogPassword.Execute
End Sub
Sub ReadPassword()
Password = PasswordModel.txtPassword.Text
DialogPassword.EndExecute
End Sub
Sub RejectPassword()
bCancelProtection = True
DialogPassword.EndExecute
End Sub
&apos; Reprotects the previously protected sheets
&apos; The password information is stored in the List &apos;UnProtectList()&apos;
Sub ReprotectSheets()
Dim i as Integer
Dim oProtectSheet as Object
Dim ProtectList() as String
Dim SheetName as String
Dim SheetPassword as String
If PWIndex &gt; -1 Then
SetStatusLineText(sStsREPROTECT)
For i = 0 To PWIndex
ProtectList() = ArrayOutOfString(UnProtectList(i),&quot;;&quot;)
SheetName = ProtectList(0)
If Ubound(ProtectList()) &gt; 0 Then
SheetPassWord = ProtectList(1)
Else
SheetPassword = &quot;&quot;
End If
oProtectSheet = oSheets.GetbyName(SheetName)
If Not oProtectSheet.IsProtected Then
oProtectSheet.Protect(SheetPassWord)
End If
Next i
SetStatusLineText(&quot;&quot;)
End If
PWIndex = -1
ReDim UnProtectList()
End Sub
&apos; Add a Sheet to the list of sheets that finally have to be
&apos; unprotected
Sub AddSheettoUnprotectionlist(ListSheetName as String, Password as String)
Dim MaxIndex as Integer
MaxIndex = Ubound(UnProtectList())
PWIndex = PWIndex + 1
If PWIndex &gt; MaxIndex Then
ReDim Preserve UnprotectList(MaxIndex + SBRANGEUBOUND)
End If
UnprotectList(PWIndex) = ListSheetName &amp; &quot;;&quot; &amp; Password
End Sub
Function CheckSheetProtection(oSheets as Object) as Boolean
Dim MaxIndex as Integer
Dim i as Integer
Dim bProtectedSheets as Boolean
bProtectedSheets = False
MaxIndex = oSheets.Count-1
For i = 0 To MaxIndex
bProtectedSheets = oSheets(i).IsProtected
If bProtectedSheets Then
CheckSheetProtection() = True
Exit Function
End If
Next i
CheckSheetProtection() = False
End Function</script:module>

View File

@ -1,256 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Soft" script:language="StarBasic">Option Explicit
REM ***** BASIC *****
Sub CreateStyleEnumeration()
EmptySelection()
EmptyListbox(DialogModel.lstSelection)
CurSheetName = oDocument.CurrentController.GetActiveSheet.Name
MakeStyleEnumeration(False)
DialogModel.lblSelection.Label = sTEMPLATES
End Sub
Sub MakeStyleEnumeration(bAddToListbox as Boolean)
Dim m as integer
Dim aStyleFormat as Object
Dim Stylename as String
StyleIndex = -1
oStyles = oDocument.StyleFamilies.GetbyIndex(0)
For m = 0 To oStyles.count-1
oStyle = oStyles.GetbyIndex(m)
StyleName = oStyle.Name
If CheckFormatType(oStyle) Then
If Not bAddToListBox Then
AddSingleItemToListbox(DialogModel.lstSelection, Stylename)
Else
SwitchNumberFormat(ostyle, oFormats, sEuroSign)
End If
StyleIndex = StyleIndex + 1
If StyleIndex &gt; Ubound(StyleRangeAssignMentList()) Then
Redim Preserve StyleRangeAssignmentList(StyleIndex)
End If
StyleRangeAssignmentList(StyleIndex) = &quot;&lt;STYLENAME&gt;&quot; &amp; Stylename &amp; &quot;&lt;/STYLENAME&gt;&quot; &amp; _
&quot;&lt;DEFINED&gt;FALSE&lt;/DEFINED&gt;&quot; &amp; &quot;&lt;RANGES&gt;&lt;/RANGES&gt;&quot; &amp;_
&quot;&lt;CELLCOUNT&gt;0&lt;/CELLCOUNT&gt;&quot; &amp;_
&quot;&lt;SELECTED&gt;FALSE&lt;/SELECTED&gt;&quot;
End If
Next m
If StyleIndex &gt; -1 Then
Redim Preserve StyleRangeAssignmentList(StyleIndex)
Else
ReDim StyleRangeAssignmentList()
End If
End Sub
Sub AssignRangestoStyle(StyleList(), SelList())
Dim i as Integer
Dim n as integer
Dim LastIndex as Integer
Dim CurStyleName as String
Dim AssignString as String
LastIndex = Ubound(StyleList())
StatusValue = 0
SetStatusLineText(sStsRELRANGES)
For i = 0 To LastIndex
CurStyleName = StyleList(i)
n = PartStringInArray(StyleRangeAssignmentList(), CurStyleName, 0)
AssignString = StyleRangeAssignmentlist(n)
If IndexInArray(CurStyleName, SelList()) &lt;&gt; -1 Then
&apos; Style is selected
If FindPartString(AssignString, &quot;&lt;DEFINED&gt;&quot;, &quot;&lt;/DEFINED&gt;&quot;, 1) = &quot;FALSE&quot; Then
AssignString = ReplaceString(AssignString, &quot;&lt;SELECTED&gt;TRUE&lt;/SELECTED&gt;&quot;, &quot;&lt;SELECTED&gt;FALSE&lt;/SELECTED&gt;&quot;)
AssignCellFormatRanges(n, AssignString, CurStyleName)
End If
Else
&apos; Style is not selected
If FindPartString(AssignString, &quot;&lt;SELECTED&gt;&quot;, &quot;&lt;/SELECTED&gt;&quot;, 1) = &quot;FALSE&quot; Then
DeselectStyle(CurStyleName, n)
End If
End If
IncreaseStatusvalue(SBRELGET/(LastIndex+1))
Next i
End Sub
Sub AssignCellFormatRanges(n as Integer, AssignString as String, CurStyleName as String)
Dim oRanges() as Object
Dim oRange as Object
Dim oRangeAddress
Dim oSheet as Object
Dim StyleCellCount as Long
Dim i as Integer
Dim MaxIndex as Integer
Dim RangeString as String
Dim SheetName as String
Dim RangeName as String
Dim CellCountString as String
StyleCellCount = 0
RangeString = &quot;&lt;RANGES&gt;&quot;
MaxIndex = oSheets.Count-1
For i = 0 To MaxIndex
oSheet = oSheets(i)
SheetName = oSheet.Name
oRanges = osheet.CellFormatRanges.CreateEnumeration
While oRanges.hasMoreElements
oRange = oRanges.NextElement
If oRange.getPropertyState(&quot;NumberFormat&quot;) = 1 Then
If oRange.CellStyle = CurStyleName Then
oRangeAddress = oRange.RangeAddress
RangeName = RetrieveRangeNamefromAddress(oRange)
RangeString = RangeString &amp; RangeName &amp; &quot;,&quot;
StyleCellCount = StyleCellCount + CountRangeCells(oRange)
End If
End If
Wend
Next i
If StyleCellCount &gt; 0 Then
TotCellCount = TotCellCount + StyleCellCount
RangeString = RTrimStr(RangeString,&quot;,&quot;)
RangeString = RangeString &amp; &quot;&lt;/RANGES&gt;&quot;
CellCountString = &quot;&lt;CELLCOUNT&gt;&quot; &amp; StyleCellCount &amp; &quot;&lt;/CELLCOUNT&quot;
AssignString = ReplaceString(AssignString, RangeString,&quot;&lt;RANGES&gt;&lt;/RANGES&gt;&quot;)
AssignString = ReplaceString(AssignString, CellCountString,&quot;&lt;CELLCOUNT&gt;0&lt;/CELLCOUNT&gt;&quot;)
End If
AssignString = ReplaceString(AssignString, &quot;&lt;DEFINED&gt;TRUE&lt;/DEFINED&gt;&quot;, &quot;&lt;DEFINED&gt;FALSE&lt;/DEFINED&gt;&quot;)
StyleRangeAssignmentList(n) = AssignString
End Sub
&apos; deletes a styletemplate from the Collection that selects the ranges
Sub DeselectStyle(DeSelStyleName as String, n as Integer)
Dim i as Integer
Dim RangeName as String
Dim SelectString as String
Dim AssignString as String
Dim StyleRangeList() as String
Dim MaxIndex as Integer
SelectString =&quot;&lt;SELECTED&gt;FALSE&lt;/SELECTED&gt;&quot;
AssignString = StyleRangeAssignmentList(n)
RangeString = FindPartString(AssignString,&quot;&lt;RANGES&gt;&quot;,&quot;&lt;/RANGES&gt;&quot;,1)
StyleRangeList() = ArrayoutofString(RangeString,&quot;,&quot;)
MaxIndex = Ubound(StyleRangeList())
For i = 0 To MaxIndex
RangeName = StyleRangeList(i)
If oSelRanges.HasbyName(RangeName) Then
oSelRanges.RemovebyName(RangeName)
End If
Next i
AssignString = ReplaceString(AssignString, &quot;&lt;SELECTED&gt;FALSE&lt;/SELECTED&gt;&quot;, &quot;&lt;SELECTED&gt;TRUE&lt;/SELECTED&gt;&quot;)
StyleRangeAssignmentList(n) = AssignString
End Sub
Function RetrieveRangeNamefromAddress(oRange as Object) as String
Dim Rangename as String
Dim oAddressRanges as Object
oAddressRanges = oDocument.createInstance(&quot;com.sun.star.sheet.SheetCellRanges&quot;)
oAddressRanges.InsertbyName(&quot;&quot;,oRange)
Rangename = oAddressRanges.RangeAddressesasString
&apos; Msgbox &quot;Adresse: &quot; &amp; oRangeAddress.StartColumn &amp; &quot; ; &quot; &amp; oRangeAddress.EndColumn &amp; &quot; ; &quot; &amp; oRangeAddress.StartRow &amp; &quot; ; &quot; &amp; oRangeAddress.EndRow &amp; chr(13) &amp; RangeName
&apos; oAddressRanges.RemovebyName(RangeName)
RetrieveRangeNamefromAddress = Rangename
End Function
&apos; creates a sheet object from an according sectionname
Function RetrieveSheetoutofRangeName(TableText as String)
Dim DescriptionList() as String
Dim SheetName as String
Dim MaxIndex as integer
&apos; find out in which sheet the range is
DescriptionList() = ArrayOutofString(TableText,&quot;.&quot;,MaxIndex)
SheetName = DescriptionList(0)
SheetName = DeleteStr(SheetName,&quot;&apos;&quot;)
&apos; set the viewcursor on this sheet
RetrieveSheetoutofRangeName = oSheets.GetbyName(SheetName)
End Function
&apos; creates a rangeobject from an according rangename
Function RetrieveRangeoutofRangeName(TableText as String)
oSheet = RetrieveSheetoutofRangeName(TableText)
oRange = oSheet.GetCellRangebyName(TableText)
RetrieveRangeoutofRangeName = oRange
End Function
Sub ConvertTheSoftWay(StyleList(), bDeSelect as Boolean)
Dim i as Integer
Dim l as Integer
Dim s as Integer
Dim n as Integer
Dim CurStyleName as String
Dim RangeName as String
Dim OldStatusValue as Integer
Dim LastIndex as Integer
Dim oSelListbox as Object
Dim StyleRangeList() as String
Dim MaxIndex as Integer
oSelListbox = DialogConvert.GetControl(&quot;lstSelection&quot;)
LastIndex = Ubound(StyleList())
OldStatusValue = StatusValue
For i = 0 To LastIndex
CurStyleName = StyleList(i)
oStyle = oStyles.GetbyName(CurStyleName)
StyleRangeList() = GetAssignedRanges(CurStyleName, n)
MaxIndex = Ubound(StyleRangeList())
For s = 0 To MaxIndex
RangeName = StyleRangeList(s)
oRange = RetrieveRangeoutofRangeName(RangeName)
If oRange.getPropertyState(&quot;NumberFormat&quot;) = 1 Then
&apos; Range is hard formatted
ConvertCellCurrencies(oRange)
CurCellCount = CountRangeCells(oRange)
End If
IncreaseStatusvalue((CurCellCount/TotCellCount)*(95-OldStatusValue))
If bDeSelect Then
&apos; Note: On Problems see Bug #73157
If oSelRanges.HasbyName(RangeName) Then
oSelRanges.RemovebyName(RangeName)
oDocument.CurrentController.Select(oSelRanges)
End If
End If
Next s
SwitchNumberFormat(ostyle, oFormats, sEuroSign)
StyleRangeAssignmentList(n) = &quot;&quot;
l = GetItemPos(oSelListBox.Model, CurStyleName)
oSelListbox.RemoveItems(l,1)
Next
End Sub
Function GetAssignedRanges(CurStyleName as String, n as Integer)
Dim StyleRangeList() as String
Dim RangeString as String
Dim AssignString as String
n = PartStringInArray(StyleRangeAssignmentList(), CurStyleName, 0)
If n &lt;&gt; -1 Then
AssignString = StyleRangeAssignmentList(n)
RangeString = FindPartString(AssignString,&quot;&lt;RANGES&gt;&quot;, &quot;&lt;/RANGES&gt;&quot;,1)
If RangeString &lt;&gt; &quot;&quot; Then
StyleRangeList() = ArrayoutofString(RangeString,&quot;,&quot;)
End If
End If
GetAssignedRanges() = StyleRangeList()
End Function</script:module>

View File

@ -1,89 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Writer" script:language="StarBasic">REM ***** BASIC *****
Sub ConvertWriterTables()
Dim CellString as String
Dim oParagraphs as Object
Dim oPara as Object
Dim i as integer
Dim sCellNames()
Dim oCell as Object
oParagraphs = oDocument.Text.CreateEnumeration
While oParagraphs.HasMoreElements
oPara = oParagraphs.NextElement
If NOT oPara.supportsService(&quot;com.sun.star.text.Paragraph&quot;) Then
&apos; Note: As cells might be split or merged
&apos; you cannot refer to them via their indices
sCellNames = oPara.CellNames
For i = 0 To Ubound(sCellNames)
If sCellNames(i) &lt;&gt; &quot;&quot; Then
oCell = oPara.getCellByName(sCellNames(i))
If CheckFormatType(oCell) Then
SwitchNumberFormat(oCell, oFormats, sEuroSign)
ModifyObjectValuewithCurrFactor(oCell)
End If
End If
Next
End If
Wend
End Sub
Sub ModifyObjectValuewithCurrFactor(oDocObject as Object)
oDocObjectValue = oDocObject.Value
oDocObject.Value = oDocObjectValue/CurrFactor
End Sub
Sub ConvertTextFields()
Dim oTextFields as Object
Dim oTextField as Object
Dim FieldValue
Dim oDocObjectValue as double
Dim InstanceNames(500) as String
Dim CurInstanceName as String
Dim MaxIndex as Integer
MaxIndex = 0
oTextfields = oDocument.getTextfields.CreateEnumeration
While oTextFields.hasmoreElements
oTextField = oTextFields.NextElement
If oTextField.PropertySetInfo.HasPropertybyName(&quot;NumberFormat&quot;) Then
If CheckFormatType(oTextField) Then
If oTextField.PropertySetInfo.HasPropertybyName(&quot;Value&quot;) Then
If Not oTextField.SupportsService(&quot;com.sun.star.text.TextField.GetExpression&quot;) Then
oTextField.Content = CStr(Round(oTextField.Value/CurrFactor,2))
End If
ElseIf oTextField.TextFieldMaster.PropertySetInfo.HasPropertyByName(&quot;Value&quot;) Then
CurInstanceName = oTextField.TextFieldMaster.InstanceName
If Not FieldInArray(InstanceNames(), MaxIndex, CurInstanceName) Then
oTextField.TextFieldMaster.Content = CStr(Round(oTextField.TextFieldMaster.Value/CurrFactor,2))
InstanceNames(MaxIndex) = CurInstanceName
MaxIndex = MaxIndex + 1
End If
End If
SwitchNumberFormat(oTextField, oFormats, sEuroSign)
End If
End If
Wend
oDocument.GetTextFields.refresh()
End Sub
</script:module>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Euro" library:readonly="true" library:passwordprotected="false">
<library:element library:name="DlgConvert"/>
<library:element library:name="DlgPassword"/>
</library:library>

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Euro" library:readonly="true" library:passwordprotected="false">
<library:element library:name="ConvertRun"/>
<library:element library:name="AutoPilotRun"/>
<library:element library:name="Hard"/>
<library:element library:name="Soft"/>
<library:element library:name="Init"/>
<library:element library:name="Common"/>
<library:element library:name="Writer"/>
<library:element library:name="Protect"/>
</library:library>

View File

@ -370,90 +370,6 @@ RID_TABLE_48=The name '%TABLENAME' already exists.\nPlease enter another name.
RID_TABLE_49=Catalog of the table
RID_TABLE_50=Schema of the table
RID_TABLE_51=The field '%FIELDNAME' already exists.
STEP_ZERO_0=~Cancel
STEP_ZERO_1=~Help
STEP_ZERO_2=< ~Back
STEP_ZERO_3=~Convert
STEP_ZERO_4=Note: Currency amounts from external links and currency conversion factors in formulas cannot be converted.
STEP_ZERO_5=First, unprotect all sheets.
STEP_ZERO_6=Currencies:
STEP_ZERO_7=C~ontinue >
STEP_ZERO_8=C~lose
STEP_CONVERTER_0=~Entire document
STEP_CONVERTER_1=Selection
STEP_CONVERTER_2=Cell S~tyles
STEP_CONVERTER_3=Currency cells in the current ~sheet
STEP_CONVERTER_4=Currency cells in the entire ~document
STEP_CONVERTER_5=~Selected range
STEP_CONVERTER_6=Select Cell Styles
STEP_CONVERTER_7=Select currency cells
STEP_CONVERTER_8=Currency ranges:
STEP_CONVERTER_9=Templates:
STEP_AUTOPILOT_0=Extent
STEP_AUTOPILOT_1=~Single %PRODUCTNAME Calc document
STEP_AUTOPILOT_2=Complete ~directory
STEP_AUTOPILOT_3=Source Document:
STEP_AUTOPILOT_4=Source directory:
STEP_AUTOPILOT_5=~Including subfolders
STEP_AUTOPILOT_6=Target directory:
STEP_AUTOPILOT_7=Temporarily unprotect sheet without query
STEP_AUTOPILOT_10=Also convert fields and tables in text documents
STATUSLINE_0=Conversion status:
STATUSLINE_1=Conversion status of the cell templates:
STATUSLINE_2=Registration of the relevant ranges: Sheet %1Number%1 of %2TotPageCount%2
STATUSLINE_3=Entry of the ranges to be converted...
STATUSLINE_4=Sheet protection for each sheet will be restored...
STATUSLINE_5=Conversion of the currency units in the cell templates...
MESSAGES_0=~Finish
MESSAGES_1=Select directory
MESSAGES_2=Select file
MESSAGES_3=Select target directory
MESSAGES_4=non-existent
MESSAGES_5=Euro Converter
MESSAGES_6=Should protected spreadsheets be temporarily unprotected?
MESSAGES_7=Enter the password to unprotect the table %1TableName%1
MESSAGES_8=Wrong Password!
MESSAGES_9=Protected Sheet
MESSAGES_10=Warning!
MESSAGES_11=Protection for the sheets will not be removed.
MESSAGES_12=Sheet cannot be unprotected
MESSAGES_13=The Wizard cannot edit this document as cell formats cannot be modified in documents containing protected spreadsheets.
MESSAGES_14=Please note that the Euro Converter will, otherwise, not be able to edit this document!
MESSAGES_15=Please choose a currency to be converted first!
MESSAGES_16=Password:
MESSAGES_17=OK
MESSAGES_18=Cancel
MESSAGES_19=Please select a %PRODUCTNAME Calc document for editing!
MESSAGES_20='<1>' is not a directory!
MESSAGES_21=Document is read-only!
MESSAGES_22=The '<1>' file already exists.<CR>Do you want to overwrite it?
MESSAGES_23=Do you really want to terminate conversion at this point?
MESSAGES_24=Cancel Wizard
CURRENCIES_0=Portuguese Escudo
CURRENCIES_1=Dutch Guilder
CURRENCIES_2=French Franc
CURRENCIES_3=Spanish Peseta
CURRENCIES_4=Italian Lira
CURRENCIES_5=German Mark
CURRENCIES_6=Belgian Franc
CURRENCIES_7=Irish Punt
CURRENCIES_8=Luxembourg Franc
CURRENCIES_9=Austrian Schilling
CURRENCIES_10=Finnish Mark
CURRENCIES_11=Greek Drachma
CURRENCIES_12=Slovenian Tolar
CURRENCIES_13=Cypriot Pound
CURRENCIES_14=Maltese Lira
CURRENCIES_15=Slovak Koruna
CURRENCIES_16=Estonian Kroon
CURRENCIES_17=Latvian Lats
CURRENCIES_18=Lithuanian Litas
CURRENCIES_19=Croatian Kuna
STEP_LASTPAGE_0=Progress
STEP_LASTPAGE_1=Retrieving the relevant documents...
STEP_LASTPAGE_2=Converting the documents...
STEP_LASTPAGE_3=Settings:
STEP_LASTPAGE_4=Sheet is always unprotected
STYLES_0=Theme Selection
STYLES_1=Error while saving the document to the clipboard! The following action cannot be undone.
STYLES_2=~Cancel