Domino 9 und frühere Versionen > ND6: Administration & Userprobleme
VBA Feststellen, ob Datenbank vorhanden ist
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