Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

TEAMS aus VBA?

Forumthread: TEAMS aus VBA?

TEAMS aus VBA?
19.02.2021 12:00:33
Klaus
Moin Pro's,
hat jemand ein Muster-Makro rumliegen, um aus VBA eine Nachricht an Microsoft TEAMS zu senden?
LG,
Klaus
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TEAMS aus VBA?
19.02.2021 12:56:29
ChrisL
Hi Klaus
Kannst du nicht einfach einen Hyperlink nutzen? z.B.
https://teams.microsoft.com/l/chat/0/0?users=support@test.com&topicName=support&message=hello
ActiveWorkbook.FollowHyperlink "Link"
cu
Chris
AW: TEAMS aus VBA?
19.02.2021 13:30:05
Klaus
Hmmm ....
ich habe den Link ins Chrome-Browserfenster kopiert (natürlich mit einer gültigen Mailadresse).
In Chrome lande ich damit auf der Microsoft Startpage "Join Conversation", in der ich aufgefordert werde die Teams-App zu installieren oder zu launchen (die ist natürlich bereits aktiv).
Da clicke ich dann auf "Launch it now", dann passiert nix.
Kopiere ich danach die Zeile wieder ins Browserfenster, öffnet sich in TEAMS ein "New Chat" - aber nicht an mich addressiert und auch ohne Inhalt.
LG,
Klaus
Anzeige
AW: TEAMS aus VBA?
19.02.2021 13:32:45
Klaus
ich hätte vielleicht nicht MEINE Mailadresse eingeben sollen ....
mit der Mailadresse einen Kollegen klappt folgendes:
Der Chat wird geöffnet, der Text "Hallo" wird eingetragen - aber nicht abgesendet.
auf ein "Sendkeys Enter" würde ich eigentlich gerne verzichten :-)
Ideen?
LG,
Klaus M.
Anzeige
AW: TEAMS aus VBA?
19.02.2021 13:51:31
ChrisL
Hi Klaus
Klar ist, dass du über Hyperlink kein Objekt erzeugst und damit auch keinen Send-Button ansprechen kannst. Entweder unschön über Sendkeys oder mal im Netz nach einer andere Methode recherchieren.
Auf die Schnelle habe ich auch nichts gefunden. Jedoch wird öfters auf "Flow" verwiesen.
https://flow.microsoft.com/en-us/blog/microsoft-flow-in-microsoft-teams/
cu
Chris
Anzeige
;
Anzeige

Infobox / Tutorial

Nachrichten an Microsoft Teams aus VBA senden


Schritt-für-Schritt-Anleitung

Um eine Nachricht über VBA an Microsoft Teams zu senden, kannst Du eine Kombination aus Hyperlinks und eventuell VBA-APIs nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Erstelle ein neues Modul: Klicke auf "Einfügen" > "Modul".

  3. Füge den folgenden Code ein:

    Sub SendMessageToTeams()
       Dim user As String
       user = "support@test.com" ' Ersetze dies mit der E-Mail-Adresse des Empfängers
       Dim message As String
       message = "Hallo" ' Die Nachricht, die Du senden möchtest
    
       Dim link As String
       link = "https://teams.microsoft.com/l/chat/0/0?users=" & user & "&message=" & message
    
       ActiveWorkbook.FollowHyperlink link
    End Sub
  4. Passe die E-Mail-Adresse und die Nachricht an.

  5. Führe das Makro aus: Klicke auf F5 oder gehe zu "Run" > "Run Sub/UserForm".

Damit wird ein neuer Chat in Microsoft Teams geöffnet, allerdings wird die Nachricht nicht automatisch gesendet.


Häufige Fehler und Lösungen

  • Problem: Nachricht wird nicht gesendet.

    • Lösung: Der Hyperlink öffnet nur den Chat. Du kannst SendKeys verwenden, um die Nachricht zu senden, aber das ist nicht immer zuverlässig:
      SendKeys "{ENTER}"
  • Problem: Eingabe wird nicht erkannt.

    • Lösung: Stelle sicher, dass Teams aktiv ist und im Vordergrund läuft, wenn Du das Makro ausführst.

Alternative Methoden

Eine bessere Methode, um Nachrichten an Teams zu senden, ist die Verwendung von Microsoft Flow oder Power Automate. Hier kannst Du einen automatisierten Workflow erstellen, der eine Nachricht sendet, wenn ein bestimmtes Ereignis in Excel eintritt.

  1. Erstelle einen neuen Flow in Power Automate.
  2. Wähle einen Trigger aus, z.B. "Wenn eine Zeile hinzugefügt wird".
  3. Füge eine Aktion hinzu, um eine Nachricht in Teams zu senden.

Diese Methode ist besonders nützlich, wenn Du regelmäßig Nachrichten senden möchtest.


Praktische Beispiele

Ein einfaches Beispiel für ein Excel-VBA-Skript, um eine Nachricht zu senden:

Sub SendTeamsMessageExample()
    Dim recipient As String
    recipient = "kollege@test.com"
    Dim msg As String
    msg = "Hallo, ich hoffe, es geht dir gut!"

    Dim teamsLink As String
    teamsLink = "https://teams.microsoft.com/l/chat/0/0?users=" & recipient & "&message=" & msg

    ActiveWorkbook.FollowHyperlink teamsLink
End Sub

Dieser Code öffnet einen Chat mit dem angegebenen Empfänger und füllt die Nachricht aus.


Tipps für Profis

  • Verwende die VBA-Teams-API: Wenn Du regelmäßig Nachrichten senden musst, erkunde die Möglichkeiten der vba teams api. Damit kannst Du effizienter arbeiten, ohne die Benutzeroberfläche zu verwenden.
  • Automatisiere den Prozess: Überlege, ob Du Excel mit Power Automate kombinieren kannst, um Nachrichten automatisch basierend auf bestimmten Ereignissen zu senden.
  • Testen und Debuggen: Achte darauf, Deinen Code gründlich zu testen, um sicherzustellen, dass er in allen Szenarien funktioniert.

FAQ: Häufige Fragen

1. Kann ich eine Nachricht direkt ohne Hyperlink senden? Ja, mit der Verwendung der Microsoft Teams API kannst Du Nachrichten direkt senden, ohne einen Hyperlink zu verwenden.

2. Wie kann ich sicherstellen, dass Teams geöffnet ist? Stelle sicher, dass die Microsoft Teams-Anwendung im Hintergrund läuft, bevor Du das Makro ausführst, um Probleme mit dem Öffnen des Chats zu vermeiden.

3. Gibt es eine Möglichkeit, die Nachricht zu formatieren? Der Hyperlink unterstützt einfache Textnachrichten. Für formatierte Nachrichten musst Du die API verwenden.

4. Funktioniert das in jeder Excel-Version? Die Beispielcodes sollten in den meisten aktuellen Excel-Versionen funktionieren. Achte darauf, dass Du VBA aktiviert hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige