Je suis en train de développer un script pour mettre en forme un modèle Outlook et l'envoyer en cliquant sur un bouton. L'objectif principal est d'utiliser l'interligne simple et 0pt sur l'espacement avant/après, et de convertir tous les contrôles de contenu (tels que les zones de liste déroulantes) sur mon modèle en texte/chaîne.Convertir la valeur du contrôle de contenu en chaîne à l'aide de VBA
Sub FormatAndSend()
Dim CurrentMessage As Outlook.MailItem
If TypeName(Application.ActiveWindow) = "Inspector" Then
Set CurrentMessage = Application.ActiveWindow.CurrentItem
If CurrentMessage.To = "" Then
If CurrentMessage.CC = "" Then
If CurrentMessage.BCC = "" Then Exit Sub
End If
End If
CurrentMessage.HTMLBody = Replace(CurrentMessage.HTMLBody, vbCr, vbCrLf)
'Workaround to Remove Line Spacing (not working)
'&
'Convert Content Control selected values to String ...
CurrentMessage.Send
Set CurrentMessage = Nothing
End If
End Sub
Existe-t-il un moyen plus simple de formater le modèle existant? J'ai déjà essayé plusieurs choses, telles que le remplacement avec des caractères ASCII, des éléments HTML, des mots-clés, ...
De même, est-il possible de convertir les valeurs sélectionnées de contrôle de contenu en texte normal?
Ok, alors comment envisagez-vous de "convertir" une liste déroulante "en texte"? Que voulez-vous dire exactement par là, et quel code avez-vous écrit, et en particulier où et comment cela ne fonctionne-t-il pas comme il se doit? –
Je veux dire, convertir la valeur sélectionnée de la liste déroulante, donc quand quelqu'un envoie/répond le message, son contenu ne peut pas être changé – mafap
Je ne suis pas familier avec le modèle d'objet Outlook, mais un coup d'oeil à la classe 'MailItem' montre qu'il n'y a pas de Il semblerait qu'il n'y ait aucune collection 'Controls', donc l'analyse de' HtmlBody' semble être votre meilleur choix. –