Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

InfoPath Formular und Outlook Kontakte

Frage Microsoft Microsoft Office

Mitglied: Sabse96

Sabse96 (Level 1) - Jetzt verbinden

13.06.2013 um 11:43 Uhr, 3437 Aufrufe, 22 Kommentare

Hallo Zusammen,

ich habe folgende Frage.

Ich bin gerade dabei ein InfoPath Formular zu erstellen. Es funktionieren so weit auch alle Funktionen etc. nur bei einer Sache hab ich ein paar Probleme.

Das Formular soll in einem Netzlaufwerk von uns veröffentlicht werden, ist auch schon geschehen. Bearbeitet/Gesendet soll es über Outlook werden, außerdem sollen wenn man im Formular auf Senden klickt, ein Auswahlfenster erscheinen, in dem alle angelegten Outlook Kontakte hinterlegt sind.
Weiß vlt. jemand wie ich das in InfoPath einstellen kann?

Danke schon mal.

Mitglied: colinardo
13.06.2013, aktualisiert 14.06.2013
Hallo Sabse96,
ich weiß nicht ob du dich mit VBA auskennst oder damit schon mal Kontakt hattest, aber die Vorgehensweise sieht folgendermaßen aus:

  1. Man erstelle im Formular eine Datenverbindung des Typs E-Mail und gebe Ihr den Namen sendmail (Tab Daten >Datenverbindungen)
  2. Man erstelle eine Schaltfläche im Formular und weise Ihr folgenden benutzerdefinierten Code zu :
(Hinweis: Im Code-Editor muss man noch einen Verweis auf die .NET Bibliothek Microsoft.Office.Interop.Outlook hinzufügen[Projekt->Verweis hinzufügen], und im Codefenster ganz oben noch folgende Zeile hinzufügen Imports Microsoft.Office.Interop)
01.
If Me.Errors.Count = 0 Then 
02.
    Dim objOL As New Outlook.Application 
03.
    Dim oDialog As Outlook.SelectNamesDialog = objOL.Session.GetSelectNamesDialog 
04.
    Dim targetTo As String = "" 
05.
    Try 
06.
        With oDialog 
07.
            .AllowMultipleSelection = True 
08.
            If .Display() = True Then 
09.
                For Each rec As Outlook.Recipient In oDialog.Recipients 
10.
                    targetTo &= rec.Address & ";" 
11.
                Next 
12.
                Dim conn As EmailSubmitConnection = DataConnections("sendmail") 
13.
                conn.To.SetStringValue(targetTo) 
14.
                conn.Subject.SetStringValue("Testsubject") 
15.
                conn.Introduction = "Testbody" 
16.
                conn.Execute() 
17.
            End If 
18.
        End With 
19.
    Catch ex As Exception 
20.
        MessageBox.Show(ex.Message) 
21.
    End Try 
22.
Else 
23.
    MessageBox.Show("Es sind nicht alle erforderlichen Eingabefelder ausgefüllt", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) 
24.
End If
Jetzt muss man in den Sicherheitseinstellungen des Formulars noch folgendes machen:
Datei > Erweiterte Formularoptionen > Sicherheits und Vertrauensstellung > "Sicherheitsstufe : Voll vertrauenswürdig"
und unten das Häkchen Diese Formularvorlage signieren setzen und entweder ein schon vorhandenes Zertifikat wählen oder ein neues erstellen.

Was jetzt passiert wenn du auf den benutzerdefinierten Button klickst ist folgendes:
Nach dem Klick auf den Button wird der Outlook-Eigene Dialog zum wählen der Kontakte aufgerufen in denen du den Empfänger wählen kannst.

Hoffe das war einigermaßen klar. Wenn nicht, kann ich dir das in einem fertigen Demo-Formular zuschicken wenn du willst...

Grüße Uwe
Bitte warten ..
Mitglied: Sabse96
14.06.2013 um 08:20 Uhr
Hi Uwe,

danke schon mal für deine Antwort. Ich habe das jetzt so ausprobiert aber es funktioniert nicht. Wenn ich auf den Button im Formular dann klicke, passiert gar nichts.

Wäre echt cool von dir, wenn du mir mal so ein Demo-Formular zuschicken könntest.
Bitte warten ..
Mitglied: colinardo
14.06.2013, aktualisiert um 08:36 Uhr
Welche Outlook Version benutzt du ? Das muss ich für die Vorlage wissen, da es unterschiedliche Office.Interop Bibliotheken für die jeweilige Office Version gibt ..

p.s. Sorry oben war die Bibliothek falsch angegeben, es muss natürlich Microsoft.Office.Interop.Outlook heißen....
Bitte warten ..
Mitglied: Sabse96
14.06.2013 um 08:43 Uhr
ich benutze Outlook 2010
Bitte warten ..
Mitglied: colinardo
14.06.2013 um 09:14 Uhr
Download hier. Du musst wahrscheinlich noch das Zertifikat ändern wie oben beschrieben, damit InfoPath dem Code vertraut. Noch zur Info: Es kann sein das der Dialog zum wählen der Kontakte unter Umständen nicht als oberstes Fenster angezeigt wird, das liegt daran das der Dialog im Kontext von Outlook läuft und nicht von InfoPath ...
Bitte warten ..
Mitglied: Sabse96
14.06.2013 um 09:37 Uhr
So also ich hab es jetzt runtergeladen, ich kann das Formular allerdings überhaupt nicht Bearbeiten.
Bitte warten ..
Mitglied: colinardo
14.06.2013 um 09:39 Uhr
mal im Explorer Rechtsklick auf das Formular gemacht und Entwerfen gewählt ?
Bitte warten ..
Mitglied: Sabse96
14.06.2013 um 09:41 Uhr
Die Funktion hab ich gar ned zu Auswahl
Bitte warten ..
Mitglied: Sabse96
14.06.2013 um 09:42 Uhr
Okay, passt schon habs schon ^^
Bitte warten ..
Mitglied: Sabse96
14.06.2013 um 09:45 Uhr
jetzt bekomme ich aber folgende Fehlermeldung:

InfoPath kann den Ereignishandler nicht hinzufügen.

Das Visual Basic- oder C#-Projekt für diese Formularvorlage kann nicht gefunden werden.
d:\Eigene Dateien\nfoPath-Projekte\Formular 11\Formular 1.vbproj
Bitte warten ..
Mitglied: colinardo
14.06.2013 um 09:49 Uhr
Das ist das Problem mit der Weitergabe von solchen Projekten, deshalb habe ich oben die Anleitung geschrieben, weil es bei der Weitergabe Probleme gibt....
Bitte warten ..
Mitglied: Sabse96
14.06.2013 um 09:52 Uhr
Kannst du mir vlt. einen Screenshot von dem Code-Editor schicken von dem Formular?
Bitte warten ..
Mitglied: colinardo
14.06.2013 um 10:00 Uhr
00ee98eb625c67178f453a2e924f18f0 - Klicke auf das Bild, um es zu vergrößern

Verweis auf Outlook Bibliothek nicht vergessen:

a48b65bb8f3c3a112cdb12055d8f1364 - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: colinardo
14.06.2013 um 10:06 Uhr
Was du noch beachten musst wenn das Formular von mehreren Leuten benutzt wird ist der Pfad in dem der benutzerdefinierte Code gespeichert wird:
(Erweiterte Optionen des Formulars)
ba9290a4e2930b6ea77133b2d4e0ef30 - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: Sabse96
14.06.2013 um 10:13 Uhr
Super Vielen Dank.

Jetzt noch eine blöde Frage, ich bin jetzt grad bei dem Verweis und bei mir wird das Microsoft.Office.Interop.Outlook gar nicht aufgeführt?
Bitte warten ..
Mitglied: colinardo
14.06.2013, aktualisiert um 10:31 Uhr
OK dann hast du die Primary Interop Assemblies nicht installiert, macht nix dann nimmst du halt die Outlook-COM Bibliothek die sollte auf jeden Fall installiert sein:

8cd1968d23538486ad16ac1ef56ec2bc - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: Sabse96
14.06.2013 um 12:10 Uhr
funktioniert immer noch ned...

ich bin mir aber auch nicht mal sicher, ob er das auch wirklich ausführt..
Bitte warten ..
Mitglied: Sabse96
14.06.2013 um 12:41 Uhr
Das is es jetzt momentan:

Imports Microsoft.Office.InfoPath
Imports System
Imports System.Windows.Forms
Imports System.Xml
Imports System.Xml.XPath
Imports Microsoft.Office.Interop
Imports mshtml




Namespace FRG_Formular_TEST
Public Class FormCode
' Membervariablen werden in browserfähigen Formularen nicht unterstützt.
' Schreiben und lesen Sie diese Werte stattdessen aus dem FormState-
' Wörterbuch, indem Sie Code wie folgt verwenden:
'
' Private Property _memberVariable() As Object
' Get
' _memberVariable = FormState("_memberVariable")
' End Get
' Set
' FormState("_memberVariable") = value
' End Set
' End Property

' HINWEIS: Das folgende Verfahren ist für Microsoft InfoPath erforderlich.
' Es kann mithilfe von Microsoft InfoPath geändert werden.
Private Sub InternalStartup(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Startup
AddHandler DirectCast(EventManager.ControlEvents("Schaltfläche"), ButtonEvent).Clicked, AddressOf Absenden_Clicked
AddHandler DirectCast(EventManager.ControlEvents("CTRL63_5"), ButtonEvent).Clicked, AddressOf CTRL63_5_Clicked
End Sub

Public Sub Absenden_Clicked(ByVal sender As Object, ByVal e As ClickedEventArgs)
Dim objOL As New Outlook.Application
Dim oDialog As Outlook.SelectNamesDialog = objOL.Session.GetSelectNamesDialog
Dim targetTo As String = ""
With oDialog.AllowMultipleSelection = True
If oDialog.Display() = True Then
For Each rec As Outlook.Recipient In oDialog.Recipients
targetTo &= rec.Adress & ";"
Next
Dim conn As EmailSubmitConnection = DataConnections("FRG-Formular_TEST")
conn.To.SetStringValue(targetTo)
conn.To.SetStringValue("Testsubject")
conn.Introduction = "Testbody"
conn.Execute()
End If
End With
'Dim root As XPathNavigator = MainDataSource.CreateNavigator()
End Sub

Public Sub CTRL63_5_Clicked(ByVal sender As Object, ByVal e As ClickedEventArgs)
' Fügen Sie hier Code ein.
End Sub
End Class
End Namespace
Bitte warten ..
Mitglied: colinardo
14.06.2013, aktualisiert um 12:57 Uhr
irgendwas machst du noch falsch...
hast du das Formular wirklich als voll vertrauenswürdig gesetzt und signiert wie im ersten Post geschrieben ?
Datei > Erweiterte Formularoptionen > Sicherheits und Vertrauensstellung > "Sicherheitsstufe : Voll vertrauenswürdig" und unten das Häkchen Diese Formularvorlage signieren setzen und entweder ein schon vorhandenes Zertifikat wählen oder ein neues erstellen.
minimiere mal andere Fenster um zu sehen ob der Outlook-Dialog nicht unter einem anderen Fenster steckt oder öffne Outlook mal nach dem Klick auf den Button.

ansonsten mach mal ein TeamViewer-Meeting auf ...
Bitte warten ..
Mitglied: Sabse96
14.06.2013 um 12:56 Uhr
Ja ist alles so eingestellt.

Das Fenster taucht auch dann nicht auf.
Bitte warten ..
Mitglied: colinardo
14.06.2013 um 12:58 Uhr
TeamViewer ... wenn du willst, sonst nimmt das hier kein Ende
Bitte warten ..
Mitglied: Sabse96
14.06.2013 um 13:20 Uhr
wenn du Zeit hast
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
Formular Autofill - Infopath (1)

Frage von TlBERlUS zum Thema Microsoft Office ...

Outlook & Mail
Outlook 2010 - Kontakte freigeben ist nicht aktiv (3)

Frage von Davino01 zum Thema Outlook & Mail ...

Microsoft Office
Kontakte und Termine von 2 PCs mit Outlook IMAP synchronisieren (8)

Frage von Akcent zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
RODC über VPN - Verbindung weg (10)

Frage von stefan2k1 zum Thema Windows Server ...