Weshalb stürzt OO beim Serversuch ab?
Verfasst: Mi, 22.09.2010 17:07
Hallo zusammen,
mit dem nachfolgenden Quellcode kann ich beliebige lokale Platten und USB-Sticks durchsuchen (scannen).
Wenn ich aber das Serverlaufwerk anspreche, verabschiedet sich Openoffice nach kurzer Zeit und Microsoft will einen Fehlerbericht absetzen.
Liegt das an dem Code?
mit freundlichem Gruß
Werner
mit dem nachfolgenden Quellcode kann ich beliebige lokale Platten und USB-Sticks durchsuchen (scannen).
Wenn ich aber das Serverlaufwerk anspreche, verabschiedet sich Openoffice nach kurzer Zeit und Microsoft will einen Fehlerbericht absetzen.
Liegt das an dem Code?
Code: Alles auswählen
Private oDocument, oTxtRange As object
Private Liste(100000) as string
Private myString as String
Private Laufwerk as String
Private DocFileDateTime as object
Private oComputer as String
Sub Katalog
' REM Rahmenbedingungen
GlobalScope.BasicLibraries.LoadLibrary("Tools")
Dim oDoc , oForm , CtrlTextBox as Object
Dim VerzeichnisAlt,VerzeichnisNeu,VerzeichnisTemp,MyText as string
'Dim Laufwerk as String
oDoc = thisComponent
oform=odoc.drawpage.forms.getbyindex(0)
CtrlTextBox = oForm.getByName("Textfeld 1")
Laufwerk = CtrlTextBox.text
CtrlTextBox = oForm.getByName("Textfeld 2")
myString = CtrlTextBox.text
oComputer = environ ("COMPUTERNAME")
' with thiscomponent.getDocumentInfo.ModifyDate
' msgbox .Year
' msgbox .Month
' msgbox .Day
' msgbox .Hours
' msgbox .Minutes
' end with
'Jetzt geht es zu auslesen
'Fortschrittsbalken
erg=getDirs(liste(),0,Laufwerk)
VerzeichnisAlt = ""
REM Leeres Dokument erzeugen
leerDoku
oViewC = oDocument.getCurrentController().getViewCursor()
oDocument.getText().insertString(oViewC, chr(13) & oComputer & chr(13), False)
for Zaehler = 0 to (erg - 1)
VerzeichnisTemp = ConvertFromURL(Liste(Zaehler))
VerzeichnisNeu = DirectoryNameoutofPath(VerzeichnisTemp,"\")
If VerzeichnisNeu = VerzeichnisAlt then
oDocument.getText().insertString(oViewC, chr(13) & (Liste(Zaehler))& chr(13), False)
else
oViewC = oDocument.getCurrentController().getViewCursor()
oDocument.getText().insertString(oViewC, chr(13) & (Liste(Zaehler))& chr(13), False)
end if
VerzeichnisAlt = VerzeichnisNeu
next Zaehler
msgbox "fertig"
end sub
Sub leerDoku
Dim mArgs()
oDocument = StarDesktop.loadComponentFromURL ("private:factory/swriter","_blank",0,mArgs())
oDocument.title = "Katalog"
'oDocumentPageStyles=ThisComponent.getStyleFamilies().getByName("PageStyles")
'oDocumentPageStyle=oDocumentPageStyles.getByName("Katalog")
'oDocumentPageStyle.setPropertyValue "IsLandscape",True
REM Neues Dokument geöffnet
End Sub
sub Fortschrittsbalken
Dialoglibraries.Loadlibrary("Standard")
MyDlg= CreateUnoDialog(Dialoglibraries.Standard.Dialog1)
MyDlg.setvisible (True)
myctrl = myDlg.getControl("ProgressBar1")
myctrl.model.backgroundcolor = RGB (255, 159, 70)
myctrl.ForegroundColor = RGB (255, 0, 0)
myctrl.model.ProgressValueMax=100
for i= 0 to 100
myDlg.getControl("Label1").Text = "In Arbeit... " & i & " %"
if i > 75 then
myctrl.ForegroundColor = RGB (2, 159, 70)
myDlg.getControl("Label1").Text = "Bin gleich fertig! " & i & " %"
MyCtrl1=MyDlg.getControl("Label1")
myctrl1.model.textcolor = RGB (2, 159, 70)
end if
myctrl. value = i
wait 40
next i
'erg=getDirs(liste(),0,Laufwerk)
mydlg.setvisible (false)
end sub
function getdirs( liste(),z, folder) as integer
sFolderUrl = ConvertToUrl( Folder )
oSimpleFileAccess = createUnoService( "com.sun.star.ucb.SimpleFileAccess" )
on error resume next
aFolders = oSimpleFileAccess.getFolderContents( sFolderUrl,true )
For i = LBound( aFolders ) To UBound( aFolders )
sFile = aFolders( i )
'Endung = lcase(right(sFile,4))
Endung = lcase(sFile)
If oSimpleFileAccess.isFolder( sFile ) Then
getdirs( liste(),z, sFile)
Else
'if Ucase(Endung) = ltrim(rtrim(Ucase(myString))) then
'if Ucase(Endung) = ltrim(rtrim(Ucase(myString))) or Instr(sFile,ltrim(rtrim(Ucase(myString))))<>0 then
if Instr(Ucase(Endung),ltrim(rtrim(Ucase(myString))))<>0 then
DocFileDateTime = Split(FileDateTime(sFile)," ")
'msgbox DocFileDateTime(0) Jahreszahl
'msgbox DocFileDateTime(1) Uhrzeit
liste(z) = sFile & "/" & DocFileDateTime(0) & "/" & DocFileDateTime(1)
z = z + 1
end if
end if
next i
getdirs = z
end function
Werner