mirror of
https://gitee.com/kekingcn/file-online-preview.git
synced 2026-03-17 14:43:47 +08:00
优化项目结构、优化 maven 结构
This commit is contained in:
92
office-plugin/windows-office/share/basic/Euro/Writer.xba
Normal file
92
office-plugin/windows-office/share/basic/Euro/Writer.xba
Normal file
@@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
||||
<!--***********************************************************
|
||||
*
|
||||
* 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
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
***********************************************************-->
|
||||
<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("com.sun.star.text.Paragraph") Then
|
||||
' Note: As cells might be splitted or merged
|
||||
' you cannot refer to them via their indices
|
||||
sCellNames = oPara.CellNames
|
||||
For i = 0 To Ubound(sCellNames)
|
||||
If sCellNames(i) <> "" 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("NumberFormat") Then
|
||||
If CheckFormatType(oTextField) Then
|
||||
If oTextField.PropertySetInfo.HasPropertybyName("Value") Then
|
||||
If Not oTextField.SupportsService("com.sun.star.text.TextField.GetExpression") Then
|
||||
oTextField.Content = CStr(Round(oTextField.Value/CurrFactor,2))
|
||||
End If
|
||||
ElseIf oTextField.TextFieldMaster.PropertySetInfo.HasPropertyByName("Value") 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>
|
||||
Reference in New Issue
Block a user