La tâche consiste à appliquer christout em> à la police actuelle dans la zone de texte sélectionnée.
La difficulté est que Outlook ne supporte pas l'enregistrement des macros à la volée - il veut que le code soit écrit à la main. Par exemple, le code simple suivant: P> Run-time error '424':
Object required
4 Réponses :
Voici quelques notes sur la messagerie avec le message ouvert, il n'y a pas de chèques, cela suppose simplement que vous avez un article de courrier ouvert. Si vous souhaitez dire un peu plus sur ce que vous voulez faire, et dans quelle version, je pourrais peut-être vous aider un peu plus.
Dim ActiveMessage As MailItem Dim strHTML As String Set ActiveMessage = ActiveInspector.CurrentItem Debug.Print ActiveMessage.Body Debug.Print ActiveMessage.HTMLBody strHTML = Replace(ActiveMessage.Body, "This sentence is bold", _ "<STRONG>This sentence is bold</STRONG>") ActiveMessage.HTMLBody = strHTML Debug.Print ActiveMessage.HTMLBody
L'idée est d'appliquer une police pour sélectionner manuellement (E.G, avec la souris); et le corps du message n'a aucune information sur la sélection.
Ceci suppose que vous avez également un mot installé sur votre boîte. Si tel est le cas, vous pouvez accéder à la plupart du mot OM à partir de l'Outlook VBE sans référencer le mot à l'aide de l'objet
+1, et si vous n'avez pas de mot, ou si Outlook est configuré pour utiliser HTML à la place, vous pouvez y arriver via activeInspector.htmleditor code>.
Vous devez accéder à HTMEDITOR ou à WordAditor de l'inspecteur. Vérifiez le fichier d'aide pour un exemple de code. Si vous utilisez WordEditor, vous pouvez enregistrer une macro dans Word et incorporer le code résultant dans la macro Outlook à l'aide du WordEditor.
Public Sub DoIt() 'must set word as mail editor 'must set reference to word object library Dim oInspector As Outlook.Inspector Dim oDoc As Word.Document Dim oItem As Outlook.MailItem Set oItem = Outlook.Application.CreateItem(olMailItem) oItem.BodyFormat = olFormatRichText 'must set, unless default is rich text Set oInspector = oItem.GetInspector oInspector.Display 'must display in order for selection to work Set oDoc = oInspector.WordEditor 'better to use word document instead of selection 'this sample uses selection because word's macro recording using the selection object Dim oSelection As Word.Selection Set oSelection = oDoc.Application.Selection oSelection.TypeText Text:="The task is to apply strikethroughout." oSelection.MoveLeft Unit:=wdCharacter, Count:=4 oSelection.MoveLeft Unit:=wdCharacter, Count:=7, Extend:=wdExtend oSelection.Font.Strikethrough = True End Sub
Sauter de Todd Main Extect Exemple ci-dessus.
J'ai légèrement modifié le code pour travailler dans le volet de réponse inline, car nous n'avons pas trouvé de moyen simple d'ajouter à Strikethrough au qat ou au ruban.
J'ai également ajouté un bloc IF pour basculer le striéthrough s'il était déjà défini.
Sub StrikeThroughinInlineReply() Dim objOL As Application Dim objDoc As Object Dim objSel As Object Set objOL = Application Set objDoc = objOL.ActiveExplorer.ActiveInlineResponseWordEditor Set objSel = objDoc.Windows(1).Selection If objSel.Font.Strikethrough = False Then objSel.Font.Strikethrough = True Else objSel.Font.Strikethrough = False End If End Sub
J'utilise MS Outlook 2003. L'idée est d'appliquer une police non sur un bloc de texte prédéfini (par exemple "La phrase est en gras" ou correspondant à un modèle dans le corps de message), mais au texte sélectionné manuellement (je veux dire, avec la souris).
Je voulais juste suivre si le ci-dessous répond à votre question.