ich bin mal wieder am verzweifeln und hoffe auf einen kleinen Tip oder Hilfe.
Ich habe mir ein Makro "zusammen gebastelt" welches auch wunderbar funktioniert.
Das Makro importiert Daten aus einer .xls Datei.
Nun möchte ich gerne eine Fehlermeldung bekommen z.B. "Datei existiert nicht" wenn unter dem Pfad keine Datei zum importieren vorhanden ist.
Zur Zeit öffnet sich dann nur das Makro und die Fehlerzeile wird markiert.
Ich weis das das irgendwie mit if und else oder so funktioniert aber ich ich finde nicht den richtigen Lösungsansatz.
Kann mir bitte jemand helfen ??????
Vielen Dank im voraus Norman
Hier mein Code:
Code: Alles auswählen
Sub Main
Dim sPath, fullPath, iVal, iResult As String
Dim r as Integer
Dim oDocument, thisDoc, oSheet, ocell1, oVal, oSrcRange, oDstRange as Object
' Start und Endposition fuer CellRangeByPosition festlegen
CRBP_L = 0 ' CellRangeByPosition Links Spalte A
CRBP_O = 0 ' CellRangeByPosition Oben Zeile 1
CRBP_R = 21 ' CellRangeByPosition Rechts Spalte N
CRBP_U = 5000 ' CellRangeByPosition Unten Zeile 801
sPath = ThisComponent.getSheets().getByName( "Start").getCellRangeByName( "d29" ).getString() & getpathseparator 'Ort der die Dateien enthält >> Pfad anpassen!
r = 1 'Startwert Zeile setzen
sFileName = Dir$(sPath & getPathSeparator() & "*", 0)
' Do
fullPath = converttourl(sPath & sFileName)
sFileName = Dir$
'folgend Quelldokument im Hintergrund öffnen
dim myFileProp(0) as New com.sun.star.beans.PropertyValue
myFileProp(0).name = "Hidden"
myFileProp(0).value = true
oDocument = StarDesktop.loadComponentFromURL(fullPath, "_blank", 0, myFileProp())
'Werte aus Quelldokument lesen
oSheet = oDocument.sheets(0) 'erstes Tabellenblatt des Quelldokumentes
oSrcRange = osheet.getCellRangeByPosition(CRBP_L,CRBP_O,CRBP_R,CRBP_U) 'Spalte A , Zeile 1, Spalte N, Zeile 801
oDataArray = oSrcRange.getDataArray
'Werte in das Zieldokument schreiben
thisDoc = thisComponent 'Zieldokument ansprechen
oSheet = thisDoc.sheets(4) 'erstes Tabellenblatt der Zieldatei
oDstRange = osheet.getCellRangeByPosition(CRBP_L,CRBP_O,CRBP_R,CRBP_U) 'Spalte A , Zeile 1, Spalte N, Zeile 801
oDstRange.setDataArray(oDataArray)
redim myFileProp
oDocument.close(true) 'Quelldokument schliessen
' Loop Until sFileName = ""
msgbox "Kundendaten wurden importiert !" ,64 , "Kundendaten importieren"
close
oDoc = thisComponent
oDoc.store()
End Sub