Komunikujete so zákazníkmi a používate viacero typov komunikácie podľa potreby, či typu zákazníka? Urobte to na 1-2 kliky:
1. klik – vyberte si či chcete poslať mail, alebo vytlačiť list
2. klik – vyberte si variant textu (napr. podľa významnosti zákazníka)
Stačí Vám jediný Word dokument a ten Vám vám vytlačí list, ale i pošle mail s variantou textu ktorú požadujete v zlomku sekundy.
Stiahnite si jednoduchú funkčnú pomôcku
(vrátane funkčného makra)
Ako to funguje?
Stačí využiť automatizáciu MS Word a jednotlivé časti textu označiť podľa varianty v ktorej budú použité pomocou polí “DOCVARIABLE” napr. “a, b, c…” časti ktoré nebudú označené budú vo všetkých variantách.
Polia vložíte cez Vložiť > Rýchle čast > Pole… > DocVariable. S nimi už potom bude pracovať jednoduché makro.
Procedúra pre tlač
Sub VyberNaTlac() 'Vytlačí /pripraví na tlač len časť textu podľa vybraných preferencií Dim ToShow As Integer Dim myPara As Paragraph Dim myRange As Range Set myRange = Range On Error GoTo ErrorHandler 'reset - nastavý celý text ako "neskrytý" ActiveDocument.Range.Font.Hidden = False ActiveDocument.Variables("a").Value = 1 ActiveDocument.Variables("b").Value = 2 ActiveDocument.Variables("c").Value = 3 ActiveDocument.Fields.Update UserForm1.Show ToShow = selekcia ActiveDocument.Fields.Update If ToShow = 0 Then MsgBox "Vyber si jednu z 3 možností.", vbOKOnly, "Error" 'nastavenie viditeľných riadkov podľa výberu On Error Resume Next For Each myPara In ActiveDocument.Paragraphs If InStr(1, myPara, ToShow) Then If ToShow = myPara.Range.Characters(1) Then myRange.SetRange start:=myPara.Range.start, _ End:=myPara.Range.start + 36 myRange.Font.Hidden = True End If End If Next 'Ak vstupný parameter nezodpovedá možnostiam na výber nevytlačí sa nič For Each myPara In ActiveDocument.Paragraphs If myPara.Range.Characters.Count <> 1 Then If IsLetter(myPara.Range.Characters(1)) = False Then If myPara.Range.Characters(1) <> ToShow Then myPara.Range.Font.Hidden = True End If End If End If Next myPara On Error Goto 0 If Application.PrintPreview = False Then ActiveDocument.PrintPreview ActiveWindow.ActivePane.View.Zoom.Percentage = 100 End If ActiveDocument.Fields.Update Exit Sub ErrorHandler: Select Case Err.Number Case Is = 13 MsgBox "Vyber si jednu z 3 možností.", vbOKOnly, "Error" Exit Sub Case Else MsgBox Err.Description ActiveDocument.Range.Font.Hidden = False Exit Sub End Select End Sub
Procedúra pre vygenerovanie e-mailu
Sub sendAsMail() Dim myPara As Paragraph Dim myRange As Range Dim boldPred As String Dim boldZa As String Dim mailWord As Object Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) ActiveDocument.Range.Font.Hidden = False ActiveDocument.Variables("a").Value = 1 ActiveDocument.Variables("b").Value = 2 ActiveDocument.Variables("c").Value = 3 ActiveDocument.Fields.Update UserForm1.Show PocOdsekov = ActiveDocument.Paragraphs.Count With ThisDocument For i = 2 To PocOdsekov .Paragraphs(i).Range.Select If Not IsLetter(.Paragraphs(i).Range.Characters(1)) Then If selekcia = .Paragraphs(i).Range.Characters(1) Then Set myRange = .Paragraphs(i).Range myRange.SetRange start:=.Paragraphs(i).Range.start _ + 35, End:=.Paragraphs(i).Range.End textik = textik & myRange & "<br>" End If Else textik = textik & Selection & "<br>" End If Next i End With strbody = textik On Error Resume Next With OutMail .BodyFormat = 1 .Display .To = Email .CC = "" .BCC = "" .Subject = ThisDocument.Paragraphs(1).Range .HTMLBody = strbody .Attachments.Add tempPDFFileName .Display 'or use .Send End With Set OutMail = Nothing Set OutApp = Nothing End Sub
Kód formulára na výber varianty textu
Private Sub UserForm_Initialize() With Me.cboVyberVar .AddItem "1" .AddItem "2" .AddItem "3" .List(0) = "VIP Klient" .List(1) = "TOP klient" .List(2) = "bežný klient" End With End Sub
Private Sub cbtnOK_Click() Select Case cboVyberVar Case "VIP Klient" selekcia = 1 Case "TOP klient" selekcia = 2 Case "bežný klient" selekcia = 3 End Select Unload Me End Sub
Private Sub cbtnCancel_Click() End End Sub