2001-04-23 04:46:42 -05:00
<?xml version="1.0" encoding="UTF-8"?>
2001-05-30 11:08:07 -05:00
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
2002-01-11 02:49:32 -06:00
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="FilesModul" script:language="StarBasic">Option Explicit
2001-04-23 04:46:42 -05:00
2002-08-16 09:21:32 -05:00
Public Const SBOVERWRITEUNDEFINED as Integer = 0
Public Const SBOVERWRITECANCEL as Integer = 2
Public Const SBOVERWRITEQUERY as Integer = 7
Public Const SBOVERWRITEALWAYS as Integer = 6
2001-04-23 04:46:42 -05:00
Public AbsTemplateFound as Integer
Public AbsDocuFound as Integer
2001-05-21 09:52:58 -05:00
Public oLogDocument as Object
Public oLogTable as Object
2002-08-08 08:29:54 -05:00
Public bLogExists as Boolean
2002-08-16 09:21:32 -05:00
Public sComment as String
2002-08-08 08:29:54 -05:00
2001-08-09 10:35:42 -05:00
Public bInsertRow as Boolean
2002-07-15 09:42:29 -05:00
Public sLogUrl as String
Public sCurPassWord as String
2002-08-08 08:29:54 -05:00
Public FileCount as Integer
2002-07-15 09:42:29 -05:00
2001-04-23 04:46:42 -05:00
Function ReadApplicationDirectories(ApplIndex as Integer, FilesList(),bIsDocument as Boolean, sFiltername()) as Integer
Dim bCheckDocuType as Boolean
Dim FilterIndex as Integer
Dim bRecursive as Boolean
Dim sSourceDir as String
Dim bCheckRealType as Boolean
Dim a as Integer
Dim sFileContent() as String
2001-05-21 09:52:58 -05:00
Dim NewList() as String
2001-04-23 04:46:42 -05:00
Dim Index as Integer
Dim sLocExtension as String
2001-05-21 09:52:58 -05:00
Index = Applications(ApplIndex,SBAPPLKEY)
2001-04-23 04:46:42 -05:00
sLocExtension = ""
If bIsDocument Then
2001-05-21 09:52:58 -05:00
bCheckDocuType = Applications(ApplIndex,SBDOCCONVERT)
2001-04-23 04:46:42 -05:00
bCheckRealType = False
2001-05-21 09:52:58 -05:00
bRecursive = Applications(ApplIndex,SBDOCRECURSIVE)
2001-04-23 04:46:42 -05:00
FilterIndex = Index
2001-05-21 09:52:58 -05:00
sSourceDir = Applications(ApplIndex,SBDOCSOURCE)
2001-04-23 04:46:42 -05:00
Else
' Templates
2001-05-21 09:52:58 -05:00
bCheckDocuType = Applications(ApplIndex,SBTEMPLCONVERT)
2001-04-23 04:46:42 -05:00
' In SO the documenttype cannot be derived from the extension name
bCheckRealType = WizardMode = SBXMLMODE
If bCheckRealType Then
' Note: StarOffice-Math-Documents cannot be treated like templates
bCheckRealType = Index <> 3
If bCheckRealType Then
sLocExtension = "vor"
End If
bIsDocument = Not bCheckRealType
End If
2001-05-21 09:52:58 -05:00
bRecursive = Applications(ApplIndex,SBTEMPLRECURSIVE)
2001-04-23 04:46:42 -05:00
FilterIndex = Index + MaxApplCount
2001-05-21 09:52:58 -05:00
sSourceDir = Applications(ApplIndex,SBTEMPLSOURCE)
2001-04-23 04:46:42 -05:00
End If
If bCheckDocuType Then
sFileContent() = GetMimeTypeList(sFilterName(FilterIndex))
NewList() = ReadDirectories(sSourceDir, bRecursive, bCheckRealType, False, sFileContent(), sLocExtension)
2001-05-21 09:52:58 -05:00
If Ubound(NewList()) > -1 Then
2001-07-12 04:39:01 -05:00
AddListtoFilesList(FilesList(), NewList(), ApplIndex)
2001-06-21 08:14:32 -05:00
ImportDialog.LabelRetrieval.Label = sProgressPage_2 & " " & ReplaceString(sProgressPage_5, Str(Ubound(FilesList()) + 1) & " ", "%1")
2001-05-21 09:52:58 -05:00
End If
2001-04-23 04:46:42 -05:00
End If
2001-05-21 09:52:58 -05:00
ReadApplicationDirectories() = Ubound(NewList(),1) + 1
2001-04-23 04:46:42 -05:00
End Function
Sub ShowCurrentProgress(bIsDocument as Boolean, CurFound as Integer)
If bIsDocument Then
AbsDocuFound = AbsDocuFound + CurFound
ImportDialog.LabelCurDocumentRetrieval.Label = sProgressFound & " " & CStr(AbsDocuFound) & " " & sProgressMoreDocs
Else
AbsTemplateFound = AbsTemplateFound + CurFound
ImportDialog.LabelCurTemplateRetrieval.Label = sProgressFound & " " & CStr(AbsTemplateFound) & " " & sProgressMoreTemplates
End If
End Sub
2001-05-21 09:52:58 -05:00
2001-04-23 04:46:42 -05:00
Sub ConvertAllDocuments(sFilterName())
2002-08-16 09:21:32 -05:00
Dim FileProperties(2) as new com.sun.star.beans.PropertyValue
2001-08-15 06:50:32 -05:00
Dim WriterWebProperties(0) as new com.sun.star.beans.PropertyValue
2002-08-14 10:45:23 -05:00
Dim OpenProperties(3) as new com.sun.star.beans.PropertyValue
2001-05-21 09:52:58 -05:00
Dim FilesList(0,2) as String
2001-04-23 04:46:42 -05:00
Dim sViewPath as String
Dim i as Integer
Dim FilterIndex as Integer
Dim sFullName as String
Dim sFileName as String
Dim oDocument as Object
Dim sExtension as String
Dim OldExtension as String
Dim CurFound as Integer
2001-06-21 08:14:32 -05:00
Dim TotFound as Integer
2001-04-23 04:46:42 -05:00
Dim TargetStemDir as String
Dim SourceStemDir as String
Dim TargetDir as String
Dim TargetFile as String
Dim CurFilterName as String
Dim ApplIndex as Integer
Dim Index as Integer
Dim bIsDocument as Boolean
2002-08-16 09:21:32 -05:00
Dim iGeneralOverwrite as Integer
2001-04-23 04:46:42 -05:00
Dim bDoSave as Boolean
Dim sCurFileExists as String
2001-05-21 09:52:58 -05:00
Dim MaxFileIndex as Integer
2002-07-15 09:42:29 -05:00
Dim bContainsBasicMacro as Boolean
Dim bIsPassWordProtected as Boolean
2002-08-16 09:21:32 -05:00
Dim iOverwrite as Integer
iGeneralOverwrite = SBOVERWRITEUNDEFINED
2001-08-10 03:28:06 -05:00
bConversionIsRunnig = True
2002-08-08 08:29:54 -05:00
bLogExists = false
2001-04-23 04:46:42 -05:00
AbsTemplateFound = 0
AbsDocuFound = 0
For i = 0 To ApplCount-1
'templates
2002-08-08 08:29:54 -05:00
If bCancelTask Or RetValue = 0 Then
bConversionIsRunnig = False
Exit Sub
2002-08-16 09:21:32 -05:00
End if
2001-04-23 04:46:42 -05:00
bIsDocument = False
CurFound = ReadApplicationDirectories(i, FilesList(), bIsDocument, sFilterName())
ShowCurrentProgress(bIsDocument, CurFound)
Next i
For i = 0 To ApplCount-1
'documents
2002-08-08 08:29:54 -05:00
If bCancelTask Or RetValue = 0 Then
bConversionIsRunnig = False
Exit Sub
2002-08-16 09:21:32 -05:00
End if
2001-04-23 04:46:42 -05:00
bIsDocument = True
CurFound = ReadApplicationDirectories(i, FilesList(), bIsDocument, sFilterName())
ShowCurrentProgress(bIsDocument, CurFound)
Next i
2001-06-21 08:14:32 -05:00
TotFound = AbsTemplateFound + AbsDocuFound
If TotFound > 0 Then
2002-08-08 08:29:54 -05:00
CreateLogDocument(OpenProperties())
2001-06-21 08:14:32 -05:00
InitializeProgressPage(ImportDialog)
OpenProperties(0).Name = "Hidden"
OpenProperties(0).Value = True
2001-08-15 06:50:32 -05:00
OpenProperties(1).Name = "AsTemplate"
2002-08-16 09:21:32 -05:00
OpenProperties(1).Value = False
2002-08-14 10:40:35 -05:00
OpenProperties(2).Name = "MacroExecutionMode"
2002-08-16 09:21:32 -05:00
OpenProperties(2).Value = com.sun.star.document.MacroExecMode.NEVER_EXECUTE
2002-08-14 10:40:35 -05:00
OpenProperties(3).Name = "UpdateDocMode"
2002-08-16 09:21:32 -05:00
OpenProperties(3).Value = com.sun.star.document.UpdateDocMode.NO_UPDATE
2001-06-21 08:14:32 -05:00
MaxFileIndex = Ubound(FilesList(),1)
2002-07-08 07:44:13 -05:00
FileCount = 0
2001-06-21 08:14:32 -05:00
For i = 0 To MaxFileIndex
2002-08-16 09:21:32 -05:00
sComment = ""
2002-01-11 02:49:32 -06:00
If bCancelTask Or RetValue = 0 Then
2001-08-10 03:28:06 -05:00
bConversionIsRunnig = False
2002-08-08 08:29:54 -05:00
Exit For
2001-06-21 08:14:32 -05:00
End if
2001-08-10 03:28:06 -05:00
bDoSave = True
2001-06-21 08:14:32 -05:00
sFullName = FilesList(i,0)
CurFiltername = GetFilterName(FilesList(i,1), sFilterName(), sExtension, FilterIndex)
ApplIndex = FilesList(i,2)
sViewPath = CutPathView(sFullName, 60)
ImportDialog.LabelCurDocument.Label = Str(i+1) & "/" & MaxFileIndex + 1 & " (" & sViewPath & ")"
2001-08-15 06:50:32 -05:00
oDocument = StarDesktop.LoadComponentFromURL(sFullName, "_blank", 0, OpenProperties())
2002-08-08 08:29:54 -05:00
If Not IsNull(oDocument) Then
bIsPassWordProtected = CheckPassWordProtection(oDocument)
2001-04-23 04:46:42 -05:00
End If
2001-06-21 08:14:32 -05:00
If Not IsNull(oDocument) Then
2002-08-16 09:21:32 -05:00
CheckIfMacroExists(oDocument, sComment)
2001-06-21 08:14:32 -05:00
Select Case sExtension
2001-08-15 06:50:32 -05:00
Case "sxw", "sxc", "sxi", "sxd", "sxs", "sxm"
2001-06-21 08:14:32 -05:00
SourceStemDir = RTrimStr(Applications(ApplIndex,SBDOCSOURCE), "/")
TargetStemDir = RTrimStr(Applications(ApplIndex,SBDOCTARGET), "/")
Case Else ' Templates and Helper-Applications remain
SourceStemDir = RTrimStr(Applications(ApplIndex,SBTEMPLSOURCE), "/")
TargetStemDir = RTrimStr(Applications(ApplIndex,SBTEMPLTARGET), "/")
End Select
TargetFile = ReplaceString(sFullname, TargetStemDir, SourceStemDir)
sFileName = GetFileNameWithoutExtension(TargetFile, "/")
OldExtension = GetFileNameExtension(TargetFile)
TargetFile = RTrimStr(TargetFile, OldExtension)
TargetFile = TargetFile & sExtension
TargetDir = RTrimStr(TargetFile, sFileName & "." & sExtension)
If Not oUcb.Exists(TargetDir) Then
2001-11-30 09:54:17 -06:00
CreateFolder(TargetDir)
2001-06-21 08:14:32 -05:00
End If
2002-08-16 09:21:32 -05:00
' Todo: According to AS there might come a new feature that storeasUrl could possibly rise a UI dialog.
' In this case my own UI becomes obsolete
If ((oUcb.Exists(TargetFile)) and (iGeneralOverwrite <> SBOVERWRITEALWAYS)) Then
If (iGeneralOverwrite = SBOVERWRITEUNDEFINED) Then
iGeneralOverWrite = Msgbox (sOverwriteallFiles, 32 + 3, sTitle)
End If
If ((iGeneralOverWrite = SBOVERWRITEQUERY) OR (iGeneralOverwrite = SBOVERWRITECANCEL)) Then
sCurFileExists = ReplaceString(sFileExists, ConvertFromUrl(TargetFile), "<1>")
sCurFileExists = ReplaceString(sCurFileExists, chr(13), "<CR>")
iOverWrite = Msgbox (sCurFileExists, 32 + 3, sTitle)
Select Case iOverWrite
Case 1 ' OK
' In the FileProperty-Bean this is already default
bDoSave = True
Case 2 ' Abort
CancelTask(False)
bDoSave = False
Case 7 ' No
bDoSave = False
End Select
End If
2001-06-21 08:14:32 -05:00
End If
If bDoSave Then
2002-08-16 09:21:32 -05:00
On Local Error Goto NOSAVING
2001-08-15 06:50:32 -05:00
FileProperties(0).Name = "FilterName"
FileProperties(0).Value = CurFilterName
2002-08-16 09:21:32 -05:00
FileProperties(1).Name = "Overwrite"
FileProperties(1).Value = True
2002-07-15 09:42:29 -05:00
If bIsPassWordProtected Then
2002-08-16 09:21:32 -05:00
FileProperties(2).Name = "PassWord"
FileProperties(2).Value = sCurPassWord
2002-07-15 09:42:29 -05:00
End If
2002-08-16 09:21:32 -05:00
' Todo: Make sure that an errorbox pops up when saving fails
2001-08-15 06:50:32 -05:00
oDocument.StoreAsUrl(TargetFile,FileProperties())
2002-08-16 09:21:32 -05:00
NOSAVING:
If Err <> 0 Then
sCurcouldnotsaveDocument = ReplaceString(scouldnotsaveDocument, ConvertFromUrl(TargetFile), "<1>")
sComment = ConcatComment(sComment, sCurCouldnotsaveDocument)
Resume LETSGO
LETSGO:
Else
FileCount = FileCount + 1
End If
2001-06-21 08:14:32 -05:00
oDocument.Dispose()
End If
2002-08-16 09:21:32 -05:00
Else
sCurcouldnotopenDocument = ReplaceString(scouldnotopenDocument, ConvertFromUrl(sFullName), "<1>")
sComment = ConcatComment(sComment, sCurCouldnotopenDocument)
TargetFile = ""
2001-06-21 08:14:32 -05:00
End If
2002-08-16 09:21:32 -05:00
InsertDocNamesToLogDocument(sFullName, TargetFile, sComment)
2001-06-21 08:14:32 -05:00
Next i
End If
2002-08-08 08:29:54 -05:00
AddLogStatistics()
FinalizeDialogButtons()
2001-08-10 03:28:06 -05:00
bConversionIsRunnig = False
2001-04-23 04:46:42 -05:00
Exit Sub
RTError:
Msgbox sRTErrorDesc, 16, sRTErrorHeader
End Sub
2002-07-15 09:42:29 -05:00
2001-07-12 04:39:01 -05:00
Sub AddListtoFilesList(FirstList(), SecList(), ApplIndex as Integer)
2001-04-23 04:46:42 -05:00
Dim FirstStart as Integer, FirstEnd as Integer, i as Integer, s as Integer
2001-07-12 04:39:01 -05:00
If FirstList(0,0) = "" Then
FirstStart = Ubound(FirstList(),1)
Else
FirstStart = Ubound(FirstList(),1) + 1
End If
2001-05-21 09:52:58 -05:00
FirstEnd = FirstStart + Ubound(SecList(),1)
ReDim Preserve FirstList(FirstEnd,2)
s = 0
2001-04-23 04:46:42 -05:00
For i = FirstStart To FirstEnd
FirstList(i,0) = SecList(s,0)
FirstList(i,1) = SecList(s,1)
FirstList(i,2) = CStr(ApplIndex)
s = s + 1
Next i
End Sub
Function GetTargetTemplatePath(Index as Integer)
Select Case WizardMode
Case SBMICROSOFTMODE
2001-07-12 04:39:01 -05:00
GetTargetTemplatePath() = SOTemplatePath & "/" & sTemplateGroupName
2001-04-23 04:46:42 -05:00
Case SBXMLMODE
If Index = 3 Then
' Helper Application
GetTargetTemplatePath = SOWorkPath
Else
GetTargetTemplatePath = SOTemplatePath
End If
End Select
End Function
' Retrieves the second value for a next to 'SearchString' in
' a two-dimensional string-Array
Function GetFilterName(sMimetypeorExtension as String, sFilterName(), sExtension as string, FilterIndex as Integer) as String
Dim i as Integer
Dim MaxIndex as Integer
Dim sLocFilterlist() as String
For i = 0 To Ubound(sFiltername(),1)
If Instr(1,sFilterName(i,0),sMimeTypeOrExtension) <> 0 Then
sLocFilterList() = ArrayoutofString(sFiltername(i,0),"|", MaxIndex)
If MaxIndex = 0 Then
sExtension = sFiltername(i,2)
GetFilterName = sFilterName(i,1)
Else
Dim a as Integer
Dim sLocExtensionList() as String
a = SearchArrayForPartString(sMimetypeOrExtension, sLocFilterList())
sLocFilterList() = ArrayoutofString(sFiltername(i,1),"|", MaxIndex)
GetFilterName = sLocFilterList(a)
sLocExtensionList() = ArrayoutofString(sFilterName(i,2), "|", MaxIndex)
sExtension = sLocExtensionList(a)
End If
Exit For
End If
Next
FilterIndex = i
End Function
Function SearchArrayforPartString(SearchString as String, LocList()) as Integer
Dim i as integer
For i = Lbound(LocList(),1) to Ubound(LocList(),1)
If Instr(1,LocList(i), SearchString) <> 0 Then
SearchArrayForPartString() = i
Exit Function
End if
Next
IndexinArray = -1
End Function
Function GetMimeTypeList(BigFiltername as STring)
2001-08-10 09:15:50 -05:00
Dim sBigList() as String
Dim sSmallList() as String
2001-04-23 04:46:42 -05:00
Dim sMimeTypeList()
2001-08-10 09:15:50 -05:00
Dim BigMaxIndex as Integer
Dim n as Integer
sBigList() = ArrayoutofString(BigFilterName,"|", BigMaxIndex)
For n = 0 To BigMaxIndex
sSmallList() = ArrayoutofString(sBigList(n),";")
sMimeTypeList() = AddListToList(sMimeTypeList(), sSmallList())
Next n
2001-04-23 04:46:42 -05:00
GetMimetypeList() = sMimeTypeList()
2001-05-21 09:52:58 -05:00
End Function
Sub CreateLogDocument(HiddenProperties())
2002-07-15 09:42:29 -05:00
Dim OpenProperties(0) as new com.sun.star.beans.PropertyValue
2001-05-21 09:52:58 -05:00
Dim oTableCursor as Object
Dim oLogCursor as Object
Dim oLogRows as Object
Dim NoArgs()
Dim i as Integer
2002-08-08 08:29:54 -05:00
Dim bLogIsThere as Boolean
2001-05-21 09:52:58 -05:00
If ImportDialog.chkLogfile.State = 1 Then
i = 2
2002-07-15 09:42:29 -05:00
OpenProperties(0).Name = "Hidden"
OpenProperties(0).Value = True
oLogDocument = StarDesktop.LoadComponentFromURL("private:factory/swriter", "_blank", 4, OpenProperties())
2001-05-21 09:52:58 -05:00
oLogCursor = oLogDocument.Text.CreateTextCursor
oLogTable = oLogDocument.CreateInstance("com.sun.star.text.TextTable")
2002-07-08 07:44:13 -05:00
oLogTable.RepeatHeadline = true
2001-05-21 09:52:58 -05:00
oLogCursor.Text.InsertTextContent(oLogCursor, oLogTable, True)
2002-07-15 09:42:29 -05:00
oLogCursor = oLogTable.GetCellbyPosition(0,0).createTextCursor()
2001-05-21 09:52:58 -05:00
oLogCursor.SetString(sSourceDocuments)
2002-07-15 09:42:29 -05:00
oLogCursor = oLogTable.GetCellbyPosition(1,0).createTextCursor()
2001-05-21 09:52:58 -05:00
oLogCursor.SetString(sTargetDocuments)
2001-08-09 10:35:42 -05:00
bInsertRow = False
2001-05-21 09:52:58 -05:00
sLogUrl = SOWorkPath & "/Logfile.sxw"
Do
2002-08-08 08:29:54 -05:00
bLogIsThere = oUcb.Exists(sLogUrl)
If bLogIsThere Then
2001-05-21 09:52:58 -05:00
If i = 2 Then
sLogUrl = ReplaceString(sLogUrl, "/Logfile_2.sxw", "/Logfile.sxw")
Else
sLogUrl = ReplaceString(sLogUrl, "/Logfile_" & cStr(i) & ".sxw", "/Logfile_" & cStr(i-1) & ".sxw")
End If
i = i + 1
End If
2002-08-08 08:29:54 -05:00
Loop Until Not bLogIsThere
bLogExists = True
2001-08-09 10:35:42 -05:00
oLogDocument.StoreAsUrl(sLogUrl, NoArgs())
2002-08-08 08:29:54 -05:00
End If
2001-05-21 09:52:58 -05:00
End Sub
2002-08-16 09:21:32 -05:00
Sub InsertDocNamesToLogDocument(SourceUrl as String, TargetUrl as String, sComment as String) 'bContainsBasicMacro as Boolean
2001-08-09 10:35:42 -05:00
Dim oCell as Object
2001-05-21 09:52:58 -05:00
Dim oLogCursor as Object
Dim UrlList(1) as String
Dim LocFileName as String
Dim LocUrl as String
Dim i as Integer
2002-07-15 09:42:29 -05:00
Dim oCommentCursor as Object
2002-08-08 08:29:54 -05:00
If bLogExists Then
2001-08-09 10:35:42 -05:00
If bInsertRow Then
2001-05-21 09:52:58 -05:00
oLogTable.Rows.InsertByIndex(oLogTable.Rows.Count,1)
2001-08-09 10:35:42 -05:00
Else
bInsertRow = True
2001-05-21 09:52:58 -05:00
End If
UrlList(0) = SourceUrl
UrlList(1) = TargetUrl
For i = 0 To 1
2001-08-09 10:35:42 -05:00
oCell = oLogTable.GetCellbyPosition(i,oLogTable.Rows.Count-1)
2002-08-16 09:21:32 -05:00
If sComment <> "" Then
If ((TargetUrl <>"") AND (i = 1)) Or ((TargetUrl = "") AND (i = 0)) Then
oCommentCursor = oCell.createTextCursor()
oCell.insertControlCharacter(oCommentCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False)
oCell.insertString(oCommentCursor, sComment, false)
End If
End If
2001-05-21 09:52:58 -05:00
LocUrl = UrlList(i)
2002-07-15 09:42:29 -05:00
oLogCursor = oCell.createTextCursor()
oLogCursor.CollapseToStart()
2001-05-21 09:52:58 -05:00
oLogCursor.HyperLinkURL = LocUrl
oLogCursor.HyperLinkName = LocUrl
oLogCursor.HyperLinkTarget = LocUrl
2001-10-17 04:47:56 -05:00
LocFileName = FileNameOutOfPath(LocUrl)
2001-08-09 10:35:42 -05:00
oCell.InsertString(oLogCursor, LocFileName,False)
2002-08-16 09:21:32 -05:00
Next i
2001-05-21 09:52:58 -05:00
oLogDocument.Store()
End If
2002-07-08 07:44:13 -05:00
End Sub
2002-08-08 08:29:54 -05:00
Sub AddLogStatistics()
2002-07-08 07:44:13 -05:00
Dim oCell as Object
Dim oLogCursor as Object
Dim MaxRowIndex as Integer
2002-08-08 08:29:54 -05:00
If bLogExists Then
2002-07-08 07:44:13 -05:00
MaxRowIndex = oLogTable.Rows.Count
sLogSummary = ReplaceString(sLogSummary, FileCount, "<COUNT>")
oLogTable.Rows.InsertByIndex(MaxRowIndex, 1)
oCell = oLogTable.GetCellbyPosition(0, MaxRowIndex)
oLogCursor = oCell.createTextCursor()
oCell.InsertString(oLogCursor, sLogSummary,False)
2002-08-16 09:21:32 -05:00
MergeRange(oLogTable, oCell, 1)
2002-07-08 07:44:13 -05:00
oLogDocument.Store()
2002-08-08 08:29:54 -05:00
oLogDocument.Dispose()
bLogExists = False
2002-07-08 07:44:13 -05:00
End If
2002-07-15 09:42:29 -05:00
End Sub
' This macro has to be reworked out again as it works with deprecated interfaces
' It can be completed as soon as Bug #93295 will be fixed because right now it
2002-08-16 09:21:32 -05:00
' is not possible to access BasicLibraries and DialogLibraries from outside the
2002-07-15 09:42:29 -05:00
' document
2002-08-16 09:21:32 -05:00
Function CheckIfMacroExists(oDocument as Object, sComment as String) as Boolean
2002-07-15 09:42:29 -05:00
Dim ModuleNames() as String
Dim MaxIndex as Integer
Dim oLibraryContainer as Object
2002-08-16 09:21:32 -05:00
Dim bMacroExists as Boolean
bMacroExists = False
2002-07-15 09:42:29 -05:00
' oLibraryContainer = oDocument.LibraryContainer
' If oLibraryContainer.hasElements Then
' ModuleNames = oDocument.LibraryContainer.ElementNames
' MaxIndex = Ubound(ModuleNames())
' For i = 0 To MaxIndex
' oLibrary = oLibraryContainer.getByName(ModuleNames(i))
' If Not IsNull(oLibrary.getDialogContainer) Then
2002-08-16 09:21:32 -05:00
' bMacroExists = True
2002-07-15 09:42:29 -05:00
' Exit Function
' End If
' If oLibrary.ModuleContainer.HasElements Then
2002-08-16 09:21:32 -05:00
' bMacroExists = True
2002-07-15 09:42:29 -05:00
' Exit Function
' End If
' Next i
' End If
2002-08-16 09:21:32 -05:00
If bMacroExists = True Then
ConcatComment(sComment, sReeditMacro)
End If
CheckIfMacroExists() = bMacroExists
2002-07-15 09:42:29 -05:00
End Function
Function CheckPassWordProtection(oDocument as Object)
Dim bIsPassWordProtected as Boolean
Dim i as Integer
Dim oArgs()
Dim MaxIndex as Integer
bIsPassWordProtected = false
oArgs() = oDocument.getArgs()
MaxIndex = Ubound(oArgs())
For i = 0 To MaxIndex
If oArgs(i).Name = "PassWord" Then
bIsPassWordProtected = True
sCurPassWord = oArgs(i).Value
Exit For
End If
Next i
CheckPassWordProtection() = bIsPassWordProtected
End Function
Sub OpenLogDocument()
Dim NoArgs() as New com.sun.star.beans.PropertyValue
OpenDocument(sLogUrl, NoArgs())
2002-08-16 09:21:32 -05:00
End Sub
Sub MergeRange(oTable as Object, oCell as Object, MergeCount as Integer)
Dim oTableCursor as Object
oTableCursor = oTable.createCursorByCellName(oCell.CellName)
oTableCursor.goRight(MergeCount, True)
oTableCursor.mergeRange()
End Sub
Function ConcatComment(sComment as String, AdditionalComment as String)
If sComment = "" Then
sComment = AdditionalComment
Else
sComment = sComment & chr(13) + AdditionalComment
End If
ConcatComment = sComment
End Function
</script:module>