This commit is contained in:
Jane
2024-07-16 15:55:31 +08:00
parent 8f4ec86367
commit 29bc31ade5
12411 changed files with 8139339 additions and 0 deletions

View File

@@ -0,0 +1,368 @@
<?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="CommonLang" script:language="StarBasic">REM ***** BASIC *****
&apos; Column A has the index 1
Public Const SBCOLUMNNAME1 = 3 &apos; Stock names, sheet 1
Public Const SBCOLUMNID1 = 4 &apos; Stock ID, sheet 1
Public Const SBCOLUMNQUANTITY1 = 5 &apos; Stock quantity sheet 1
Public Const SBCOLUMNRATE1 = 7 &apos; Price for stocks, sheet 1
Public Const SBCOLUMNNAME2 = 3 &apos; Stock names, sheet 2
Public Const SBCOLUMNDATE2 = 4 &apos; Transaction dates, sheet 2
Public Const SBCOLUMNQUANTITY2 = 5 &apos; Transaction quantity, sheet 2
Public Const SBCOLUMNRATE2 = 6 &apos; Price for stocks, sheet 2
Public Const SBCOLUMNPROVPERCENT2 = 7 &apos; Provision in %, sheet 2
Public Const SBCOLUMNPROVMIN2 = 8 &apos; Minimum provision, sheet 2
Public Const SBCOLUMNPROVFIX2 = 9 &apos; Fixed provision, sheet 2
Public Const SBCOLUMNPROCEEDS2 = 12 &apos; Profit, sheet 2
Public Const SBCOLUMNQTYSOLD2 = 14 &apos; Quantity sold, sheet 2
Public Const SBCOLUMNQTYREST2 = 15 &apos; Quantity not sold yet, sheet 2
Public Const SBCOLUMNPRCREST2 = 16 &apos; Proportional price for quantity not sold yet, sheet 2
Public Const SBCOLUMNREALPROC2 = 17 &apos; Realized proceeds, sheet 2
Public Const SBCOLUMNDIVIDEND2 = 18 &apos; Dividend paid, sheet 2
Public Const SBCOLUMNREALPROFIT2 = 19 &apos; Realized profit, sheet 2
Public Const SBROWFIRSTTRANSACT2 = 8 &apos; First data row, sheet 2
Public Const SBROWHEADER1 = 6 &apos; Headline, sheet 1
Public Const SBMSGOK = 0
Public Const SBMSGYESNO = 4
Public Const SBMSGSTOP = 16
Public Const SBMSGQUESTION = 32
Public Const SBMSGDEFAULTBTN2 = 256
Public Const SBHASID = 1 &apos; 0 = no ID, 1 = stocks have an ID
Public Const SBDIALOGSELL = 1 &apos; Step for main dialog
Public Const SBDIALOGBUY = 2 &apos; Step for main dialog
Public Const SBBINARY = 0
Public TransactMode as Integer
Public Const LIFO = -1
Public Const FIFO = 1
Public Const HANDLEDIVIDEND = 1
Public Const HANDLESPLIT = 2
Global oDocument as Object
Global oDocFormats() as Object
Global oController as Object
Global oFirstSheet as Object
Global oBankSheet as Object
Global oMovementSheet as Object
Global sDocLanguage as String
Global sDocCountry as String
Global oSheets as Object
Global oDocLocale as New com.sun.star.lang.Locale
Global bEnableMarket as Boolean
Global bEnableInternet as Boolean
Global oMarketModel as Object
Global oInternetModel as Object
Global sCurCurrency$, sCurExtension$, sCurChartSource$, sCurStockIDLabel$, sCurSeparator$
Public oNumberFormatter as Object
Public bDebugmode as Boolean
Global GlobListindex as Integer
Public blabla() as String
Public SplitDate as Date
Public oChartSheet as Object
Public oBackgroundSheet as Object
Public Const SBDATECOLUMN = 3
Public Const SBVALUECOLUMN = 4
Public Const SBSTARTROW = 25
Public Const SBCHARTPERIOD = 14
Public Const SBINTERVAL = &quot;d&quot;
Public sColumnHeader as String
Public StartDate as Date
Public EndDate as Date
Public iCurRow as Integer
Public iMaxRow as Integer
Public iStartDay as Integer
Public iStartMonth as Integer
Public iStartYear as Integer
Public iEndDay as Integer
Public iEndMonth as Integer
Public iEndYear as Integer
Public oStatusLine as Object
Public Today as Date
Public sInterval as String
Public ShortMonths(11,1)
Public iStep as Integer
Public sDepotCurrency as String
Public iValueCol as Integer
Public DlgReference as Object
Public DlgTransaction as Object
Public DlgStockRates as Object
Public DlgStartUp as Object
Public TransactModel as Object
Public StockRatesModel as Object
Public StartUpModel as Object
Public StockRatesTitle(1 To 3)
Public TransactTitle(1 To 2)
Public NullList()
Public sStartupWelcome$, sStartupChooseMarket$, sStartupHint$
Public sMarket(7,10) as String
Public sCountryMarket(7,10) as String
Public cDlgCaption1$, cDlgCaption2$
Public sMsgError$, sMsgNoName$, sMsgNoQuantity$, sMsgNoDividend$, sMsgNoExchangeRate$
Public sMsgNoValidExchangeDate$, sMsgWrongExchangeDate$, sMsgSellTooMuch$, sMsgConfirm$
Public sMsgFreeStock$, sMsgTotalLoss$, sMsgEndDatebeforeNow$, sMsgStartDatebeforeEndDate$
Public sOk$, sCancel$
Public sMsgAuthorization$, sMsgDeleteAll$
Public SellMethod$
Public cSplit$
Global HistoryChartSource as String
Public DateCellStyle as String
Public CurrCellStyle as String
Public sStartDate$, sEndDate$, sHistory$
Public sInsertStockname$
Public sProductname$, sTitle$
Public sInsertStocks$, sStockname$, sNoInternetUpdate$, sMarketplace$, sNoInternetDataAvailable$
Public sCheckInternetSettings as String
Sub LoadLanguage()
LoadDepotDialogs()
Select Case sDocLanguage
Case &quot;de&quot;
LoadGermanLanguage()
Case &quot;en&quot;
LoadEnglishLanguage()
Case &quot;fr&quot;
LoadFrenchLanguage()
Case &quot;it&quot;
LoadItalianLanguage()
Case &quot;es&quot;
LoadSpanishLanguage()
Case &quot;sv&quot;
LoadSwedishLanguage()
Case &quot;ja&quot;
LoadJapaneseLanguage()
Case &quot;ko&quot;
LoadKoreanLanguage()
Case &quot;zh&quot;
If sDocCountry = &quot;CN&quot; Then
LoadChineseSimpleLanguage()
Else
LoadChineseTradLanguage()
End If
End Select
InitializeStartUpModel()
End Sub
Sub CompleteMarketList()
Dim EuroIndex as Integer
Dim LocCountry as String
Dim LocLanguage as String
Dim sLangList() as String
Dim sCountryList() as String
Dim sExtensionList() as String
Dim MaxIndex as Integer
Dim bIsLocale as Boolean
GlobListIndex = -1
For n = 0 To 5
LocLanguage = sMarket(n,6)
LocCountry = sMarket(n,7)
If Instr(1,LocLanguage,&quot;;&quot;,SBBINARY) = 0 Then
bIsLocale = CheckDocLocale(LocLanguage, LocCountry)
Else
EuroIndex = 0
sLangList() = ArrayoutofString(LocLanguage, &quot;;&quot;, MaxIndex)
sCountryList() = ArrayoutofString(LocCountry, &quot;;&quot;, MaxIndex)
sExtensionList() = ArrayoutofString(sMarket(n,8), &quot;;&quot;, MaxIndex)
For m = 0 To MaxIndex
bIsLocale = CheckDocLocale(sLangList(m), sCountryList(m))
If bIsLocale Then
EuroIndex = m
Exit For
End If
Next m
sMarket(n,6) = sLangList(EuroIndex)
sMarket(n,7) = sCountryList(EuroIndex)
sMarket(n,8) = sExtensionList(EuroIndex)
End If
If bIsLocale Then
GlobListIndex = n
Exit For
End If
Next n
End Sub
Sub LocalizedCurrencies()
If GlobListIndex = -1 Then
sCountryMarket(0,0) = &quot;Euro&quot;
sCountryMarket(0,1) = chr(8364)
sCountryMarket(0,2) = &quot;Paris&quot;
sCountryMarket(0,3) = &quot;http://fr.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.PA&amp;f=s4l1t1c1ghov&amp;e=.csv&quot;
sCountryMarket(0,5) = &quot;Code&quot;
sCountryMarket(0,6) = &quot;fr&quot;
sCountryMarket(0,7) = &quot;FR&quot;
sCountryMarket(0,8) = &quot;40C&quot;
sCountryMarket(0,9) = &quot;59/9&quot;
sCountryMarket(0,10) = &quot;1&quot;
sCountryMarket(1,0) = &quot;Euro&quot;
sCountryMarket(1,1) = chr(8364)
sCountryMarket(1,2) = &quot;Milano&quot;
sCountryMarket(1,3) = &quot;http://it.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.MI&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sCountryMarket(1,5) = &quot;Codice&quot;
sCountryMarket(1,6) = &quot;it&quot;
sCountryMarket(1,7) = &quot;IT&quot;
sCountryMarket(1,8) = &quot;410&quot;
sCountryMarket(1,9) = &quot;44&quot;
sCountryMarket(1,10) = &quot;1&quot;
sCountryMarket(2,0) = &quot;Euro&quot;
sCountryMarket(2,1) = chr(8364)
sCountryMarket(2,2) = &quot;Madrid&quot;
sCountryMarket(2,3) = &quot;http://es.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;m=MC&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sCountryMarket(2,5) = &quot;Simbolo&quot;
sCountryMarket(2,6) = &quot;es&quot;
sCountryMarket(2,7) = &quot;ES&quot;
sCountryMarket(2,8) = &quot;40A&quot;
sCountryMarket(2,9) = &quot;44&quot;
sCountryMarket(2,10) = &quot;1&quot;
sCountryMarket(3,0) = &quot;Dansk krone&quot;
sCountryMarket(3,1) = &quot;kr&quot;
sCountryMarket(3,2) = &quot;København&quot;
sCountryMarket(3,3) = &quot;http://dk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID.CO&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sCountryMarket(3,5) = &quot;Aktiesymbol&quot;
sCountryMarket(3,6) = &quot;da&quot;
sCountryMarket(3,7) = &quot;DK&quot;
sCountryMarket(3,8) = &quot;406&quot;
sCountryMarket(3,9) = &quot;44&quot;
sCountryMarket(3,10) = &quot;1&quot;
sCountryMarket(4,0) = &quot;Svensk krona&quot;
sCountryMarket(4,1) = &quot;kr&quot;
sCountryMarket(4,2) = &quot;Stockholm&quot;
sCountryMarket(4,3) = &quot;http://se.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;f=sl1d1t1c1ohgv&amp;e=.c&quot;
sCountryMarket(4,5) = &quot;Kod&quot;
sCountryMarket(4,6) = &quot;sv&quot;
sCountryMarket(4,7) = &quot;SE&quot;
sCountryMarket(4,8) = &quot;41D&quot;
sCountryMarket(4,9) = &quot;44&quot;
sCountryMarket(4,10) = &quot;1&quot;
&apos; Taiwan Dollar
sCountryMarket(5,0) = &quot;新臺幣&quot;
sCountryMarket(5,1) = &quot;¥&quot;
sCountryMarket(5,2) = &quot;代號&quot;
sCountryMarket(5,3) = &quot;http://tw.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.TW&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sCountryMarket(5,5) = &quot;代號&quot;
sCountryMarket(5,6) = &quot;zh&quot;
sCountryMarket(5,7) = &quot;TW&quot;
sCountryMarket(5,8) = &quot;404&quot;
sCountryMarket(5,9) = &quot;44&quot;
sCountryMarket(5,10) = &quot;1&quot;
&apos; Chinese Yuan
sCountryMarket(6,0) = &quot;人民币&quot;
sCountryMarket(6,1) = &quot;¥&quot;
sCountryMarket(6,2) = &quot;代号&quot;
sCountryMarket(6,3) = &quot;http://cn.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.SS&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sCountryMarket(6,5) = &quot;代号&quot;
sCountryMarket(6,6) = &quot;zh&quot;
sCountryMarket(6,7) = &quot;CN&quot;
sCountryMarket(6,8) = &quot;804&quot;
sCountryMarket(6,9) = &quot;44&quot;
sCountryMarket(6,10) = &quot;1&quot;
&apos; korean Won
sCountryMarket(7,0) = &quot;한국 원화&quot;
sCountryMarket(7,1) = &quot;₩&quot;
sCountryMarket(7,2) = &quot;서울&quot;
sCountryMarket(7,3) = &quot;http://kr.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.KS&amp;f=snl1d1t1c1ohgv&amp;e=.csv&quot;
sCountryMarket(7,5) = &quot;종목 코드&quot;
sCountryMarket(7,6) = &quot;ko&quot;
sCountryMarket(7,7) = &quot;KR&quot;
sCountryMarket(7,8) = &quot;412&quot;
sCountryMarket(7,9) = &quot;44&quot;
sCountryMarket(7,10) = &quot;2&quot;
&apos; sCountryMarket(5,0) = &quot;Российский рубль&quot;
&apos; sCountryMarket(5,1) = &quot;р.&quot;
&apos; sCountryMarket(5,2) = &quot;&quot;
&apos; sCountryMarket(5,3) = &quot;&quot;
&apos; sCountryMarket(5,5) = &quot;&quot;
&apos; sCountryMarket(5,6) = &quot;ru&quot;
&apos; sCountryMarket(5,7) = &quot;RU&quot;
&apos; sCountryMarket(5,8) = &quot;-419&quot;
&apos; sCountryMarket(5,9) = &quot;&quot;
&apos;
&apos; sCountryMarket(6,0) = &quot;Złoty polski&quot;
&apos; sCountryMarket(6,1) = &quot;zł&quot;
&apos; sCountryMarket(6,2) = &quot;&quot;
&apos; sCountryMarket(6,3) = &quot;&quot;
&apos; sCountryMarket(6,5) = &quot;&quot; &apos;Still Todo!!
&apos; sCountryMarket(6,6) = &quot;pl&quot;
&apos; sCountryMarket(6,7) = &quot;PL&quot;
&apos; sCountryMarket(6,8) = &quot;-415&quot;
&apos; sCountryMarket(6,9) = &quot;&quot;
&apos;
&apos; sCountryMarket(7,0) = &quot;Türkische Lira&quot;
&apos; sCountryMarket(7,1) = &quot;TL&quot;
&apos; sCountryMarket(7,2) = &quot;&quot;
&apos; sCountryMarket(7,3) = &quot;&quot;
&apos; sCountryMarket(7,5) = &quot;&quot; &apos;Still Todo!!
&apos; sCountryMarket(7,6) = &quot;tr&quot;
&apos; sCountryMarket(7,7) = &quot;TR&quot;
&apos; sCountryMarket(7,8) = &quot;-41F&quot;
&apos; sCountryMarket(7,9) = &quot;&quot;
Dim n as Integer
Dim m as Integer
&apos; Dim sCountryMarket(6,9) as String
For n = 0 To Ubound(sCountryMarket(),1)
If sDocLanguage = sCountryMarket(n,6) and sDocCountry = sCountryMarket(n,7) Then
GlobListIndex = 6
For m = 0 To 10
sMarket(6,m) = sCountryMarket(n,m)
Next m
Exit For
End If
Next n
End If
End Sub
Sub LoadDepotDialogs()
DlgTransaction = LoadDialog(&quot;Depot&quot;, &quot;Dialog2&quot;)
DlgStockRates = LoadDialog(&quot;Depot&quot;, &quot;Dialog3&quot;)
DlgStartUp = LoadDialog(&quot;Depot&quot;, &quot;Dialog4&quot;)
TransactModel = DlgTransaction.Model
StockRatesModel = DlgStockRates.Model
StartUpModel = DlgStartUp.Model
End Sub
Sub InitializeStartUpModel()
With StartUpModel
.lblWelcome.Label = sStartupWelcome &amp; Chr(13) &amp; chr(13) &amp; sStartUpChooseMarket
sStartUpHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
.lblHint.Label = sStartupHint
&apos; .cmdGoOn.Enabled = Ubound(StartUpModel.lstMarkets.SelectedItems()) &lt;&gt; -1
.cmdGoOn.Label = sOK
.cmdCancel.Label = sCancel
End With
End Sub</script:module>

View File

@@ -0,0 +1,195 @@
<?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="Currency" script:language="StarBasic">REM ***** BASIC *****
Option Explicit
Dim bDoUnLoad as Boolean
Sub Startup()
Dim i as Integer
Dim a as Integer
Dim ListString as String
Dim MarketListBoxControl as Object
Initialize(False)
MarketListBoxControl = DlgStartUp.GetControl(&quot;lstMarkets&quot;)
a = 0
For i = 0 To Ubound(sMarket(),1)
ListString = sMarket(i,0)
If sMarket(i,0) &lt;&gt; &quot;&quot; Then
If sMarket(i,3) = &quot;&quot; Then
ListString = ListString &amp; &quot; (&quot; &amp; sNoInternetUpdate &amp; &quot;)&quot;
Else
ListString = ListString &amp; &quot; (&quot; &amp; sMarketplace &amp; &quot; &quot; &amp; sMarket(i,2) &amp; &quot;)&quot;
End If
MarketListBoxControl.AddItem(ListString, a)
a = a + 1
End If
Next i
MarketListBoxControl.SelectItemPos(GlobListIndex, True)
DlgStartUp.Title = sDepotCurrency
DlgStartUp.Model.cmdGoOn.DefaultButton = True
DlgStartUp.GetControl(&quot;lstMarkets&quot;).SetFocus()
DlgStartUp.Execute()
DlgStartUp.Dispose()
End Sub
Sub EnableGoOnButton()
StartUpModel.cmdGoOn.Enabled = True
StartUpModel.cmdGoOn.DefaultButton = True
End Sub
Sub CloseStartUpDialog()
DlgStartUp.EndExecute()
&apos; oDocument.Dispose()
End Sub
Sub DisposeDocument()
If bDoUnload Then
oDocument.Dispose()
End If
End Sub
Sub ChooseMarket(Optional aEvent)
Dim Index as Integer
Dim bIsDocLanguage as Boolean
Dim bIsDocCountry as Boolean
oInternetModel = GetControlModel(oDocument.Sheets(0), &quot;CmdInternet&quot;)
If Not IsMissing(aEvent) Then
Index = StartupModel.lstMarkets.SelectedItems(0)
oInternetModel.Tag = Index
Else
Index = oInternetModel.Tag
End If
oMarketModel = GetControlModel(oDocument.Sheets(0), &quot;CmdHistory&quot;)
sCurCurrency = sMarket(Index,1)
If Index = 0 Then
HistoryChartSource = sMarket(Index,4)
End If
sCurStockIDLabel = sMarket(Index,5)
sCurExtension = sMarket(Index,8)
iValueCol = Val(sMarket(Index,10))
If Instr(sCurExtension,&quot;;&quot;) &lt;&gt; 0 Then
&apos; Take the german extension as the stock place is Frankfurt
sCurExtension = &quot;407&quot;
End If
sCurChartSource = sMarket(Index,3)
bIsDocLanguage = Instr(1, sMarket(Index,6), sDocLanguage, SBBINARY) &lt;&gt; 0
bIsDocCountry = Instr(1, sMarket(Index,7), sDocCountry, SBBINARY) &lt;&gt; 0 OR SDocCountry = &quot;&quot;
sCurSeparator = sMarket(Index,9)
TransactModel.txtRate.CurrencySymbol = sCurCurrency
TransactModel.txtFix.CurrencySymbol = sCurCurrency
TransactModel.txtMinimum.CurrencySymbol = sCurCurrency
bEnableMarket = Index = 0
bEnableInternet = sCurChartSource &lt;&gt; &quot;&quot;
oMarketModel.Enabled = bEnableMarket
oInternetModel.Enabled = bEnableInternet
If Not IsMissing(aEvent) Then
ConvertStylesCurrencies()
bDoUnload = False
DlgStartUp.EndExecute()
End If
End Sub
Sub ConvertStylesCurrencies()
Dim m as integer
Dim aStyleFormat as Object
Dim StyleName as String
Dim bAddToList as Boolean
Dim oStyle as Object
Dim oStyles as Object
UnprotectSheets(oSheets)
oFirstSheet.GetCellByPosition(SBCOLUMNID1, SBROWHEADER1).SetString(sCurStockIDLabel)
oStyles = oDocument.StyleFamilies.GetbyIndex(0)
For m = 0 To oStyles.count-1
oStyle = oStyles.GetbyIndex(m)
StyleName = oStyle.Name
bAddToList = CheckFormatType(oStyle)
If bAddToList Then
SwitchNumberFormat(ostyle, oDocFormats, sCurCurrency, sCurExtension)
End If
Next m
ProtectSheets(oSheets)
End Sub
Sub SwitchNumberFormat(oObject as Object, oFormats as object, sNewSymbol as String, sNewExtension as String)
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 aNewStr as String
Dim iNumberFormat as Long
Dim sSimpleStr as String
Dim nSimpleKey as Long
Dim aFormat()
Dim oLocale as New com.sun.star.lang.Locale
&apos; Numberformat with the new Symbol as Base for new Format
sSimpleStr = &quot;0 [$&quot; &amp; sNewSymbol &amp; &quot;-&quot; &amp; sNewExtension &amp; &quot;]&quot;
nSimpleKey = Numberformat(oFormats, sSimpleStr, oDocLocale)
On Local Error Resume Next
iNumberFormat = oObject.NumberFormat
If Err &lt;&gt; 0 Then
Msgbox &quot;Error Reading the Number Format&quot;
Resume CLERROR
End If
On Local Error GoTo NOKEY
aFormat() = oFormats.getByKey(iNumberFormat)
On Local Error GoTo 0
&apos; set new currency format with according settings
nFormatDecimals = aFormat.Decimals
nFormatLeading = aFormat.LeadingZeros
bFormatNegRed = aFormat.NegativeRed
bFormatThousands = aFormat.ThousandsSeparator
oLocale = aFormat.Locale
aNewStr = oFormats.generateFormat(nSimpleKey, oLocale, bFormatThousands, bFormatNegRed, nFormatDecimals, nFormatLeading)
oObject.NumberFormat = Numberformat(oFormats, aNewStr, oLocale)
NOKEY:
If Err &lt;&gt; 0 Then
Resume CLERROR
End If
CLERROR:
End Sub
Function Numberformat( oFormats as Object, aFormatStr as String, oLocale as Variant )
Dim nRetkey
nRetKey = oFormats.queryKey(aFormatStr, oLocale, True)
If nRetKey = -1 Then
nRetKey = oFormats.addNew( aFormatStr, oLocale )
If nRetKey = -1 Then nRetKey = 0
End If
Numberformat = nRetKey
End Function
Function CheckFormatType(oStyle as Object)
Dim oFormatofObject as Object
oFormatofObject = oDocFormats.getByKey(oStyle.NumberFormat)
CheckFormatType = INT(oFormatOfObject.Type) AND com.sun.star.util.NumberFormat.CURRENCY
End Function</script:module>

View File

@@ -0,0 +1,517 @@
<?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="Depot" script:language="StarBasic">Option Explicit
Sub Initialize(Optional bChooseMarketPlace as Boolean)
Dim bEnableHistory as Boolean
GlobalScope.BasicLibraries.LoadLibrary(&quot;Tools&quot;)
&apos; oMarketModel = GetControlModel(oDocument.Sheets(0), &quot;CmdHistory&quot;)
&apos; bEnableHistory = oMarketModel.Enabled
ToggleWindow(False)
Today = Date()
bDebugmode = False
oDocument = ThisComponent
oController = oDocument.GetCurrentController
oSheets = oDocument.Sheets
oFirstSheet = oSheets(0)
oMovementSheet = oSheets(1)
oBankSheet = oSheets(2)
oDocFormats = oDocument.NumberFormats
oNumberFormatter = CreateUnoService(&quot;com.sun.star.util.NumberFormatter&quot;)
oNumberFormatter.AttachNumberFormatsSupplier(oDocument)
oDocLocale = oDocument.CharLocale
sDocLanguage = oDocLocale.Language
sDocCountry = oDocLocale.Country
LoadLanguage()
ToggleWindow(True)
&apos; oMarketModel.Enabled = bEnableHistory
If Not IsMissing(bChooseMarketPlace) Then
If bChoosemarketPlace Then
ChooseMarket()
End If
Else
ChooseMarket()
End If
If Not IsMissing(bChooseMarketPlace) Then
If bChooseMarketPlace Then
oMarketModel.Enabled = bEnableMarket
oInternetModel.Enabled = bEnableInternet
End If
End If
End Sub
Sub Buy()
Initialize(True)
FillListbox(DlgTransaction.GetControl(&quot;lstBuyStocks&quot;), TransactTitle(SBDIALOGBUY), False)
SetupTransactionControls(SBDIALOGBUY)
EnableTransactionControls(False)
DlgTransaction.Execute()
End Sub
Sub Sell()
Initialize(True)
If FillListbox(DlgTransaction.GetControl(&quot;lstSellStocks&quot;), TransactTitle(SBDIALOGSELL), True) Then
SetupTransactionControls(SBDIALOGSELL)
EnableTransactionControls(False)
DlgTransaction.Execute()
End If
End Sub
Sub Reset()
Dim TransactionCount as Integer
Dim StockCount, iStartRow, i as Integer
Dim oRows, oRange as Object
Dim StockName as String
Initialize(True)
&apos; Delete transactions and reset overview
If MsgBox(sMsgDeleteAll, SBMSGYESNO+SBMSGQUESTION+SBMSGDEFAULTBTN2, sMsgAuthorization) = 6 Then
&apos; Assumption: If and only if there is an overview, then there are transactions, too
UnprotectSheets(oSheets)
StockCount = GetStocksCount(iStartRow)
For i = 1 To StockCount
StockName = oFirstSheet.GetCellbyPosition(SBCOLUMNNAME1, iStartRow + i).String
If oSheets.HasbyName(StockName) Then
oSheets.RemoveByName(StockName)
End If
Next
oDocument.AddActionLock
RemoveStockRows(oFirstSheet, iStartRow + 1, StockCount)
TransactionCount = GetTransactionCount(iStartRow)
RemoveStockRows(oMovementSheet, iStartRow + 2, TransactionCount)
ProtectSheets(oSheets)
oDocument.RemoveActionLock
End If
End Sub
Sub TransactionOk
Dim Sold as Long
Dim RestQuantity, Value, PartialValue, Profit
Dim iNewRow as Integer, iRow as Integer
Dim iStockRow as Long, iRestQuantity as Long
Dim oNameCell as Object
Dim CellStockName as String, SelStockName as String
Dim CurRate as Double
Dim TransactDate as Date
Dim LocStockName as String
&apos; Check for rate entered
If TransactModel.txtRate.Value = 0 Then
If TransactModel.Step = SBDIALOGBUY Then
If MsgBox(sMsgFreeStock, SBMSGYESNO+SBMSGQUESTION, sMsgConfirm)=7 Then
Exit Sub
End If
Else
If MsgBox(sMsgTotalLoss, SBMSGYESNO+SBMSGQUESTION, sMsgConfirm)=7 Then
Exit Sub
End If
End If
End If
CurRate = TransactModel.txtRate.Value
TransactDate = CDateFromUNODate(TransactModel.txtDate.Date)
DlgTransaction.EndExecute()
UnprotectSheets(oSheets)
iNewRow = DuplicateRow(oMovementSheet, &quot;HiddenRow3&quot;)
If TransactModel.Step = SBDIALOGBUY Then
CellStockName = TransactModel.lstBuyStocks.Text
If Instr(1,CellStockName,&quot;$&quot;) &lt;&gt; 0 Then
CellStockName = &quot;&apos;&quot; &amp; CellStockName &amp; &quot;&apos;&quot;
End If
oMovementSheet.GetCellByPosition(SBCOLUMNNAME2, iNewRow).String = CellStockName
oMovementSheet.GetCellByPosition(SBCOLUMNQUANTITY2, iNewRow).Value = TransactModel.txtQuantity.Value
Else
CellStockName = DlgTransaction.GetControl(&quot;lstSellStocks&quot;).GetSelectedItem()
oMovementSheet.GetCellByPosition(SBCOLUMNNAME2, iNewRow).String = CellStockName
oMovementSheet.GetCellByPosition(SBCOLUMNQUANTITY2, iNewRow).Value = -TransactModel.txtQuantity.Value
End If
oMovementSheet.GetCellByPosition(SBCOLUMNDATE2, iNewRow).Value = CDateFromUNODate(TransactModel.txtDate.Date)
oMovementSheet.GetCellByPosition(SBCOLUMNRATE2, iNewRow).Value = TransactModel.txtRate.Value
oMovementSheet.GetCellByPosition(SBCOLUMNPROVPERCENT2, iNewRow).Value = TransactModel.txtCommission.EffectiveValue
oMovementSheet.GetCellByPosition(SBCOLUMNPROVMIN2, iNewRow).Value = TransactModel.txtMinimum.Value
oMovementSheet.GetCellByPosition(SBCOLUMNPROVFIX2, iNewRow).Value = TransactModel.txtFix.Value
&apos; Buy stocks: Update overview for new stocks
If TransactModel.Step = SBDIALOGBUY Then
iStockRow = GetStockRowIndex(CellStockName)
If iStockRow = -1 Then
iNewRow = DuplicateRow(oFirstSheet, &quot;HiddenRow2&quot;)
oFirstSheet.GetCellByPosition(SBCOLUMNNAME1, iNewRow).String = CellStockName
oFirstSheet.GetCellByPosition(SBCOLUMNID1, iNewRow).String = TransactModel.txtStockID.Text
iStockRow = GetStockRowIndex(CellStockName)
End If
&apos; Sell stocks: Get transaction value, then update Transaction sheet
ElseIf TransactModel.Step = SBDIALOGSELL Then
Profit = oMovementSheet.GetCellByPosition(SBCOLUMNPROCEEDS2, iNewRow).Value
Value = Profit
Sold = TransactModel.txtQuantity.Value
SelStockName = DlgTransaction.GetControl(&quot;lstSellStocks&quot;).GetSelectedItem()
&apos; Go to first name
If TransactMode = FIFO Then
iRow = SBROWFIRSTTRANSACT2
Else
iRow = iNewRow-1
End If
&apos; Check that no transaction after split date exists else cancel split
Do While Sold &gt; 0
oNameCell = oMovementSheet.GetCellByPosition(SBCOLUMNNAME2, iRow)
CellStockName = oNameCell.String
If CellStockName = SelStockName Then
&apos; Update transactions: Note quantity sold
RestQuantity = oMovementSheet.GetCellByPosition(SBCOLUMNQTYREST2, iRow).Value
&apos; If there still is a rest left ...
If RestQuantity &gt; 0 Then
If RestQuantity &lt; Sold Then
&apos; Recalculate profit of new transaction
Profit = Profit - oMovementSheet.GetCellByPosition(SBCOLUMNPRCREST2, iRow).Value
AddValueToCellContent(SBCOLUMNQTYSOLD2, iRow, RestQuantity)
PartialValue = RestQuantity / Sold * Value
AddValueToCellContent(SBCOLUMNREALPROC2, iRow, PartialValue)
Sold = Sold - RestQuantity
Value = Value - PartialValue
Else
&apos; Recalculate profit of neTransactModel.lstBuyStocks.Textw transaction
PartialValue = oMovementSheet.GetCellByPosition(SBCOLUMNPRCREST2, iRow).Value
Profit = Profit - PartialValue/RestQuantity * Sold
&apos; Update sold shares cell
AddValueToCellContent(SBCOLUMNQTYSOLD2, iRow, Sold)
&apos; Update sales turnover cell
AddValueToCellContent(SBCOLUMNREALPROC2, iRow, Value)
&apos; Update variables for rest of transaction
Sold = 0
Value = 0
End If
End If
End If
iRow = iRow + TransactMode
Loop
oMovementSheet.GetCellByPosition(SBCOLUMNREALPROFIT2,iNewRow).Value = Profit
iStockRow = GetStockRowIndex(SelStockName)
iRestQuantity = oFirstSheet.GetCellbyPosition(SBCOLUMNQUANTITY1, iStockRow).Value
&apos; If iRestQuantity = 0 Then
&apos; If oSheets.HasbyName(SelStockName) Then
&apos; oSheets.RemoveByName(SelStockName)
&apos; End If
&apos; Else
&apos; End If
End If
InsertCurrentValue(CurRate, iStockRow,TransactDate)
ProtectSheets(oSheets)
End Sub
Sub SelectStockname(aEvent as Object)
Dim iCurRow as Integer
Dim CurStockName as String
With TransactModel
&apos; Find row with stock name
If TransactModel.Step = SBDIALOGBUY Then
CurStockName = .lstBuyStocks.Text
iCurRow = GetStockRowIndex(CurStockName)
.txtQuantity.ValueMax = 10000000
Else
Dim ListBoxList() as String
ListBoxList() = GetSelectedListboxItems(aEvent.Source.getModel())
CurStockName = ListBoxList(0)
&apos; CurStockName = DlgTransaction.GetControl(aEvent.Source.getModel.Name).GetSelectedItem()
iCurRow = GetStockRowIndex(CurStockName)
Dim fdouble as Double
fdouble = oFirstSheet.GetCellByPosition(SBCOLUMNQUANTITY1, iCurRow).Value
.txtQuantity.Value = fdouble
.txtQuantity.ValueMax = oFirstSheet.GetCellByPosition(SBCOLUMNQUANTITY1, iCurRow).Value
.txtRate.Value = oFirstSheet.GetCellbyPosition(SBCOLUMNRATE1, iCurRow).Value
End If
.txtStockID.Enabled = .Step = SBDIALOGBUY
.lblStockID.Enabled = .Step = SBDIALOGBUY
&apos; Default settings for quantity and rate
.txtStockID.Text = GetStockID(CurStockName, iCurRow)
End With
EnableTransactionControls(CurStockName &lt;&gt; &quot;&quot;)
TransactModel.cmdGoOn.DefaultButton = True
End Sub
Sub HandleStocks(Mode as Integer, oDialog as Object)
Dim DividendPerShare, DividendTotal, RestQuantity, OldValue
Dim SelStockName, CellStockName as String
Dim oNameCell as Object, oDateCell as Object
Dim iRow as Integer
Dim oDividendCell as Object
Dim Amount
Dim OldNumber, NewNumber as Integer
Dim NoteText as String
Dim TotalStocksCount as Long
Dim oModel as Object
oDocument.AddActionLock
oDialog.EndExecute()
oModel = oDialog.Model
SelStockName = DlgStockRates.GetControl(&quot;lstStockNames&quot;).GetSelectedItem()
Select Case Mode
Case HANDLEDIVIDEND
Dim bTakeTotal as Boolean
&apos; Update transactions: Enter dividend paid for all Buy transactions not sold completely
bTakeTotal = oModel.optTotal.State = 1
If bTakeTotal Then
DividendTotal = oModel.txtDividend.Value
iRow = GetStockRowIndex(SelStockName)
TotalStocksCount = oFirstSheet.GetCellByPosition(SBCOLUMNQUANTITY1,iRow).Value
DividendPerShare = DividendTotal/TotalStocksCount
Else
DividendPerShare = oModel.txtDividend.Value
End If
Case HANDLESPLIT
&apos; Store entered values in variables
OldNumber = oModel.txtOldRate.Value
NewNumber = oModel.txtNewRate.Value
SplitDate = CDateFromUNODate(oModel.txtDate.Date)
iRow = SBROWFIRSTTRANSACT2
NoteText = cSplit &amp; SplitDate &amp; &quot;, &quot; &amp; oModel.txtOldRate.Value &amp; oModel.lblColon.Label &amp; oModel.txtNewRate.Value
Do
oNameCell = oMovementSheet.GetCellByPosition(SBCOLUMNNAME2, iRow)
CellStockName = oNameCell.String
If CellStockName = SelStockName Then
oDateCell = oMovementSheet.GetCellByPosition(SBCOLUMNDATE2, iRow)
If oDateCell.Value &gt;= SplitDate Then
MsgBox sMsgWrongExchangeDate, SBMSGOK + SBMSGSTOP, sMsgError
Exit Sub
End If
End If
iRow = iRow + 1
Loop Until CellStockName = &quot;&quot;
End Select
iRow = SBROWFIRSTTRANSACT2
UnprotectSheets(oSheets)
Do
oNameCell = oMovementSheet.GetCellByPosition(SBCOLUMNNAME2, iRow)
CellStockName = oNameCell.String
If CellStockName = SelStockName Then
Select Case Mode
Case HANDLEDIVIDEND
RestQuantity = oMovementSheet.GetCellByPosition(SBCOLUMNQTYREST2, iRow).Value
If RestQuantity &gt; 0 Then
oDividendCell = oMovementSheet.GetCellByPosition(SBCOLUMNDIVIDEND2, iRow)
OldValue = oDividendCell.Value
oDividendCell.Value = OldValue + RestQuantity * DividendPerShare
End If
Case HANDLESPLIT
oDateCell = oMovementSheet.GetCellByPosition(SBCOLUMNDATE2, iRow)
SplitCellValue(oMovementSheet, NewNumber, OldNumber, SBCOLUMNQUANTITY2, iRow, NoteText)
SplitCellValue(oMovementSheet, OldNumber, NewNumber, SBCOLUMNRATE2, iRow, &quot;&quot;)
SplitCellValue(oMovementSheet, NewNumber, OldNumber, SBCOLUMNQTYSOLD2, iRow, &quot;&quot;)
End Select
End If
iRow = iRow + 1
Loop Until CellStockName = &quot;&quot;
If Mode = HANDLESPLIT Then
CalculateChartafterSplit(SelStockName, NewNumber, OldNumber, NoteText, SplitDate)
End If
oDocument.CalculateAll()
ProtectSheets(oSheets)
oDocument.RemoveActionLock
End Sub
Sub CancelStockRate()
DlgStockRates.EndExecute()
End Sub
Sub CancelTransaction()
DlgTransaction.EndExecute()
End Sub
Sub CommitStockRate()
Dim CurStep as Integer
CurStep = StockRatesModel.Step
Select Case CurStep
Case 1
&apos; Check for quantity entered
If StockRatesModel.txtDividend.Value = 0 Then
MsgBox sMsgNoDividend, SBMSGSTOP+SBMSGSTOP, sMsgError
Exit Sub
End If
HandleStocks(HANDLEDIVIDEND, DlgStockRates)
Case 2
HandleStocks(HANDLESPLIT, DlgStockRates)
Case 3
InsertCompanyHistory()
End Select
End Sub
Sub EnableTransactionControls(bEnable as Boolean)
With TransactModel
.lblQuantity.Enabled = bEnable
.txtQuantity.Enabled = bEnable
.lblRate.Enabled = bEnable
.txtRate.Enabled = bEnable
.lblDate.Enabled = bEnable
.txtDate.Enabled = bEnable
.lblCommission.Enabled = bEnable
.txtCommission.Enabled = bEnable
.lblMinimum.Enabled = bEnable
.txtMinimum.Enabled = bEnable
.lblFix.Enabled = bEnable
.txtFix.Enabled = bEnable
If TransactModel.Step = SBDIALOGSELL Then
.cmdGoOn.Enabled = Ubound(TransactModel.lstSellStocks.SelectedItems()) &gt; -1
DlgTransaction.GetControl(&quot;lstSellStocks&quot;).SetFocus()
Else
.cmdGoOn.Enabled = TransactModel.lstBuyStocks.Text &lt;&gt; &quot;&quot;
DlgTransaction.GetControl(&quot;lstBuyStocks&quot;).SetFocus()
End If
If bEnable Then
TransactModel.cmdGoOn.DefaultButton = True
End If
End With
End Sub
Sub SetupTransactionControls(CurStep as Integer)
DlgReference = DlgTransaction
With TransactModel
.txtDate.Date = CDateToUNODate(Date())
.txtDate.DateMax = CDateToUNODate(Date())
.txtStockID.Enabled = False
.lblStockID.Enabled = False
.lblStockID.Label = sCurStockIDLabel
.txtRate.CurrencySymbol = sCurCurrency
.txtFix.CurrencySymbol = sCurCurrency
.Step = CurStep
End With
DlgTransaction.Title = TransactTitle(CurStep)
CellValuetoControl(oBankSheet, TransactModel.txtCommission, &quot;ProvisionPercent&quot;)
CellValuetoControl(oBankSheet, TransactModel.txtMinimum, &quot;ProvisionMinimum&quot;)
CellValuetoControl(oBankSheet, TransactModel.txtFix, &quot;ProvisionFix&quot;)
End Sub
Sub AddShortCuttoControl()
Dim SelCompany as String
Dim iRow, SelIndex as Integer
SelIndex = DlgTransaction.GetControl(&quot;lstBuyStocks&quot;).GetSelectedItemPos()
If SelIndex &lt;&gt; -1 Then
SelCompany = TransactModel.lstBuyStocks.StringItemList(SelIndex)
iRow = GetStockRowIndex(SelCompany)
If iRow &lt;&gt; -1 Then
TransactModel.txtStockID.Text = oFirstSheet.GetCellByPosition(SBCOLUMNID1,iRow).String
TransactModel.txtRate.Value = oFirstSheet.GetCellByPosition(SBCOLUMNRATE1,iRow).Value
Else
TransactModel.txtStockID.Text = &quot;&quot;
TransactModel.txtRate.Value = 0
End If
Else
TransactModel.txtStockID.Text = &quot;&quot;
TransactModel.txtRate.Value = 0
End If
End Sub
Sub OpenStockRatePage(aEvent)
Dim CurStep as Integer
Initialize(True)
CurStep = aEvent.Source.Model.Tag
If FillListbox(DlgStockRates.GetControl(&quot;lstStockNames&quot;), StockRatesTitle(CurStep), True) Then
StockRatesModel.Step = CurStep
ToggleStockRateControls(False, CurStep)
InitializeStockRatesControls(CurStep)
DlgStockRates.Execute()
End If
End Sub
Sub SelectStockNameForRates()
Dim StockName as String
StockName = DlgStockRates.GetControl(&quot;lstStockNames&quot;).GetSelectedItem()
If StockName &lt;&gt; &quot;&quot; Then
StockRatesModel.txtStockID.Text = GetStockID(StockName)
ToggleStockRateControls(True, StockRatesModel.Step)
End If
StockRatesModel.cmdGoOn.DefaultButton = True
End Sub
Sub ToggleStockRateControls(bDoEnable as Boolean, CurStep as Integer)
With StockRatesModel
.lblStockID.Enabled = False
.txtStockID.Enabled = False
.cmdGoOn.Enabled = Ubound(StockRatesModel.lstStockNames.SelectedItems()) &lt;&gt; -1
Select Case CurStep
Case 1
.optPerShare.Enabled = bDoEnable
.optTotal.Enabled = bDoEnable
.lblDividend.Enabled = bDoEnable
.txtDividend.Enabled = bDoEnable
Case 2
.lblExchangeRate.Enabled = bDoEnable
.lblDate.Enabled = bDoEnable
.lblColon.Enabled = bDoEnable
.txtOldRate.Enabled = bDoEnable
.txtNewRate.Enabled = bDoEnable
.txtDate.Enabled = bDoEnable
Case 3
.lblStartDate.Enabled = bDoEnable
.lblEndDate.Enabled = bDoEnable
.txtStartDate.Enabled = bDoEnable
.txtEndDate.Enabled = bDoEnable
.hlnInterval.Enabled = bDoEnable
.optDaily.Enabled = bDoEnable
.optWeekly.Enabled = bDoEnable
End Select
End With
End Sub
Sub InitializeStockRatesControls(CurStep as Integer)
DlgReference = DlgStockRates
DlgStockRates.Title = StockRatesTitle(CurStep)
With StockRatesModel
.txtStockID.Text = &quot;&quot;
.lblStockID.Label = sCurStockIDLabel
Select Case CurStep
Case 1
.txtDividend.Value = 0
.optPerShare.State = 1
.txtDividend.CurrencySymbol = sCurCurrency
Case 2
.txtOldRate.Value = 1
.txtNewRate.Value = 1
.txtDate.Date = CDateToUNODate(Date())
Case 3
.txtStartDate.DateMax = CDateToUNODate(CDate(Date())-1)
.txtEndDate.DateMax = CDateToUNODate(CDate(Date())-1)
.txtStartDate.Date = CDateToUNODate(CDate(Date())-8)
.txtEndDate.Date = CDateToUNODate(CDate(Date())-1)
.optDaily.State = 1
End Select
End With
End Sub
</script:module>

View File

@@ -0,0 +1,53 @@
<?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="Dialog2" dlg:tab-index="0" dlg:left="91" dlg:top="24" dlg:width="220" dlg:height="128" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_DIALOG_SELLBUY" dlg:closeable="true" dlg:moveable="true">
<dlg:bulletinboard>
<dlg:text dlg:id="lblStockNames" dlg:tab-index="0" dlg:left="6" dlg:top="6" dlg:width="102" dlg:height="8" dlg:value="lblStockNames"/>
<dlg:menulist dlg:id="lstSellStocks" dlg:tab-index="1" dlg:left="6" dlg:top="17" dlg:width="102" dlg:height="12" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_1_LSTSELLSTOCKS" dlg:spin="true">
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Depot.Depot.SelectStockname?language=Basic&amp;location=application" script:language="Script"/>
</dlg:menulist>
<dlg:combobox dlg:id="lstBuyStocks" dlg:tab-index="2" dlg:left="6" dlg:top="17" dlg:width="102" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_2_LSTBUYSTOCKS" dlg:spin="true">
<script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Depot.Depot.SelectStockname?language=Basic&amp;location=application" script:language="Script"/>
</dlg:combobox>
<dlg:text dlg:id="lblStockID" dlg:tab-index="3" dlg:left="150" dlg:top="6" dlg:width="66" dlg:height="8" dlg:value="lblStockID"/>
<dlg:textfield dlg:id="txtStockID" dlg:tab-index="4" dlg:left="150" dlg:top="17" dlg:width="40" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTSTOCKID_SELLBUY"/>
<dlg:text dlg:id="lblQuantity" dlg:tab-index="5" dlg:left="6" dlg:top="36" dlg:width="57" dlg:height="8" dlg:value="lblQuantity"/>
<dlg:numericfield dlg:id="txtQuantity" dlg:tab-index="6" dlg:left="6" dlg:top="47" dlg:width="46" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTQUANTITY" dlg:decimal-accuracy="0" dlg:value-min="1"/>
<dlg:currencyfield dlg:id="txtRate" dlg:tab-index="7" dlg:left="68" dlg:top="47" dlg:width="40" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTRATE" dlg:value-min="0"/>
<dlg:datefield dlg:id="txtDate" dlg:tab-index="8" dlg:left="150" dlg:top="47" dlg:width="50" dlg:height="12" dlg:tag="Dialog2" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTDATE" dlg:strict-format="true" dlg:spin="true">
<script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Depot.tools.CheckInputDate?language=Basic&amp;location=application" script:language="Script"/>
</dlg:datefield>
<dlg:text dlg:id="lblRate" dlg:tab-index="9" dlg:left="68" dlg:top="36" dlg:width="77" dlg:height="8" dlg:value="lblRate"/>
<dlg:text dlg:id="lblDate" dlg:tab-index="10" dlg:left="150" dlg:top="37" dlg:width="66" dlg:height="8" dlg:value="lblDate"/>
<dlg:formattedfield dlg:id="txtCommission" dlg:tab-index="11" dlg:left="6" dlg:top="90" dlg:width="40" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTCOMMISSION" dlg:format-code="0,00%" dlg:format-locale="de;DE"/>
<dlg:text dlg:id="lblCommission" dlg:tab-index="12" dlg:left="6" dlg:top="79" dlg:width="60" dlg:height="8" dlg:value="lblCommission"/>
<dlg:currencyfield dlg:id="txtFix" dlg:tab-index="13" dlg:left="68" dlg:top="90" dlg:width="40" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTFIX" dlg:value-min="0"/>
<dlg:currencyfield dlg:id="txtMinimum" dlg:tab-index="14" dlg:left="150" dlg:top="90" dlg:width="40" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTMINIMUM" dlg:value-min="0"/>
<dlg:text dlg:id="lblFix" dlg:tab-index="15" dlg:left="68" dlg:top="79" dlg:width="71" dlg:height="8" dlg:value="lblFix"/>
<dlg:text dlg:id="lblMinimum" dlg:tab-index="16" dlg:left="150" dlg:top="79" dlg:width="66" dlg:height="8" dlg:value="lblMinimum"/>
<dlg:button dlg:id="cmdCancel" dlg:tab-index="17" dlg:left="58" dlg:top="109" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_CMDCANCEL_SELLBUY" dlg:value="cmdCancel">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Depot.Depot.CancelTransaction?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:button dlg:id="cmdGoOn" dlg:tab-index="18" dlg:left="111" dlg:top="109" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_CMDGOON_SELLBUY" dlg:value="cmdGoOn">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Depot.Depot.TransactionOk?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:fixedline dlg:id="hlnCommission" dlg:tab-index="19" dlg:left="6" dlg:top="66" dlg:width="210" dlg:height="8" dlg:value="hlnCommission"/>
</dlg:bulletinboard>
</dlg:window>

View File

@@ -0,0 +1,62 @@
<?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="Dialog3" dlg:left="161" dlg:top="81" dlg:width="176" dlg:height="119" dlg:page="3" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_DIALOG_SPLIT" dlg:closeable="true" dlg:moveable="true">
<dlg:bulletinboard>
<dlg:text dlg:id="lblStockNames" dlg:tab-index="0" dlg:left="6" dlg:top="6" dlg:width="98" dlg:height="8" dlg:value="lblStockNames"/>
<dlg:menulist dlg:id="lstStockNames" dlg:tab-index="1" dlg:left="5" dlg:top="17" dlg:width="102" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_LSTSTOCKNAMES" dlg:spin="true">
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Depot.Depot.SelectStockNameForRates?language=Basic&amp;location=application" script:language="Script"/>
</dlg:menulist>
<dlg:textfield dlg:id="txtStockID" dlg:tab-index="2" dlg:left="120" dlg:top="17" dlg:width="50" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTSTOCKID_SPLIT"/>
<dlg:datefield dlg:id="txtStartDate" dlg:tab-index="3" dlg:left="63" dlg:top="37" dlg:width="50" dlg:height="12" dlg:page="3" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_3_TXTSTARTDATE" dlg:spin="true">
<script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Depot.tools.CheckInputDate?language=Basic&amp;location=application" script:language="Script"/>
</dlg:datefield>
<dlg:datefield dlg:id="txtEndDate" dlg:tab-index="4" dlg:left="63" dlg:top="53" dlg:width="50" dlg:height="12" dlg:page="3" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_3_TXTENDDATE" dlg:spin="true">
<script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Depot.tools.CheckInputDate?language=Basic&amp;location=application" script:language="Script"/>
</dlg:datefield>
<dlg:radiogroup>
<dlg:radio dlg:id="optDaily" dlg:tab-index="5" dlg:left="12" dlg:top="83" dlg:width="75" dlg:height="10" dlg:page="3" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_3_OPTDAILY" dlg:value="optDaily"/>
<dlg:radio dlg:id="optWeekly" dlg:tab-index="6" dlg:left="101" dlg:top="83" dlg:width="69" dlg:height="10" dlg:page="3" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_3_OPTWEEKLY" dlg:value="optWeekly"/>
</dlg:radiogroup>
<dlg:datefield dlg:id="txtDate" dlg:tab-index="7" dlg:left="71" dlg:top="73" dlg:width="50" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_2_TXTDATE" dlg:spin="true">
<script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Depot.tools.CheckInputDate?language=Basic&amp;location=application" script:language="Script"/>
</dlg:datefield>
<dlg:radiogroup>
<dlg:radio dlg:id="optPerShare" dlg:tab-index="8" dlg:left="6" dlg:top="37" dlg:width="69" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_1_OPTPERSHARE" dlg:value="optPerShare"/>
<dlg:radio dlg:id="optTotal" dlg:tab-index="9" dlg:left="6" dlg:top="51" dlg:width="69" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_1_OPTTOTAL" dlg:value="optTotal"/>
</dlg:radiogroup>
<dlg:currencyfield dlg:id="txtDividend" dlg:tab-index="10" dlg:left="6" dlg:top="80" dlg:width="50" dlg:height="12" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_1_TXTDIVIDEND" dlg:value-min="0" dlg:spin="true"/>
<dlg:button dlg:id="cmdCancel" dlg:tab-index="11" dlg:left="41" dlg:top="98" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_CMDCANCEL_SPLIT" dlg:value="cmdCancel">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Depot.Depot.CancelStockRate?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:button dlg:id="cmdGoOn" dlg:tab-index="12" dlg:left="94" dlg:top="98" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_CMDGOON_SPLIT" dlg:value="cmdGoOn">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Depot.Depot.CommitStockRate?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:text dlg:id="lblStockID" dlg:tab-index="13" dlg:left="120" dlg:top="6" dlg:width="50" dlg:height="8" dlg:value="lblStockID"/>
<dlg:text dlg:id="lblDividend" dlg:tab-index="14" dlg:left="6" dlg:top="68" dlg:width="73" dlg:height="8" dlg:page="1" dlg:value="lblDividend"/>
<dlg:text dlg:id="lblExchangeRate" dlg:tab-index="15" dlg:left="6" dlg:top="39" dlg:width="92" dlg:height="8" dlg:page="2" dlg:value="lblExchangeRate"/>
<dlg:text dlg:id="lblColon" dlg:tab-index="16" dlg:left="40" dlg:top="55" dlg:width="5" dlg:height="8" dlg:page="2" dlg:value=" :"/>
<dlg:text dlg:id="lblDate" dlg:tab-index="17" dlg:left="5" dlg:top="75" dlg:width="66" dlg:height="8" dlg:page="2" dlg:value="lblDate"/>
<dlg:fixedline dlg:id="hlnInterval" dlg:tab-index="18" dlg:left="6" dlg:top="72" dlg:width="164" dlg:height="8" dlg:page="3" dlg:value="hlnInterval"/>
<dlg:text dlg:id="lblStartDate" dlg:tab-index="19" dlg:left="6" dlg:top="39" dlg:width="53" dlg:height="8" dlg:page="3" dlg:value="lblStartDate"/>
<dlg:text dlg:id="lblEndDate" dlg:tab-index="20" dlg:left="6" dlg:top="55" dlg:width="53" dlg:height="8" dlg:page="3" dlg:value="lblEndDate"/>
<dlg:numericfield dlg:id="txtOldRate" dlg:tab-index="21" dlg:left="6" dlg:top="53" dlg:width="30" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_2_TXTOLDRATE" dlg:decimal-accuracy="0" dlg:value-min="1" dlg:spin="true"/>
<dlg:numericfield dlg:id="txtNewRate" dlg:tab-index="22" dlg:left="50" dlg:top="53" dlg:width="30" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_2_TXTNEWRATE" dlg:decimal-accuracy="0" dlg:value-min="1" dlg:spin="true"/>
</dlg:bulletinboard>
</dlg:window>

View File

@@ -0,0 +1,34 @@
<?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="Dialog4" dlg:left="161" dlg:top="81" dlg:width="160" dlg:height="120" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_DIALOG_HISTORY" dlg:closeable="true" dlg:moveable="true">
<dlg:bulletinboard>
<dlg:text dlg:id="lblWelcome" dlg:tab-index="0" dlg:left="6" dlg:top="6" dlg:width="148" dlg:height="49" dlg:value="lblWelcome" dlg:multiline="true"/>
<dlg:text dlg:id="lblHint" dlg:tab-index="1" dlg:left="6" dlg:top="73" dlg:width="148" dlg:height="26" dlg:value="lblHint" dlg:multiline="true"/>
<dlg:button dlg:id="cmdCancel" dlg:tab-index="2" dlg:left="28" dlg:top="100" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_CMDCANCEL_HISTORY" dlg:value="cmdCancel">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Depot.Currency.CloseStartUpDialog?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:button dlg:id="cmdGoOn" dlg:tab-index="3" dlg:left="84" dlg:top="100" dlg:width="52" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_CMDGOON_HISTORY" dlg:value="cmdGoOn">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Depot.Currency.ChooseMarket?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:menulist dlg:id="lstMarkets" dlg:tab-index="4" dlg:left="6" dlg:top="57" dlg:width="148" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_LSTMARKETS" dlg:spin="true">
<script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Depot.Currency.EnableGoOnButton?language=Basic&amp;location=application" script:language="Script"/>
</dlg:menulist>
</dlg:bulletinboard>
</dlg:window>

View File

@@ -0,0 +1,356 @@
<?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="Internet" script:language="StarBasic">REM ***** BASIC *****
Option Explicit
Public sNewSheetName as String
Function CheckHistoryControls()
Dim bLocGoOn as Boolean
Dim Firstdate as Date
Dim LastDate as Date
LastDate = CDateFromUNODate(StockRatesModel.txtEndDate.Date)
FirstDate = CDateFromUNODate(StockRatesModel.txtStartDate.Date)
bLocGoOn = FirstDate &lt;&gt; 0 And LastDate &lt;&gt; 0
If bLocGoOn Then
If FirstDate &gt;= LastDate Then
Msgbox(sMsgStartDatebeforeEndDate,16, sProductname)
bLocGoOn = False
End If
End If
CheckHistoryControls = bLocGoon
End Function
Sub InsertCompanyHistory()
Dim StockName as String
Dim CurRow as Integer
Dim sMsgInternetError as String
Dim CurRate as Double
Dim oCell as Object
Dim sStockID as String
Dim ChartSource as String
If CheckHistoryControls() Then
StartDate = CDateFromUNODate(StockRatesModel.txtStartDate.Date)
EndDate = CDateFromUNODate(StockRatesModel.txtEndDate.Date)
DlgStockRates.EndExecute()
If StockRatesModel.optDaily.State = 1 Then
sInterval = &quot;d&quot;
iStep = 1
ElseIf StockRatesModel.optWeekly.State = 1 Then
sInterval = &quot;w&quot;
iStep = 7
StartDate = StartDate - WeekDay(StartDate) + 2
EndDate = EndDate - WeekDay(EndDate) + 2
End If
iEndDay = Day(EndDate)
iEndMonth = Month(EndDate)
iEndYear = Year(EndDate)
iStartDay = Day(StartDate)
iStartMonth = Month(StartDate)
iStartYear = Year(StartDate)
&apos; oDocument.AddActionLock()
UnprotectSheets(oSheets)
InitializeStatusline(&quot;&quot;, 10, 1)
oBackGroundSheet = oSheets.GetbyName(&quot;Background&quot;)
StockName = DlgStockRates.GetControl(&quot;lstStockNames&quot;).GetSelectedItem()
CurRow = GetStockRowIndex(Stockname)
sStockID = oFirstSheet.GetCellByPosition(SBCOLUMNID1, CurRow).String
ChartSource = ReplaceString(HistoryChartSource, sStockID, &quot;&lt;StockID&gt;&quot;)
ChartSource = ReplaceString(ChartSource, iStartDay, &quot;&lt;StartDay&gt;&quot;)
ChartSource = ReplaceString(ChartSource, cStr(iStartMonth-1), &quot;&lt;StartMonth&gt;&quot;)
ChartSource = ReplaceString(ChartSource, iStartYear, &quot;&lt;StartYear&gt;&quot;)
ChartSource = ReplaceString(ChartSource, iEndDay, &quot;&lt;EndDay&gt;&quot;)
ChartSource = ReplaceString(ChartSource, cStr(iEndMonth-1), &quot;&lt;EndMonth&gt;&quot;)
ChartSource = ReplaceString(ChartSource, iEndYear, &quot;&lt;EndYear&gt;&quot;)
ChartSource = ReplaceString(ChartSource, sInterval, &quot;&lt;interval&gt;&quot;)
oStatusLine.SetValue(2)
If GetCurrentRate(ChartSource, CurRate, 1) Then
oStatusLine.SetValue(8)
UpdateValue(StockName, Today, CurRate)
oStatusLine.SetValue(9)
UpdateChart(StockName)
oStatusLine.SetValue(10)
Else
sMsgInternetError = Stockname &amp; &quot;: &quot; &amp; sNoInternetDataAvailable &amp; chr(13) &amp; sCheckInternetSettings
Msgbox(sMsgInternetError, 16, sProductname)
End If
ProtectSheets(oSheets)
oStatusLine.End
If oSheets.HasbyName(sNewSheetName) Then
oController.ActiveSheet = oSheets.GetByName(sNewSheetName)
End If
&apos; oDocument.RemoveActionLock()
End If
End Sub
Sub InternetUpdate()
Dim i as Integer
Dim StocksCount as Integer
Dim iStartRow as Integer
Dim sUrl as String
Dim StockName as String
Dim CurRate as Double
Dim oCell as Object
Dim sMsgInternetError as String
Dim sStockID as String
Dim ChartSource as String
&apos; oDocument.AddActionLock()
Initialize(True)
UnprotectSheets(oSheets)
StocksCount = GetStocksCount(iStartRow)
InitializeStatusline(&quot;&quot;, StocksCount + 1, 1)
Today = CDate(Date)
For i = iStartRow + 1 To iStartRow + StocksCount
StockName = oFirstSheet.GetCellbyPosition(SBCOLUMNNAME1, i).String
sStockID = oFirstSheet.GetCellByPosition(SBCOLUMNID1, i).String
ChartSource = ReplaceString(sCurChartSource, sStockID, &quot;&lt;StockID&gt;&quot;)
If GetCurrentRate(ChartSource, CurRate, 0) Then
InsertCurrentValue(CurRate, i, Now)
Else
sMsgInternetError = Stockname &amp; &quot;: &quot; &amp; sNoInternetDataAvailable &amp; chr(13) &amp; sCheckInternetSettings
Msgbox(sMsgInternetError, 16, sProductname)
End If
oStatusline.SetValue(i - iStartRow + 1)
Next
ProtectSheets(oSheets)
oStatusLine.End
&apos; oDocument.RemoveActionLock
End Sub
Function GetCurrentRate(sUrl as String, fValue As Double, iValueRow as Integer) as Boolean
Dim sFilter As String
Dim sOptions As String
Dim oLinkSheet As Object
Dim sDate as String
If oSheets.hasByName(&quot;Link&quot;) Then
oLinkSheet = oSheets.getByName(&quot;Link&quot;)
Else
oLinkSheet = oDocument.createInstance(&quot;com.sun.star.sheet.Spreadsheet&quot;)
oSheets.insertByName(&quot;Link&quot;, oLinkSheet)
oLinkSheet.IsVisible = False
End If
sFilter = &quot;Text - txt - csv (StarCalc)&quot;
sOptions = sCurSeparator &amp; &quot;,34,SYSTEM,1,1/10/2/10/3/10/4/10/5/10/6/10/7/10/8/10/9/10&quot;
oLinkSheet.LinkMode = com.sun.star.sheet.SheetLinkMode.NONE
oLinkSheet.link(sUrl, &quot;&quot;, sFilter, sOptions, 1 )
fValue = oLinkSheet.getCellByPosition(iValueCol, iValueRow).Value
If fValue = 0 Then
Dim sValue as String
sValue = oLinkSheet.getCellByPosition(1, iValueRow).String
sValue = ReplaceString(sValue, &quot;.&quot;,&quot;,&quot;)
fValue = Val(sValue)
End If
GetCurrentRate = fValue &lt;&gt; 0
End Function
Sub UpdateValue(ByVal sName As String, fDate As Double, fValue As Double )
Dim oSheet As Object
Dim iColumn As Long
Dim iRow As Long
Dim i as Long
Dim oCell As Object
Dim LastDate as Date
Dim bLeaveLoop as Boolean
Dim RemoveCount as Long
Dim iLastRow as Long
Dim iLastLinkRow as Long
Dim dDate as Date
Dim CurDate as Date
Dim oLinkSheet as Object
Dim StartIndex as Long
Dim iCellValue as Long
&apos; Insert Sheet with Company - Chart
sName = CheckNewSheetname(oSheets, sName)
If NOT oSheets.hasByName(sName) Then
oSheets.CopybyName(&quot;Background&quot;, sName, oSheets.Count)
oSheet = oSheets.getByName(sName)
iCurRow = SBSTARTROW
iMaxRow = iCurRow
oCell = oSheet.getCellByPosition(SBDATECOLUMN, iCurRow)
oCell.Value = fDate
End If
sNewSheetName = sName
oLinkSheet = oSheets.GetByName(&quot;Link&quot;)
oSheet = oSheets.getByName(sName)
iLastRow = GetLastUsedRow(oSheet)- 2
iLastLinkRow = GetLastUsedRow(oLinkSheet)
iCurRow = iLastRow
bLeaveLoop = False
RemoveCount = 0
&apos; Delete all Cells in Date Area
Do
oCell = oSheet.GetCellbyPosition(SBDATECOLUMN,iCurRow)
If oCell.CellStyle = sColumnHeader Then
bLeaveLoop = True
StartIndex = iCurRow
iCurRow = iCurRow + 1
Else
RemoveCount = RemoveCount + 1
iCurRow = iCurRow - 1
End If
Loop Until bLeaveLoop
If RemoveCount &gt; 1 Then
oSheet.Rows.RemoveByIndex(iCurRow, RemoveCount-1)
End If
For i = 1 To iLastLinkRow
oCell = oSheet.GetCellbyPosition(SBDATECOLUMN,iCurRow)
iCellValue = oLinkSheet.GetCellByPosition(0,i).Value
If iCellValue &gt; 0 Then
oCell.SetValue(oLinkSheet.GetCellByPosition(0,i).Value)
Else
oCell.SetValue(StringToDate(oLinkSheet.GetCellByPosition(0,i).String))
End If
oCell = oSheet.GetCellbyPosition(SBVALUECOLUMN,iCurRow)
oCell.SetValue(oLinkSheet.GetCellByPosition(4,i).Value)
If i &lt; iLastLinkRow Then
iCurRow = iCurRow + 1
oSheet.Rows.InsertByIndex(iCurRow,1)
End If
Next i
iMaxRow = iCurRow
End Sub
Function StringToDate(DateString as String) as Date
Dim ShortMonths(11)
Dim DateList() as String
Dim MaxIndex as Integer
Dim i as Integer
ShortMonths(0) = &quot;Jan&quot;
ShortMonths(1) = &quot;Feb&quot;
ShortMonths(2) = &quot;Mar&quot;
ShortMonths(3) = &quot;Apr&quot;
ShortMonths(4) = &quot;May&quot;
ShortMonths(5) = &quot;Jun&quot;
ShortMonths(6) = &quot;Jul&quot;
ShortMonths(7) = &quot;Aug&quot;
ShortMonths(8) = &quot;Sep&quot;
ShortMonths(9) = &quot;Oct&quot;
ShortMonths(10) = &quot;Nov&quot;
ShortMonths(11) = &quot;Dec&quot;
For i = 0 To 11
DateString = ReplaceString(DateString,CStr(i+1),ShortMonths(i))
Next i
DateString = ReplaceString(DateString, &quot;.&quot;, &quot;-&quot;)
StringToDate = CDate(DateString)
End Function
Sub UpdateChart(sName As String)
Dim oSheet As Object
Dim oCell As Object, oCursor As Object
Dim oChartRange As Object
Dim oEmbeddedChart As Object, oCharts As Object
Dim oChart As Object, oDiagram As Object
Dim oYAxis As Object, oXAxis As Object
Dim fMin As Double, fMax As Double
Dim nDateFormat As Long
Dim aPos As Variant
Dim aSize As Variant
Dim oContainerChart as Object
Dim mRangeAddresses(0) as New com.sun.star.table.CellRangeAddress
mRangeAddresses(0).Sheet = GetSheetIndex(oSheets, sNewSheetName)
mRangeAddresses(0).StartColumn = SBDATECOLUMN
mRangeAddresses(0).StartRow = SBSTARTROW-1
mRangeAddresses(0).EndColumn = SBVALUECOLUMN
mRangeAddresses(0).EndRow = iMaxRow
oSheet = oDocument.Sheets.getByName(sNewSheetName)
oCharts = oSheet.Charts
If Not oCharts.hasElements Then
oSheet.GetCellbyPosition(2,2).SetString(sName)
oChartRange = oSheet.getCellRangeByPosition(SBDATECOLUMN,6,5,SBSTARTROW-3)
aPos = oChartRange.Position
aSize = oChartRange.Size
Dim oRectangleShape As New com.sun.star.awt.Rectangle
oRectangleShape.X = aPos.X
oRectangleShape.Y = aPos.Y
oRectangleShape.Width = aSize.Width
oRectangleShape.Height = aSize.Height
oCharts.addNewByName(sName, oRectangleShape, mRangeAddresses(), True, False)
oContainerChart = oCharts.getByName(sName)
oChart = oContainerChart.EmbeddedObject
oChart.Title.String = &quot;&quot;
oChart.HasLegend = False
oChart.diagram = oChart.createInstance(&quot;com.sun.star.chart.XYDiagram&quot;)
oDiagram = oChart.Diagram
oDiagram.DataRowSource = com.sun.star.chart.ChartDataRowSource.COLUMNS
oChart.Area.LineStyle = com.sun.star.drawing.LineStyle.SOLID
oXAxis = oDiagram.XAxis
oXAxis.TextBreak = False
nDateFormat = oXAxis.NumberFormats.getStandardFormat(com.sun.star.util.NumberFormat.DATE, oDocLocale)
oYAxis = oDiagram.getYAxis()
oYAxis.AutoOrigin = True
Else
oChart = oCharts(0)
oChart.Ranges = mRangeAddresses()
oChart.HasRowHeaders = False
oEmbeddedChart = oChart.EmbeddedObject
oDiagram = oEmbeddedChart.Diagram
oXAxis = oDiagram.XAxis
End If
oXAxis.AutoStepMain = False
oXAxis.AutoStepHelp = False
oXAxis.StepMain = iStep
oXAxis.StepHelp = iStep
fMin = oSheet.getCellByPosition(SBDATECOLUMN,SBSTARTROW).Value
fMax = oSheet.getCellByPosition(SBDATECOLUMN,iMaxRow).Value
oXAxis.Min = fMin
oXAxis.Max = fMax
oXAxis.AutoMin = False
oXAxis.AutoMax = False
End Sub
Sub CalculateChartafterSplit(SheetName, NewNumber, OldNumber, NoteText, SplitDate)
Dim oSheet as Object
Dim i as Integer
Dim oValueCell as Object
Dim oDateCell as Object
Dim bLeaveLoop as Boolean
If oSheets.HasbyName(SheetName) Then
oSheet = oSheets.GetbyName(SheetName)
i = 0
bLeaveLoop = False
Do
oValueCell = oSheet.GetCellbyPosition(SBVALUECOLUMN, SBSTARTROW + i)
If oValueCell.CellStyle = CurrCellStyle Then
SplitCellValue(oSheet, OldNumber, NewNumber, SBVALUECOLUMN, SBSTARTROW + i, &quot;&quot;)
i = i + 1
Else
bLeaveLoop = True
End If
Loop Until bLeaveLoop
oDateCell = oSheet.GetCellbyPosition(SBDATECOLUMN, SBSTARTROW + i-1)
oDateCell.Annotation.SetString(NoteText)
End If
End Sub
</script:module>

View File

@@ -0,0 +1,175 @@
<?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="Lang_de" script:language="StarBasic">Option Explicit
Sub LoadGermanLanguage()
sProductname = GetProductname
sOK = &quot;~OK&quot;
sCancel = &quot;Abbrechen&quot;
sColumnHeader = &quot;Spaltenkopf&quot;
sInsertStockName = &quot;Bitte fügen Sie zunächst einige Aktien in Ihr Depot ein!&quot;
sTitle = &quot;&lt;PRODUCTNAME&gt;: Aktienverwaltung&quot;
sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
sMsgError = &quot;Eingabefehler&quot;
sMsgNoName = sInsertStockname
sMsgNoQuantity = &quot;Bitte geben Sie eine Stückzahl größer als 0 ein&quot;
sMsgNoDividend = &quot;Bitte geben Sie eine Dividende je Stück oder eine Gesamtdividende ein&quot;
sMsgNoExchangeRate = &quot;Bitte geben Sie eine korrekte Umtauschrate ein (alte Aktien -&gt; neue Aktien).&quot;
sMsgNoValidExchangeDate = &quot;Bitte geben Sie ein gültiges Datum für den Aktiensplitt ein.&quot;
sMsgWrongExchangeDate = &quot;Splitt nicht möglich, da bereits Transaktionen nach dem Splitt-Datum existieren.&quot;
sMsgSellTooMuch = &quot;So viele Aktien können Sie nicht verkaufen. Maximum: &quot;
sMsgConfirm = &quot;Bestätigung erforderlich&quot;
sMsgFreeStock = &quot;Beabsichtigen Sie die Eingabe von Gratisaktien?&quot;
sMsgTotalLoss = &quot;Beabsichtigen Sie die Eingabe eines Totalverlustes?&quot;
sMsgAuthorization = &quot;Sicherheitsabfrage&quot;
sMsgDeleteAll = &quot;Wollen Sie alle Bewegungen löschen und die Depotübersicht rücksetzen?&quot;
cSplit = &quot;Aktiensplitt am &quot;
sHistory = &quot;Historie&quot;
TransactTitle(1) = &quot;Aktien verkaufen&quot;
TransactTitle(2) = &quot;Aktien kaufen&quot;
StockRatesTitle(1) = &quot;Dividendenzahlung&quot;
StockRatesTitle(2) = &quot;Aktiensplitt&quot;
StockRatesTitle(3) = sHistory
sDepotCurrency = &quot;Depotwährung&quot;
sStockName = &quot;Aktienname&quot;
TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
DateCellStyle = &quot;Ergebnis Datum&quot;
CurrCellStyle = &quot;Ergebnis Euro mit Dezimalen&quot;
sStartDate = &quot;Startdatum:&quot;
sEndDate = &quot;Enddatum:&quot;
sStartUpWelcome = &quot;Diese Vorlage ermöglicht Ihnen eine effiziente Verwaltung Ihres Aktiendepots&quot;
sStartUpChooseMarket = &quot;Wählen Sie zunächst Ihre Referenz-Währung und damit den Börsenplatz für das Internet Update aus!&quot;
sStartUpHint = &quot;Leider steht Ihnen die &lt;History&gt;- Funktion nur für den amerikanischen Markt zur Verfügung!&quot;
sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
sNoInternetUpdate = &quot;ohne Internet Update&quot;
sMarketPlace = &quot;Börsenplatz:&quot;
sNoInternetDataAvailable = &quot;Internet-Kurse konnten nicht empfangen werden!&quot;
sCheckInternetSettings = &quot;Mögliche Ursachen sind: &lt;BR&gt; Ihre Internet Einstellungen müssen überprüft werden.&lt;BR&gt; Sie haben eine falsche Kennung (z.B. Symbol, WKN) für die Aktie eingegeben.&quot;
sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
sMsgEndDatebeforeNow = &quot;Das Enddatum muss vor dem heutigen Tag liegen!&quot;
sMsgStartDatebeforeEndDate = &quot;Das Startdatum muss vor dem Enddatum liegen!&quot;
sMarket(0,0) = &quot;Amerikanischer Dollar&quot;
sMarket(0,1) = &quot;$&quot;
sMarket(0,2) = &quot;New York&quot;
sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
&quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
&quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
sMarket(0,5) = &quot;Symbol&quot;
sMarket(0,6) = &quot;en&quot;
sMarket(0,7) = &quot;US&quot;
sMarket(0,8) = &quot;409&quot;
sMarket(0,9) = &quot;44&quot;
sMarket(0,10) = &quot;1&quot;
sMarket(1,0) = &quot;Euro&quot;
sMarket(1,1) = chr(8364)
sMarket(1,2) = &quot;Frankfurt&quot;
sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
sMarket(1,5) = &quot;WKN&quot;
sMarket(1,6) = &quot;de;nl;pt;el&quot;
sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
sMarket(1,8) = &quot;407;413;816;408&quot;
sMarket(1,9) = &quot;59/9&quot;
sMarket(1,10) = &quot;1&quot;
sMarket(2,0) = &quot;Englisches Pfund&quot;
sMarket(2,1) = &quot;£&quot;
sMarket(2,2) = &quot;London&quot;
sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
sMarket(2,5) = &quot;Symbol&quot;
sMarket(2,6) = &quot;en&quot;
sMarket(2,7) = &quot;GB&quot;
sMarket(2,8) = &quot;809&quot;
sMarket(2,9) = &quot;44&quot;
sMarket(2,10) = &quot;1&quot;
sMarket(3,0) = &quot;Japanischer Yen&quot;
sMarket(3,1) = &quot;¥&quot;
sMarket(3,2) = &quot;Tokyo&quot;
sMarket(3,3) = &quot;&quot;
sMarket(3,5) = &quot;Code&quot;
sMarket(3,6) = &quot;ja&quot;
sMarket(3,7) = &quot;JP&quot;
sMarket(3,8) = &quot;411&quot;
sMarket(3,9) = &quot;&quot;
sMarket(3,10) = &quot;&quot;
sMarket(4,0) = &quot;Hongkong Dollar&quot;
sMarket(4,1) = &quot;HK$&quot;
sMarket(4,2) = &quot;Hongkong&quot;
sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.HK&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(4,5) = &quot;Nummer&quot;
sMarket(4,6) = &quot;zh&quot;
sMarket(4,7) = &quot;HK&quot;
sMarket(4,8) = &quot;C04&quot;
sMarket(4,9) = &quot;44&quot;
sMarket(4,10) = &quot;1&quot;
sMarket(5,0) = &quot;Australischer Dollar&quot;
sMarket(5,1) = &quot;$&quot;
sMarket(5,2) = &quot;Sydney&quot;
sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(5,5) = &quot;Symbol&quot;
sMarket(5,6) = &quot;en&quot;
sMarket(5,7) = &quot;AU&quot;
sMarket(5,8) = &quot;C09&quot;
sMarket(5,9) = &quot;44&quot;
sMarket(5,10) = &quot;1&quot;
&apos; ****************************End of the default subset*********************************
CompleteMarketList()
LocalizedCurrencies()
With TransactModel
.lblStockNames.Label = sStockname
.lblQuantity.Label = &quot;Menge&quot;
.lblRate.Label = &quot;Kurs&quot;
.lblDate.Label = &quot;Transaktionsdatum&quot;
.hlnCommission.Label = &quot;Sonstige Ausgaben&quot;
.lblCommission.Label = &quot;Provision&quot;
.lblMinimum.Label = &quot;Mindestprovision&quot;
.lblFix.Label = &quot;Festbetrag/Spesen&quot;
.cmdGoOn.Label = sOK
.cmdCancel.Label = sCancel
End With
With StockRatesModel
.optPerShare.Label = &quot;Dividende/Aktie&quot;
.optTotal.Label = &quot;Dividende gesamt&quot;
.lblDividend.Label = &quot;Betrag&quot;
.lblExchangeRate.Label = &quot;Umtauschrate (alt-&gt;neu)&quot;
.lblColon.Label = &quot;:&quot;
.lblDate.Label = &quot;Umtauschdatum:&quot;
.lblStockNames.Label = sStockname
.lblStartDate.Label = sStartDate
.lblEndDate.Label = sEndDate
.optDaily.Label = &quot;~Täglich&quot;
.optWeekly.Label = &quot;~Wöchentlich&quot;
.hlnInterval.Label = &quot;Zeitraum&quot;
.cmdGoOn.Label = sOk
.cmdCancel.Label = sCancel
End With
End Sub
</script:module>

View File

@@ -0,0 +1,175 @@
<?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="Lang_en" script:language="StarBasic">Option Explicit
Sub LoadEnglishLanguage()
sProductname = GetProductname
sOK = &quot;~OK&quot;
sCancel = &quot;Cancel&quot;
sColumnHeader = &quot;Column Header&quot;
sInsertStockName = &quot;Please enter shares in your portfolio.&quot;
sTitle = &quot;&lt;PRODUCTNAME&gt;: Stocks Manager&quot;
sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
sMsgError = &quot;Input Error&quot;
sMsgNoName = sInsertStockname
sMsgNoQuantity = &quot;Please enter a quantity larger than 0&quot;
sMsgNoDividend = &quot;Please enter the dividend per share or the total dividend&quot;
sMsgNoExchangeRate = &quot;Please enter the correct exchange rate (old shares -&gt; new shares)&quot;
sMsgNoValidExchangeDate = &quot;Please enter a valid date for the split.&quot;
sMsgWrongExchangeDate = &quot;Splitting not possible, as transactions already exist after the split date.&quot;
sMsgSellTooMuch = &quot;You cannot sell that many shares. Maximum: &quot;
sMsgConfirm = &quot;Confirmation Required&quot;
sMsgFreeStock = &quot;Do you intend to enter free shares?&quot;
sMsgTotalLoss = &quot;Do you intend to enter a total loss?&quot;
sMsgAuthorization = &quot;Security Query&quot;
sMsgDeleteAll = &quot;Do you want to delete all movements and reset the portfolio overview?&quot;
cSplit = &quot;Stock split on &quot;
sHistory = &quot;History&quot;
TransactTitle(1) = &quot;StarOffice Stocks Manager: Selling Shares&quot;
TransactTitle(2) = &quot;StarOffice Stocks Manager: Buying Shares&quot;
StockRatesTitle(1) = &quot;StarOffice Stocks Manager: Dividend Payment&quot;
StockRatesTitle(2) = &quot;Stock Split&quot;
StockRatesTitle(3) = sHistory
sDepotCurrency = &quot;Portfolio Currency&quot;
sStockName = &quot;Name of Stock&quot;
TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
DateCellStyle = &quot;Result Date&quot;
CurrCellStyle = &quot;1&quot;
sStartDate = &quot;Start date:&quot;
sEndDate = &quot;End date:&quot;
sStartUpWelcome = &quot;This template enables you to manage your stock portfolio efficiently.&quot;
sStartUpChooseMarket = &quot;First, select your reference currency and thus the stock exchange for the Internet update.&quot;
sStartUpHint = &quot;Unfortunately, the only &lt;History&gt; function available to you is that for the American market.&quot;
sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
sNoInternetUpdate = &quot;without Internet update&quot;
sMarketPlace = &quot;Stock exchange:&quot;
sNoInternetDataAvailable = &quot;No prices could be received from the Internet!&quot;
sCheckInternetSettings = &quot;Possible causes could be: &lt;BR&gt;Your Internet settings have to be modified. &lt;BR&gt;The Symbol (e.g. Code, Ticker Symbol) entered for the stock was incorrect.&quot;
sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
sMsgEndDatebeforeNow = &quot;The end date has to be before today&apos;s date.&quot;
sMsgStartDatebeforeEndDate = &quot;The start date has to be before the end date.&quot;
sMarket(0,0) = &quot;American Dollar&quot;
sMarket(0,1) = &quot;$&quot;
sMarket(0,2) = &quot;New York&quot;
sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
&quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
&quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
sMarket(0,5) = &quot;Symbol&quot;
sMarket(0,6) = &quot;en&quot;
sMarket(0,7) = &quot;US&quot;
sMarket(0,8) = &quot;409&quot;
sMarket(0,9) = &quot;44&quot;
sMarket(0,10) = &quot;1&quot;
sMarket(1,0) = &quot;Euro&quot;
sMarket(1,1) = chr(8364)
sMarket(1,2) = &quot;Frankfurt&quot;
sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
sMarket(1,5) = &quot;Ticker Symbol&quot;
sMarket(1,6) = &quot;de;nl;pt;el&quot;
sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
sMarket(1,8) = &quot;407;413;816;408&quot;
sMarket(1,9) = &quot;59/9&quot;
sMarket(1,10) = &quot;1&quot;
sMarket(2,0) = &quot;British Pound&quot;
sMarket(2,1) = &quot;£&quot;
sMarket(2,2) = &quot;London&quot;
sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
sMarket(2,5) = &quot;Symbol&quot;
sMarket(2,6) = &quot;en&quot;
sMarket(2,7) = &quot;GB&quot;
sMarket(2,8) = &quot;809&quot;
sMarket(2,9) = &quot;44&quot;
sMarket(2,10) = &quot;1&quot;
sMarket(3,0) = &quot;Japanese Yen&quot;
sMarket(3,1) = &quot;¥&quot;
sMarket(3,2) = &quot;Tokyo&quot;
sMarket(3,3) = &quot;&quot;
sMarket(3,5) = &quot;Code&quot;
sMarket(3,6) = &quot;ja&quot;
sMarket(3,7) = &quot;JP&quot;
sMarket(3,8) = &quot;411&quot;
sMarket(3,9) = &quot;&quot;
sMarket(3,10) = &quot;&quot;
sMarket(4,0) = &quot;Hong Kong Dollar&quot;
sMarket(4,1) = &quot;HK$&quot;
sMarket(4,2) = &quot;Hong Kong&quot;
sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(4,5) = &quot;Number&quot;
sMarket(4,6) = &quot;zh&quot;
sMarket(4,7) = &quot;HK&quot;
sMarket(4,8) = &quot;C04&quot;
sMarket(4,9) = &quot;44&quot;
sMarket(4,10) = &quot;1&quot;
sMarket(5,0) = &quot;Australian Dollar&quot;
sMarket(5,1) = &quot;$&quot;
sMarket(5,2) = &quot;Sydney&quot;
sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(5,5) = &quot;Symbol&quot;
sMarket(5,6) = &quot;en&quot;
sMarket(5,7) = &quot;AU&quot;
sMarket(5,8) = &quot;C09&quot;
sMarket(5,9) = &quot;44&quot;
sMarket(5,10) = &quot;1&quot;
&apos; ****************************End of the default subset*********************************
CompleteMarketList()
LocalizedCurrencies()
With TransactModel
.lblStockNames.Label = sStockname
.lblQuantity.Label = &quot;Quantity&quot;
.lblRate.Label = &quot;Price&quot;
.lblDate.Label = &quot;Transaction Date&quot;
.hlnCommission.Label = &quot;Other expenditures&quot;
.lblCommission.Label = &quot;Commission&quot;
.lblMinimum.Label = &quot;Min. Commission&quot;
.lblFix.Label = &quot;Fixed Costs/Charges&quot;
.cmdGoOn.Label = sOK
.cmdCancel.Label = sCancel
End With
With StockRatesModel
.optPerShare.Label = &quot;Dividends/Stocks&quot;
.optTotal.Label = &quot;Total Dividends&quot;
.lblDividend.Label = &quot;Amount&quot;
.lblExchangeRate.Label = &quot;Exchange Rate (old-&gt;new)&quot;
.lblColon.Label = &quot;:&quot;
.lblDate.Label = &quot;Exchange Date:&quot;
.lblStockNames.Label = sStockname
.lblStartDate.Label = sStartDate
.lblEndDate.Label = sEndDate
.optDaily.Label = &quot;~Daily&quot;
.optWeekly.Label = &quot;~Weekly&quot;
.hlnInterval.Label = &quot;Time period&quot;
.cmdGoOn.Label = sOk
.cmdCancel.Label = sCancel
End With
End Sub
</script:module>

View File

@@ -0,0 +1,175 @@
<?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="Lang_es" script:language="StarBasic">Option Explicit
Sub LoadSpanishLanguage()
sProductname = GetProductname
sOK = &quot;~Aceptar&quot;
sCancel = &quot;Cancelar&quot;
sColumnHeader = &quot;Título de columna&quot;
sInsertStockName = &quot;Introduzca primero algunas acciones en su depósito.&quot;
sTitle = &quot;&lt;PRODUCTNAME&gt;: Administración de acciones&quot;
sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
sMsgError = &quot;Error de entrada&quot;
sMsgNoName = sInsertStockname
sMsgNoQuantity = &quot;Indique una cantidad mayor que 0&quot;
sMsgNoDividend = &quot;Indique un dividendo por unidad o un dividendo total&quot;
sMsgNoExchangeRate = &quot;Indique aquí un cambio correcto (acción vieja -&gt; nueva acción)&quot;
sMsgNoValidExchangeDate = &quot;Indique una fecha correcta para el fraccionamiento de la acción.&quot;
sMsgWrongExchangeDate = &quot;El fraccionamiento no es posible porque existen transacciones después de la fecha de fraccionamiento.&quot;
sMsgSellTooMuch = &quot;No puede vender tantas acciones. Como máximo: &quot;
sMsgConfirm = &quot;Confirmación necesaria&quot;
sMsgFreeStock = &quot;¿Tiene previsto considerar acciones gratis?&quot;
sMsgTotalLoss = &quot;¿Tiene previsto introducir una pérdida total?&quot;
sMsgAuthorization = &quot;Pregunta de seguridad&quot;
sMsgDeleteAll = &quot;¿Desea borrar todos los movimientos y reiniciar el balance de depósito?&quot;
cSplit = &quot;Fraccionamiento el &quot;
sHistory = &quot;Historia&quot;
TransactTitle(1) = &quot;Vender acciones&quot;
TransactTitle(2) = &quot;Comprar acciones&quot;
StockRatesTitle(1) = &quot;Pago de dividendos&quot;
StockRatesTitle(2) = &quot;Fraccionamiento&quot;
StockRatesTitle(3) = sHistory
sDepotCurrency = &quot;Moneda del depósito&quot;
sStockName = &quot;Nombre de la acción&quot;
TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
DateCellStyle = &quot;Resultado Fecha&quot;
CurrCellStyle = &quot;1&quot;
sStartDate = &quot;Fecha de inicio:&quot;
sEndDate = &quot;Fecha final:&quot;
sStartUpWelcome = &quot;Esta plantilla le permite administrar eficientemente su depósito de acciones&quot;
sStartUpChooseMarket = &quot;Seleccione primero la moneda de referencia y la plaza bursátil para la actualización a través de Internet.&quot;
sStartUpHint = &quot;La función &lt;History&gt; está disponible únicamente para el mercado americano.&quot;
sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
sNoInternetUpdate = &quot;Sin actualización por Internet&quot;
sMarketPlace = &quot;Plaza bursátil:&quot;
sNoInternetDataAvailable = &quot;No se pudieron recibir las cotizaciones por Internet.&quot;
sCheckInternetSettings = &quot;Causas posibles: &lt;BR&gt; Debe comprobar la configuración de Internet.&lt;BR&gt; Ha indicado un código incorrecto (p.ej. número, símbolo, etc.) para la acción.&quot;
sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
sMsgEndDatebeforeNow = &quot;La fecha final debe ser anterior a la fecha de hoy.&quot;
sMsgStartDatebeforeEndDate = &quot;La fecha inicial debe ser anterior a la fecha final.&quot;
sMarket(0,0) = &quot;Dólar estadounidense&quot;
sMarket(0,1) = &quot;$&quot;
sMarket(0,2) = &quot;Nueva York&quot;
sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
&quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
&quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
sMarket(0,5) = &quot;Símbolo&quot;
sMarket(0,6) = &quot;en&quot;
sMarket(0,7) = &quot;US&quot;
sMarket(0,8) = &quot;409&quot;
sMarket(0,9) = &quot;44&quot;
sMarket(0,10) = &quot;1&quot;
sMarket(1,0) = &quot;Euro&quot;
sMarket(1,1) = chr(8364)
sMarket(1,2) = &quot;Frankfurt&quot;
sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
sMarket(1,5) = &quot;Código&quot;
sMarket(1,6) = &quot;de;nl;pt;el&quot;
sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
sMarket(1,8) = &quot;407;413;816;408&quot;
sMarket(1,9) = &quot;59/9&quot;
sMarket(1,10) = &quot;1&quot;
sMarket(2,0) = &quot;Libra esterlina&quot;
sMarket(2,1) = &quot;£&quot;
sMarket(2,2) = &quot;Londres&quot;
sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
sMarket(2,5) = &quot;Símbolo&quot;
sMarket(2,6) = &quot;en&quot;
sMarket(2,7) = &quot;GB&quot;
sMarket(2,8) = &quot;809&quot;
sMarket(2,9) = &quot;44&quot;
sMarket(2,10) = &quot;1&quot;
sMarket(3,0) = &quot;Yen japonés&quot;
sMarket(3,1) = &quot;¥&quot;
sMarket(3,2) = &quot;Tokio&quot;
sMarket(3,3) = &quot;&quot;
sMarket(3,5) = &quot;Código&quot;
sMarket(3,6) = &quot;ja&quot;
sMarket(3,7) = &quot;JP&quot;
sMarket(3,8) = &quot;411&quot;
sMarket(3,9) = &quot;&quot;
sMarket(3,10) = &quot;&quot;
sMarket(4,0) = &quot;Dólar hongkonés&quot;
sMarket(4,1) = &quot;HK$&quot;
sMarket(4,2) = &quot;Hong Kong&quot;
sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.HK&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(4,5) = &quot;Número&quot;
sMarket(4,6) = &quot;zh&quot;
sMarket(4,7) = &quot;HK&quot;
sMarket(4,8) = &quot;C04&quot;
sMarket(4,9) = &quot;44&quot;
sMarket(4,10) = &quot;1&quot;
sMarket(5,0) = &quot;Dólar australiano&quot;
sMarket(5,1) = &quot;$&quot;
sMarket(5,2) = &quot;Sidney&quot;
sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(5,5) = &quot;Símbolo&quot;
sMarket(5,6) = &quot;en&quot;
sMarket(5,7) = &quot;AU&quot;
sMarket(5,8) = &quot;C09&quot;
sMarket(5,9) = &quot;44&quot;
sMarket(5,10) = &quot;1&quot;
&apos; ****************************End of the default subset*********************************
CompleteMarketList()
LocalizedCurrencies()
With TransactModel
.lblStockNames.Label = sStockname
.lblQuantity.Label = &quot;Cantidad&quot;
.lblRate.Label = &quot;Cotización&quot;
.lblDate.Label = &quot;Fecha de operación&quot;
.hlnCommission.Label = &quot;Otros gastos&quot;
.lblCommission.Label = &quot;Provisión&quot;
.lblMinimum.Label = &quot;Provisión mínima&quot;
.lblFix.Label = &quot;Cantidad fija/comisión&quot;
.cmdGoOn.Label = sOK
.cmdCancel.Label = sCancel
End With
With StockRatesModel
.optPerShare.Label = &quot;Dividendos/Acción&quot;
.optTotal.Label = &quot;Dividendos totales&quot;
.lblDividend.Label = &quot;Importe&quot;
.lblExchangeRate.Label = &quot;Cambio (vieja-&gt;nueva)&quot;
.lblColon.Label = &quot;:&quot;
.lblDate.Label = &quot;Fecha de cambio:&quot;
.lblStockNames.Label = sStockname
.lblStartDate.Label = sStartDate
.lblEndDate.Label = sEndDate
.optDaily.Label = &quot;~Diario&quot;
.optWeekly.Label = &quot;~Semanal&quot;
.hlnInterval.Label = &quot;Periodo&quot;
.cmdGoOn.Label = sOk
.cmdCancel.Label = sCancel
End With
End Sub
</script:module>

View File

@@ -0,0 +1,175 @@
<?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="Lang_fr" script:language="StarBasic">Option Explicit
Sub LoadFrenchLanguage()
sProductname = GetProductname
sOK = &quot;~OK&quot;
sCancel = &quot;Annuler&quot;
sColumnHeader = &quot;En-tête de colonne&quot;
sInsertStockName = &quot;Saisissez quelques actions dans votre portefeuille !&quot;
sTitle = &quot;&lt;PRODUCTNAME&gt; : Gestion d&apos;actions&quot;
sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
sMsgError = &quot;Erreur de saisie&quot;
sMsgNoName = sInsertStockname
sMsgNoQuantity = &quot;Saisissez une quantité supérieure à 0 !&quot;
sMsgNoDividend = &quot;Vous devez saisir le montant des dividendes perçus (soit les dividendes par action, soit la somme totale perçue).&quot;
sMsgNoExchangeRate = &quot;Saisissez un taux correct de conversion (anciennes actions -&gt; nouvelles actions).&quot;
sMsgNoValidExchangeDate = &quot;Saisissez une date correcte pour le split d&apos;action.&quot;
sMsgWrongExchangeDate = &quot;Split impossible car il y a déjà eu des transactions après la date du split !&quot;
sMsgSellTooMuch = &quot;Impossible de vendre autant d&apos;actions ! Maximum : &quot;
sMsgConfirm = &quot;Confirmation required&quot;
sMsgFreeStock = &quot;S&apos;agit-il d&apos;actions gratuites ?&quot;
sMsgTotalLoss = &quot;Prévoyez-vous une perte totale ?&quot;
sMsgAuthorization = &quot;Requête de sécurité&quot;
sMsgDeleteAll = &quot;Voulez-vous supprimer tous les mouvements et remettre le portefeuille d&apos;actions à zéro ?&quot;
cSplit = &quot;Split d&apos;action le &quot;
sHistory = &quot;Historique&quot;
TransactTitle(1) = &quot;Vente d&apos;actions&quot;
TransactTitle(2) = &quot;Achat d&apos;actions&quot;
StockRatesTitle(1) = &quot;Versement des dividendes&quot;
StockRatesTitle(2) = &quot;Split d&apos;action&quot;
StockRatesTitle(3) = sHistory
sDepotCurrency = &quot;Monnaie du portefeuille&quot;
sStockName = &quot;Nom de l&apos;action&quot;
TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
DateCellStyle = &quot;Résultat date&quot;
CurrCellStyle = &quot;1&quot;
sStartDate = &quot;Date de début :&quot;
sEndDate = &quot;Date de fin :&quot;
sStartUpWelcome = &quot;Utilisez ce modèle pour une gestion efficiente de votre portefeuille d&apos;actions !&quot;
sStartUpChooseMarket = &quot;Commencez par choisir une monnaie de référence et ainsi la place boursière pour la mise à jour Internet !&quot;
sStartUpHint = &quot;La fonction &lt;History&gt; n&apos;est cependant disponible que pour le marché américain.&quot;
sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
sNoInternetUpdate = &quot;Sans mise à jour Internet&quot;
sMarketPlace = &quot;Place boursière :&quot;
sNoInternetDataAvailable = &quot;Réception des cours Internet impossible !&quot;
sCheckInternetSettings = &quot;Causes possibles : &lt;BR&gt; Problème de paramétrage Internet : vérifiez les paramètres !&lt;BR&gt; Vous avez saisi un identificateur (par ex. symbole ou code) incorrect pour l&apos;action.&quot;
sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
sMsgEndDatebeforeNow = &quot;La date spécifiée pour la fin doit précéder celle de ce jour !&quot;
sMsgStartDatebeforeEndDate = &quot;La date spécifiée pour le début doit succéder à celle de ce jour !&quot;
sMarket(0,0) = &quot;Dollar Américain&quot;
sMarket(0,1) = &quot;$&quot;
sMarket(0,2) = &quot;New York&quot;
sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
&quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
&quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
sMarket(0,5) = &quot;Symbole&quot;
sMarket(0,6) = &quot;en&quot;
sMarket(0,7) = &quot;US&quot;
sMarket(0,8) = &quot;409&quot;
sMarket(0,9) = &quot;44&quot;
sMarket(0,10) = &quot;1&quot;
sMarket(1,0) = &quot;Euro&quot;
sMarket(1,1) = chr(8364)
sMarket(1,2) = &quot;Francfort&quot;
sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
sMarket(1,5) = &quot;Code&quot;
sMarket(1,6) = &quot;de;nl;pt;el&quot;
sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
sMarket(1,8) = &quot;407;413;816;408&quot;
sMarket(1,9) = &quot;59/9&quot;
sMarket(1,10) = &quot;1&quot;
sMarket(2,0) = &quot;Livre Sterling&quot;
sMarket(2,1) = &quot;£&quot;
sMarket(2,2) = &quot;Londres&quot;
sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
sMarket(2,5) = &quot;Symbole&quot;
sMarket(2,6) = &quot;en&quot;
sMarket(2,7) = &quot;GB&quot;
sMarket(2,8) = &quot;809&quot;
sMarket(2,9) = &quot;44&quot;
sMarket(2,10) = &quot;1&quot;
sMarket(3,0) = &quot;Yen Japonais&quot;
sMarket(3,1) = &quot;¥&quot;
sMarket(3,2) = &quot;Tokyo&quot;
sMarket(3,3) = &quot;&quot;
sMarket(3,5) = &quot;Code&quot;
sMarket(3,6) = &quot;ja&quot;
sMarket(3,7) = &quot;JP&quot;
sMarket(3,8) = &quot;411&quot;
sMarket(3,9) = &quot;&quot;
sMarket(3,10) = &quot;&quot;
sMarket(4,0) = &quot;Dollar de Hong Kong&quot;
sMarket(4,1) = &quot;HK$&quot;
sMarket(4,2) = &quot;Hong Kong&quot;
sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(4,5) = &quot;Numéro&quot;
sMarket(4,6) = &quot;zh&quot;
sMarket(4,7) = &quot;HK&quot;
sMarket(4,8) = &quot;C04&quot;
sMarket(4,9) = &quot;44&quot;
sMarket(4,10) = &quot;1&quot;
sMarket(5,0) = &quot;Dollar Australien&quot;
sMarket(5,1) = &quot;$&quot;
sMarket(5,2) = &quot;Sydney&quot;
sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(5,5) = &quot;Symbole&quot;
sMarket(5,6) = &quot;en&quot;
sMarket(5,7) = &quot;AU&quot;
sMarket(5,8) = &quot;C09&quot;
sMarket(5,9) = &quot;44&quot;
sMarket(5,10) = &quot;1&quot;
&apos; ****************************End of the default subset*********************************
CompleteMarketList()
LocalizedCurrencies()
With TransactModel
.lblStockNames.Label = sStockname
.lblQuantity.Label = &quot;Quantité&quot;
.lblRate.Label = &quot;Cours&quot;
.lblDate.Label = &quot;Date de transaction&quot;
.hlnCommission.Label = &quot;Dépenses diverses&quot;
.lblCommission.Label = &quot;Commission&quot;
.lblMinimum.Label = &quot;Commission minimale&quot;
.lblFix.Label = &quot;Montant fixe/frais&quot;
.cmdGoOn.Label = sOK
.cmdCancel.Label = sCancel
End With
With StockRatesModel
.optPerShare.Label = &quot;Dividende/action&quot;
.optTotal.Label = &quot;Dividende total&quot;
.lblDividend.Label = &quot;Montant&quot;
.lblExchangeRate.Label = &quot;Taux de conversion (ancien-&gt;nouveau)&quot;
.lblColon.Label = &quot;:&quot;
.lblDate.Label = &quot;Date de la conversion:&quot;
.lblStockNames.Label = sStockname
.lblStartDate.Label = sStartDate
.lblEndDate.Label = sEndDate
.optDaily.Label = &quot;~Quotidien&quot;
.optWeekly.Label = &quot;~Hebdomadaire&quot;
.hlnInterval.Label = &quot;Période&quot;
.cmdGoOn.Label = sOk
.cmdCancel.Label = sCancel
End With
End Sub
</script:module>

View File

@@ -0,0 +1,175 @@
<?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="Lang_it" script:language="StarBasic">Option Explicit
Sub LoadItalianLanguage()
sProductname = GetProductname
sOK = &quot;~OK&quot;
sCancel = &quot;Annulla&quot;
sColumnHeader = &quot;Intestazione colonna&quot;
sInsertStockName = &quot;Inserite un nome di azioni&quot;
sTitle = &quot;&lt;PRODUCTNAME&gt;: Gestione delle azioni&quot;
sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
sMsgError = &quot;Errore dati immessi&quot;
sMsgNoName = sInsertStockname
sMsgNoQuantity = &quot;Inserite il numero delle azioni&quot;
sMsgNoDividend = &quot;Inserite un dividendo a unità oppure un dividendo totale&quot;
sMsgNoExchangeRate = &quot;Indicate un corretto tasso di cambio (vecchie azioni -&gt; nuove azioni).&quot;
sMsgNoValidExchangeDate = &quot;Indicate la data di frazionamento delle azioni.&quot;
sMsgWrongExchangeDate = &quot;Il frazionamento non è possibile perché sono ancora in atto transazioni dopo la data indicata.&quot;
sMsgSellTooMuch = &quot;Non potete vendere così tante azioni. Massimo: &quot;
sMsgConfirm = &quot;È necessaria una conferma&quot;
sMsgFreeStock = &quot;Confermate la digitazione di azioni gratuite?&quot;
sMsgTotalLoss = &quot;Confermate la digitazione di perdita totale?&quot;
sMsgAuthorization = &quot;Domanda di sicurezza&quot;
sMsgDeleteAll = &quot;Eliminare tutti i movimenti e ripristinare la panoramica dei depositi?&quot;
cSplit = &quot;Frazionamento delle azioni il: &quot;
sHistory = &quot;Cronologia&quot;
TransactTitle(1) = &quot;Vendita di azioni&quot;
TransactTitle(2) = &quot;Acquisto di azioni&quot;
StockRatesTitle(1) = &quot;Pagamento dei dividendi&quot;
StockRatesTitle(2) = &quot;Frazionamento azioni&quot;
StockRatesTitle(3) = sHistory
sDepotCurrency = &quot;Valuta deposito&quot;
sStockName = &quot;Nome delle azioni&quot;
TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
DateCellStyle = &quot;Risultato data&quot;
CurrCellStyle = &quot;1&quot;
sStartDate = &quot;Data d&apos;inizio:&quot;
sEndDate = &quot;Data finale:&quot;
sStartUpWelcome = &quot;Questo modello vi permette una gestione efficace delle vostre azioni.&quot;
sStartUpChooseMarket = &quot;Selezionate la valuta di riferimento e la Borsa per il collegamento Internet.&quot;
sStartUpHint = &quot;La funzione &lt;History&gt; è disponibile solo per il mercato americano.&quot;
sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
sNoInternetUpdate = &quot;Senza aggiornamento Internet&quot;
sMarketPlace = &quot;Borsa:&quot;
sNoInternetDataAvailable = &quot;Impossibile ricevere le quotazioni Internet&quot;
sCheckInternetSettings = &quot;Possibili cause: &lt;BR&gt; le impostazioni Internet devono essere modificate.&lt;BR&gt; Avete indicato un indice (ad es. simbolo o codice) errato per le azioni.&quot;
sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
sMsgEndDatebeforeNow = &quot;La data finale dev&apos;essere anteriore alla data odierna.&quot;
sMsgStartDatebeforeEndDate = &quot;La data d&apos;inizio deve precedere la data finale.&quot;
sMarket(0,0) = &quot;Dollaro USA&quot;
sMarket(0,1) = &quot;$&quot;
sMarket(0,2) = &quot;New York&quot;
sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
&quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
&quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
sMarket(0,5) = &quot;Simbolo&quot;
sMarket(0,6) = &quot;en&quot;
sMarket(0,7) = &quot;US&quot;
sMarket(0,8) = &quot;409&quot;
sMarket(0,9) = &quot;44&quot;
sMarket(0,10) = &quot;1&quot;
sMarket(1,0) = &quot;Euro&quot;
sMarket(1,1) = chr(8364)
sMarket(1,2) = &quot;Francoforte&quot;
sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
sMarket(1,5) = &quot;Numero identificazione titoli&quot;
sMarket(1,6) = &quot;de;nl;pt;el&quot;
sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
sMarket(1,8) = &quot;407;413;816;408&quot;
sMarket(1,9) = &quot;59/9&quot;
sMarket(1,10) = &quot;1&quot;
sMarket(2,0) = &quot;Sterlina inglese&quot;
sMarket(2,1) = &quot;£&quot;
sMarket(2,2) = &quot;Londra&quot;
sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
sMarket(2,5) = &quot;Simbolo&quot;
sMarket(2,6) = &quot;en&quot;
sMarket(2,7) = &quot;GB&quot;
sMarket(2,8) = &quot;809&quot;
sMarket(2,9) = &quot;44&quot;
sMarket(2,10) = &quot;1&quot;
sMarket(3,0) = &quot;Yen&quot;
sMarket(3,1) = &quot;¥&quot;
sMarket(3,2) = &quot;Tokyo&quot;
sMarket(3,3) = &quot;&quot;
sMarket(3,5) = &quot;Codice&quot;
sMarket(3,6) = &quot;ja&quot;
sMarket(3,7) = &quot;JP&quot;
sMarket(3,8) = &quot;411&quot;
sMarket(3,9) = &quot;&quot;
sMarket(3,10) = &quot;&quot;
sMarket(4,0) = &quot;Dollaro Hong Kong&quot;
sMarket(4,1) = &quot;HK$&quot;
sMarket(4,2) = &quot;Hong Kong&quot;
sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(4,5) = &quot;Numero&quot;
sMarket(4,6) = &quot;zh&quot;
sMarket(4,7) = &quot;HK&quot;
sMarket(4,8) = &quot;C04&quot;
sMarket(4,9) = &quot;44&quot;
sMarket(4,10) = &quot;1&quot;
sMarket(5,0) = &quot;Dollaro australiano&quot;
sMarket(5,1) = &quot;$&quot;
sMarket(5,2) = &quot;Sydney&quot;
sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(5,5) = &quot;Simbolo&quot;
sMarket(5,6) = &quot;en&quot;
sMarket(5,7) = &quot;AU&quot;
sMarket(5,8) = &quot;C09&quot;
sMarket(5,9) = &quot;44&quot;
sMarket(5,10) = &quot;1&quot;
&apos; ****************************End of the default subset*********************************
CompleteMarketList()
LocalizedCurrencies()
With TransactModel
.lblStockNames.Label = sStockname
.lblQuantity.Label = &quot;Quantità&quot;
.lblRate.Label = &quot;Quotazione&quot;
.lblDate.Label = &quot;Data della transazione&quot;
.hlnCommission.Label = &quot;Spese extra&quot;
.lblCommission.Label = &quot;Commissioni&quot;
.lblMinimum.Label = &quot;Commissione minima&quot;
.lblFix.Label = &quot;Importo fisso/Spese&quot;
.cmdGoOn.Label = sOK
.cmdCancel.Label = sCancel
End With
With StockRatesModel
.optPerShare.Label = &quot;Dividendo/Azione&quot;
.optTotal.Label = &quot;Dividendo totale&quot;
.lblDividend.Label = &quot;Importo&quot;
.lblExchangeRate.Label = &quot;Tasso di cambio (vecchio-&gt;nuovo)&quot;
.lblColon.Label = &quot;:&quot;
.lblDate.Label = &quot;Data di cambio:&quot;
.lblStockNames.Label = sStockname
.lblStartDate.Label = sStartDate
.lblEndDate.Label = sEndDate
.optDaily.Label = &quot;~Giornaliero&quot;
.optWeekly.Label = &quot;~Settimanale&quot;
.hlnInterval.Label = &quot;Durata&quot;
.cmdGoOn.Label = sOk
.cmdCancel.Label = sCancel
End With
End Sub
</script:module>

View File

@@ -0,0 +1,175 @@
<?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="Lang_ja" script:language="StarBasic">Option Explicit
Sub LoadJapaneseLanguage()
sProductname = GetProductname
sOK = &quot;~OK&quot;
sCancel = &quot;キャンセル&quot;
sColumnHeader = &quot;列番号&quot;
sInsertStockName = &quot;最初に株の銘柄を入力してください。&quot;
sTitle = &quot;&lt;PRODUCTNAME&gt;: 株管理&quot;
sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
sMsgError = &quot;入力フィールド&quot;
sMsgNoName = sInsertStockname
sMsgNoQuantity = &quot;0 より大きな額を入力してください。&quot;
sMsgNoDividend = &quot;1株当たりの配当金額または総配当金額を入力してください。&quot;
sMsgNoExchangeRate = &quot;交換比率(旧株-&gt;新株)を入力してください。&quot;
sMsgNoValidExchangeDate = &quot;株式分割日を入力してください。&quot;
sMsgWrongExchangeDate = &quot;分割日以降に取引がすでに存在するので、分割できません。&quot;
sMsgSellTooMuch = &quot;売却できる株式数を超えています。最大値: &quot;
sMsgConfirm = &quot;ご確認ください&quot;
sMsgFreeStock = &quot;無料株式を入力しますか?&quot;
sMsgTotalLoss = &quot;全損の入力を行いますか?&quot;
sMsgAuthorization = &quot;確認ダイアログ&quot;
sMsgDeleteAll = &quot;すべての移動を取り消し、ポートフォリオの概要をリセットしますか?&quot;
cSplit = &quot;株式分割日 &quot;
sHistory = &quot;履歴&quot;
TransactTitle(1) = &quot;株を買う&quot;
TransactTitle(2) = &quot;株を買う&quot;
StockRatesTitle(1) = &quot;配当額&quot;
StockRatesTitle(2) = &quot;株式分割&quot;
StockRatesTitle(3) = sHistory
sDepotCurrency = &quot;ポートフォリオの通貨&quot;
sStockName = &quot;株式名&quot;
TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
DateCellStyle = &quot;結果(日付)&quot;
CurrCellStyle = &quot;1&quot;
sStartDate = &quot;開始日:&quot;
sEndDate = &quot;終了日:&quot;
sStartUpWelcome = &quot;このテンプレートを使えば、株式のポートフォリオをより効率的に管理できます。&quot;
sStartUpChooseMarket = &quot;まず、インターネットにより情報を更新する基準通貨と、対応する証券取引所を選択します。&quot;
sStartUpHint = &quot;残念ながら、&lt;History&gt; 機能を使用できるのは米国市場に限られています。&quot;
sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
sNoInternetUpdate = &quot;インターネットによる情報の更新を行いません&quot;
sMarketPlace = &quot;証券取引所:&quot;
sNoInternetDataAvailable = &quot;インターネットから株価情報を受信できない場合があります!&quot;
sCheckInternetSettings = &quot;考えられる原因は次のとおりです。&lt;BR&gt;インターネット設定の変更が必要です。&lt;BR&gt;入力した株式のが間違っています。&quot;
sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
sMsgEndDatebeforeNow = &quot;終了日は、今日の日付より前であることが必要です。&quot;
sMsgStartDatebeforeEndDate = &quot;開始日は、終了日より前であることが必要です。&quot;
sMarket(0,0) = &quot;米ドル&quot;
sMarket(0,1) = &quot;$&quot;
sMarket(0,2) = &quot;ニューヨーク&quot;
sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
&quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
&quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
sMarket(0,5) = &quot;シンボル&quot;
sMarket(0,6) = &quot;en&quot;
sMarket(0,7) = &quot;US&quot;
sMarket(0,8) = &quot;409&quot;
sMarket(0,9) = &quot;44&quot;
sMarket(0,10) = &quot;1&quot;
sMarket(1,0) = &quot;ユーロ&quot;
sMarket(1,1) = chr(8364)
sMarket(1,2) = &quot;フランクフルト&quot;
sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
sMarket(1,5) = &quot;銘柄コード&quot;
sMarket(1,6) = &quot;de;nl;pt;el&quot;
sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
sMarket(1,8) = &quot;407;413;816;408&quot;
sMarket(1,9) = &quot;59/9&quot;
sMarket(1,10) = &quot;1&quot;
sMarket(2,0) = &quot;英ポンド&quot;
sMarket(2,1) = &quot;£&quot;
sMarket(2,2) = &quot;ロンドン&quot;
sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
sMarket(2,5) = &quot;シンボル&quot;
sMarket(2,6) = &quot;en&quot;
sMarket(2,7) = &quot;GB&quot;
sMarket(2,8) = &quot;809&quot;
sMarket(2,9) = &quot;44&quot;
sMarket(2,10) = &quot;1&quot;
sMarket(3,0) = &quot;日本円&quot;
sMarket(3,1) = &quot;¥&quot;
sMarket(3,2) = &quot;東京&quot;
sMarket(3,3) = &quot;&quot;
sMarket(3,5) = &quot;コード&quot;
sMarket(3,6) = &quot;ja&quot;
sMarket(3,7) = &quot;JP&quot;
sMarket(3,8) = &quot;411&quot;
sMarket(3,9) = &quot;&quot;
sMarket(3,10) = &quot;&quot;
sMarket(4,0) = &quot;香港ドル&quot;
sMarket(4,1) = &quot;HK$&quot;
sMarket(4,2) = &quot;香港&quot;
sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.HK&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(4,5) = &quot;番号&quot;
sMarket(4,6) = &quot;zh&quot;
sMarket(4,7) = &quot;HK&quot;
sMarket(4,8) = &quot;C04&quot;
sMarket(4,9) = &quot;44&quot;
sMarket(4,10) = &quot;1&quot;
sMarket(5,0) = &quot;オーストリア・ドル&quot;
sMarket(5,1) = &quot;$&quot;
sMarket(5,2) = &quot;シドニー&quot;
sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(5,5) = &quot;シンボル&quot;
sMarket(5,6) = &quot;en&quot;
sMarket(5,7) = &quot;AU&quot;
sMarket(5,8) = &quot;C09&quot;
sMarket(5,9) = &quot;44&quot;
sMarket(5,10) = &quot;1&quot;
&apos; ****************************End of the default subset*********************************
CompleteMarketList()
LocalizedCurrencies()
With TransactModel
.lblStockNames.Label = sStockname
.lblQuantity.Label = &quot;株数&quot;
.lblRate.Label = &quot;価格&quot;
.lblDate.Label = &quot;取引日&quot;
.hlnCommission.Label = &quot;その他の経費n&quot;
.lblCommission.Label = &quot;手数料&quot;
.lblMinimum.Label = &quot;最低手数料&quot;
.lblFix.Label = &quot;固定費/諸経費&quot;
.cmdGoOn.Label = sOK
.cmdCancel.Label = sCancel
End With
With StockRatesModel
.optPerShare.Label = &quot;配当金/株式数&quot;
.optTotal.Label = &quot;配当金の総額&quot;
.lblDividend.Label = &quot;金額&quot;
.lblExchangeRate.Label = &quot;交換比率(旧株-&gt;新株)&quot;
.lblColon.Label = &quot;:&quot;
.lblDate.Label = &quot;交換日:&quot;
.lblStockNames.Label = sStockname
.lblStartDate.Label = sStartDate
.lblEndDate.Label = sEndDate
.optDaily.Label = &quot;~毎日&quot;
.optWeekly.Label = &quot;~毎週&quot;
.hlnInterval.Label = &quot;期間&quot;
.cmdGoOn.Label = sOk
.cmdCancel.Label = sCancel
End With
End Sub
</script:module>

View File

@@ -0,0 +1,175 @@
<?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="Lang_ko" script:language="StarBasic">Option Explicit
Sub LoadKoreanLanguage()
sProductname = GetProductname
sOK = &quot;~확인&quot;
sCancel = &quot;취소&quot;
sColumnHeader = &quot;열 머리글&quot;
sInsertStockName = &quot;주식 종목을 삽입해주십시오.&quot;
sTitle = &quot;&lt;PRODUCTNAME&gt;: 주식 매수&quot;
sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
sMsgError = &quot;입력 오류&quot;
sMsgNoName = sInsertStockname
sMsgNoQuantity = &quot;0 이하의 매수를 입력해주십시오.&quot;
sMsgNoDividend = &quot;한 주당 배당분 또는 총배당분을 입력해주십시오.&quot;
sMsgNoExchangeRate = &quot;정확한 환율을 입력해주십시오 (구주를 신주로 소급 시).&quot;
sMsgNoValidExchangeDate = &quot;유효한 배당 결제일을 입력해주십시오.&quot;
sMsgWrongExchangeDate = &quot;배당 기준일이 경과하여 배당할 수 없습니다.&quot;
sMsgSellTooMuch = &quot;이렇게 많은 주식을 팔 수 없습니다. 최대 매도수: &quot;
sMsgConfirm = &quot;확인 필요&quot;
sMsgFreeStock = &quot;공짜 주식을 입력하시겠습니까?&quot;
sMsgTotalLoss = &quot;주가 폭락세를 입력하시겠습니까?&quot;
sMsgAuthorization = &quot;안정성 조회&quot;
sMsgDeleteAll = &quot;모든 주가 움직임을 삭제하고 계좌 현황을 원래대로 하시겠습니까?&quot;
cSplit = &quot;주식 배당일 &quot;
sHistory = &quot;내역&quot;
TransactTitle(1) = &quot;주식 관리: 주식 매도&quot;
TransactTitle(2) = &quot;주식 관리: 주식 매수&quot;
StockRatesTitle(1) = &quot;주식 관리: 배당금 지불&quot;
StockRatesTitle(2) = &quot;주식 관리: 주식 배분&quot;
StockRatesTitle(3) = sHistory
sDepotCurrency = &quot;주식 계좌 통화&quot;
sStockName = &quot;주식 종목명&quot;
TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
DateCellStyle = &quot;결과, 날짜&quot;
CurrCellStyle = &quot;1&quot;
sStartDate = &quot;매매일:&quot;
sEndDate = &quot;만기일:&quot;
sStartUpWelcome = &quot;이 템플릿을 사용하여 주식 투자 관리를 효율적으로 할 수 있습니다.&quot;
sStartUpChooseMarket = &quot;인터넷 업데이트를 위해 우선 관련 통화와 증권 장소를 선택하십시오.&quot;
sStartUpHint = &quot;&lt;내역&gt; 기능은 미국 시장용으로만 사용할 수 있습니다.&quot;
sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
sNoInternetUpdate = &quot;인터넷 업데이트 없음&quot;
sMarketPlace = &quot;증권 장소:&quot;
sNoInternetDataAvailable = &quot;인터넷 시세는 받을 수 없었습니다.&quot;
sCheckInternetSettings = &quot;원인: &lt;BR&gt; 인터넷 설정을 점검해야만 합니다.&lt;BR&gt; 옳지 않은 암호&lt;예를 들어 잘못된 문자 또는 종목 코드&gt;를 입력했습니다.&quot;
sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
sMsgEndDatebeforeNow = &quot;만기일은 오늘 날짜 전에 기입되어야 합니다.&quot;
sMsgStartDatebeforeEndDate = &quot;매매일은 만기일 전에 기입되어야 합니다.&quot;
sMarket(0,0) = &quot;미국 달러&quot;
sMarket(0,1) = &quot;$&quot;
sMarket(0,2) = &quot;뉴욕&quot;
sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
&quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
&quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
sMarket(0,5) = &quot;기호&quot;
sMarket(0,6) = &quot;en&quot;
sMarket(0,7) = &quot;US&quot;
sMarket(0,8) = &quot;409&quot;
sMarket(0,9) = &quot;44&quot;
sMarket(0,10) = &quot;1&quot;
sMarket(1,0) = &quot;유로&quot;
sMarket(1,1) = chr(8364)
sMarket(1,2) = &quot;프랑크푸르트&quot;
sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
sMarket(1,5) = &quot;WKN&quot;
sMarket(1,6) = &quot;de;nl;pt;el&quot;
sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
sMarket(1,8) = &quot;407;413;816;408&quot;
sMarket(1,9) = &quot;59/9&quot;
sMarket(1,10) = &quot;1&quot;
sMarket(2,0) = &quot;영국 파운드&quot;
sMarket(2,1) = &quot;£&quot;
sMarket(2,2) = &quot;런던&quot;
sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
sMarket(2,5) = &quot;기호&quot;
sMarket(2,6) = &quot;en&quot;
sMarket(2,7) = &quot;GB&quot;
sMarket(2,8) = &quot;809&quot;
sMarket(2,9) = &quot;44&quot;
sMarket(2,10) = &quot;1&quot;
sMarket(3,0) = &quot;엔화&quot;
sMarket(3,1) = &quot;¥&quot;
sMarket(3,2) = &quot;도쿄&quot;
sMarket(3,3) = &quot;&quot;
sMarket(3,5) = &quot;코드&quot;
sMarket(3,6) = &quot;ja&quot;
sMarket(3,7) = &quot;JP&quot;
sMarket(3,8) = &quot;411&quot;
sMarket(3,9) = &quot;&quot;
sMarket(3,10) = &quot;&quot;
sMarket(4,0) = &quot;홍콩 달러&quot;
sMarket(4,1) = &quot;HK$&quot;
sMarket(4,2) = &quot;홍콩&quot;
sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.HK&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(4,5) = &quot;번호&quot;
sMarket(4,6) = &quot;zh&quot;
sMarket(4,7) = &quot;HK&quot;
sMarket(4,8) = &quot;C04&quot;
sMarket(4,9) = &quot;44&quot;
sMarket(4,10) = &quot;1&quot;
sMarket(5,0) = &quot;호주 달러&quot;
sMarket(5,1) = &quot;$&quot;
sMarket(5,2) = &quot;시드니&quot;
sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(5,5) = &quot;기호&quot;
sMarket(5,6) = &quot;en&quot;
sMarket(5,7) = &quot;AU&quot;
sMarket(5,8) = &quot;C09&quot;
sMarket(5,9) = &quot;44&quot;
sMarket(5,10) = &quot;1&quot;
&apos; ****************************End of the default subset*********************************
CompleteMarketList()
LocalizedCurrencies()
With TransactModel
.lblStockNames.Label = sStockname
.lblQuantity.Label = &quot;수량&quot;
.lblRate.Label = &quot;시세&quot;
.lblDate.Label = &quot;배당 결산일&quot;
.hlnCommission.Label = &quot;기타 지출&quot;
.lblCommission.Label = &quot;수수료&quot;
.lblMinimum.Label = &quot;최저 수수료&quot;
.lblFix.Label = &quot;약정 금액/기타 경비&quot;
.cmdGoOn.Label = sOK
.cmdCancel.Label = sCancel
End With
With StockRatesModel
.optPerShare.Label = &quot;배당분/주&quot;
.optTotal.Label = &quot;배당분 합계&quot;
.lblDividend.Label = &quot;금액&quot;
.lblExchangeRate.Label = &quot;환율(구주-&gt;신주)&quot;
.lblColon.Label = &quot;:&quot;
.lblDate.Label = &quot;환율일자&quot;
.lblStockNames.Label = sStockname
.lblStartDate.Label = sStartDate
.lblEndDate.Label = sEndDate
.optDaily.Label = &quot;~매일&quot;
.optWeekly.Label = &quot;~매주&quot;
.hlnInterval.Label = &quot;기간&quot;
.cmdGoOn.Label = sOk
.cmdCancel.Label = sCancel
End With
End Sub
</script:module>

View File

@@ -0,0 +1,174 @@
<?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="Lang_sv" script:language="StarBasic">Option Explicit
Sub LoadSwedishLanguage()
sProductname = GetProductname
sOK = &quot;~OK&quot;
sCancel = &quot;Avbryt&quot;
sColumnHeader = &quot;Kolumnhuvud&quot;
sInsertStockName = &quot;Infoga först några aktier i Din portfölj!&quot;
sTitle = &quot;&lt;PRODUCTNAME&gt;: Aktieförvaltning&quot;
sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
sMsgError = &quot;Inmatningsfel&quot;
sMsgNoName = sInsertStockname
sMsgNoQuantity = &quot;Var vänlig och mata in ett större antal än 0&quot;
sMsgNoDividend = &quot;Var vänlig och mata in utdelning per styck eller den totala utdelningen&quot;
sMsgNoExchangeRate = &quot;Var vänlig och mata in en korrekt omräkningskurs (gamla aktier -&gt; nya aktier).&quot;
sMsgNoValidExchangeDate = &quot;Var vänlig och mata in ett giltigt datum för aktiesplitten.&quot;
sMsgWrongExchangeDate = &quot;Split är inte möjlig eftersom det redan finns transaktioner efter splitdatum.&quot;
sMsgSellTooMuch = &quot;Så många aktier kan Du inte sälja. Maximum: &quot;
sMsgConfirm = &quot;Bekräftelse krävs&quot;
sMsgFreeStock = &quot;Avser Du att mata in gratisaktier?&quot;
sMsgTotalLoss = &quot;Avser Du att mata in en totalförlust?&quot;
sMsgAuthorization = &quot;Säkerhetskontroll&quot;
sMsgDeleteAll = &quot;Vill Du ta bort alla rörelser och återställa portföljöversikten?&quot;
cSplit = &quot;Aktiesplit den &quot;
sHistory = &quot;Historik&quot;
TransactTitle(1) = &quot;Sälja aktier&quot;
TransactTitle(2) = &quot;Köpa aktier&quot;
StockRatesTitle(1) = &quot;Aktieutdelning&quot;
StockRatesTitle(2) = &quot;Aktiesplit&quot;
StockRatesTitle(3) = sHistory
sDepotCurrency = &quot;Portföljvaluta&quot;
sStockName = &quot;Aktienamn&quot;
TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
DateCellStyle = &quot;Resultat datum&quot;
CurrCellStyle = &quot;1&quot;
sStartDate = &quot;Startdatum:&quot;
sEndDate = &quot;Slutdatum:&quot;
sStartUpWelcome = &quot;Med hjälp av den här mallen kan Du förvalta Din aktieportfölj effektivt&quot;
sStartUpChooseMarket = &quot;Välj först Din referensvaluta och därigenom börs för Internet-uppdateringen!&quot;
sStartUpHint = &quot;Tyvärr är &lt;History&gt;-funktionen bara tillgänglig för den amerikanska marknaden!&quot;
sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
sNoInternetUpdate = &quot;utan Internet-uppdatering&quot;
sMarketPlace = &quot;Börs:&quot;
sNoInternetDataAvailable = &quot;Det gick inte att ta emot Internet-kurser!&quot;
sCheckInternetSettings = &quot;Detta kan bero på att: &lt;BR&gt; Dina Internet-inställningar måste ändras.&lt;BR&gt; Du har angivit ett felaktigt ID (t.ex. symbol, värdepappersnr.) för aktien.&quot;
sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
sMsgEndDatebeforeNow = &quot;Slutdatum måste ligga före idag!&quot;
sMsgStartDatebeforeEndDate = &quot;Startdatum måste ligga före slutdatum!&quot;
sMarket(0,0) = &quot;Amerikansk dollar&quot;
sMarket(0,1) = &quot;$&quot;
sMarket(0,2) = &quot;New York&quot;
sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
&quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
&quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
sMarket(0,5) = &quot;Symbol&quot;
sMarket(0,6) = &quot;en&quot;
sMarket(0,7) = &quot;US&quot;
sMarket(0,8) = &quot;409&quot;
sMarket(0,9) = &quot;44&quot;
sMarket(0,10) = &quot;1&quot;
sMarket(1,0) = &quot;Euro&quot;
sMarket(1,1) = chr(8364)
sMarket(1,2) = &quot;Frankfurt&quot;
sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
sMarket(1,5) = &quot;Värdepappersnr&quot;
sMarket(1,6) = &quot;de;nl;pt;el&quot;
sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
sMarket(1,8) = &quot;407;413;816;408&quot;
sMarket(1,9) = &quot;59/9&quot;
sMarket(1,10) = &quot;1&quot;
sMarket(2,0) = &quot;Engelskt pund&quot;
sMarket(2,1) = &quot;£&quot;
sMarket(2,2) = &quot;London&quot;
sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
sMarket(2,5) = &quot;Symbol&quot;
sMarket(2,6) = &quot;en&quot;
sMarket(2,7) = &quot;GB&quot;
sMarket(2,8) = &quot;809&quot;
sMarket(2,9) = &quot;44&quot;
sMarket(2,10) = &quot;1&quot;
sMarket(3,0) = &quot;Japansk yen&quot;
sMarket(3,1) = &quot;¥&quot;
sMarket(3,2) = &quot;Tokyo&quot;
sMarket(3,3) = &quot;&quot;
sMarket(3,5) = &quot;Kod&quot;
sMarket(3,6) = &quot;ja&quot;
sMarket(3,7) = &quot;JP&quot;
sMarket(3,8) = &quot;411&quot;
sMarket(3,9) = &quot;&quot;
sMarket(3,10) = &quot;&quot;
sMarket(4,0) = &quot;Hongkongdollar&quot;
sMarket(4,1) = &quot;HK$&quot;
sMarket(4,2) = &quot;Hongkong&quot;
sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(4,5) = &quot;Nummer&quot;
sMarket(4,6) = &quot;zh&quot;
sMarket(4,7) = &quot;HK&quot;
sMarket(4,8) = &quot;C04&quot;
sMarket(4,9) = &quot;44&quot;
sMarket(4,10) = &quot;1&quot;
sMarket(5,0) = &quot;Australisk dollar&quot;
sMarket(5,1) = &quot;$&quot;
sMarket(5,2) = &quot;Sydney&quot;
sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(5,5) = &quot;Symbol&quot;
sMarket(5,6) = &quot;en&quot;
sMarket(5,7) = &quot;AU&quot;
sMarket(5,8) = &quot;C09&quot;
sMarket(5,9) = &quot;44&quot;
sMarket(5,10) = &quot;1&quot;
&apos; ****************************End of the default subset*********************************
CompleteMarketList()
LocalizedCurrencies()
With TransactModel
.lblStockNames.Label = sStockname
.lblQuantity.Label = &quot;Antal&quot;
.lblRate.Label = &quot;Kurs&quot;
.lblDate.Label = &quot;Transaktionsdatum&quot;
.hlnCommission.Label = &quot;Övriga utgifter&quot;
.lblCommission.Label = &quot;Provision&quot;
.lblMinimum.Label = &quot;Minimiprovision&quot;
.lblFix.Label = &quot;Fast belopp/omkostnader&quot;
.cmdGoOn.Label = sOK
.cmdCancel.Label = sCancel
End With
With StockRatesModel
.optPerShare.Label = &quot;Utdelning per aktie&quot;
.optTotal.Label = &quot;Utdelning totalt&quot;
.lblDividend.Label = &quot;Belopp&quot;
.lblExchangeRate.Label = &quot;Omräkningskurs (gammal-&gt;ny)&quot;
.lblColon.Label = &quot;:&quot;
.lblDate.Label = &quot;Omräkningsdatum:&quot;
.lblStockNames.Label = sStockname
.lblStartDate.Label = sStartDate
.lblEndDate.Label = sEndDate
.optDaily.Label = &quot;~Dagligen&quot;
.optWeekly.Label = &quot;~Varje vecka&quot;
.hlnInterval.Label = &quot;Period&quot;
.cmdGoOn.Label = sOk
.cmdCancel.Label = sCancel
End With
End Sub
</script:module>

View File

@@ -0,0 +1,175 @@
<?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="Lang_tw" script:language="StarBasic">Option Explicit
Sub LoadChineseTradLanguage()
sProductname = GetProductname
sOK = &quot;確定&quot;
sCancel = &quot;取消&quot;
sColumnHeader = &quot;欄標簽&quot;
sInsertStockName = &quot;請先填入股票名稱!&quot;
sTitle = &quot;&lt;PRODUCTNAME&gt;: 股票管理&quot;
sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
sMsgError = &quot;輸入無效&quot;
sMsgNoName = sInsertStockname
sMsgNoQuantity = &quot;請輸入大於0的交易股數&quot;
sMsgNoDividend = &quot;請輸入每股股息金額或股息總額&quot;
sMsgNoExchangeRate = &quot;請鍵入正確的換算比率(舊股票 -&gt; 新股票)。&quot;
sMsgNoValidExchangeDate = &quot;請輸入股票分割的日期。&quot;
sMsgWrongExchangeDate = &quot;無法分割股票,因為分割日期之後已經買進或賣出股票。&quot;
sMsgSellTooMuch = &quot;最多能出售的股票數: &quot;
sMsgConfirm = &quot;需要确認&quot;
sMsgFreeStock = &quot;需要輸入一個贈送的股票?&quot;
sMsgTotalLoss = &quot;要輸入一個全部損失的股票?&quot;
sMsgAuthorization = &quot;安全詢問&quot;
sMsgDeleteAll = &quot;您要刪除所有的交易資料,重新建立一個股票一覽表?&quot;
cSplit = &quot;股票分割的日期 &quot;
sHistory = &quot;紀錄&quot;
TransactTitle(1) = &quot;出售股票&quot;
TransactTitle(2) = &quot;購買股票&quot;
StockRatesTitle(1) = &quot;支付股息&quot;
StockRatesTitle(2) = &quot;股票分割&quot;
StockRatesTitle(3) = sHistory
sDepotCurrency = &quot;股票的貨幣&quot;
sStockName = &quot;股票名稱&quot;
TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
DateCellStyle = &quot;結果 日期&quot;
CurrCellStyle = &quot;1&quot;
sStartDate = &quot;交割日期:&quot;
sEndDate = &quot;到期日期:&quot;
sStartUpWelcome = &quot;這個樣式用於高效能地管理股票交易。&quot;
sStartUpChooseMarket = &quot;請先選一個參照的貨幣和一個可直接從 Internet 更新資料的贈券交易所。&quot;
sStartUpHint = &quot;很遺憾,&lt;History&gt;-功能僅適用於美國的交易所。&quot;
sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
sNoInternetUpdate = &quot;不透過 internet 更新&quot;
sMarketPlace = &quot;證券交易所:&quot;
sNoInternetDataAvailable = &quot;無法接受 Internet 股票價格!&quot;
sCheckInternetSettings = &quot;可能的原因:&lt;BR&gt;Internet 設定不正確,需要重新設定。&lt;BR&gt;輸入了一個錯誤的股票代碼。&quot;
sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
sMsgEndDatebeforeNow = &quot;到期日期必須是在今日之前!&quot;
sMsgStartDatebeforeEndDate = &quot;交割日期必須是在到期日期之前!&quot;
sMarket(0,0) = &quot;美元&quot;
sMarket(0,1) = &quot;$&quot;
sMarket(0,2) = &quot;紐約&quot;
sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
&quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
&quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
sMarket(0,5) = &quot;股票符號&quot;
sMarket(0,6) = &quot;en&quot;
sMarket(0,7) = &quot;US&quot;
sMarket(0,8) = &quot;409&quot;
sMarket(0,9) = &quot;44&quot;
sMarket(0,10) = &quot;1&quot;
sMarket(1,0) = &quot;歐元&quot;
sMarket(1,1) = chr(8364)
sMarket(1,2) = &quot;法蘭克福&quot;
sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
sMarket(1,5) = &quot;股代碼&quot;
sMarket(1,6) = &quot;de;nl;pt;el&quot;
sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
sMarket(1,8) = &quot;407;413;816;408&quot;
sMarket(1,9) = &quot;59/9&quot;
sMarket(1,10) = &quot;1&quot;
sMarket(2,0) = &quot;英鎊&quot;
sMarket(2,1) = &quot;£&quot;
sMarket(2,2) = &quot;倫敦&quot;
sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
sMarket(2,5) = &quot;股票符號&quot;
sMarket(2,6) = &quot;en&quot;
sMarket(2,7) = &quot;GB&quot;
sMarket(2,8) = &quot;809&quot;
sMarket(2,9) = &quot;44&quot;
sMarket(2,10) = &quot;1&quot;
sMarket(3,0) = &quot;日元&quot;
sMarket(3,1) = &quot;¥&quot;
sMarket(3,2) = &quot;東京&quot;
sMarket(3,3) = &quot;&quot;
sMarket(3,5) = &quot;代碼&quot;
sMarket(3,6) = &quot;ja&quot;
sMarket(3,7) = &quot;JP&quot;
sMarket(3,8) = &quot;411&quot;
sMarket(3,9) = &quot;&quot;
sMarket(3,10) = &quot;&quot;
sMarket(4,0) = &quot;港幣&quot;
sMarket(4,1) = &quot;HK$&quot;
sMarket(4,2) = &quot;香港&quot;
sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.HK&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(4,5) = &quot;編號&quot;
sMarket(4,6) = &quot;zh&quot;
sMarket(4,7) = &quot;HK&quot;
sMarket(4,8) = &quot;C04&quot;
sMarket(4,9) = &quot;44&quot;
sMarket(4,10) = &quot;1&quot;
sMarket(5,0) = &quot;澳元&quot;
sMarket(5,1) = &quot;$&quot;
sMarket(5,2) = &quot;悉尼&quot;
sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(5,5) = &quot;股票符號&quot;
sMarket(5,6) = &quot;en&quot;
sMarket(5,7) = &quot;AU&quot;
sMarket(5,8) = &quot;C09&quot;
sMarket(5,9) = &quot;44&quot;
sMarket(5,10) = &quot;1&quot;
&apos; ****************************End of the default subset*********************************
CompleteMarketList()
LocalizedCurrencies()
With TransactModel
.lblStockNames.Label = sStockname
.lblQuantity.Label = &quot;數量&quot;
.lblRate.Label = &quot;股票價格&quot;
.lblDate.Label = &quot;交易日期&quot;
.hlnCommission.Label = &quot;其它的支出費用&quot;
.lblCommission.Label = &quot;手續費&quot;
.lblMinimum.Label = &quot;最低手續費&quot;
.lblFix.Label = &quot;固定金額/費用&quot;
.cmdGoOn.Label = sOK
.cmdCancel.Label = sCancel
End With
With StockRatesModel
.optPerShare.Label = &quot;每股股息&quot;
.optTotal.Label = &quot;股息總計&quot;
.lblDividend.Label = &quot;金額&quot;
.lblExchangeRate.Label = &quot;轉換比率(舊股票 -&gt; 新股票)&quot;
.lblColon.Label = &quot;:&quot;
.lblDate.Label = &quot;轉換日期:&quot;
.lblStockNames.Label = sStockname
.lblStartDate.Label = sStartDate
.lblEndDate.Label = sEndDate
.optDaily.Label = &quot;每日&quot;
.optWeekly.Label = &quot;每週&quot;
.hlnInterval.Label = &quot;時間週期&quot;
.cmdGoOn.Label = sOk
.cmdCancel.Label = sCancel
End With
End Sub
</script:module>

View File

@@ -0,0 +1,175 @@
<?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="Lang_zh" script:language="StarBasic">Option Explicit
Sub LoadChineseSimpleLanguage()
sProductname = GetProductname
sOK = &quot;确定&quot;
sCancel = &quot;取消&quot;
sColumnHeader = &quot;列标题&quot;
sInsertStockName = &quot;请首先往您的帐号内输入一些股票名称!&quot;
sTitle = &quot;&lt;PRODUCTNAME&gt;:股票管理&quot;
sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
sMsgError = &quot;输入错误&quot;
sMsgNoName = sInsertStockname
sMsgNoQuantity = &quot;请输入大于0的交易股数&quot;
sMsgNoDividend = &quot;请输入每股的红利金额或红利总额&quot;
sMsgNoExchangeRate = &quot;请输入一个正确的兑换率(旧股-&gt; 新股)。&quot;
sMsgNoValidExchangeDate = &quot;请输入拆股生效日期。&quot;
sMsgWrongExchangeDate = &quot;因为在拆股生效后已经进行了股票交易,所以无法拆股。&quot;
sMsgSellTooMuch = &quot;您最多能出售的股票数为: &quot;
sMsgConfirm = &quot;需要确认&quot;
sMsgFreeStock = &quot;您想要输入赠送股票?&quot;
sMsgTotalLoss = &quot;您想要输入总亏损值?&quot;
sMsgAuthorization = &quot;安全查询&quot;
sMsgDeleteAll = &quot;您要删除所有的交易信息并重新建立股票帐号一览表吗?&quot;
cSplit = &quot;股票拆股日期 &quot;
sHistory = &quot;记录&quot;
TransactTitle(1) = &quot;出售股票&quot;
TransactTitle(2) = &quot;购买股票&quot;
StockRatesTitle(1) = &quot;支付红利&quot;
StockRatesTitle(2) = &quot;股票拆股&quot;
StockRatesTitle(3) = sHistory
sDepotCurrency = &quot;股票交易的货币&quot;
sStockName = &quot;股票名称&quot;
TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
DateCellStyle = &quot;结果 日期&quot;
CurrCellStyle = &quot;1&quot;
sStartDate = &quot;起始日期:&quot;
sEndDate = &quot;终止日期:&quot;
sStartUpWelcome = &quot;这个样式能够帮助您有效地管理自己的股票帐号&quot;
sStartUpChooseMarket = &quot;请首先选择采用的参考货币以及要直接用国际互联网来更新资料的证券交易所!&quot;
sStartUpHint = &quot;很遗憾,&lt;History&gt;功能仅可供美国市场使用!&quot;
sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
sNoInternetUpdate = &quot;不通过国际互联网更新&quot;
sMarketPlace = &quot;交易所:&quot;
sNoInternetDataAvailable = &quot;无法获得国际互联网上的行情!&quot;
sCheckInternetSettings = &quot;可能的原因是:&lt;BR&gt;您的国际互联网设定不正确,需要重新设定。&lt;BR&gt;输入了一个错误的股票号码。&quot;
sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
sMsgEndDatebeforeNow = &quot;终止日期必须在今天之前!&quot;
sMsgStartDatebeforeEndDate = &quot;起始日期必须在终止日期之前!&quot;
sMarket(0,0) = &quot;美元&quot;
sMarket(0,1) = &quot;$&quot;
sMarket(0,2) = &quot;纽约&quot;
sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
&quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
&quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
sMarket(0,5) = &quot;图标&quot;
sMarket(0,6) = &quot;en&quot;
sMarket(0,7) = &quot;US&quot;
sMarket(0,8) = &quot;409&quot;
sMarket(0,9) = &quot;44&quot;
sMarket(0,10) = &quot;1&quot;
sMarket(1,0) = &quot;欧元&quot;
sMarket(1,1) = chr(8364)
sMarket(1,2) = &quot;法兰克福&quot;
sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
sMarket(1,5) = &quot;代码&quot;
sMarket(1,6) = &quot;de;nl;pt;el&quot;
sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
sMarket(1,8) = &quot;407;413;816;408&quot;
sMarket(1,9) = &quot;59/9&quot;
sMarket(1,10) = &quot;1&quot;
sMarket(2,0) = &quot;英镑&quot;
sMarket(2,1) = &quot;£&quot;
sMarket(2,2) = &quot;伦敦&quot;
sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
sMarket(2,5) = &quot;股票代码&quot;
sMarket(2,6) = &quot;en&quot;
sMarket(2,7) = &quot;GB&quot;
sMarket(2,8) = &quot;809&quot;
sMarket(2,9) = &quot;44&quot;
sMarket(2,10) = &quot;1&quot;
sMarket(3,0) = &quot;日元&quot;
sMarket(3,1) = &quot;¥&quot;
sMarket(3,2) = &quot;东京&quot;
sMarket(3,3) = &quot;&quot;
sMarket(3,5) = &quot;代码&quot;
sMarket(3,6) = &quot;ja&quot;
sMarket(3,7) = &quot;JP&quot;
sMarket(3,8) = &quot;411&quot;
sMarket(3,9) = &quot;&quot;
sMarket(3,10) = &quot;&quot;
sMarket(4,0) = &quot;港币&quot;
sMarket(4,1) = &quot;HK$&quot;
sMarket(4,2) = &quot;香港&quot;
sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.HK&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(4,5) = &quot;编号&quot;
sMarket(4,6) = &quot;zh&quot;
sMarket(4,7) = &quot;HK&quot;
sMarket(4,8) = &quot;C04&quot;
sMarket(4,9) = &quot;44&quot;
sMarket(4,10) = &quot;1&quot;
sMarket(5,0) = &quot;澳元&quot;
sMarket(5,1) = &quot;$&quot;
sMarket(5,2) = &quot;悉尼&quot;
sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
sMarket(5,5) = &quot;股票代码&quot;
sMarket(5,6) = &quot;en&quot;
sMarket(5,7) = &quot;AU&quot;
sMarket(5,8) = &quot;C09&quot;
sMarket(5,9) = &quot;44&quot;
sMarket(5,10) = &quot;1&quot;
&apos; ****************************End of the default subset*********************************
CompleteMarketList()
LocalizedCurrencies()
With TransactModel
.lblStockNames.Label = sStockname
.lblQuantity.Label = &quot;数量&quot;
.lblRate.Label = &quot;股票牌价&quot;
.lblDate.Label = &quot;交易日期&quot;
.hlnCommission.Label = &quot;其它支出费用&quot;
.lblCommission.Label = &quot;手续费&quot;
.lblMinimum.Label = &quot;最低手续费&quot;
.lblFix.Label = &quot;固定金额/费用&quot;
.cmdGoOn.Label = sOK
.cmdCancel.Label = sCancel
End With
With StockRatesModel
.optPerShare.Label = &quot;每股红利&quot;
.optTotal.Label = &quot;红利总计&quot;
.lblDividend.Label = &quot;金额&quot;
.lblExchangeRate.Label = &quot;兑换率(旧-&gt;新)&quot;
.lblColon.Label = &quot;:&quot;
.lblDate.Label = &quot;兑换日期:&quot;
.lblStockNames.Label = sStockname
.lblStartDate.Label = sStartDate
.lblEndDate.Label = sEndDate
.optDaily.Label = &quot;每天&quot;
.optWeekly.Label = &quot;每周&quot;
.hlnInterval.Label = &quot;时间周期&quot;
.cmdGoOn.Label = sOk
.cmdCancel.Label = sCancel
End With
End Sub
</script:module>

View File

@@ -0,0 +1,7 @@
<?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="Depot" library:readonly="true" library:passwordprotected="false">
<library:element library:name="Dialog2"/>
<library:element library:name="Dialog3"/>
<library:element library:name="Dialog4"/>
</library:library>

View File

@@ -0,0 +1,19 @@
<?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="Depot" library:readonly="true" library:passwordprotected="false">
<library:element library:name="Depot"/>
<library:element library:name="CommonLang"/>
<library:element library:name="Currency"/>
<library:element library:name="Internet"/>
<library:element library:name="Lang_de"/>
<library:element library:name="tools"/>
<library:element library:name="Lang_en"/>
<library:element library:name="Lang_fr"/>
<library:element library:name="Lang_it"/>
<library:element library:name="Lang_es"/>
<library:element library:name="Lang_sv"/>
<library:element library:name="Lang_zh"/>
<library:element library:name="Lang_tw"/>
<library:element library:name="Lang_ko"/>
<library:element library:name="Lang_ja"/>
</library:library>

View File

@@ -0,0 +1,217 @@
<?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="tools" script:language="StarBasic">REM ***** BASIC *****
Option Explicit
Sub RemoveSheet()
If oSheets.HasbyName(&quot;Link&quot;) then
oSheets.RemovebyName(&quot;Link&quot;)
End If
End Sub
Sub InitializeStatusLine(StatusText as String, MaxValue as Integer, FirstValue as Integer)
oStatusline = oDocument.GetCurrentController.GetFrame.CreateStatusIndicator()
oStatusLine.Start(StatusText, MaxValue)
oStatusline.SetValue(FirstValue)
End Sub
Sub MakeRangeVisible(oSheet as Object, RangeName as String, BIsVisible as Boolean)
Dim oRangeAddress, oColumns as Object
Dim i, iStartColumn, iEndColumn as Integer
oRangeAddress = oSheet.GetCellRangeByName(RangeName).RangeAddress
iStartColumn = oRangeAddress.StartColumn
iEndColumn = oRangeAddress.EndColumn
oColumns = oSheet.Columns
For i = iStartColumn To iEndColumn
oSheet.Columns(i).IsVisible = bIsVisible
Next i
End Sub
Function GetRowIndex(oSheet as Object, RowName as String)
Dim oRange as Object
oRange = oSheet.GetCellRangeByName(RowName)
GetRowIndex = oRange.RangeAddress.StartRow
End Function
Function GetTransactionCount(iStartRow as Integer)
Dim iEndRow as Integer
iStartRow = GetRowIndex(oMovementSheet, &quot;ColumnsToHide&quot;)
iEndRow = GetRowIndex(oMovementSheet, &quot;HiddenRow3&quot; )
GetTransactionCount = iEndRow -iStartRow - 2
End Function
Function GetStocksCount(iStartRow as Integer)
Dim iEndRow as Integer
iStartRow = GetRowIndex(oFirstSheet, &quot;HiddenRow1&quot;)
iEndRow = GetRowIndex(oFirstSheet, &quot;HiddenRow2&quot;)
GetStocksCount = iEndRow -iStartRow - 1
End Function
Function FillListbox(ListboxControl as Object, MsgTitle as String, bShowMessage) as Boolean
Dim i, StocksCount as Integer
Dim iStartRow as Integer
Dim oCell as Object
&apos; Add stock names to empty list box
StocksCount = GetStocksCount(iStartRow)
If StocksCount &gt; 0 Then
ListboxControl.Model.StringItemList() = NullList()
For i = 1 To StocksCount
oCell = oFirstSheet.GetCellByPosition(SBCOLUMNNAME1,iStartRow + i)
ListboxControl.AddItem(oCell.String, i-1)
Next
FillListbox() = True
Else
If bShowMessage Then
Msgbox(sInsertStockName, 16, MsgTitle)
FillListbox() = False
End If
End If
End Function
Sub CellValuetoControl(oSheet, oControl as Object, CellName as String)
Dim oCell as Object
Dim StringValue
oCell = GetCellByName(oSheet, CellName)
If oControl.PropertySetInfo.HasPropertyByName(&quot;EffectiveValue&quot;) Then
oControl.EffectiveValue = oCell.Value
Else
oControl.Value = oCell.Value
End If
&apos; If oCell.FormulaResultType = 1 Then
&apos; StringValue = oNumberFormatter.GetInputString(oCell.NumberFormat, oCell.Value)
&apos; oControl.Text = DeleteStr(StringValue, &quot;%&quot;)
&apos; Else
&apos; oControl.Text = oCell.String
&apos; End If
End Sub
Sub RemoveStockRows(oSheet as Object, iStartRow, RowCount as Integer)
If RowCount &gt; 0 Then
oSheet.Rows.RemoveByIndex(iStartRow, RowCount)
End If
End Sub
Sub AddValueToCellContent(iCellCol, iCellRow as Integer, AddValue)
Dim oCell as Object
Dim OldValue
oCell = oMovementSheet.GetCellByPosition(iCellCol, iCellRow)
OldValue = oCell.Value
oCell.Value = OldValue + AddValue
End Sub
Sub CheckInputDate(aEvent as Object)
Dim oRefDialog as Object
Dim oRefModel as Object
Dim oDateModel as Object
oDateModel = aEvent.Source.Model
oRefModel = DlgReference.GetControl(&quot;cmdGoOn&quot;).Model
oRefModel.Enabled = oDateModel.Date &lt;&gt; 0
End Sub
&apos; Updates the cell with the CurrentValue after checking if the
&apos; Newdate is later than the one that is referred to in the annotation
&apos; of the cell
Sub InsertCurrentValue(CurValue as Double, iRow as Integer, Newdate as Date)
Dim oCell as Object
Dim OldDate as Date
oCell = oFirstSheet.GetCellByPosition(SBCOLUMNRATE1, iRow)
OldDate = CDate(oCell.Annotation.Text.String)
If NewDate &gt;= OldDate Then
oCell.SetValue(CurValue)
oCell.Annotation.Text.SetString(CStr(NewDate))
End If
End Sub
Sub SplitCellValue(oSheet, FirstNumber, SecondNumber, iCol, iRow, NoteText)
Dim oCell as Object
Dim OldValue
oCell = oSheet.GetCellByPosition(iCol, iRow)
OldValue = oCell.Value
oCell.Value = OldValue * FirstNumber / SecondNumber
If NoteText &lt;&gt; &quot;&quot; Then
oCell.Annotation.SetString(NoteText)
End If
End Sub
Function GetStockRowIndex(ByVal Stockname) as Integer
Dim i, StocksCount as Integer
Dim iStartRow as Integer
Dim oCell as Object
StocksCount = GetStocksCount(iStartRow)
For i = 1 To StocksCount
oCell = oFirstSheet.GetCellByPosition(SBCOLUMNNAME1,iStartRow + i)
If oCell.String = Stockname Then
GetStockRowIndex = iStartRow + i
Exit Function
End If
Next
GetStockRowIndex = -1
End Function
Function GetStockID(StockName as String, Optional iFirstRow as Integer) as String
Dim CellStockName as String
Dim i as Integer
Dim iCount as Integer
Dim iLastRow as Integer
If IsMissing(iFirstRow) Then
iFirstRow = GetRowIndex(oFirstSheet, &quot;HiddenRow1&quot;)
End If
iCount = GetStocksCount(iFirstRow)
iLastRow = iFirstRow + iCount
For i = iFirstRow To iLastRow
CellStockName = oFirstSheet.GetCellByPosition(SBCOLUMNNAME1, i).String
If CellStockname = StockName Then
Exit For
End If
Next i
If i &gt; iLastRow Then
GetStockID() = &quot;&quot;
Else
If Not IsMissing(iFirstRow) Then
iFirstRow = i
End If
GetStockID() = oFirstSheet.GetCellByPosition(SBCOLUMNID1, i).String
End If
End Function
Function CheckDocLocale(LocLanguage as String, LocCountry as String)
Dim bIsDocLanguage as Boolean
Dim bIsDocCountry as Boolean
bIsDocLanguage = Instr(1, LocLanguage, sDocLanguage, SBBINARY) &lt;&gt; 0
bIsDocCountry = Instr(1, LocCountry, sDocCountry, SBBINARY) &lt;&gt; 0 OR SDocCountry = &quot;&quot;
CheckDocLocale = (bIsDocLanguage And bIsDocCountry)
End Function
</script:module>