2015-02-27 2 views
-1

Je travaille actuellement sur un vbscript pour générer la signature sur Outlook, qui devrait ressembler à ceci;Script de signature de courrier Outlook avec avec l'image (.vbs)

enter image description here

Toutes les données sont en cours de récupération avec succès et le format semble bien, comme je hae utilise une table et placé les données dans les cellules correspondantes pour éviter le chevauchement et tout.

Voici mon code;

' Instantiation 
Set objWord = CreateObject("Word.Application") 
Set objDoc = objWord.Documents.Add() 
Set objSelection = objWord.Selection 
Set objEmailOptions = objWord.EmailOptions 
Set objSignatureObject = objEmailOptions.EmailSignature 
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries 

Details = "Details Details Details Details Details Details Details Details" 

' Add logo 
Set objRange = objDoc.Range() 
objDoc.Tables.Add objRange, 4, 2 
Set objTable = objDoc.Tables(1) 
objTable.Columns(0).Width = 900 
objTable.Columns(1).Width = 100 

' Full Name 
objTable.Rows(1).Cells.Merge 
objTable.Rows(1).Height = 5 
objTable.Cell(1, 1).Range.Font.Color = RGB(15,0,250) 
objTable.Cell(1, 1).Range.Font.Name = "Monotype Corsiva" 
objTable.Cell(1, 1).Range.Font.Bold = true 
objTable.Cell(1, 1).Range.Font.Size = 16 
objTable.Cell(1, 1).Range.Text = strFirstName & " " & strLastName 

' Title 
objTable.Rows(2).Cells.Merge 
objTable.Rows(2).Height = 5 
objTable.Cell(2, 1).Range.Font.Color = RGB(15,36,62) 
objTable.Cell(2, 1).Range.Font.Name = "Monotype Corsiva" 
objTable.Cell(1, 1).Range.Font.Bold = true 
objTable.Cell(2, 1).Range.Font.Size = 12 
objTable.Cell(2, 1).Range.Text = strTitle 

' Details 
objTable.Rows(3).Cells.Merge 
objTable.Rows(3).Height = 15 
objTable.Cell(3, 1).Range.Font.Color = RGB(15,36,62) 
objTable.Cell(3, 1).Range.Font.Name = "Calibri" 
objTable.Cell(3, 1).Range.Font.Size = 8 
objTable.Cell(3, 1).Range.Text = Details 

' Images 
objTable.Rows(4).Height = 15 
If (strGender = "M") Then 
    objTable.Cell(4, 1).Range.InlineShapes.AddPicture "C:\Scripts\Logon\Male.jpg" 
Else 
    objTable.Cell(4, 1).Range.InlineShapes.AddPicture "C:\Scripts\Logon\Female.jpg" 
End if 

' Logo 
objTable.Cell(4, 2).Range.InlineShapes.AddPicture "C:\Scripts\Logon\logoSignatureNew.jpg" 
objTable.Cell(4, 2).Range.ParagraphFormat.Alignment = 2 

objSelection.EndKey END_OF_STORY 
Set objSelection = objDoc.Range() 

objSignatureEntries.Add "Signature", objSelection 
objSignatureObject.NewMessageSignature = "Signature" 

objDoc.Saved = true 
objDoc.Close 
objWord.Quit 

La sortie, à ce jour, est la suivante; enter image description here

Quelqu'un peut-il s'il vous plaît m'aider à ajouter le ballon autour du texte? Je ne sais pas comment on peut ajouter une image et send to back ou utiliser une sorte de filigrane.

Toute aide sera grandement appréciée. Merci d'avance.

+0

Pourquoi supprimez-vous la même question et la recréer? Voir http://stackoverflow.com/questions/28738125/outlook-mail-signature-script-vbs –

+0

Parce que j'ai trouvé une partie de la solution, c'est là que j'ai atteint maintenant et mon seul problème maintenant est de placer le ballon autour. J'espère que ce n'est pas toi qui a voté mon message! J'ai supprimé l'autre poste de toute façon puisque je n'avais pas de réponse pour ça! –

+0

Au lieu de supprimer et de recréer le post, je suggère de laisser le commentaire que vous avez trouvé jusqu'à présent. –

Répondre

-1

Le modèle objet de regard Outlook fournit trois principales façons de travailler avec les organismes d'article:

  1. corps - un texte brut.
  2. HTMLBody - un balisage HTML.
  3. L'éditeur de mots. La propriété WordEditor de la classe Inspector renvoie une instance de la classe Document qui représente le corps du message.

Les deux derniers peuvent être utilisés pour effectuer le travail. Vous pouvez trouver tous décrits dans l'article Chapter 17: Working with Item Bodies dans MSDN.