Autor Thema: Mit (Excel) VBA eine Notes DB durchsuchen  (Gelesen 2642 mal)

Offline Markus1984

  • Frischling
  • *
  • Beiträge: 5
  • Geschlecht: Männlich
Mit (Excel) VBA eine Notes DB durchsuchen
« am: 24.03.06 - 11:31:13 »
Hallo,
ich habe folgendes Problem:
Ich will von  VBA eine Mail mit Notes versenden, da nicht bei jedem User das Mailfile lokal gepflegt ist muss ich das Mailfile aus meiner names.nsf auslesen. Hat hierfür jemand eine Lösung?
Momentan hänge ich daran, dass ich die Items aus den Dokumenten nicht lesen kann.


Mein bisheriger Code:

Sub mail()
Dim server As String, mailfile As String
Dim session As Object
Dim DB As Object
Dim doc As Object
Dim view As Object
Dim viewname As String
Dim dbname As String


viewname = "$Users"
dbname = "names.nsf"

Set session = CreateObject("notes.notessession")

    user = session.UserName
    server = session.GetEnvironmentString("MailServer", True)
   
Set DB = session.GetDatabase(server, dbname)
Set view = DB.GetView(viewname)
Set doc = view.GetFirstDocument 'bishier geht alles
mailfile = doc.GetItemValue("Mailfile") 'kommt die Meldung: "Typen unverträglich"

End Sub

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Mit (Excel) VBA eine Notes DB durchsuchen
« Antwort #1 am: 24.03.06 - 11:35:22 »
Hi,

GetItemValue liefert Dir einen Array zurueck.

Also
==> mailfile = doc.GetItemValue("Mailfile)(0)

Andreas

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Mit (Excel) VBA eine Notes DB durchsuchen
« Antwort #2 am: 24.03.06 - 11:35:56 »
Dein Fehler ist: GetItemValue liefert ein Array und mailfile ist eine String- Variable.

Das muss also heissen "GetItemValue( "Mailfile" )( 0 )"

Aber warum verwendest Du nicht einfach die Befehle, die Notes sowieso mitbringt ?

Dim db as New NotesDatabase( "" , "" )
call db.OpenMail

HTH
Tode
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 koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mit (Excel) VBA eine Notes DB durchsuchen
« Antwort #3 am: 24.03.06 - 11:38:32 »
Vielleicht, weil die Methode OpenMail für COM nicht zur Verfügung steht?

Geeignet ist in diesem Fall die Methode notesDatabase = notesDbDirectory.OpenMailDatabase.

Bernhard

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Mit (Excel) VBA eine Notes DB durchsuchen
« Antwort #4 am: 24.03.06 - 11:44:21 »
Hi Bernhard,

Versteh ich jetzt nicht ganz.

Er kommt doch schon bis zum Auslesen des Dokumentes. Ergo ist die Db doch schon offen.

Andreas

Offline Markus1984

  • Frischling
  • *
  • Beiträge: 5
  • Geschlecht: Männlich
Re: Mit (Excel) VBA eine Notes DB durchsuchen
« Antwort #5 am: 24.03.06 - 11:45:29 »
Danke für eure schnelle Antwort.

Bekomme nun den Wert übergeben.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mit (Excel) VBA eine Notes DB durchsuchen
« Antwort #6 am: 24.03.06 - 11:51:04 »
Versteh ich jetzt nicht ganz.

Er kommt doch schon bis zum Auslesen des Dokumentes. Ergo ist die Db doch schon offen.

Folgendes ist damit gemeint:
"This method is supported in LotusScript only. For COM, use OpenMailDatabase in NotesDbDirectory."

Bernhard

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Mit (Excel) VBA eine Notes DB durchsuchen
« Antwort #7 am: 24.03.06 - 13:46:30 »
@ascabg: Du hast recht.. die Diskussion von Bernhard und mir ist wenig zielführend, weil der Frager über diesen Stand ja schon lange raus ist.

@koehlerbv: hast recht. habe die Hilfe nicht gelesen. Aber ich glaube, es ist auch nicht nötig, weiter zu dieskutieren. Dem Fragenden wurde geholfen.

Gruß
Tode
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)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz