Autor Thema: VBA: Anwendungslink erstellen  (Gelesen 22705 mal)

Offline wziffels

  • Frischling
  • *
  • Beiträge: 6
VBA: Anwendungslink erstellen
« am: 16.02.15 - 13:00:03 »
Moin Moin,

Wie ich Mails per VBA versende weiß ich aber gibt es auch eine Möglichkeit in einer automatisiert erstellten Notesmail einen Anwendungslink zu einer Datenbank (blaues Buchsymbol) zu erstellen?

MfG
WZ

Mitch

  • Gast
Re: VBA: Anwendungslink erstellen
« Antwort #1 am: 16.02.15 - 13:16:43 »
Moinsen,

ja.

Gruß,

Mitch

(P.S.: "AppendDocLink" im NotesRichtextItem ist dein Ansatzpunkt  :D)

Offline wziffels

  • Frischling
  • *
  • Beiträge: 6
Re: VBA: Anwendungslink erstellen
« Antwort #2 am: 16.02.15 - 15:56:57 »
(P.S.: "AppendDocLink" im NotesRichtextItem ist dein Ansatzpunkt  :D)

Danke für die Info Mitch. Kannst du das etwas genauer ausführen?
In den Dokumenteneigenschafften wird bei mir zwar ein Feld mit dem bei CREATERICHTEXTITEM angegebenen Namen angezeigt aber der DocLink den ich mit APPENDDOCLINK erstelle wird im Body nicht angezeigt.

Gruß
Wolfgang

Mitch

  • Gast
Re:
« Antwort #3 am: 16.02.15 - 16:30:14 »
Der Doklink muss in den Body.

Wenn es das nicht ist, müsstest du mal den Code posten.

Gruß,

Mitch

Offline wziffels

  • Frischling
  • *
  • Beiträge: 6
Re: VBA: Anwendungslink erstellen
« Antwort #4 am: 17.02.15 - 10:51:17 »
Hallo Mitch,

Danke für deine Hilfe.
Dies ist mein Code:

Code
 Public Sub SendNotesMail(Subject As String, Recipient As String, BodyText As String, SaveIt As Boolean)
     Dim Maildb As Object 'The mail database
     Dim UserName As String 'The current users notes name
     Dim MailDbName As String 'THe current users notes mail database name
     Dim MailDoc As Object 'The mail document itself
     Dim Session As Object 'The notes session
     Dim EmbedObj As Object 'The embedded object (Attachment)
     Dim rt As Object
     
     'Start a session to notes
     Set Session = CreateObject("Notes.NotesSession")
     
     UserName = Session.UserName
     
     'Open the mail database in notes
     Set Maildb = Session.GETDATABASE("Domino01", "wziffels.nsf")
     If Maildb.IsOpen = True Then
      Else
          Maildb.OPENMAIL
      End If
     
     'Set up the new mail document
     Set MailDoc = Maildb.CREATEDOCUMENT
     MailDoc.Form = "Memo"
     MailDoc.sendto = Recipient
     MailDoc.Subject = Subject
     MailDoc.Body = BodyText
     
     Set rt = MailDoc.CREATERICHTEXTITEM("TestDocLink")
    rt.APPENDTEXT ("Click here: ")
    rt.APPENDDOCLINK Maildb, Maildb.Title
     
     MailDoc.SAVEMESSAGEONSEND = SaveIt
     
     'Send the document
     MailDoc.PostedDate = Now() 'Gets the mail to appear in the sent items folder
     MailDoc.SEND 0, Recipient
     
     'Clean Up
     Set Maildb = Nothing
     Set MailDoc = Nothing
     Set Session = Nothing
     Set EmbedObj = Nothing
 End Sub
 
 Function test()
     SendNotesMail "Testmail VBA", "wziffels", "Nur ein Text", True
 End Function

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: VBA: Anwendungslink erstellen
« Antwort #5 am: 17.02.15 - 11:01:44 »
wie schon Mitch schrieb: der DocLink muss in den Body!

Set rt = MailDoc.CREATERICHTEXTITEM("Body")


hth

Thomas

Offline wziffels

  • Frischling
  • *
  • Beiträge: 6
Re: VBA: Anwendungslink erstellen
« Antwort #6 am: 17.02.15 - 11:27:44 »
Dann bekomme ich die folgende Fehlermeldung:

Objektvariable oder With-Blockvariable nicht festgelegt  ???

Offline wziffels

  • Frischling
  • *
  • Beiträge: 6
Re: VBA: Anwendungslink erstellen
« Antwort #7 am: 17.02.15 - 11:31:28 »
Das lag wohl daran dass ich vorher dem Body schon normalen Text zugewiesen habe.

Kommentiere ich MailDoc.Body = BodyText aus dann steht da zumindest schonmal Click here: aber der Anwendungslink fehlt trotzdem.  ???

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: VBA: Anwendungslink erstellen
« Antwort #8 am: 17.02.15 - 11:32:43 »
Das kollidiert auch mit dieser Zeile:
Code
    MailDoc.Body = BodyText
mit der Du das Item "Body" als NotesItem und nicht als "NotesRichtextItem" anlegst.

So wäre es richtig:
Code
Set rt = MailDoc.CREATERICHTEXTITEM("Body")
Call rt.AppendText( BodyText )
Call rt.AddNewline(1)
Call rt.APPENDTEXT ("Click here: ")
Call rt.APPENDDOCLINK( Maildb, Maildb.Title )
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline wziffels

  • Frischling
  • *
  • Beiträge: 6
Re: VBA: Anwendungslink erstellen
« Antwort #9 am: 17.02.15 - 11:52:45 »
Allen Beteiligten einen herzlichen Dank für eure Unterstützung.

Der Fehler lag am Ende noch daran dass der laut IBM-Dokumentation optionale Parameter HotSpotText mit angegeben werden MUSS.

Dokumentation:
Code
Call  notesRichTextItem .AppendDocLink(  linkTo ,  comment$ [, HotSpotText$ ] )


Mein funktionierender Code:
Code
rt.APPENDDOCLINK Maildb, Maildb.Title, "Link zur Datenbank"

 :D

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz