Domino 9 und frühere Versionen > ND6: Administration & Userprobleme

VBA Feststellen, ob Datenbank vorhanden ist

(1/3) > >>

Stefan5:
Guten Tag
Ich muss aus einer Excelliste mit Hyperlinks zu den einzelen Datenbanken ein makro schreiben, welches in der Lage ist festzustellen, ob die Datenbank noch existiert, wie könnte ich das anstellen?

Der Hyperlinks sieht etwa so aus: notes://pdmgxx/pdmgxx/bezeichnung.nsf


Private Function FollowLotusNotes(strLink As String) As Boolean

Dim objLotusNotes As Object
Dim Db As Object
Dim strHTML As String
Dim b As Byte
   

    Set objLotusNotes = CreateObject("Notes.Notessession")
    Set Db = objLotusNotes.GETDATABASE("", strLink)
 

Vielen Dank
Grüsse
Stefan5

m3:
Man könnte schaun, ob DB anschließend einen gültigen Wert beinhalted?
Bin ich da jetzt bei "Verstehen sie Spaß" oder "Programmieren 101"?

Stefan5:
Ganz und gar nicht...
Wir haben eine Hyperlink auf einer Intranetseite zu diesen einzelnen Datenbank und ich sollte prüfen, ob diese 50 und mehr Links auch wirklich funktionieren. Wird eine Datenbank gelöscht oder ist die Erkennung falsch, kommt im LotusNotes ein entsprechender Hinweis. Die Frage ist, ob es eine Möglichkeit mit VBA gibt, anhand dieser Erkennung (die als Link einwandfrei funktioniert), auch die vorhandene Datenbank zu erkennen?
Grüsse
Stefan5

Axel:
Nach der Zeile

    Set Db = objLotusNotes.GETDATABASE("", strLink)

solltest du mit DB.FilePath den Dateinamen incl. Pfadangabe auslesen können. Damit kannst du mit VBA-Mitteln feststellen, ob es die Datei gibt oder nicht.


Axel

Stefan5:
Hallo Axel
Vielen Dank für den Hinweis. Leider liefert Dein Vorschlag immer das gleiche Resultat, egal ob der strLink korrekt ist oder falsch. Es gibt kein Unterschied. So habe ich es versucht als Beispiel:

Sub Testlauf()

'Korrekter Link
    If FollowLotusNotes("notes://pdmg20/pdmg20/mailin/Name.nsf") = True Then
    End If
   
'Falscher Link
    If FollowLotusNotes("notes://pdmg20/pdmg20/mailin/NameXXXX.nsf") = True Then
    End If   


End Sub

Private Function FollowLotusNotes(strLink As String) As Boolean

Dim objLotusNotes As Object
Dim Db As Object
Dim s As String   


    Set objLotusNotes = CreateObject("Notes.Notessession")
    Set Db = objLotusNotes.GETDATABASE("", strLink)
   
   
    If Db.IsOpen = False Then
        Db.OPENMAIL
    End If
   
    MsgBox Db.FILEPATH
    MsgBox Db.FILENAME     
   
    Set objLotusNotes = Nothing
    Set Db = Nothing

End Function

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln